35 #define GNC_TYPE_PRICE (gnc_price_get_type ())
36 #define GNC_PRICE(o) \
37 (G_TYPE_CHECK_INSTANCE_CAST ((o), GNC_TYPE_PRICE, GNCPrice))
38 #define GNC_PRICE_CLASS(k) \
39 (G_TYPE_CHECK_CLASS_CAST((k), GNC_TYPE_PRICE, GNCPriceClass))
40 #define GNC_IS_PRICE(o) \
41 (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNC_TYPE_PRICE))
42 #define GNC_IS_PRICE_CLASS(k) \
43 (G_TYPE_CHECK_CLASS_TYPE ((k), GNC_TYPE_PRICE))
44 #define GNC_PRICE_GET_CLASS(o) \
45 (G_TYPE_INSTANCE_GET_CLASS ((o), GNC_TYPE_PRICE, GNCPriceClass))
46 GType gnc_price_get_type(
void);
49 #define GNC_TYPE_PRICEDB (gnc_pricedb_get_type ())
50 #define GNC_PRICEDB(o) \
51 (G_TYPE_CHECK_INSTANCE_CAST ((o), GNC_TYPE_PRICEDB, GNCPriceDB))
52 #define GNC_PRICEDB_CLASS(k) \
53 (G_TYPE_CHECK_CLASS_CAST((k), GNC_TYPE_PRICEDB, GNCPriceDBClass))
54 #define GNC_IS_PRICEDB(o) \
55 (G_TYPE_CHECK_INSTANCE_TYPE ((o), GNC_TYPE_PRICEDB))
56 #define GNC_IS_PRICEDB_CLASS(k) \
57 (G_TYPE_CHECK_CLASS_TYPE ((k), GNC_TYPE_PRICEDB))
58 #define GNC_PRICEDB_GET_CLASS(o) \
59 (G_TYPE_INSTANCE_GET_CLASS ((o), GNC_TYPE_PRICEDB, GNCPriceDBClass))
60 GType gnc_pricedb_get_type(
void);
157 typedef GList PriceList;
199 void gnc_price_begin_edit (
GNCPrice *p);
200 void gnc_price_commit_edit (
GNCPrice *p);
205 void gnc_price_set_source(
GNCPrice *p,
const char *source);
206 void gnc_price_set_typestr(
GNCPrice *p,
const char* type);
222 const char * gnc_price_get_source(
const GNCPrice *p);
223 const char * gnc_price_get_typestr(
const GNCPrice *p);
227 #define gnc_price_get_guid(X) qof_entity_get_guid(QOF_INSTANCE(X))
228 #define gnc_price_return_guid(X) (*(qof_entity_get_guid(QOF_INSTANCE(X))))
229 #define gnc_price_get_book(X) qof_instance_get_book(QOF_INSTANCE(X))
254 gboolean check_dupl);
264 gboolean gnc_price_list_equal(PriceList *prices1, PriceList *prices2);
312 const gboolean delete_user, gboolean delete_last);
412 gboolean stable_order);
431 #define PRICE_COMMODITY "price-commodity"
432 #define PRICE_CURRENCY "price-currency"
433 #define PRICE_DATE "price-date"
434 #define PRICE_SOURCE "price-source"
435 #define PRICE_TYPE "price-type"
436 #define PRICE_VALUE "price-value"
void gnc_price_list_destroy(PriceList *prices)
GNCPrice * gnc_price_create(QofBook *book)
GNCPrice * gnc_pricedb_lookup_day(GNCPriceDB *db, const gnc_commodity *commodity, const gnc_commodity *currency, Timespec t)
void gnc_pricedb_print_contents(GNCPriceDB *db, FILE *f)
PriceList * gnc_pricedb_lookup_nearest_in_time_any_currency(GNCPriceDB *db, const gnc_commodity *c, Timespec t)
void gnc_price_unref(GNCPrice *p)
gboolean gnc_pricedb_add_price(GNCPriceDB *db, GNCPrice *p)
GNCPriceDB * gnc_collection_get_pricedb(QofCollection *col)
gboolean gnc_pricedb_equal(GNCPriceDB *db1, GNCPriceDB *db2)
Use a 64-bit unsigned int timespec.
gboolean gnc_price_list_insert(PriceList **prices, GNCPrice *p, gboolean check_dupl)
GNCPriceDB * gnc_pricedb_get_db(QofBook *book)
PriceList * gnc_pricedb_lookup_at_time(GNCPriceDB *db, const gnc_commodity *commodity, const gnc_commodity *currency, Timespec t)
gnc_numeric gnc_pricedb_convert_balance_latest_price(GNCPriceDB *pdb, gnc_numeric balance, const gnc_commodity *balance_currency, const gnc_commodity *new_currency)
GNCPrice * gnc_pricedb_lookup_latest_before(GNCPriceDB *db, gnc_commodity *c, gnc_commodity *currency, Timespec t)
void gnc_pricedb_destroy(GNCPriceDB *db)
guint gnc_pricedb_get_num_prices(GNCPriceDB *db)
PriceList * gnc_pricedb_lookup_latest_before_any_currency(GNCPriceDB *db, gnc_commodity *c, Timespec t)
gboolean gnc_pricedb_foreach_price(GNCPriceDB *db, gboolean(*f)(GNCPrice *p, gpointer user_data), gpointer user_data, gboolean stable_order)
void gnc_price_print(GNCPrice *db, FILE *f, int indent)
void gnc_pricedb_begin_edit(GNCPriceDB *)
PriceList * gnc_pricedb_lookup_latest_any_currency(GNCPriceDB *db, const gnc_commodity *commodity)
GNCPrice * gnc_pricedb_lookup_nearest_in_time(GNCPriceDB *db, const gnc_commodity *c, const gnc_commodity *currency, Timespec t)
All type declarations for the whole Gnucash engine.
gboolean gnc_pricedb_remove_price(GNCPriceDB *db, GNCPrice *p)
gboolean gnc_pricedb_has_prices(GNCPriceDB *db, const gnc_commodity *commodity, const gnc_commodity *currency)
gboolean gnc_price_list_remove(PriceList **prices, GNCPrice *p)
GNCPrice * gnc_price_clone(GNCPrice *p, QofBook *book)
void gnc_pricedb_set_bulk_update(GNCPriceDB *db, gboolean bulk_update)
gnc_numeric gnc_pricedb_convert_balance_nearest_price(GNCPriceDB *pdb, gnc_numeric balance, const gnc_commodity *balance_currency, const gnc_commodity *new_currency, Timespec t)
GNCPrice * gnc_pricedb_lookup_latest(GNCPriceDB *db, const gnc_commodity *commodity, const gnc_commodity *currency)
void gnc_price_ref(GNCPrice *p)
Commodity handling public routines.
PriceList * gnc_pricedb_get_prices(GNCPriceDB *db, const gnc_commodity *commodity, const gnc_commodity *currency)