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)
{
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);