]> rtime.felk.cvut.cz Git - frescor/frsh.git/commitdiff
Add convenient functions to get contract budget and period
authorMichal Sojka <sojkam1@fel.cvut.cz>
Sun, 20 Jun 2010 14:47:40 +0000 (16:47 +0200)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Sun, 20 Jun 2010 14:47:40 +0000 (16:47 +0200)
fres/contract/contract_func.c
fres/contract/fres_contract.h

index 2e00326076126fdd5c118c7156f2c294bf6b8957..f1de5a6ff5ed89022123ec4dbc4c48101607a090 100644 (file)
@@ -95,6 +95,44 @@ error:
        return has_deadline;
 }
 
+/** 
+ * Convenience function to retrieve budget from a contract.
+ *
+ * @param[in] contract 
+ * @param[out] budget Where to store the deadline.
+ * 
+ * @return True if the contract specifies the budget, false if not.
+ */
+bool
+fres_contract_get_budget(const frsh_contract_t *contract,
+                        frsh_rel_time_t       *budget)
+{
+       fres_block_basic *basic;
+       basic = fres_contract_get_basic(*contract);
+       if (basic)
+               *budget = basic->budget;
+       return basic != NULL;
+}
+
+/** 
+ * Convenience function to retrieve period from a contract.
+ *
+ * @param[in] contract 
+ * @param[out] period Where to store the deadline.
+ * 
+ * @return True if the contract specifies the period, false if not.
+ */
+bool
+fres_contract_get_period(const frsh_contract_t *contract,
+                        frsh_rel_time_t       *period)
+{
+       fres_block_basic *basic;
+       basic = fres_contract_get_basic(*contract);
+       if (basic)
+               *period = basic->period;
+       return basic != NULL;
+}
+
 frsh_contract_type_t
 fres_contract_get_type(const frsh_contract_t *contract)
 {
index 3ed4cacf726e0b1a667c2960290a960adfd1dd70..15087077ac425f9795148c1096722b8b6afb4b51 100644 (file)
@@ -179,6 +179,12 @@ fres_contract_to_string2(char *dest, size_t size, const struct fres_contract *c,
 bool
 fres_contract_get_deadline(const frsh_contract_t *contract,
                           frsh_rel_time_t       *deadline);
+bool
+fres_contract_get_budget(const frsh_contract_t *contract,
+                        frsh_rel_time_t       *budget);
+bool
+fres_contract_get_period(const frsh_contract_t *contract,
+                        frsh_rel_time_t       *period);
 frsh_contract_type_t
 fres_contract_get_type(const frsh_contract_t *contract);