mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
rename kvp_frame to KvpFrame to more closely follow gnome naming conventions
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@8782 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
@@ -228,7 +228,7 @@ xaccCloneAccount (const Account *from, QofBook *book)
|
||||
Account *
|
||||
xaccAccountLookupTwin (Account *acc, QofBook *book)
|
||||
{
|
||||
kvp_value *v_ncopies;
|
||||
KvpValue *v_ncopies;
|
||||
int i, ncopies = 0;
|
||||
|
||||
if (!acc || !book) return NULL;
|
||||
@@ -240,7 +240,7 @@ xaccAccountLookupTwin (Account *acc, QofBook *book)
|
||||
for (i=0; i<ncopies; i++)
|
||||
{
|
||||
GUID * book_guid;
|
||||
kvp_value *v_book_guid;
|
||||
KvpValue *v_book_guid;
|
||||
char buff[80];
|
||||
|
||||
sprintf (buff, "%d", i);
|
||||
@@ -253,7 +253,7 @@ xaccAccountLookupTwin (Account *acc, QofBook *book)
|
||||
{
|
||||
Account *twin;
|
||||
GUID * acct_guid;
|
||||
kvp_value *v_acct_guid;
|
||||
KvpValue *v_acct_guid;
|
||||
|
||||
v_acct_guid = kvp_frame_get_slot_path (acc->kvp_data,
|
||||
"gemini", buff, "acct_guid", NULL);
|
||||
@@ -795,7 +795,7 @@ xaccAccountBringUpToDate(Account *acc)
|
||||
* xaccAccountGetSlots
|
||||
********************************************************************/
|
||||
|
||||
kvp_frame *
|
||||
KvpFrame *
|
||||
xaccAccountGetSlots(Account * account)
|
||||
{
|
||||
if (!account) return NULL;
|
||||
@@ -803,7 +803,7 @@ xaccAccountGetSlots(Account * account)
|
||||
}
|
||||
|
||||
void
|
||||
xaccAccountSetSlots_nc(Account *account, kvp_frame *frame)
|
||||
xaccAccountSetSlots_nc(Account *account, KvpFrame *frame)
|
||||
{
|
||||
if (!account) return;
|
||||
|
||||
@@ -1642,7 +1642,7 @@ DxaccAccountSetCurrencySCU (Account * acc, int scu)
|
||||
int
|
||||
DxaccAccountGetCurrencySCU (Account * acc)
|
||||
{
|
||||
kvp_value *v;
|
||||
KvpValue *v;
|
||||
|
||||
if (!acc) return 0;
|
||||
|
||||
@@ -1787,7 +1787,7 @@ xaccAccountGetDescription (Account *acc)
|
||||
const char *
|
||||
xaccAccountGetNotes (Account *acc)
|
||||
{
|
||||
kvp_value *v;
|
||||
KvpValue *v;
|
||||
|
||||
if (!acc) return NULL;
|
||||
v = kvp_frame_get_slot(acc->kvp_data, "notes");
|
||||
@@ -1798,7 +1798,7 @@ xaccAccountGetNotes (Account *acc)
|
||||
gnc_commodity *
|
||||
DxaccAccountGetCurrency (Account *acc)
|
||||
{
|
||||
kvp_value *v;
|
||||
KvpValue *v;
|
||||
const char *s;
|
||||
gnc_commodity_table *table;
|
||||
|
||||
@@ -1826,7 +1826,7 @@ xaccAccountGetCommodity (Account *acc)
|
||||
gnc_commodity *
|
||||
DxaccAccountGetSecurity (Account *acc)
|
||||
{
|
||||
kvp_value *v;
|
||||
KvpValue *v;
|
||||
const char *s;
|
||||
gnc_commodity_table *table;
|
||||
|
||||
@@ -2222,7 +2222,7 @@ xaccAccountForEachLot(Account *acc,
|
||||
gboolean
|
||||
xaccAccountGetTaxRelated (Account *account)
|
||||
{
|
||||
kvp_value *kvp;
|
||||
KvpValue *kvp;
|
||||
|
||||
if (!account)
|
||||
return FALSE;
|
||||
@@ -2237,7 +2237,7 @@ xaccAccountGetTaxRelated (Account *account)
|
||||
void
|
||||
xaccAccountSetTaxRelated (Account *account, gboolean tax_related)
|
||||
{
|
||||
kvp_value *new_value;
|
||||
KvpValue *new_value;
|
||||
|
||||
if (!account)
|
||||
return;
|
||||
@@ -2258,7 +2258,7 @@ xaccAccountSetTaxRelated (Account *account, gboolean tax_related)
|
||||
const char *
|
||||
xaccAccountGetTaxUSCode (Account *account)
|
||||
{
|
||||
kvp_value *value;
|
||||
KvpValue *value;
|
||||
|
||||
if (!account)
|
||||
return FALSE;
|
||||
@@ -2273,7 +2273,7 @@ xaccAccountGetTaxUSCode (Account *account)
|
||||
void
|
||||
xaccAccountSetTaxUSCode (Account *account, const char *code)
|
||||
{
|
||||
kvp_frame *frame;
|
||||
KvpFrame *frame;
|
||||
|
||||
if (!account)
|
||||
return;
|
||||
@@ -2293,7 +2293,7 @@ xaccAccountSetTaxUSCode (Account *account, const char *code)
|
||||
const char *
|
||||
xaccAccountGetTaxUSPayerNameSource (Account *account)
|
||||
{
|
||||
kvp_value *value;
|
||||
KvpValue *value;
|
||||
|
||||
if (!account)
|
||||
return FALSE;
|
||||
@@ -2309,7 +2309,7 @@ xaccAccountGetTaxUSPayerNameSource (Account *account)
|
||||
void
|
||||
xaccAccountSetTaxUSPayerNameSource (Account *account, const char *source)
|
||||
{
|
||||
kvp_frame *frame;
|
||||
KvpFrame *frame;
|
||||
|
||||
if (!account)
|
||||
return;
|
||||
@@ -2332,7 +2332,7 @@ xaccAccountSetTaxUSPayerNameSource (Account *account, const char *source)
|
||||
gboolean
|
||||
xaccAccountGetPlaceholder (Account *account)
|
||||
{
|
||||
kvp_value *kvp;
|
||||
KvpValue *kvp;
|
||||
char *setting;
|
||||
|
||||
if ( ( account ) &&
|
||||
@@ -2595,7 +2595,7 @@ xaccAccountTypesCompatible (GNCAccountType parent_type,
|
||||
gboolean
|
||||
xaccAccountGetReconcileLastDate (Account *account, time_t *last_date)
|
||||
{
|
||||
kvp_value *value;
|
||||
KvpValue *value;
|
||||
|
||||
if (!account)
|
||||
return FALSE;
|
||||
@@ -2622,7 +2622,7 @@ xaccAccountGetReconcileLastDate (Account *account, time_t *last_date)
|
||||
void
|
||||
xaccAccountSetReconcileLastDate (Account *account, time_t last_date)
|
||||
{
|
||||
kvp_frame *frame;
|
||||
KvpFrame *frame;
|
||||
if (!account)
|
||||
return;
|
||||
|
||||
@@ -2642,7 +2642,7 @@ xaccAccountSetReconcileLastDate (Account *account, time_t last_date)
|
||||
gboolean
|
||||
xaccAccountGetReconcileLastInterval (Account *account, int *months, int *days)
|
||||
{
|
||||
kvp_value *value1, *value2;
|
||||
KvpValue *value1, *value2;
|
||||
|
||||
if (!account)
|
||||
return FALSE;
|
||||
@@ -2668,7 +2668,7 @@ xaccAccountGetReconcileLastInterval (Account *account, int *months, int *days)
|
||||
void
|
||||
xaccAccountSetReconcileLastInterval (Account *account, int months, int days)
|
||||
{
|
||||
kvp_frame *frame;
|
||||
KvpFrame *frame;
|
||||
if (!account)
|
||||
return;
|
||||
|
||||
@@ -2692,7 +2692,7 @@ gboolean
|
||||
xaccAccountGetReconcilePostponeDate (Account *account,
|
||||
time_t *postpone_date)
|
||||
{
|
||||
kvp_value *value;
|
||||
KvpValue *value;
|
||||
|
||||
if (!account)
|
||||
return FALSE;
|
||||
@@ -2720,7 +2720,7 @@ void
|
||||
xaccAccountSetReconcilePostponeDate (Account *account,
|
||||
time_t postpone_date)
|
||||
{
|
||||
kvp_frame *frame;
|
||||
KvpFrame *frame;
|
||||
if (!account)
|
||||
return;
|
||||
|
||||
@@ -2743,7 +2743,7 @@ gboolean
|
||||
xaccAccountGetReconcilePostponeBalance (Account *account,
|
||||
gnc_numeric *balance)
|
||||
{
|
||||
kvp_value *value;
|
||||
KvpValue *value;
|
||||
|
||||
if (!account)
|
||||
return FALSE;
|
||||
@@ -2772,7 +2772,7 @@ void
|
||||
xaccAccountSetReconcilePostponeBalance (Account *account,
|
||||
gnc_numeric balance)
|
||||
{
|
||||
kvp_frame *frame;
|
||||
KvpFrame *frame;
|
||||
if (!account)
|
||||
return;
|
||||
|
||||
@@ -2819,7 +2819,7 @@ xaccAccountClearReconcilePostpone (Account *account)
|
||||
gboolean
|
||||
xaccAccountGetAutoInterestXfer (Account *account, gboolean default_value)
|
||||
{
|
||||
kvp_value *value = NULL;
|
||||
KvpValue *value = NULL;
|
||||
char *setting = NULL;
|
||||
gboolean result = default_value;
|
||||
|
||||
@@ -2846,7 +2846,7 @@ xaccAccountGetAutoInterestXfer (Account *account, gboolean default_value)
|
||||
void
|
||||
xaccAccountSetAutoInterestXfer (Account *account, gboolean option)
|
||||
{
|
||||
kvp_frame *frame;
|
||||
KvpFrame *frame;
|
||||
if (!account)
|
||||
return;
|
||||
|
||||
@@ -2870,7 +2870,7 @@ xaccAccountSetAutoInterestXfer (Account *account, gboolean option)
|
||||
const char *
|
||||
xaccAccountGetLastNum (Account *account)
|
||||
{
|
||||
kvp_value *value;
|
||||
KvpValue *value;
|
||||
|
||||
if (!account)
|
||||
return FALSE;
|
||||
@@ -2934,7 +2934,7 @@ dxaccAccountGetPriceSrc(Account *acc)
|
||||
t = acc->type;
|
||||
if((t == STOCK) || (t == MUTUAL) || (t == CURRENCY))
|
||||
{
|
||||
kvp_value *value = kvp_frame_get_slot(acc->kvp_data, "old-price-source");
|
||||
KvpValue *value = kvp_frame_get_slot(acc->kvp_data, "old-price-source");
|
||||
if(value) return (kvp_value_get_string(value));
|
||||
}
|
||||
return NULL;
|
||||
@@ -2975,7 +2975,7 @@ dxaccAccountGetQuoteTZ(Account *acc)
|
||||
t = acc->type;
|
||||
if((t == STOCK) || (t == MUTUAL) || (t == CURRENCY))
|
||||
{
|
||||
kvp_value *value = kvp_frame_get_slot(acc->kvp_data, "old-quote-tz");
|
||||
KvpValue *value = kvp_frame_get_slot(acc->kvp_data, "old-quote-tz");
|
||||
if(value) return (kvp_value_get_string(value));
|
||||
}
|
||||
return NULL;
|
||||
@@ -2987,7 +2987,7 @@ dxaccAccountGetQuoteTZ(Account *acc)
|
||||
void
|
||||
xaccAccountSetReconcileChildrenStatus(Account *account, gboolean status)
|
||||
{
|
||||
kvp_frame *frame;
|
||||
KvpFrame *frame;
|
||||
if (!account)
|
||||
return;
|
||||
|
||||
@@ -3008,7 +3008,7 @@ xaccAccountSetReconcileChildrenStatus(Account *account, gboolean status)
|
||||
gboolean
|
||||
xaccAccountGetReconcileChildrenStatus(Account *account)
|
||||
{
|
||||
kvp_value *status;
|
||||
KvpValue *status;
|
||||
if (!account)
|
||||
return FALSE;
|
||||
/* access the account's kvp-data for status and return that, if no value
|
||||
|
||||
@@ -402,10 +402,10 @@ gboolean xaccAccountHasAncestor (Account *account, Account *ancestor);
|
||||
|
||||
/* ------------------ */
|
||||
|
||||
/** @name Account kvp_frame getters/setters */
|
||||
/** @name Account KvpFrame getters/setters */
|
||||
/** @{ */
|
||||
kvp_frame * xaccAccountGetSlots (Account *account);
|
||||
void xaccAccountSetSlots_nc(Account *account, kvp_frame *frame);
|
||||
KvpFrame * xaccAccountGetSlots (Account *account);
|
||||
void xaccAccountSetSlots_nc(Account *account, KvpFrame *frame);
|
||||
|
||||
/** Delete any old data in the account's kvp data.
|
||||
* This includes the old currency and security fields. */
|
||||
|
||||
@@ -90,7 +90,7 @@ struct account_s
|
||||
* information in splits, transactions, and accounts. it's NULL
|
||||
* until accessed. See src/engine/kvp_doc.txt for a list and
|
||||
* description of the important keys. */
|
||||
kvp_frame * kvp_data;
|
||||
KvpFrame * kvp_data;
|
||||
|
||||
/* The type field is the account type, picked from the enumerated
|
||||
* list that includes BANK, STOCK, CREDIT, INCOME, etc. Its
|
||||
|
||||
@@ -312,8 +312,8 @@ add_closing_balances (AccountGroup *closed_grp,
|
||||
acc_list = xaccGroupGetAccountList (closed_grp);
|
||||
for (node=acc_list; node; node=node->next)
|
||||
{
|
||||
kvp_frame *cwd;
|
||||
kvp_value *vvv;
|
||||
KvpFrame *cwd;
|
||||
KvpValue *vvv;
|
||||
Account *twin;
|
||||
AccountGroup *childs;
|
||||
Account * candidate = (Account *) node->data;
|
||||
@@ -446,8 +446,8 @@ gnc_book_close_period (QofBook *existing_book, Timespec calve_date,
|
||||
{
|
||||
Query *query;
|
||||
QofBook *closing_book;
|
||||
kvp_frame *exist_cwd, *partn_cwd;
|
||||
kvp_value *vvv;
|
||||
KvpFrame *exist_cwd, *partn_cwd;
|
||||
KvpValue *vvv;
|
||||
Timespec ts;
|
||||
|
||||
if (!existing_book) return NULL;
|
||||
|
||||
@@ -511,7 +511,7 @@ xaccQueryAddGUIDMatchGL (QofQuery *q, GList *param_list,
|
||||
}
|
||||
|
||||
void
|
||||
xaccQueryAddKVPMatch(QofQuery *q, GSList *path, const kvp_value *value,
|
||||
xaccQueryAddKVPMatch(QofQuery *q, GSList *path, const KvpValue *value,
|
||||
QofQueryCompare how, QofIdType id_type,
|
||||
QofQueryOp op)
|
||||
{
|
||||
|
||||
@@ -206,7 +206,7 @@ void xaccQueryAddGUIDMatchGL (QofQuery *q, GList *param_list,
|
||||
GUID guid, QofQueryOp op);
|
||||
|
||||
/* given kvp value is on right side of comparison */
|
||||
void xaccQueryAddKVPMatch(Query *q, GSList *path, const kvp_value *value,
|
||||
void xaccQueryAddKVPMatch(Query *q, GSList *path, const KvpValue *value,
|
||||
QofQueryCompare how, QofIdType id_type,
|
||||
QofQueryOp op);
|
||||
|
||||
|
||||
@@ -100,7 +100,7 @@ typedef struct {
|
||||
kvp_match_t how;
|
||||
kvp_match_where_t where;
|
||||
GSList *path;
|
||||
kvp_value *value;
|
||||
KvpValue *value;
|
||||
} KVPPredicateData;
|
||||
|
||||
typedef struct {
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
#include "SX-ttinfo.h"
|
||||
|
||||
/* kvp_frame policy? */
|
||||
/* KvpFrame policy? */
|
||||
struct TTInfo_s
|
||||
{
|
||||
/* FIXME add notes field */
|
||||
@@ -41,7 +41,7 @@ struct TTInfo_s
|
||||
struct TTSplitInfo_s
|
||||
{
|
||||
char *action; /* owned by us */
|
||||
/* FIXME: What about the split's kvp_frame */
|
||||
/* FIXME: What about the split's KvpFrame */
|
||||
char *memo; /* owned by us */
|
||||
char *credit_formula, *debit_formula; /* owned by us */
|
||||
Account *acc;
|
||||
|
||||
@@ -327,7 +327,7 @@ xaccSchedXactionSetRemOccur( SchedXaction *sx,
|
||||
}
|
||||
|
||||
|
||||
kvp_value *
|
||||
KvpValue *
|
||||
xaccSchedXactionGetSlot( SchedXaction *sx, const char *slot )
|
||||
{
|
||||
if (!sx)
|
||||
@@ -341,7 +341,7 @@ xaccSchedXactionGetSlot( SchedXaction *sx, const char *slot )
|
||||
void
|
||||
xaccSchedXactionSetSlot( SchedXaction *sx,
|
||||
const char *slot,
|
||||
const kvp_value *value )
|
||||
const KvpValue *value )
|
||||
{
|
||||
if (!sx)
|
||||
{
|
||||
@@ -353,14 +353,14 @@ xaccSchedXactionSetSlot( SchedXaction *sx,
|
||||
return;
|
||||
}
|
||||
|
||||
kvp_frame*
|
||||
KvpFrame*
|
||||
xaccSchedXactionGetSlots( SchedXaction *sx )
|
||||
{
|
||||
return sx->kvp_data;
|
||||
}
|
||||
|
||||
void
|
||||
xaccSchedXactionSetSlots( SchedXaction *sx, kvp_frame *frm )
|
||||
xaccSchedXactionSetSlots( SchedXaction *sx, KvpFrame *frm )
|
||||
{
|
||||
sx->kvp_data = frm;
|
||||
sx->dirty = TRUE;
|
||||
@@ -587,8 +587,8 @@ pack_split_info (TTSplitInfo *s_info, Account *parent_acct,
|
||||
Transaction *parent_trans, QofBook *book)
|
||||
{
|
||||
Split *split;
|
||||
kvp_frame *split_frame;
|
||||
kvp_value *tmp_value;
|
||||
KvpFrame *split_frame;
|
||||
KvpValue *tmp_value;
|
||||
const GUID *acc_guid;
|
||||
|
||||
split = xaccMallocSplit(book);
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
#include "qofbook.h"
|
||||
|
||||
/*
|
||||
* #defines for kvp_frame strings
|
||||
* #defines for KvpFrame strings
|
||||
* FIXME: Is this the right spot for them <rgmerk>?
|
||||
* FIXME: No, they should be private data and there should
|
||||
* be an api for getting/setting the values <dave_p>
|
||||
@@ -158,22 +158,22 @@ void xaccSchedXactionSetAdvanceReminder( SchedXaction *sx, gint reminderDays );
|
||||
|
||||
/*
|
||||
* The following function is slightly risky. If you change
|
||||
* the retrieved kvp_frame you must mark the SchedXaction
|
||||
* the retrieved KvpFrame you must mark the SchedXaction
|
||||
* dirty with xaccSchedXactionSetDirtyness
|
||||
*/
|
||||
kvp_frame *xaccSchedXactionGetSlots( SchedXaction *sx );
|
||||
KvpFrame *xaccSchedXactionGetSlots( SchedXaction *sx );
|
||||
/**
|
||||
* Sets the SX kvp data to the given kvp_frame.
|
||||
* NOTE: This is not copied, but set directly.
|
||||
**/
|
||||
void xaccSchedXactionSetSlots( SchedXaction *sx,
|
||||
kvp_frame *frm );
|
||||
KvpFrame *frm );
|
||||
|
||||
/**
|
||||
* Use the following two functions in preference to
|
||||
* the above two . . .
|
||||
*/
|
||||
kvp_value *xaccSchedXactionGetSlot( SchedXaction *sx,
|
||||
KvpValue *xaccSchedXactionGetSlot( SchedXaction *sx,
|
||||
const char *slot );
|
||||
|
||||
/*
|
||||
@@ -182,7 +182,7 @@ kvp_value *xaccSchedXactionGetSlot( SchedXaction *sx,
|
||||
|
||||
void xaccSchedXactionSetSlot( SchedXaction *sx,
|
||||
const char *slot,
|
||||
const kvp_value *value );
|
||||
const KvpValue *value );
|
||||
|
||||
const GUID *xaccSchedXactionGetGUID( SchedXaction *sx );
|
||||
void xaccSchedXactionSetGUID( SchedXaction *sx, GUID g );
|
||||
|
||||
@@ -84,7 +84,7 @@ struct gncp_SchedXaction
|
||||
/* Changed since last save? */
|
||||
gboolean dirty;
|
||||
|
||||
kvp_frame *kvp_data;
|
||||
KvpFrame *kvp_data;
|
||||
};
|
||||
|
||||
/** Just the variable temporal bits from the SX structure. */
|
||||
|
||||
@@ -313,8 +313,8 @@ GetOrMakeLotOrphanAccount (AccountGroup *root, gnc_commodity * currency)
|
||||
void
|
||||
xaccAccountSetDefaultGainAccount (Account *acc, Account *gain_acct)
|
||||
{
|
||||
kvp_frame *cwd;
|
||||
kvp_value *vvv;
|
||||
KvpFrame *cwd;
|
||||
KvpValue *vvv;
|
||||
const char * cur_name;
|
||||
|
||||
if (!acc || !gain_acct) return;
|
||||
@@ -338,8 +338,8 @@ Account *
|
||||
xaccAccountGetDefaultGainAccount (Account *acc, gnc_commodity * currency)
|
||||
{
|
||||
Account *gain_acct = NULL;
|
||||
kvp_frame *cwd;
|
||||
kvp_value *vvv;
|
||||
KvpFrame *cwd;
|
||||
KvpValue *vvv;
|
||||
GUID * gain_acct_guid;
|
||||
const char * cur_name;
|
||||
|
||||
@@ -367,8 +367,8 @@ static Account *
|
||||
GetOrMakeGainAcct (Account *acc, gnc_commodity * currency)
|
||||
{
|
||||
Account *gain_acct = NULL;
|
||||
kvp_frame *cwd;
|
||||
kvp_value *vvv;
|
||||
KvpFrame *cwd;
|
||||
KvpValue *vvv;
|
||||
GUID * gain_acct_guid;
|
||||
const char * cur_name;
|
||||
|
||||
|
||||
@@ -607,7 +607,7 @@ get_commodity_denom(const Split * s)
|
||||
* xaccSplitGetSlots
|
||||
********************************************************************/
|
||||
|
||||
kvp_frame *
|
||||
KvpFrame *
|
||||
xaccSplitGetSlots (const Split * s)
|
||||
{
|
||||
if(!s) return NULL;
|
||||
@@ -615,7 +615,7 @@ xaccSplitGetSlots (const Split * s)
|
||||
}
|
||||
|
||||
void
|
||||
xaccSplitSetSlots_nc(Split *s, kvp_frame *frm)
|
||||
xaccSplitSetSlots_nc(Split *s, KvpFrame *frm)
|
||||
{
|
||||
g_return_if_fail(s);
|
||||
g_return_if_fail(frm);
|
||||
@@ -1238,7 +1238,7 @@ xaccTransEqual(const Transaction *ta, const Transaction *tb,
|
||||
* xaccTransGetSlots
|
||||
********************************************************************/
|
||||
|
||||
kvp_frame *
|
||||
KvpFrame *
|
||||
xaccTransGetSlots (const Transaction *t)
|
||||
{
|
||||
if(!t) return NULL;
|
||||
@@ -1246,7 +1246,7 @@ xaccTransGetSlots (const Transaction *t)
|
||||
}
|
||||
|
||||
void
|
||||
xaccTransSetSlots_nc (Transaction *t, kvp_frame *frm)
|
||||
xaccTransSetSlots_nc (Transaction *t, KvpFrame *frm)
|
||||
{
|
||||
g_return_if_fail(t);
|
||||
g_return_if_fail(frm);
|
||||
@@ -2685,7 +2685,7 @@ xaccTransSetDate (Transaction *trans, int day, int mon, int year)
|
||||
void
|
||||
xaccTransSetDateDueTS (Transaction *trans, const Timespec *ts)
|
||||
{
|
||||
kvp_value *value;
|
||||
KvpValue *value;
|
||||
|
||||
if (!trans || !ts) return;
|
||||
|
||||
@@ -2697,7 +2697,7 @@ xaccTransSetDateDueTS (Transaction *trans, const Timespec *ts)
|
||||
void
|
||||
xaccTransSetTxnType (Transaction *trans, char type)
|
||||
{
|
||||
kvp_value *value;
|
||||
KvpValue *value;
|
||||
char s[2];
|
||||
|
||||
if (!trans) return;
|
||||
@@ -2803,7 +2803,7 @@ xaccTransGetDescription (const Transaction *trans)
|
||||
const char *
|
||||
xaccTransGetNotes (const Transaction *trans)
|
||||
{
|
||||
kvp_value *v;
|
||||
KvpValue *v;
|
||||
|
||||
if (!trans) return NULL;
|
||||
|
||||
@@ -2856,7 +2856,7 @@ xaccTransRetDateEnteredTS (const Transaction *trans)
|
||||
void
|
||||
xaccTransGetDateDueTS (const Transaction *trans, Timespec *ts)
|
||||
{
|
||||
kvp_value *value;
|
||||
KvpValue *value;
|
||||
|
||||
if (!trans || !ts) return;
|
||||
|
||||
@@ -2880,7 +2880,7 @@ xaccTransRetDateDueTS (const Transaction *trans)
|
||||
char
|
||||
xaccTransGetTxnType (const Transaction *trans)
|
||||
{
|
||||
kvp_value *value;
|
||||
KvpValue *value;
|
||||
const char *s;
|
||||
|
||||
if (!trans) return TXN_TYPE_NONE;
|
||||
@@ -2896,7 +2896,7 @@ xaccTransGetTxnType (const Transaction *trans)
|
||||
const char *
|
||||
xaccTransGetReadOnly (const Transaction *trans)
|
||||
{
|
||||
kvp_value *v;
|
||||
KvpValue *v;
|
||||
|
||||
if (!trans) return NULL;
|
||||
|
||||
@@ -3171,8 +3171,8 @@ xaccSplitGetBook (const Split *split)
|
||||
const char *
|
||||
xaccSplitGetType(const Split *s)
|
||||
{
|
||||
kvp_frame *frame;
|
||||
kvp_value *split_type;
|
||||
KvpFrame *frame;
|
||||
KvpValue *split_type;
|
||||
|
||||
if(!s) return NULL;
|
||||
frame = s->kvp_data;
|
||||
@@ -3318,8 +3318,8 @@ void
|
||||
xaccTransVoid(Transaction *transaction,
|
||||
const char *reason)
|
||||
{
|
||||
kvp_frame *frame;
|
||||
kvp_value *val;
|
||||
KvpFrame *frame;
|
||||
KvpValue *val;
|
||||
gnc_numeric amt, zero;
|
||||
GList *split_list;
|
||||
Split *split;
|
||||
@@ -3381,7 +3381,7 @@ xaccTransGetVoidStatus(const Transaction *trans)
|
||||
char *
|
||||
xaccTransGetVoidReason(const Transaction *trans)
|
||||
{
|
||||
kvp_value *val;
|
||||
KvpValue *val;
|
||||
char *reason;
|
||||
g_return_val_if_fail(trans, NULL);
|
||||
|
||||
@@ -3399,7 +3399,7 @@ xaccTransGetVoidReason(const Transaction *trans)
|
||||
gnc_numeric
|
||||
xaccSplitVoidFormerAmount(const Split *split)
|
||||
{
|
||||
kvp_value *val;
|
||||
KvpValue *val;
|
||||
gnc_numeric amt = gnc_numeric_zero();
|
||||
g_return_val_if_fail(split, amt);
|
||||
|
||||
@@ -3416,7 +3416,7 @@ xaccSplitVoidFormerAmount(const Split *split)
|
||||
gnc_numeric
|
||||
xaccSplitVoidFormerValue(const Split *split)
|
||||
{
|
||||
kvp_value *val;
|
||||
KvpValue *val;
|
||||
gnc_numeric amt = gnc_numeric_zero();
|
||||
|
||||
g_return_val_if_fail(split, amt);
|
||||
@@ -3434,7 +3434,7 @@ xaccSplitVoidFormerValue(const Split *split)
|
||||
Timespec
|
||||
xaccTransGetVoidTime(const Transaction *tr)
|
||||
{
|
||||
kvp_value *val;
|
||||
KvpValue *val;
|
||||
Timespec void_time = {0,0};
|
||||
|
||||
g_return_val_if_fail(tr, void_time);
|
||||
@@ -3452,8 +3452,8 @@ xaccTransGetVoidTime(const Transaction *tr)
|
||||
void
|
||||
xaccTransUnvoid (Transaction *transaction)
|
||||
{
|
||||
kvp_frame *frame;
|
||||
kvp_value *val;
|
||||
KvpFrame *frame;
|
||||
KvpValue *val;
|
||||
gnc_numeric amt;
|
||||
GList *split_list;
|
||||
Split *split;
|
||||
|
||||
@@ -212,15 +212,15 @@ void xaccTransSortSplits (Transaction *trans);
|
||||
*/
|
||||
void xaccTransDump (Transaction *trans, const char *tag);
|
||||
|
||||
/** Returns the transaction's kvp_frame slots.
|
||||
/** Returns the transaction's KvpFrame slots.
|
||||
*
|
||||
Transaction slots are used to store arbitrary strings, numbers, and
|
||||
structures which aren't members of the transaction struct. */
|
||||
kvp_frame *xaccTransGetSlots(const Transaction *trans);
|
||||
KvpFrame *xaccTransGetSlots(const Transaction *trans);
|
||||
|
||||
/** Set the kvp_frame slots of this transaction to the given frm by
|
||||
/** Set the KvpFrame slots of this transaction to the given frm by
|
||||
* directly using the frm pointer (i.e. non-copying). */
|
||||
void xaccTransSetSlots_nc(Transaction *t, kvp_frame *frm);
|
||||
void xaccTransSetSlots_nc(Transaction *t, KvpFrame *frm);
|
||||
|
||||
|
||||
/** Set the Transaction Type
|
||||
@@ -465,17 +465,17 @@ Transaction * xaccSplitGetParent (const Split *split);
|
||||
GNCLot * xaccSplitGetLot (const Split *split);
|
||||
|
||||
|
||||
/** Returns the kvp_frame slots of this split for direct editing.
|
||||
/** Returns the KvpFrame slots of this split for direct editing.
|
||||
*
|
||||
* Split slots are used to store arbitrary strings, numbers, and
|
||||
* structures which aren't members of the transaction struct. See
|
||||
* kvp_doc.txt for reserved slot names.
|
||||
*/
|
||||
kvp_frame *xaccSplitGetSlots(const Split *split);
|
||||
KvpFrame *xaccSplitGetSlots(const Split *split);
|
||||
|
||||
/** Set the kvp_frame slots of this split to the given frm by directly
|
||||
/** Set the KvpFrame slots of this split to the given frm by directly
|
||||
* using the frm pointer (i.e. non-copying). */
|
||||
void xaccSplitSetSlots_nc(Split *s, kvp_frame *frm);
|
||||
void xaccSplitSetSlots_nc(Split *s, KvpFrame *frm);
|
||||
|
||||
|
||||
/** The xaccSplitGetGUID() subroutine will return the
|
||||
|
||||
@@ -106,7 +106,7 @@ struct split_s
|
||||
/* kvp_data is a key-value pair database for storing simple
|
||||
* "extra" information in splits, transactions, and accounts.
|
||||
* it's NULL until accessed. */
|
||||
kvp_frame * kvp_data;
|
||||
KvpFrame * kvp_data;
|
||||
|
||||
char reconciled; /* The reconciled field */
|
||||
Timespec date_reconciled; /* date split was reconciled */
|
||||
@@ -160,7 +160,7 @@ struct transaction_s
|
||||
/* kvp_data is a key-value pair database for storing simple
|
||||
* "extra" information in splits, transactions, and accounts.
|
||||
* it's NULL until accessed. */
|
||||
kvp_frame * kvp_data;
|
||||
KvpFrame * kvp_data;
|
||||
|
||||
|
||||
/* The common_currency field is the balancing common currency for
|
||||
|
||||
@@ -594,31 +594,31 @@ gnc_query_path_free (GSList *path)
|
||||
}
|
||||
|
||||
static SCM
|
||||
gnc_kvp_value_type2scm (kvp_value_t how)
|
||||
gnc_KvpValueTypeype2scm (KvpValueType how)
|
||||
{
|
||||
return gnc_gw_enum_val2scm ("<gnc:kvp-value-t>", how);
|
||||
}
|
||||
|
||||
static kvp_value_t
|
||||
gnc_scm2kvp_value_type (SCM value_type_scm)
|
||||
static KvpValueType
|
||||
gnc_scm2KvpValueTypeype (SCM value_type_scm)
|
||||
{
|
||||
return gnc_gw_enum_scm2val ("<gnc:kvp-value-t>", value_type_scm);
|
||||
}
|
||||
|
||||
static SCM gnc_kvp_frame2scm (kvp_frame *frame);
|
||||
static SCM gnc_kvp_frame2scm (KvpFrame *frame);
|
||||
|
||||
static SCM
|
||||
gnc_kvp_value2scm (kvp_value *value)
|
||||
gnc_kvp_value2scm (KvpValue *value)
|
||||
{
|
||||
SCM value_scm = SCM_EOL;
|
||||
kvp_value_t value_t;
|
||||
KvpValueType value_t;
|
||||
SCM scm;
|
||||
|
||||
if (!value) return SCM_BOOL_F;
|
||||
|
||||
value_t = kvp_value_get_type (value);
|
||||
|
||||
value_scm = scm_cons (gnc_kvp_value_type2scm (value_t), value_scm);
|
||||
value_scm = scm_cons (gnc_KvpValueTypeype2scm (value_t), value_scm);
|
||||
|
||||
switch (value_t)
|
||||
{
|
||||
@@ -682,7 +682,7 @@ typedef struct
|
||||
} KVPSCMData;
|
||||
|
||||
static void
|
||||
kvp_frame_slot2scm (const char *key, kvp_value *value, gpointer data)
|
||||
kvp_frame_slot2scm (const char *key, KvpValue *value, gpointer data)
|
||||
{
|
||||
KVPSCMData *ksd = data;
|
||||
SCM value_scm;
|
||||
@@ -697,7 +697,7 @@ kvp_frame_slot2scm (const char *key, kvp_value *value, gpointer data)
|
||||
}
|
||||
|
||||
static SCM
|
||||
gnc_kvp_frame2scm (kvp_frame *frame)
|
||||
gnc_kvp_frame2scm (KvpFrame *frame)
|
||||
{
|
||||
KVPSCMData ksd;
|
||||
|
||||
@@ -710,13 +710,13 @@ gnc_kvp_frame2scm (kvp_frame *frame)
|
||||
return ksd.scm;
|
||||
}
|
||||
|
||||
static kvp_frame * gnc_scm2kvp_frame (SCM frame_scm);
|
||||
static KvpFrame * gnc_scm2KvpFrame (SCM frame_scm);
|
||||
|
||||
static kvp_value *
|
||||
gnc_scm2kvp_value (SCM value_scm)
|
||||
static KvpValue *
|
||||
gnc_scm2KvpValue (SCM value_scm)
|
||||
{
|
||||
kvp_value_t value_t;
|
||||
kvp_value *value;
|
||||
KvpValueType value_t;
|
||||
KvpValue *value;
|
||||
SCM type_scm;
|
||||
SCM val_scm;
|
||||
|
||||
@@ -724,7 +724,7 @@ gnc_scm2kvp_value (SCM value_scm)
|
||||
return NULL;
|
||||
|
||||
type_scm = SCM_CAR (value_scm);
|
||||
value_t = gnc_scm2kvp_value_type (type_scm);
|
||||
value_t = gnc_scm2KvpValueTypeype (type_scm);
|
||||
|
||||
value_scm = SCM_CDR (value_scm);
|
||||
if (!SCM_LISTP (value_scm) || SCM_NULLP (value_scm))
|
||||
@@ -786,7 +786,7 @@ gnc_scm2kvp_value (SCM value_scm)
|
||||
{
|
||||
SCM scm = SCM_CAR (val_scm);
|
||||
|
||||
list = g_list_prepend (list, gnc_scm2kvp_value (scm));
|
||||
list = g_list_prepend (list, gnc_scm2KvpValue (scm));
|
||||
}
|
||||
|
||||
list = g_list_reverse (list);
|
||||
@@ -800,9 +800,9 @@ gnc_scm2kvp_value (SCM value_scm)
|
||||
}
|
||||
|
||||
case KVP_TYPE_FRAME: {
|
||||
kvp_frame *frame;
|
||||
KvpFrame *frame;
|
||||
|
||||
frame = gnc_scm2kvp_frame (val_scm);
|
||||
frame = gnc_scm2KvpFrame (val_scm);
|
||||
value = kvp_value_new_frame (frame);
|
||||
kvp_frame_delete (frame);
|
||||
break;
|
||||
@@ -816,10 +816,10 @@ gnc_scm2kvp_value (SCM value_scm)
|
||||
return value;
|
||||
}
|
||||
|
||||
static kvp_frame *
|
||||
gnc_scm2kvp_frame (SCM frame_scm)
|
||||
static KvpFrame *
|
||||
gnc_scm2KvpFrame (SCM frame_scm)
|
||||
{
|
||||
kvp_frame * frame;
|
||||
KvpFrame * frame;
|
||||
|
||||
if (!SCM_LISTP (frame_scm)) return NULL;
|
||||
|
||||
@@ -829,7 +829,7 @@ gnc_scm2kvp_frame (SCM frame_scm)
|
||||
frame_scm = SCM_CDR (frame_scm))
|
||||
{
|
||||
SCM pair = SCM_CAR (frame_scm);
|
||||
kvp_value *value;
|
||||
KvpValue *value;
|
||||
SCM key_scm;
|
||||
SCM val_scm;
|
||||
char *key;
|
||||
@@ -847,7 +847,7 @@ gnc_scm2kvp_frame (SCM frame_scm)
|
||||
if (!key)
|
||||
continue;
|
||||
|
||||
value = gnc_scm2kvp_value (val_scm);
|
||||
value = gnc_scm2KvpValue (val_scm);
|
||||
if (!value)
|
||||
{
|
||||
free (key);
|
||||
@@ -1118,7 +1118,7 @@ gnc_scm2query_term_query_v2 (SCM qt_scm)
|
||||
|
||||
} else if (!safe_strcmp (type, QOF_QUERYCORE_KVP)) {
|
||||
GSList *kvp_path;
|
||||
kvp_value *value;
|
||||
KvpValue *value;
|
||||
|
||||
scm = SCM_CAR (qt_scm);
|
||||
qt_scm = SCM_CDR (qt_scm);
|
||||
@@ -1132,7 +1132,7 @@ gnc_scm2query_term_query_v2 (SCM qt_scm)
|
||||
gnc_query_path_free (kvp_path);
|
||||
break;
|
||||
}
|
||||
value = gnc_scm2kvp_value (scm);
|
||||
value = gnc_scm2KvpValue (scm);
|
||||
|
||||
pd = qof_query_kvp_predicate (compare_how, kvp_path, value);
|
||||
gnc_query_path_free (kvp_path);
|
||||
@@ -1432,7 +1432,7 @@ gnc_scm2query_term_query_v1 (SCM query_term_scm)
|
||||
|
||||
} else if (!safe_strcmp (pd_type, "pd-kvp")) {
|
||||
GSList *path;
|
||||
kvp_value *value;
|
||||
KvpValue *value;
|
||||
QofQueryCompare how;
|
||||
QofIdType where;
|
||||
|
||||
@@ -1462,7 +1462,7 @@ gnc_scm2query_term_query_v1 (SCM query_term_scm)
|
||||
break;
|
||||
scm = SCM_CAR (query_term_scm);
|
||||
query_term_scm = SCM_CDR (query_term_scm);
|
||||
value = gnc_scm2kvp_value (scm);
|
||||
value = gnc_scm2KvpValue (scm);
|
||||
|
||||
xaccQueryAddKVPMatch (q, path, value, how, where, QOF_QUERY_OR);
|
||||
|
||||
|
||||
@@ -52,11 +52,11 @@ static char * income_to_key[] = {"income-miscellaneous",
|
||||
static char * expense_to_key[] = {"expense-miscellaneous",
|
||||
"expense-commission"};
|
||||
|
||||
static kvp_frame *
|
||||
get_assoc_acc_frame(kvp_frame *account_frame)
|
||||
static KvpFrame *
|
||||
get_assoc_acc_frame(KvpFrame *account_frame)
|
||||
{
|
||||
kvp_frame *assoc_acc_frame;
|
||||
kvp_value *assoc_acc_frame_kvpvalue =
|
||||
KvpFrame *assoc_acc_frame;
|
||||
KvpValue *assoc_acc_frame_kvpvalue =
|
||||
kvp_frame_get_slot(account_frame, "associated-accounts");
|
||||
|
||||
assoc_acc_frame = kvp_value_get_frame(assoc_acc_frame_kvpvalue);
|
||||
@@ -76,8 +76,8 @@ back_associate_expense_accounts(Account *stock_account,
|
||||
GList *accounts,
|
||||
GNCTrackingExpenseCategory category)
|
||||
{
|
||||
kvp_frame *acc_frame;
|
||||
kvp_value *val, *stock_acc_guid_kvpval, *stock_acc_category_kvpval;
|
||||
KvpFrame *acc_frame;
|
||||
KvpValue *val, *stock_acc_guid_kvpval, *stock_acc_category_kvpval;
|
||||
const GUID *stock_acc_guid;
|
||||
const GUID *existing_acc_guid;
|
||||
|
||||
@@ -111,8 +111,8 @@ back_associate_income_accounts(Account *stock_account,
|
||||
GList *accounts,
|
||||
GNCTrackingIncomeCategory category)
|
||||
{
|
||||
kvp_frame *acc_frame;
|
||||
kvp_value *val, *stock_acc_guid_kvpval, *stock_acc_category_kvpval;
|
||||
KvpFrame *acc_frame;
|
||||
KvpValue *val, *stock_acc_guid_kvpval, *stock_acc_category_kvpval;
|
||||
const GUID *stock_acc_guid;
|
||||
const GUID *existing_acc_guid;
|
||||
|
||||
@@ -141,12 +141,12 @@ back_associate_income_accounts(Account *stock_account,
|
||||
return;
|
||||
}
|
||||
|
||||
static kvp_value *
|
||||
static KvpValue *
|
||||
make_kvpd_on_list(GList *account_list)
|
||||
{
|
||||
GList *iter;
|
||||
kvp_value *retval;
|
||||
kvp_value *guid_kvp;
|
||||
KvpValue *retval;
|
||||
KvpValue *guid_kvp;
|
||||
GList *kvp_acc_list = NULL;
|
||||
const GUID *acc_id;
|
||||
|
||||
@@ -171,7 +171,7 @@ make_kvpd_on_list(GList *account_list)
|
||||
}
|
||||
|
||||
static GList *
|
||||
de_kvp_account_list(kvp_value *kvpd_list, QofBook *book)
|
||||
de_kvp_account_list(KvpValue *kvpd_list, QofBook *book)
|
||||
{
|
||||
GList *guid_account_list = kvp_value_get_glist(kvpd_list);
|
||||
if (guid_account_list)
|
||||
@@ -213,8 +213,8 @@ gnc_tracking_associate_income_accounts(Account *stock_account,
|
||||
GNCTrackingIncomeCategory category,
|
||||
GList *account_list)
|
||||
{
|
||||
kvp_frame *account_frame, *inc_account_frame;
|
||||
kvp_value *kvpd_on_account_list;
|
||||
KvpFrame *account_frame, *inc_account_frame;
|
||||
KvpValue *kvpd_on_account_list;
|
||||
GNCAccountType type;
|
||||
|
||||
g_return_if_fail(stock_account);
|
||||
@@ -255,8 +255,8 @@ gnc_tracking_asssociate_expense_account(Account *stock_account,
|
||||
GNCTrackingExpenseCategory category,
|
||||
GList *account_list)
|
||||
{
|
||||
kvp_frame *account_frame, *expense_acc_frame;
|
||||
kvp_value *kvpd_on_account_list;
|
||||
KvpFrame *account_frame, *expense_acc_frame;
|
||||
KvpValue *kvpd_on_account_list;
|
||||
GNCAccountType type;
|
||||
|
||||
g_return_if_fail(stock_account);
|
||||
@@ -295,8 +295,8 @@ gnc_tracking_find_expense_accounts(Account *stock_account,
|
||||
{
|
||||
|
||||
GNCAccountType type;
|
||||
kvp_frame *account_frame, *expense_acc_frame;
|
||||
kvp_value *kvpd_on_account_list;
|
||||
KvpFrame *account_frame, *expense_acc_frame;
|
||||
KvpValue *kvpd_on_account_list;
|
||||
|
||||
type = xaccAccountGetType(stock_account);
|
||||
g_return_val_if_fail(category >= 0 && category < GNC_TR_EXP_N_CATEGORIES,
|
||||
@@ -329,8 +329,8 @@ gnc_tracking_find_income_accounts(Account *stock_account,
|
||||
GNCTrackingIncomeCategory category)
|
||||
{
|
||||
GNCAccountType type;
|
||||
kvp_frame *account_frame, *income_acc_frame;
|
||||
kvp_value *kvpd_on_account_list;
|
||||
KvpFrame *account_frame, *income_acc_frame;
|
||||
KvpValue *kvpd_on_account_list;
|
||||
|
||||
type = xaccAccountGetType(stock_account);
|
||||
g_return_val_if_fail(category >= 0 && category < GNC_TR_INC_N_CATEGORIES,
|
||||
@@ -429,9 +429,9 @@ void
|
||||
gnc_tracking_dissociate_account(Account *inc_or_expense_account)
|
||||
{
|
||||
GNCAccountType type;
|
||||
kvp_frame *stock_account_kvpframe, *assoc_acc_kvpframe;
|
||||
kvp_frame *current_account_kvpframe;
|
||||
kvp_value *stock_account_kvpval, *acc_list_kvpval, *category_kvpval;
|
||||
KvpFrame *stock_account_kvpframe, *assoc_acc_kvpframe;
|
||||
KvpFrame *current_account_kvpframe;
|
||||
KvpValue *stock_account_kvpval, *acc_list_kvpval, *category_kvpval;
|
||||
const GUID *stock_account_guid, *inc_or_expense_account_guid, *current_guid;
|
||||
Account *stock_account;
|
||||
char *category_name;
|
||||
|
||||
@@ -51,7 +51,7 @@ struct gnc_lot_struct
|
||||
QofBook *book;
|
||||
|
||||
/* Anchor for generic lot-specific data. */
|
||||
kvp_frame *kvp_data;
|
||||
KvpFrame *kvp_data;
|
||||
|
||||
/* Account to which this lot applies. All splits in the lot must
|
||||
* belong to this account.
|
||||
|
||||
@@ -158,7 +158,7 @@ gnc_lot_get_account (GNCLot *lot)
|
||||
return lot->account;
|
||||
}
|
||||
|
||||
kvp_frame *
|
||||
KvpFrame *
|
||||
gnc_lot_get_slots (GNCLot *lot)
|
||||
{
|
||||
if (!lot) return NULL;
|
||||
|
||||
@@ -94,7 +94,7 @@ Split * gnc_lot_get_latest_split (GNCLot *lot);
|
||||
/** Every lot has a place to hang kvp data. This routine returns that
|
||||
* place.
|
||||
* */
|
||||
kvp_frame * gnc_lot_get_slots (GNCLot *);
|
||||
KvpFrame * gnc_lot_get_slots (GNCLot *);
|
||||
|
||||
#define LOT_IS_CLOSED "is-closed?"
|
||||
#define LOT_BALANCE "balance"
|
||||
|
||||
@@ -178,7 +178,7 @@
|
||||
(gw:enum-add-value! wt "QUERY_TXN_MATCH_ANY" 'query-txn-match-any)
|
||||
#t)
|
||||
|
||||
(let ((wt (gw:wrap-enumeration ws '<gnc:kvp-value-t> "kvp_value_t")))
|
||||
(let ((wt (gw:wrap-enumeration ws '<gnc:kvp-value-t> "KvpValueType")))
|
||||
(gw:enum-add-value! wt "KVP_TYPE_GINT64" 'kvp-type-gint64)
|
||||
(gw:enum-add-value! wt "KVP_TYPE_DOUBLE" 'kvp-type-double)
|
||||
(gw:enum-add-value! wt "KVP_TYPE_NUMERIC" 'kvp-type-numeric)
|
||||
|
||||
@@ -31,11 +31,11 @@
|
||||
"#include <Transaction.h>\n"
|
||||
"#include <qofbook.h>\n")))
|
||||
|
||||
(gw:wrap-as-wct ws '<gnc:kvp-frame*> "kvp_frame*" "const kvp_frame*")
|
||||
(gw:wrap-as-wct ws '<gnc:kvp-frame*> "KvpFrame*" "const KvpFrame*")
|
||||
|
||||
(gw:wrap-simple-type
|
||||
ws
|
||||
'<gnc:kvp-value*> "kvp_value*"
|
||||
'<gnc:kvp-value*> "KvpValue*"
|
||||
'("gnc_kvp_value_ptr_p(" scm-var ")")
|
||||
'(c-var " = gnc_scm_to_kvp_value_ptr(" scm-var ");\n")
|
||||
'(scm-var " = gnc_kvp_value_ptr_to_scm(" c-var ");\n"))
|
||||
@@ -47,7 +47,7 @@
|
||||
"gnc_kvp_frame_delete_at_path"
|
||||
'((<gnc:kvp-frame*> f)
|
||||
((gw:gslist-of (<gw:mchars> caller-owned const) caller-owned) key-path))
|
||||
"Deletes the kvp_frame at the key-path in frame f")
|
||||
"Deletes the KvpFrame at the key-path in frame f")
|
||||
|
||||
(gw:wrap-function
|
||||
ws
|
||||
|
||||
@@ -18,8 +18,9 @@ gnc_kvp_value_ptr_p(SCM arg)
|
||||
* guids are stored simply as strings in scheme, so some
|
||||
* strings could be mistaken for guids, although that is
|
||||
* unlikely. The general problem is distinguishing kvp
|
||||
* types based only on the scheme type. */
|
||||
kvp_value*
|
||||
* types based only on the scheme type.
|
||||
*/
|
||||
KvpValue *
|
||||
gnc_scm_to_kvp_value_ptr(SCM val)
|
||||
{
|
||||
if(SCM_EXACTP (val) && gnc_gh_gint64_p(val))
|
||||
@@ -47,7 +48,7 @@ gnc_scm_to_kvp_value_ptr(SCM val)
|
||||
else if(SCM_STRINGP(val))
|
||||
{
|
||||
char *newstr;
|
||||
kvp_value *ret;
|
||||
KvpValue *ret;
|
||||
newstr = gh_scm2newstr(val, NULL);
|
||||
ret = kvp_value_new_string(newstr);
|
||||
free(newstr);
|
||||
@@ -56,7 +57,7 @@ gnc_scm_to_kvp_value_ptr(SCM val)
|
||||
else if(gw_wcp_p(val) &&
|
||||
gw_wcp_is_of_type_p(scm_c_eval_string("<gnc:kvp-frame*>"), val))
|
||||
{
|
||||
kvp_frame *frame = gw_wcp_get_ptr(val);
|
||||
KvpFrame *frame = gw_wcp_get_ptr(val);
|
||||
return kvp_value_new_frame (frame);
|
||||
}
|
||||
/* FIXME: add binary handler here when it's figured out */
|
||||
@@ -65,7 +66,7 @@ gnc_scm_to_kvp_value_ptr(SCM val)
|
||||
}
|
||||
|
||||
SCM
|
||||
gnc_kvp_value_ptr_to_scm(kvp_value* val)
|
||||
gnc_kvp_value_ptr_to_scm(KvpValue* val)
|
||||
{
|
||||
switch(kvp_value_get_type(val))
|
||||
{
|
||||
@@ -93,7 +94,7 @@ gnc_kvp_value_ptr_to_scm(kvp_value* val)
|
||||
|
||||
case KVP_TYPE_FRAME:
|
||||
{
|
||||
kvp_frame *frame = kvp_value_get_frame(val);
|
||||
KvpFrame *frame = kvp_value_get_frame(val);
|
||||
if (frame)
|
||||
return gw_wcp_assimilate_ptr (frame,
|
||||
scm_c_eval_string("<gnc:kvp-frame*>"));
|
||||
@@ -110,7 +111,7 @@ gnc_kvp_value_ptr_to_scm(kvp_value* val)
|
||||
}
|
||||
|
||||
void
|
||||
gnc_kvp_frame_delete_at_path (kvp_frame *frame, GSList *key_path)
|
||||
gnc_kvp_frame_delete_at_path (KvpFrame *frame, GSList *key_path)
|
||||
{
|
||||
kvp_frame_set_slot_path_gslist (frame, NULL, key_path);
|
||||
}
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
#include <libguile.h>
|
||||
|
||||
int gnc_kvp_value_ptr_p(SCM arg);
|
||||
kvp_value* gnc_scm_to_kvp_value_ptr(SCM kvpval);
|
||||
SCM gnc_kvp_value_ptr_to_scm(kvp_value* val);
|
||||
void gnc_kvp_frame_delete_at_path(kvp_frame *frame, GSList *key_path);
|
||||
KvpValue* gnc_scm_to_kvp_value_ptr(SCM kvpval);
|
||||
SCM gnc_kvp_value_ptr_to_scm(KvpValue* val);
|
||||
void gnc_kvp_frame_delete_at_path(KvpFrame *frame, GSList *key_path);
|
||||
|
||||
#endif /* KVP_SCM_H */
|
||||
|
||||
|
||||
@@ -41,6 +41,6 @@
|
||||
* /gemini/<n>/date, where <n> = ncopies-1.
|
||||
*/
|
||||
|
||||
void gnc_kvp_gemini (kvp_frame *, const GUID *, const GUID *, time_t);
|
||||
void gnc_kvp_gemini (KvpFrame *, const GUID *, const GUID *, time_t);
|
||||
|
||||
#endif /* XACC_KVP_UTIL_P_H */
|
||||
|
||||
@@ -38,12 +38,12 @@
|
||||
*/
|
||||
|
||||
void
|
||||
gnc_kvp_gemini (kvp_frame *kvp_root, const GUID *acct_guid,
|
||||
gnc_kvp_gemini (KvpFrame *kvp_root, const GUID *acct_guid,
|
||||
const GUID *book_guid, time_t secs)
|
||||
{
|
||||
char buff[80];
|
||||
kvp_frame *cwd, *pwd;
|
||||
kvp_value *v_ncopies, *vvv;
|
||||
KvpFrame *cwd, *pwd;
|
||||
KvpValue *v_ncopies, *vvv;
|
||||
gint64 ncopies = 0;
|
||||
Timespec ts;
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/********************************************************************
|
||||
* kvp_frame.c -- a key-value frame system for gnucash. *
|
||||
* Copyright (C) 2000 Bill Gribble *
|
||||
* Copyright (C) 2001 Linas Vepstas <linas@linas.org> *
|
||||
* Copyright (C) 2001,2003Linas Vepstas <linas@linas.org> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or *
|
||||
* modify it under the terms of the GNU General Public License as *
|
||||
@@ -39,20 +39,24 @@
|
||||
|
||||
|
||||
/* Note that we keep the keys for this hash table in a GCache
|
||||
* (gnc_string_cache), as it is likely we will see the same keys
|
||||
* over and over again */
|
||||
struct _kvp_frame {
|
||||
* (gnc_string_cache), as it is very likely we will see the
|
||||
* same keys over and over again */
|
||||
|
||||
struct _KvpFrame
|
||||
{
|
||||
GHashTable * hash;
|
||||
};
|
||||
|
||||
|
||||
typedef struct {
|
||||
typedef struct
|
||||
{
|
||||
void *data;
|
||||
int datasize;
|
||||
} kvp_value_binary_data;
|
||||
} KvpValueBinaryData;
|
||||
|
||||
struct _kvp_value {
|
||||
kvp_value_t type;
|
||||
struct _KvpValue
|
||||
{
|
||||
KvpValueType type;
|
||||
union {
|
||||
gint64 int64;
|
||||
double dbl;
|
||||
@@ -60,9 +64,9 @@ struct _kvp_value {
|
||||
gchar *str;
|
||||
GUID *guid;
|
||||
Timespec timespec;
|
||||
kvp_value_binary_data binary;
|
||||
KvpValueBinaryData binary;
|
||||
GList *list;
|
||||
kvp_frame *frame;
|
||||
KvpFrame *frame;
|
||||
} value;
|
||||
};
|
||||
|
||||
@@ -70,7 +74,7 @@ struct _kvp_value {
|
||||
static short module = MOD_ENGINE;
|
||||
|
||||
/********************************************************************
|
||||
* kvp_frame functions
|
||||
* KvpFrame functions
|
||||
********************************************************************/
|
||||
|
||||
static guint
|
||||
@@ -86,7 +90,7 @@ kvp_comp_func(gconstpointer v, gconstpointer v2)
|
||||
}
|
||||
|
||||
static gboolean
|
||||
init_frame_body_if_needed(kvp_frame *f)
|
||||
init_frame_body_if_needed(KvpFrame *f)
|
||||
{
|
||||
if(!f->hash)
|
||||
{
|
||||
@@ -96,10 +100,10 @@ init_frame_body_if_needed(kvp_frame *f)
|
||||
return(f->hash != NULL);
|
||||
}
|
||||
|
||||
kvp_frame *
|
||||
KvpFrame *
|
||||
kvp_frame_new(void)
|
||||
{
|
||||
kvp_frame * retval = g_new0(kvp_frame, 1);
|
||||
KvpFrame * retval = g_new0(KvpFrame, 1);
|
||||
/* save space until we have data */
|
||||
retval->hash = NULL;
|
||||
return retval;
|
||||
@@ -109,11 +113,11 @@ static void
|
||||
kvp_frame_delete_worker(gpointer key, gpointer value, gpointer user_data)
|
||||
{
|
||||
g_cache_remove(gnc_engine_get_string_cache(), key);
|
||||
kvp_value_delete((kvp_value *)value);
|
||||
kvp_value_delete((KvpValue *)value);
|
||||
}
|
||||
|
||||
void
|
||||
kvp_frame_delete(kvp_frame * frame)
|
||||
kvp_frame_delete(KvpFrame * frame)
|
||||
{
|
||||
if (!frame) return;
|
||||
|
||||
@@ -131,7 +135,7 @@ kvp_frame_delete(kvp_frame * frame)
|
||||
}
|
||||
|
||||
gboolean
|
||||
kvp_frame_is_empty(kvp_frame * frame)
|
||||
kvp_frame_is_empty(KvpFrame * frame)
|
||||
{
|
||||
if (!frame) return TRUE;
|
||||
if (!frame->hash) return TRUE;
|
||||
@@ -141,7 +145,7 @@ kvp_frame_is_empty(kvp_frame * frame)
|
||||
static void
|
||||
kvp_frame_copy_worker(gpointer key, gpointer value, gpointer user_data)
|
||||
{
|
||||
kvp_frame * dest = (kvp_frame *)user_data;
|
||||
KvpFrame * dest = (KvpFrame *)user_data;
|
||||
g_hash_table_freeze(dest->hash);
|
||||
g_hash_table_insert(dest->hash,
|
||||
(gpointer)g_cache_insert(gnc_engine_get_string_cache(), key),
|
||||
@@ -149,10 +153,10 @@ kvp_frame_copy_worker(gpointer key, gpointer value, gpointer user_data)
|
||||
g_hash_table_thaw(dest->hash);
|
||||
}
|
||||
|
||||
kvp_frame *
|
||||
kvp_frame_copy(const kvp_frame * frame)
|
||||
KvpFrame *
|
||||
kvp_frame_copy(const KvpFrame * frame)
|
||||
{
|
||||
kvp_frame * retval = kvp_frame_new();
|
||||
KvpFrame * retval = kvp_frame_new();
|
||||
|
||||
if (!frame) return retval;
|
||||
|
||||
@@ -167,8 +171,8 @@ kvp_frame_copy(const kvp_frame * frame)
|
||||
}
|
||||
|
||||
static void
|
||||
kvp_frame_set_slot_destructively(kvp_frame * frame, const char * slot,
|
||||
kvp_value * new_value) {
|
||||
kvp_frame_set_slot_destructively(KvpFrame * frame, const char * slot,
|
||||
KvpValue * new_value) {
|
||||
/* FIXME: no way to indicate errors... */
|
||||
|
||||
gpointer orig_key;
|
||||
@@ -201,10 +205,10 @@ kvp_frame_set_slot_destructively(kvp_frame * frame, const char * slot,
|
||||
}
|
||||
|
||||
void
|
||||
kvp_frame_set_slot(kvp_frame * frame, const char * slot,
|
||||
const kvp_value * value)
|
||||
kvp_frame_set_slot(KvpFrame * frame, const char * slot,
|
||||
const KvpValue * value)
|
||||
{
|
||||
kvp_value *new_value = NULL;
|
||||
KvpValue *new_value = NULL;
|
||||
|
||||
if (!frame) return;
|
||||
|
||||
@@ -215,8 +219,8 @@ kvp_frame_set_slot(kvp_frame * frame, const char * slot,
|
||||
}
|
||||
|
||||
void
|
||||
kvp_frame_set_slot_nc(kvp_frame * frame, const char * slot,
|
||||
kvp_value * value)
|
||||
kvp_frame_set_slot_nc(KvpFrame * frame, const char * slot,
|
||||
KvpValue * value)
|
||||
{
|
||||
if (!frame) return;
|
||||
|
||||
@@ -225,19 +229,19 @@ kvp_frame_set_slot_nc(kvp_frame * frame, const char * slot,
|
||||
kvp_frame_set_slot_destructively(frame, slot, value);
|
||||
}
|
||||
|
||||
kvp_value *
|
||||
kvp_frame_get_slot(kvp_frame * frame, const char * slot)
|
||||
KvpValue *
|
||||
kvp_frame_get_slot(KvpFrame * frame, const char * slot)
|
||||
{
|
||||
if (!frame) return NULL;
|
||||
if(!frame->hash) return(NULL);
|
||||
return (kvp_value *)g_hash_table_lookup(frame->hash, slot);
|
||||
return (KvpValue *)g_hash_table_lookup(frame->hash, slot);
|
||||
}
|
||||
|
||||
/* ============================================================ */
|
||||
|
||||
void
|
||||
kvp_frame_set_slot_path (kvp_frame *frame,
|
||||
const kvp_value *new_value,
|
||||
kvp_frame_set_slot_path (KvpFrame *frame,
|
||||
const KvpValue *new_value,
|
||||
const char *first_key, ...)
|
||||
{
|
||||
va_list ap;
|
||||
@@ -253,7 +257,7 @@ kvp_frame_set_slot_path (kvp_frame *frame,
|
||||
|
||||
while (TRUE)
|
||||
{
|
||||
kvp_value *value;
|
||||
KvpValue *value;
|
||||
const char *next_key;
|
||||
|
||||
next_key = va_arg (ap, const char *);
|
||||
@@ -267,8 +271,8 @@ kvp_frame_set_slot_path (kvp_frame *frame,
|
||||
|
||||
value = kvp_frame_get_slot (frame, key);
|
||||
if (!value) {
|
||||
kvp_frame *new_frame = kvp_frame_new ();
|
||||
kvp_value *frame_value = kvp_value_new_frame (new_frame);
|
||||
KvpFrame *new_frame = kvp_frame_new ();
|
||||
KvpValue *frame_value = kvp_value_new_frame (new_frame);
|
||||
|
||||
kvp_frame_set_slot_nc (frame, key, frame_value);
|
||||
|
||||
@@ -286,8 +290,8 @@ kvp_frame_set_slot_path (kvp_frame *frame,
|
||||
}
|
||||
|
||||
void
|
||||
kvp_frame_set_slot_path_gslist (kvp_frame *frame,
|
||||
const kvp_value *new_value,
|
||||
kvp_frame_set_slot_path_gslist (KvpFrame *frame,
|
||||
const KvpValue *new_value,
|
||||
GSList *key_path)
|
||||
{
|
||||
if (!frame || !key_path) return;
|
||||
@@ -295,7 +299,7 @@ kvp_frame_set_slot_path_gslist (kvp_frame *frame,
|
||||
while (TRUE)
|
||||
{
|
||||
const char *key = key_path->data;
|
||||
kvp_value *value;
|
||||
KvpValue *value;
|
||||
|
||||
if (!key)
|
||||
return;
|
||||
@@ -312,8 +316,8 @@ kvp_frame_set_slot_path_gslist (kvp_frame *frame,
|
||||
value = kvp_frame_get_slot (frame, key);
|
||||
if (!value)
|
||||
{
|
||||
kvp_frame *new_frame = kvp_frame_new ();
|
||||
kvp_value *frame_value = kvp_value_new_frame (new_frame);
|
||||
KvpFrame *new_frame = kvp_frame_new ();
|
||||
KvpValue *frame_value = kvp_value_new_frame (new_frame);
|
||||
|
||||
kvp_frame_set_slot_nc (frame, key, frame_value);
|
||||
|
||||
@@ -328,6 +332,80 @@ kvp_frame_set_slot_path_gslist (kvp_frame *frame,
|
||||
}
|
||||
}
|
||||
|
||||
/* ============================================================ */
|
||||
/* decode url-encoded string, do it in place
|
||||
* + == space
|
||||
* %xx == asci char where xx is hexadecimal ascii value
|
||||
*/
|
||||
|
||||
static void
|
||||
decode (char *enc)
|
||||
{
|
||||
char * p, *w;
|
||||
|
||||
/* Loop, convert +'s to blanks */
|
||||
p = strchr (enc, '+');
|
||||
while (p)
|
||||
{
|
||||
*p = ' ';
|
||||
p = strchr (p, '+');
|
||||
}
|
||||
|
||||
p = strchr (enc, '%');
|
||||
w = p;
|
||||
|
||||
while (p)
|
||||
{
|
||||
int ch,cl;
|
||||
p++;
|
||||
ch = *p - 0x30; /* ascii 0 = 0x30 */
|
||||
if (9 < ch) ch -= 0x11 + 10; /* uppercase A = 0x41 */
|
||||
if (16 < ch) ch -= 0x20; /* lowercase a = 0x61 */
|
||||
|
||||
p++;
|
||||
cl = *p - 0x30; /* ascii 0 = 0x30 */
|
||||
if (9 < cl) cl -= 0x11 + 10; /* uppercase A = 0x41 */
|
||||
if (16 < cl) cl -= 0x20; /* lowercase a = 0x61 */
|
||||
|
||||
*w = (char) (ch<<4 | cl);
|
||||
|
||||
w++;
|
||||
*w = 0x0; /* null-terminate in case loop terminates */
|
||||
p = strchr (p, '%');
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
kvp_frame_add_url_encoding (KvpFrame *frame, const char *enc)
|
||||
{
|
||||
char *buff, *p;
|
||||
if (!frame || !enc) return;
|
||||
|
||||
/* Loop over all key-value pairs in the encoded string */
|
||||
buff = g_strdup (enc);
|
||||
p = buff;
|
||||
while (*p)
|
||||
{
|
||||
char *n, *v;
|
||||
n = strchr (p, '&'); /* n = next key-value */
|
||||
if (n) *n = 0x0;
|
||||
|
||||
v = strchr (p, '='); /* v = pointer to value */
|
||||
if (!v) break;
|
||||
*v = 0x0;
|
||||
v ++;
|
||||
|
||||
decode (p);
|
||||
decode (v);
|
||||
kvp_frame_set_slot_nc (frame, p, kvp_value_new_string(v));
|
||||
|
||||
if (!n) break; /* no next key, we are done */
|
||||
p = n++;
|
||||
}
|
||||
|
||||
g_free(buff);
|
||||
}
|
||||
|
||||
/* ============================================================ */
|
||||
/*
|
||||
* NOTE: This patch undoes a previous (brain-damaged) patch.
|
||||
@@ -345,11 +423,11 @@ kvp_frame_set_slot_path_gslist (kvp_frame *frame,
|
||||
* gcc -O3 should inline it. It performs no error checks,
|
||||
* the caller is responsible of passing good keys and frames.
|
||||
*/
|
||||
static inline kvp_frame *
|
||||
get_or_make (kvp_frame *fr, const char * key)
|
||||
static inline KvpFrame *
|
||||
get_or_make (KvpFrame *fr, const char * key)
|
||||
{
|
||||
kvp_frame *next_frame;
|
||||
kvp_value *value;
|
||||
KvpFrame *next_frame;
|
||||
KvpValue *value;
|
||||
|
||||
value = kvp_frame_get_slot (fr, key);
|
||||
if (value)
|
||||
@@ -365,8 +443,8 @@ get_or_make (kvp_frame *fr, const char * key)
|
||||
return next_frame;
|
||||
}
|
||||
|
||||
kvp_frame *
|
||||
kvp_frame_get_frame_gslist (kvp_frame *frame, GSList *key_path)
|
||||
KvpFrame *
|
||||
kvp_frame_get_frame_gslist (KvpFrame *frame, GSList *key_path)
|
||||
{
|
||||
if (!frame) return frame;
|
||||
|
||||
@@ -385,8 +463,8 @@ kvp_frame_get_frame_gslist (kvp_frame *frame, GSList *key_path)
|
||||
}
|
||||
|
||||
|
||||
kvp_frame *
|
||||
kvp_frame_get_frame (kvp_frame *frame, const char *key, ...)
|
||||
KvpFrame *
|
||||
kvp_frame_get_frame (KvpFrame *frame, const char *key, ...)
|
||||
{
|
||||
va_list ap;
|
||||
if (!frame || !key) return frame;
|
||||
@@ -405,8 +483,8 @@ kvp_frame_get_frame (kvp_frame *frame, const char *key, ...)
|
||||
}
|
||||
|
||||
|
||||
kvp_frame *
|
||||
kvp_frame_get_frame_slash (kvp_frame *frame, const char *key_path)
|
||||
KvpFrame *
|
||||
kvp_frame_get_frame_slash (KvpFrame *frame, const char *key_path)
|
||||
{
|
||||
char *root, *key, *next;
|
||||
if (!frame || !key_path) return frame;
|
||||
@@ -434,12 +512,12 @@ kvp_frame_get_frame_slash (kvp_frame *frame, const char *key_path)
|
||||
|
||||
/* ============================================================ */
|
||||
|
||||
kvp_value *
|
||||
kvp_frame_get_slot_path (kvp_frame *frame,
|
||||
KvpValue *
|
||||
kvp_frame_get_slot_path (KvpFrame *frame,
|
||||
const char *first_key, ...)
|
||||
{
|
||||
va_list ap;
|
||||
kvp_value *value;
|
||||
KvpValue *value;
|
||||
const char *key;
|
||||
|
||||
if (!frame || !first_key) return NULL;
|
||||
@@ -470,8 +548,8 @@ kvp_frame_get_slot_path (kvp_frame *frame,
|
||||
return value;
|
||||
}
|
||||
|
||||
kvp_value *
|
||||
kvp_frame_get_slot_path_gslist (kvp_frame *frame,
|
||||
KvpValue *
|
||||
kvp_frame_get_slot_path_gslist (KvpFrame *frame,
|
||||
GSList *key_path)
|
||||
{
|
||||
if (!frame || !key_path) return NULL;
|
||||
@@ -479,7 +557,7 @@ kvp_frame_get_slot_path_gslist (kvp_frame *frame,
|
||||
while (TRUE)
|
||||
{
|
||||
const char *key = key_path->data;
|
||||
kvp_value *value;
|
||||
KvpValue *value;
|
||||
|
||||
if (!key) return NULL;
|
||||
|
||||
@@ -501,7 +579,7 @@ kvp_frame_get_slot_path_gslist (kvp_frame *frame,
|
||||
static void
|
||||
kvp_glist_delete_worker(gpointer datum, gpointer user_data)
|
||||
{
|
||||
kvp_value * val = (kvp_value *)datum;
|
||||
KvpValue * val = (KvpValue *)datum;
|
||||
kvp_value_delete(val);
|
||||
}
|
||||
|
||||
@@ -553,8 +631,8 @@ kvp_glist_compare(const GList * list1, const GList * list2)
|
||||
lp2 = list2;
|
||||
while(lp1 && lp2)
|
||||
{
|
||||
kvp_value *v1 = (kvp_value *) lp1->data;
|
||||
kvp_value *v2 = (kvp_value *) lp2->data;
|
||||
KvpValue *v1 = (KvpValue *) lp1->data;
|
||||
KvpValue *v2 = (KvpValue *) lp2->data;
|
||||
gint vcmp = kvp_value_compare(v1, v2);
|
||||
if(vcmp != 0) return vcmp;
|
||||
lp1 = lp1->next;
|
||||
@@ -566,61 +644,61 @@ kvp_glist_compare(const GList * list1, const GList * list2)
|
||||
}
|
||||
|
||||
/********************************************************************
|
||||
* kvp_value functions
|
||||
* KvpValue functions
|
||||
********************************************************************/
|
||||
|
||||
kvp_value *
|
||||
KvpValue *
|
||||
kvp_value_new_gint64(gint64 value) {
|
||||
kvp_value * retval = g_new0(kvp_value, 1);
|
||||
KvpValue * retval = g_new0(KvpValue, 1);
|
||||
retval->type = KVP_TYPE_GINT64;
|
||||
retval->value.int64 = value;
|
||||
return retval;
|
||||
}
|
||||
|
||||
kvp_value *
|
||||
KvpValue *
|
||||
kvp_value_new_double(double value) {
|
||||
kvp_value * retval = g_new0(kvp_value, 1);
|
||||
KvpValue * retval = g_new0(KvpValue, 1);
|
||||
retval->type = KVP_TYPE_DOUBLE;
|
||||
retval->value.dbl = value;
|
||||
return retval;
|
||||
}
|
||||
|
||||
kvp_value *
|
||||
KvpValue *
|
||||
kvp_value_new_gnc_numeric(gnc_numeric value) {
|
||||
kvp_value * retval = g_new0(kvp_value, 1);
|
||||
KvpValue * retval = g_new0(KvpValue, 1);
|
||||
retval->type = KVP_TYPE_NUMERIC;
|
||||
retval->value.numeric = value;
|
||||
return retval;
|
||||
}
|
||||
|
||||
kvp_value *
|
||||
KvpValue *
|
||||
kvp_value_new_string(const char * value) {
|
||||
kvp_value * retval = g_new0(kvp_value, 1);
|
||||
KvpValue * retval = g_new0(KvpValue, 1);
|
||||
retval->type = KVP_TYPE_STRING;
|
||||
retval->value.str = g_strdup(value);
|
||||
return retval;
|
||||
}
|
||||
|
||||
kvp_value *
|
||||
KvpValue *
|
||||
kvp_value_new_guid(const GUID * value) {
|
||||
kvp_value * retval = g_new0(kvp_value, 1);
|
||||
KvpValue * retval = g_new0(KvpValue, 1);
|
||||
retval->type = KVP_TYPE_GUID;
|
||||
retval->value.guid = g_new0(GUID, 1);
|
||||
memcpy(retval->value.guid, value, sizeof(GUID));
|
||||
return retval;
|
||||
}
|
||||
|
||||
kvp_value *
|
||||
KvpValue *
|
||||
kvp_value_new_timespec(Timespec value) {
|
||||
kvp_value * retval = g_new0(kvp_value, 1);
|
||||
KvpValue * retval = g_new0(KvpValue, 1);
|
||||
retval->type = KVP_TYPE_TIMESPEC;
|
||||
retval->value.timespec = value;
|
||||
return retval;
|
||||
}
|
||||
|
||||
kvp_value *
|
||||
KvpValue *
|
||||
kvp_value_new_binary(const void * value, guint64 datasize) {
|
||||
kvp_value * retval = g_new0(kvp_value, 1);
|
||||
KvpValue * retval = g_new0(KvpValue, 1);
|
||||
retval->type = KVP_TYPE_BINARY;
|
||||
retval->value.binary.data = g_new0(char, datasize);
|
||||
retval->value.binary.datasize = datasize;
|
||||
@@ -628,49 +706,49 @@ kvp_value_new_binary(const void * value, guint64 datasize) {
|
||||
return retval;
|
||||
}
|
||||
|
||||
kvp_value *
|
||||
KvpValue *
|
||||
kvp_value_new_binary_nc(void * value, guint64 datasize) {
|
||||
kvp_value * retval = g_new0(kvp_value, 1);
|
||||
KvpValue * retval = g_new0(KvpValue, 1);
|
||||
retval->type = KVP_TYPE_BINARY;
|
||||
retval->value.binary.data = value;
|
||||
retval->value.binary.datasize = datasize;
|
||||
return retval;
|
||||
}
|
||||
|
||||
kvp_value *
|
||||
KvpValue *
|
||||
kvp_value_new_glist(const GList * value) {
|
||||
kvp_value * retval = g_new0(kvp_value, 1);
|
||||
KvpValue * retval = g_new0(KvpValue, 1);
|
||||
retval->type = KVP_TYPE_GLIST;
|
||||
retval->value.list = kvp_glist_copy(value);
|
||||
return retval;
|
||||
}
|
||||
|
||||
kvp_value *
|
||||
KvpValue *
|
||||
kvp_value_new_glist_nc(GList * value) {
|
||||
kvp_value * retval = g_new0(kvp_value, 1);
|
||||
KvpValue * retval = g_new0(KvpValue, 1);
|
||||
retval->type = KVP_TYPE_GLIST;
|
||||
retval->value.list = value;
|
||||
return retval;
|
||||
}
|
||||
|
||||
kvp_value *
|
||||
kvp_value_new_frame(const kvp_frame * value) {
|
||||
kvp_value * retval = g_new0(kvp_value, 1);
|
||||
KvpValue *
|
||||
kvp_value_new_frame(const KvpFrame * value) {
|
||||
KvpValue * retval = g_new0(KvpValue, 1);
|
||||
retval->type = KVP_TYPE_FRAME;
|
||||
retval->value.frame = kvp_frame_copy(value);
|
||||
return retval;
|
||||
}
|
||||
|
||||
kvp_value *
|
||||
kvp_value_new_frame_nc(kvp_frame * value) {
|
||||
kvp_value * retval = g_new0(kvp_value, 1);
|
||||
KvpValue *
|
||||
kvp_value_new_frame_nc(KvpFrame * value) {
|
||||
KvpValue * retval = g_new0(KvpValue, 1);
|
||||
retval->type = KVP_TYPE_FRAME;
|
||||
retval->value.frame = value;
|
||||
return retval;
|
||||
}
|
||||
|
||||
void
|
||||
kvp_value_delete(kvp_value * value) {
|
||||
kvp_value_delete(KvpValue * value) {
|
||||
if(!value) return;
|
||||
|
||||
switch(value->type) {
|
||||
@@ -699,14 +777,14 @@ kvp_value_delete(kvp_value * value) {
|
||||
g_free(value);
|
||||
}
|
||||
|
||||
kvp_value_t
|
||||
kvp_value_get_type(const kvp_value * value) {
|
||||
KvpValueType
|
||||
kvp_value_get_type(const KvpValue * value) {
|
||||
if (!value) return -1;
|
||||
return value->type;
|
||||
}
|
||||
|
||||
gint64
|
||||
kvp_value_get_gint64(const kvp_value * value) {
|
||||
kvp_value_get_gint64(const KvpValue * value) {
|
||||
if (!value) return 0;
|
||||
if(value->type == KVP_TYPE_GINT64) {
|
||||
return value->value.int64;
|
||||
@@ -717,7 +795,7 @@ kvp_value_get_gint64(const kvp_value * value) {
|
||||
}
|
||||
|
||||
double
|
||||
kvp_value_get_double(const kvp_value * value) {
|
||||
kvp_value_get_double(const KvpValue * value) {
|
||||
if (!value) return 0.0;
|
||||
if(value->type == KVP_TYPE_DOUBLE) {
|
||||
return value->value.dbl;
|
||||
@@ -728,7 +806,7 @@ kvp_value_get_double(const kvp_value * value) {
|
||||
}
|
||||
|
||||
gnc_numeric
|
||||
kvp_value_get_numeric(const kvp_value * value) {
|
||||
kvp_value_get_numeric(const KvpValue * value) {
|
||||
if (!value) return gnc_numeric_zero ();
|
||||
if(value->type == KVP_TYPE_NUMERIC) {
|
||||
return value->value.numeric;
|
||||
@@ -739,7 +817,7 @@ kvp_value_get_numeric(const kvp_value * value) {
|
||||
}
|
||||
|
||||
char *
|
||||
kvp_value_get_string(const kvp_value * value) {
|
||||
kvp_value_get_string(const KvpValue * value) {
|
||||
if (!value) return NULL;
|
||||
if(value->type == KVP_TYPE_STRING) {
|
||||
return value->value.str;
|
||||
@@ -750,7 +828,7 @@ kvp_value_get_string(const kvp_value * value) {
|
||||
}
|
||||
|
||||
GUID *
|
||||
kvp_value_get_guid(const kvp_value * value) {
|
||||
kvp_value_get_guid(const KvpValue * value) {
|
||||
if (!value) return NULL;
|
||||
if(value->type == KVP_TYPE_GUID) {
|
||||
return value->value.guid;
|
||||
@@ -761,7 +839,7 @@ kvp_value_get_guid(const kvp_value * value) {
|
||||
}
|
||||
|
||||
Timespec
|
||||
kvp_value_get_timespec(const kvp_value * value) {
|
||||
kvp_value_get_timespec(const KvpValue * value) {
|
||||
Timespec ts; ts.tv_sec = 0; ts.tv_nsec = 0;
|
||||
if (!value) return ts;
|
||||
if (value->type == KVP_TYPE_TIMESPEC)
|
||||
@@ -771,7 +849,7 @@ kvp_value_get_timespec(const kvp_value * value) {
|
||||
}
|
||||
|
||||
void *
|
||||
kvp_value_get_binary(const kvp_value * value, guint64 * size_return) {
|
||||
kvp_value_get_binary(const KvpValue * value, guint64 * size_return) {
|
||||
if (!value)
|
||||
{
|
||||
if (size_return)
|
||||
@@ -792,7 +870,7 @@ kvp_value_get_binary(const kvp_value * value, guint64 * size_return) {
|
||||
}
|
||||
|
||||
GList *
|
||||
kvp_value_get_glist(const kvp_value * value) {
|
||||
kvp_value_get_glist(const KvpValue * value) {
|
||||
if (!value) return NULL;
|
||||
if(value->type == KVP_TYPE_GLIST) {
|
||||
return value->value.list;
|
||||
@@ -802,8 +880,8 @@ kvp_value_get_glist(const kvp_value * value) {
|
||||
}
|
||||
}
|
||||
|
||||
kvp_frame *
|
||||
kvp_value_get_frame(const kvp_value * value) {
|
||||
KvpFrame *
|
||||
kvp_value_get_frame(const KvpValue * value) {
|
||||
if (!value) return NULL;
|
||||
if(value->type == KVP_TYPE_FRAME) {
|
||||
return value->value.frame;
|
||||
@@ -815,8 +893,8 @@ kvp_value_get_frame(const kvp_value * value) {
|
||||
|
||||
/* manipulators */
|
||||
|
||||
kvp_value *
|
||||
kvp_value_copy(const kvp_value * value) {
|
||||
KvpValue *
|
||||
kvp_value_copy(const KvpValue * value) {
|
||||
|
||||
if(!value) return NULL;
|
||||
|
||||
@@ -854,9 +932,9 @@ kvp_value_copy(const kvp_value * value) {
|
||||
}
|
||||
|
||||
void
|
||||
kvp_frame_for_each_slot(kvp_frame *f,
|
||||
kvp_frame_for_each_slot(KvpFrame *f,
|
||||
void (*proc)(const char *key,
|
||||
kvp_value *value,
|
||||
KvpValue *value,
|
||||
gpointer data),
|
||||
gpointer data) {
|
||||
|
||||
@@ -877,7 +955,7 @@ double_compare(double d1, double d2)
|
||||
}
|
||||
|
||||
gint
|
||||
kvp_value_compare(const kvp_value * kva, const kvp_value * kvb) {
|
||||
kvp_value_compare(const KvpValue * kva, const KvpValue * kvb) {
|
||||
if(kva == kvb) return 0;
|
||||
/* nothing is always less than something */
|
||||
if(!kva && kvb) return -1;
|
||||
@@ -929,15 +1007,16 @@ kvp_value_compare(const kvp_value * kva, const kvp_value * kvb) {
|
||||
|
||||
typedef struct {
|
||||
gint compare;
|
||||
kvp_frame *other_frame;
|
||||
KvpFrame *other_frame;
|
||||
} kvp_frame_cmp_status;
|
||||
|
||||
static void
|
||||
kvp_frame_compare_helper(const char *key, kvp_value* val, gpointer data) {
|
||||
kvp_frame_compare_helper(const char *key, KvpValue * val, gpointer data)
|
||||
{
|
||||
kvp_frame_cmp_status *status = (kvp_frame_cmp_status *) data;
|
||||
if(status->compare == 0) {
|
||||
kvp_frame *other_frame = status->other_frame;
|
||||
kvp_value *other_val = kvp_frame_get_slot(other_frame, key);
|
||||
KvpFrame *other_frame = status->other_frame;
|
||||
KvpValue *other_val = kvp_frame_get_slot(other_frame, key);
|
||||
|
||||
if(other_val) {
|
||||
status->compare = kvp_value_compare(val, other_val);
|
||||
@@ -948,7 +1027,8 @@ kvp_frame_compare_helper(const char *key, kvp_value* val, gpointer data) {
|
||||
}
|
||||
|
||||
gint
|
||||
kvp_frame_compare(const kvp_frame *fa, const kvp_frame *fb) {
|
||||
kvp_frame_compare(const KvpFrame *fa, const KvpFrame *fb)
|
||||
{
|
||||
kvp_frame_cmp_status status;
|
||||
|
||||
if(fa == fb) return 0;
|
||||
@@ -961,16 +1041,16 @@ kvp_frame_compare(const kvp_frame *fa, const kvp_frame *fb) {
|
||||
if(fa->hash && !fb->hash) return 1;
|
||||
|
||||
status.compare = 0;
|
||||
status.other_frame = (kvp_frame *) fb;
|
||||
status.other_frame = (KvpFrame *) fb;
|
||||
|
||||
kvp_frame_for_each_slot((kvp_frame *) fa, kvp_frame_compare_helper, &status);
|
||||
kvp_frame_for_each_slot((KvpFrame *) fa, kvp_frame_compare_helper, &status);
|
||||
|
||||
if (status.compare != 0)
|
||||
return status.compare;
|
||||
|
||||
status.other_frame = (kvp_frame *) fa;
|
||||
status.other_frame = (KvpFrame *) fa;
|
||||
|
||||
kvp_frame_for_each_slot((kvp_frame *) fb, kvp_frame_compare_helper, &status);
|
||||
kvp_frame_for_each_slot((KvpFrame *) fb, kvp_frame_compare_helper, &status);
|
||||
|
||||
return(-status.compare);
|
||||
}
|
||||
@@ -1005,7 +1085,7 @@ kvp_value_glist_to_string(const GList *list)
|
||||
{
|
||||
gchar *tmp3;
|
||||
|
||||
tmp3 = kvp_value_to_string((kvp_value*)cursor->data);
|
||||
tmp3 = kvp_value_to_string((KvpValue *)cursor->data);
|
||||
tmp2 = g_strdup_printf("%s %s,", tmp1, tmp3 ? tmp3 : "");
|
||||
g_free(tmp1);
|
||||
g_free(tmp3);
|
||||
@@ -1019,7 +1099,7 @@ kvp_value_glist_to_string(const GList *list)
|
||||
}
|
||||
|
||||
gchar*
|
||||
kvp_value_to_string(const kvp_value *val)
|
||||
kvp_value_to_string(const KvpValue *val)
|
||||
{
|
||||
gchar *tmp1;
|
||||
gchar *tmp2;
|
||||
@@ -1059,11 +1139,11 @@ kvp_value_to_string(const kvp_value *val)
|
||||
|
||||
case KVP_TYPE_TIMESPEC:
|
||||
tmp1 = g_new0 (char, 40);
|
||||
gnc_timespec_to_iso8601_buff (kvp_value_get_timespec (val), tmp1);
|
||||
tmp2 = g_strdup_printf("KVP_VALUE_TIMESPEC(%s)", tmp1);
|
||||
g_free(tmp1);
|
||||
return tmp2;
|
||||
break;
|
||||
gnc_timespec_to_iso8601_buff (kvp_value_get_timespec (val), tmp1);
|
||||
tmp2 = g_strdup_printf("KVP_VALUE_TIMESPEC(%s)", tmp1);
|
||||
g_free(tmp1);
|
||||
return tmp2;
|
||||
break;
|
||||
|
||||
case KVP_TYPE_BINARY:
|
||||
{
|
||||
@@ -1102,7 +1182,7 @@ kvp_frame_to_string_helper(gpointer key, gpointer value, gpointer data)
|
||||
gchar **str = (gchar**)data;
|
||||
gchar *old_data = *str;
|
||||
|
||||
tmp_val = kvp_value_to_string((kvp_value*)value);
|
||||
tmp_val = kvp_value_to_string((KvpValue *)value);
|
||||
|
||||
*str = g_strdup_printf("%s %s => %s,\n",
|
||||
*str ? *str : "",
|
||||
@@ -1114,7 +1194,7 @@ kvp_frame_to_string_helper(gpointer key, gpointer value, gpointer data)
|
||||
}
|
||||
|
||||
gchar*
|
||||
kvp_frame_to_string(const kvp_frame *frame)
|
||||
kvp_frame_to_string(const KvpFrame *frame)
|
||||
{
|
||||
gchar *tmp1;
|
||||
|
||||
@@ -1136,9 +1216,10 @@ kvp_frame_to_string(const kvp_frame *frame)
|
||||
}
|
||||
|
||||
GHashTable*
|
||||
kvp_frame_get_hash(const kvp_frame *frame)
|
||||
kvp_frame_get_hash(const KvpFrame *frame)
|
||||
{
|
||||
g_return_val_if_fail (frame != NULL, NULL);
|
||||
return frame->hash;
|
||||
}
|
||||
|
||||
/* ========================== END OF FILE ======================= */
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
/** @file kvp_frame.h
|
||||
@brief A key-value frame system for gnucash
|
||||
@author Copyright (C) 2000 Bill Gribble
|
||||
@author Copyright (C) 2003 Linas Vepstas <linas@linas.org>
|
||||
*/
|
||||
|
||||
#ifndef KVP_FRAME_H
|
||||
@@ -33,24 +34,40 @@
|
||||
#include "gnc-numeric.h"
|
||||
#include "guid.h"
|
||||
|
||||
/** a kvp_frame is a set of associations between character strings
|
||||
* (keys) and kvp_value structures. A kvp_value is a union with
|
||||
* possible types enumerated in the kvp_value_t enum.
|
||||
/** a KvpFrame is a set of associations between character strings
|
||||
* (keys) and KvpValue structures. A KvpValue is a union with
|
||||
* possible types enumerated in the KvpValueType enum, and includes,
|
||||
* among other things, ints, doubles, strings, guid's, lists, time
|
||||
* and numeric values. KvpValues may also be other frames, so
|
||||
* KVP is inherently heirarchical.
|
||||
*
|
||||
* Values are stored in a 'slot' associated with a key.
|
||||
* Pointers passed as arguments into set_slot and get_slot are the
|
||||
* responsibility of the caller. Pointers returned by get_slot are
|
||||
* owned by the kvp_frame. Make copies as needed.
|
||||
*
|
||||
* kvp_frame_delete and kvp_value_delete are deep (recursive) deletes.
|
||||
* kvp_frame_copy and kvp_value_copy are deep value copies.
|
||||
* A 'path' is a sequence of keys that can be followed to a value.
|
||||
* Paths may be specified as varargs (variable number of arguments
|
||||
* to a subrutine, NULL-terminated), as a GSList, or as a standard
|
||||
* URL-like path name. The later is parsed and treated in the same
|
||||
* way as file paths would be: / separates keys, /./ is treated as /
|
||||
* and /../ means backup one level. Repeated slashes are treated
|
||||
* as one slash.
|
||||
*
|
||||
* Note that although, in principle, keys may contain the / and . and
|
||||
* .. characters, doing so may lead to confusion, and will make
|
||||
* path-string parsing routines fail. In other words, don't use
|
||||
* a key such as 'some/key' or 'some/./other/../key' because you
|
||||
* may get unexpected results.
|
||||
*
|
||||
*/
|
||||
typedef struct _kvp_frame kvp_frame;
|
||||
typedef struct _KvpFrame KvpFrame;
|
||||
|
||||
/** A kvp_value is a union with possible types enumerated in the
|
||||
* kvp_value_t enum. */
|
||||
typedef struct _kvp_value kvp_value;
|
||||
/** A KvpValue is a union with possible types enumerated in the
|
||||
* KvpValueType enum. */
|
||||
typedef struct _KvpValue KvpValue;
|
||||
|
||||
/** Enum to enumerate possible types in the union kvp_value */
|
||||
/** Enum to enumerate possible types in the union KvpValue */
|
||||
typedef enum {
|
||||
KVP_TYPE_GINT64,
|
||||
KVP_TYPE_DOUBLE,
|
||||
@@ -61,120 +78,147 @@ typedef enum {
|
||||
KVP_TYPE_BINARY,
|
||||
KVP_TYPE_GLIST,
|
||||
KVP_TYPE_FRAME
|
||||
} kvp_value_t;
|
||||
} KvpValueType;
|
||||
|
||||
|
||||
/** @name kvp_frame Constructors */
|
||||
/* Deprecated backwards compat tokens; do not use these in new code. */
|
||||
#define kvp_frame KvpFrame
|
||||
#define kvp_value KvpValue
|
||||
#define kvp_value_t KvpValueType
|
||||
|
||||
|
||||
/** @name KvpFrame Constructors */
|
||||
/*@{*/
|
||||
/** kvp_frame functions */
|
||||
kvp_frame * kvp_frame_new(void);
|
||||
/** This is a deep (recursive) delete. */
|
||||
void kvp_frame_delete(kvp_frame * frame);
|
||||
/** This is a deep value copy. */
|
||||
kvp_frame * kvp_frame_copy(const kvp_frame * frame);
|
||||
gboolean kvp_frame_is_empty(kvp_frame * frame);
|
||||
|
||||
/** Return a new empty instance of KvpFrame */
|
||||
KvpFrame * kvp_frame_new(void);
|
||||
|
||||
/** Perform a deep (recursive) delete of the frame and any subframes. */
|
||||
/*
|
||||
* kvp_frame_delete and kvp_value_delete are deep (recursive) deletes.
|
||||
* kvp_frame_copy and kvp_value_copy are deep value copies.
|
||||
*/
|
||||
void kvp_frame_delete(KvpFrame * frame);
|
||||
|
||||
/** Perform a deep (recursive) value copy, copying the fraame,
|
||||
* subframes, and the values as well. */
|
||||
KvpFrame * kvp_frame_copy(const KvpFrame * frame);
|
||||
|
||||
/** Return TRUE if the KvpFrame is empty */
|
||||
gboolean kvp_frame_is_empty(KvpFrame * frame);
|
||||
|
||||
/*@}*/
|
||||
|
||||
|
||||
/** Internal helper */
|
||||
gchar* kvp_frame_to_string(const kvp_frame *frame);
|
||||
/** Internal helper */
|
||||
/** Internal helper rouotines, you probably shouldn't be using these. */
|
||||
gchar* kvp_frame_to_string(const KvpFrame *frame);
|
||||
gchar* binary_to_string(const void *data, guint32 size);
|
||||
/** Internal helper */
|
||||
gchar* kvp_value_glist_to_string(const GList *list);
|
||||
|
||||
GHashTable* kvp_frame_get_hash(const kvp_frame *frame);
|
||||
GHashTable* kvp_frame_get_hash(const KvpFrame *frame);
|
||||
|
||||
|
||||
/** @name kvp_frame Value Storing */
|
||||
/** @name KvpFrame Value Storing */
|
||||
/*@{*/
|
||||
/** The kvp_frame_set_slot() routine copies the value into the frame,
|
||||
* associating it with 'key'.
|
||||
*
|
||||
* Pointers passed as arguments into set_slot are the responsibility
|
||||
* of the caller.
|
||||
* associating it with a copy of 'key'. Pointers passed as arguments
|
||||
* into kvp_frame_set_slot are the responsibility of the caller;
|
||||
* the pointers are *not* taken over or managed.
|
||||
*/
|
||||
void kvp_frame_set_slot(kvp_frame * frame,
|
||||
const char * key, const kvp_value * value);
|
||||
void kvp_frame_set_slot(KvpFrame * frame,
|
||||
const char * key, const KvpValue * value);
|
||||
/**
|
||||
* The kvp_frame_set_slot_nc() routine puts the value (without copying
|
||||
* it) into the frame, associating it with 'key'. This routine is
|
||||
* handy for avoiding excess memory allocations & frees.
|
||||
* it) into the frame, associating it with a copy of 'key'. This
|
||||
* routine is handy for avoiding excess memory allocations & frees.
|
||||
* Note that because the KvpValue was grabbed, you can't just delete
|
||||
* unless you remove the key as well (or unless you replace the value).
|
||||
*/
|
||||
void kvp_frame_set_slot_nc(kvp_frame * frame,
|
||||
const char * key, kvp_value * value);
|
||||
void kvp_frame_set_slot_nc(KvpFrame * frame,
|
||||
const char * key, KvpValue * value);
|
||||
|
||||
/** The kvp_frame_set_slot_path() routines walk the hierarchy,
|
||||
/** The kvp_frame_set_slot_path() routine walks the hierarchy,
|
||||
* using the key values to pick each branch. When the terminal node
|
||||
* is reached, the value is copied into it.
|
||||
*/
|
||||
void kvp_frame_set_slot_path (kvp_frame *frame,
|
||||
const kvp_value *value,
|
||||
void kvp_frame_set_slot_path (KvpFrame *frame,
|
||||
const KvpValue *value,
|
||||
const char *first_key, ...);
|
||||
|
||||
/** The kvp_frame_set_slot_path() routines walk the hierarchy,
|
||||
* using the key values to pick each branch. When the terminal node
|
||||
* is reached, the value is copied into it.
|
||||
/** The kvp_frame_set_slot_path_gslist() routine walks the hierarchy,
|
||||
* using the key values to pick each branch. When the terminal node
|
||||
* is reached, the value is copied into it.
|
||||
*/
|
||||
void kvp_frame_set_slot_path_gslist (kvp_frame *frame,
|
||||
const kvp_value *value,
|
||||
void kvp_frame_set_slot_path_gslist (KvpFrame *frame,
|
||||
const KvpValue *value,
|
||||
GSList *key_path);
|
||||
|
||||
/** The kvp_frame_add_url_encoding()routine will parse the
|
||||
* value string, assuming it to be URL-encoded in the standard way,
|
||||
* turning it into a set of key-value pairs, and adding those to the
|
||||
* indicated frame. URL-encoded strings are the things that are
|
||||
* returned by web browsers when a form is filled out. For example,
|
||||
* 'start-date=June&end-date=November' consists of two keys,
|
||||
* 'start-date' and 'end-date', which have the values 'June' and
|
||||
* 'November', respectively. This routine also handles % encoding.
|
||||
*
|
||||
* This routine treats all values as strings; it does *not* attempt
|
||||
* to perform any type-conversion.
|
||||
* */
|
||||
void kvp_frame_add_url_encoding (KvpFrame *frame, const char *enc);
|
||||
/*@}*/
|
||||
|
||||
|
||||
/** @name kvp_frame Value Retrieval */
|
||||
/** @name KvpFrame Value Retrieval */
|
||||
/*@{*/
|
||||
/** Returns the kvp_value in the given kvp_frame 'frame' that is associated with 'key'.
|
||||
/** Returns the KvpValue in the given KvpFrame 'frame' that is
|
||||
* associated with 'key'.
|
||||
*
|
||||
* Pointers passed as arguments into get_slot are the responsibility
|
||||
* of the caller. Pointers returned by get_slot are owned by the
|
||||
* kvp_frame. Make copies as needed.
|
||||
* Pointers passed as arguments into get_slot are the responsibility
|
||||
* of the caller. Pointers returned by get_slot are owned by the
|
||||
* kvp_frame. Make copies as needed.
|
||||
*/
|
||||
kvp_value * kvp_frame_get_slot(kvp_frame * frame,
|
||||
const char * key);
|
||||
KvpValue * kvp_frame_get_slot(KvpFrame * frame, const char * key);
|
||||
|
||||
/** This routine returns the last frame of the path.
|
||||
* If the frame path doesn't exist, it is created.
|
||||
*/
|
||||
KvpFrame * kvp_frame_get_frame (KvpFrame *frame, const char *,...);
|
||||
|
||||
/** This routine return the last frame of the path.
|
||||
* If the frame path doesn't exist, it is created.
|
||||
* If the frame path doesn't exist, it is created.
|
||||
*/
|
||||
kvp_frame * kvp_frame_get_frame (kvp_frame *frame, const char *,...);
|
||||
|
||||
/** This routine return the last frame of the path.
|
||||
* If the frame path doesn't exist, it is created.
|
||||
*/
|
||||
kvp_frame * kvp_frame_get_frame_gslist (kvp_frame *frame,
|
||||
KvpFrame * kvp_frame_get_frame_gslist (KvpFrame *frame,
|
||||
GSList *key_path);
|
||||
|
||||
/** This routine return the last frame of the path.
|
||||
* If the frame path doesn't exist, it is created.
|
||||
* If the frame path doesn't exist, it is created.
|
||||
*
|
||||
* The kvp_frame_get_frame_slash() routine takes a single string
|
||||
* where the keys are separated by slashes; thus, for example:
|
||||
* /this/is/a/valid/path and///so//is////this/
|
||||
* Multiple slashes are compresed. Leading slash is optional.
|
||||
* The pointers . and .. are *not* followed/obeyed. (This is
|
||||
* arguably a bug that needs fixing).
|
||||
*
|
||||
*
|
||||
* The pointers . and .. are *not* currently followed/obeyed.
|
||||
* (This is a bug that needs fixing).
|
||||
*/
|
||||
kvp_frame * kvp_frame_get_frame_slash (kvp_frame *frame,
|
||||
KvpFrame * kvp_frame_get_frame_slash (KvpFrame *frame,
|
||||
const char *path);
|
||||
|
||||
/** This routine return the value at the end of the
|
||||
* path, or NULL if any portion of the path doesn't exist.
|
||||
*/
|
||||
kvp_value * kvp_frame_get_slot_path (kvp_frame *frame,
|
||||
KvpValue * kvp_frame_get_slot_path (KvpFrame *frame,
|
||||
const char *first_key, ...);
|
||||
|
||||
/** This routine return the value at the end of the
|
||||
* path, or NULL if any portion of the path doesn't exist.
|
||||
*/
|
||||
kvp_value * kvp_frame_get_slot_path_gslist (kvp_frame *frame,
|
||||
KvpValue * kvp_frame_get_slot_path_gslist (KvpFrame *frame,
|
||||
GSList *key_path);
|
||||
|
||||
/**
|
||||
* Similar returns as strcmp.
|
||||
**/
|
||||
gint kvp_frame_compare(const kvp_frame *fa, const kvp_frame *fb);
|
||||
gint kvp_frame_compare(const KvpFrame *fa, const KvpFrame *fb);
|
||||
/*@}*/
|
||||
|
||||
|
||||
@@ -198,92 +242,102 @@ GList * kvp_glist_copy(const GList * list);
|
||||
void kvp_glist_delete(GList * list);
|
||||
|
||||
|
||||
/** @name kvp_value Constructors */
|
||||
/** @name KvpValue Constructors */
|
||||
/*@{*/
|
||||
/** The following routines are constructors for kvp_value.
|
||||
* Those with pointer arguments copy in the value.
|
||||
* The *_nc() versions do *not* copy in thier values,
|
||||
* but use them directly.
|
||||
*/
|
||||
kvp_value * kvp_value_new_gint64(gint64 value);
|
||||
kvp_value * kvp_value_new_double(double value);
|
||||
kvp_value * kvp_value_new_gnc_numeric(gnc_numeric value);
|
||||
kvp_value * kvp_value_new_string(const char * value);
|
||||
kvp_value * kvp_value_new_guid(const GUID * guid);
|
||||
kvp_value * kvp_value_new_timespec(Timespec timespec);
|
||||
kvp_value * kvp_value_new_binary(const void * data, guint64 datasize);
|
||||
/** Creates a kvp_value from a <b>GList of kvp_value's</b>! (Not to be
|
||||
* confused with GList's of something else!) */
|
||||
kvp_value * kvp_value_new_glist(const GList * value);
|
||||
kvp_value * kvp_value_new_frame(const kvp_frame * value);
|
||||
KvpValue * kvp_value_new_gint64(gint64 value);
|
||||
KvpValue * kvp_value_new_double(double value);
|
||||
KvpValue * kvp_value_new_gnc_numeric(gnc_numeric value);
|
||||
KvpValue * kvp_value_new_string(const char * value);
|
||||
KvpValue * kvp_value_new_guid(const GUID * guid);
|
||||
KvpValue * kvp_value_new_timespec(Timespec timespec);
|
||||
KvpValue * kvp_value_new_binary(const void * data, guint64 datasize);
|
||||
|
||||
/** value constructors (non-copying - kvp_value takes pointer ownership)
|
||||
/** Creates a KvpValue from a <b>GList of kvp_value's</b>! (Not to be
|
||||
* confused with GList's of something else!) */
|
||||
KvpValue * kvp_value_new_glist(const GList * value);
|
||||
KvpValue * kvp_value_new_frame(const KvpFrame * value);
|
||||
|
||||
/** value constructors (non-copying - KvpValue takes pointer ownership)
|
||||
values *must* have been allocated via glib allocators! (gnew, etc.) */
|
||||
kvp_value * kvp_value_new_binary_nc(void * data, guint64 datasize);
|
||||
/** Creates a kvp_value from a <b>GList of kvp_value's</b>! (Not to be
|
||||
KvpValue * kvp_value_new_binary_nc(void * data, guint64 datasize);
|
||||
|
||||
/** Creates a KvpValue from a <b>GList of kvp_value's</b>! (Not to be
|
||||
* confused with GList's of something else!)
|
||||
*
|
||||
* This value constructor is non-copying (kvp_value takes pointer
|
||||
* This value constructor is non-copying (KvpValue takes pointer
|
||||
* ownership). The values *must* have been allocated via glib
|
||||
* allocators! (gnew, etc.) */
|
||||
kvp_value * kvp_value_new_glist_nc(GList *lst);
|
||||
/** value constructors (non-copying - kvp_value takes pointer ownership)
|
||||
KvpValue * kvp_value_new_glist_nc(GList *lst);
|
||||
|
||||
/** value constructors (non-copying - KvpValue takes pointer ownership)
|
||||
values *must* have been allocated via glib allocators! (gnew, etc.) */
|
||||
kvp_value * kvp_value_new_frame_nc(kvp_frame * value);
|
||||
KvpValue * kvp_value_new_frame_nc(KvpFrame * value);
|
||||
|
||||
/** This is a deep (recursive) delete. */
|
||||
void kvp_value_delete(kvp_value * value);
|
||||
void kvp_value_delete(KvpValue * value);
|
||||
|
||||
/** This is a deep value copy. */
|
||||
kvp_value * kvp_value_copy(const kvp_value * value);
|
||||
KvpValue * kvp_value_copy(const KvpValue * value);
|
||||
/*@}*/
|
||||
|
||||
|
||||
/** @name kvp_value Value access */
|
||||
/** @name KvpValue Value access */
|
||||
/*@{*/
|
||||
/** Value accessors. Those for GUID, binary, GList, kvp_frame and
|
||||
/** Value accessors. Those for GUID, binary, GList, KvpFrame and
|
||||
string are non-copying -- the caller can modify the value directly.
|
||||
|
||||
Note that the above non-copying list did not include the
|
||||
get_string() function. But in fact that function has always been a
|
||||
non-copying one -- therefore don't free the result unless you want
|
||||
to delete the whole kvp_frame by yourself. */
|
||||
kvp_value_t kvp_value_get_type(const kvp_value * value);
|
||||
to delete the whole KvpFrame by yourself. */
|
||||
KvpValueType kvp_value_get_type(const KvpValue * value);
|
||||
|
||||
gint64 kvp_value_get_gint64(const KvpValue * value);
|
||||
double kvp_value_get_double(const KvpValue * value);
|
||||
gnc_numeric kvp_value_get_numeric(const KvpValue * value);
|
||||
|
||||
gint64 kvp_value_get_gint64(const kvp_value * value);
|
||||
double kvp_value_get_double(const kvp_value * value);
|
||||
gnc_numeric kvp_value_get_numeric(const kvp_value * value);
|
||||
/** Value accessor. This one is non-copying -- the caller can modify
|
||||
* the value directly. */
|
||||
char * kvp_value_get_string(const kvp_value * value);
|
||||
char * kvp_value_get_string(const KvpValue * value);
|
||||
|
||||
/** Value accessor. This one is non-copying -- the caller can modify
|
||||
* the value directly. */
|
||||
GUID * kvp_value_get_guid(const kvp_value * value);
|
||||
GUID * kvp_value_get_guid(const KvpValue * value);
|
||||
|
||||
/** Value accessor. This one is non-copying -- the caller can modify
|
||||
* the value directly. */
|
||||
void * kvp_value_get_binary(const kvp_value * value,
|
||||
void * kvp_value_get_binary(const KvpValue * value,
|
||||
guint64 * size_return);
|
||||
|
||||
/** Returns the GList of kvp_frame's (not to be confused with GList's
|
||||
* of something else!) from the given kvp_frame. This one is
|
||||
* non-copying -- the caller can modify the value directly. */
|
||||
GList * kvp_value_get_glist(const kvp_value * value);
|
||||
GList * kvp_value_get_glist(const KvpValue * value);
|
||||
|
||||
/** Value accessor. This one is non-copying -- the caller can modify
|
||||
* the value directly. */
|
||||
kvp_frame * kvp_value_get_frame(const kvp_value * value);
|
||||
Timespec kvp_value_get_timespec(const kvp_value * value);
|
||||
KvpFrame * kvp_value_get_frame(const KvpValue * value);
|
||||
Timespec kvp_value_get_timespec(const KvpValue * value);
|
||||
|
||||
/**
|
||||
* Similar returns as strcmp.
|
||||
**/
|
||||
gint kvp_value_compare(const kvp_value *va, const kvp_value *vb);
|
||||
gint kvp_value_compare(const KvpValue *va, const KvpValue *vb);
|
||||
|
||||
/*@}*/
|
||||
|
||||
|
||||
gchar* kvp_value_to_string(const kvp_value *val);
|
||||
gchar* kvp_value_to_string(const KvpValue *val);
|
||||
|
||||
/** Manipulator:
|
||||
*
|
||||
* copying - but more efficient than creating a new kvp_value manually. */
|
||||
gboolean kvp_value_binary_append(kvp_value *v, void *data, guint64 size);
|
||||
* copying - but more efficient than creating a new KvpValue manually. */
|
||||
gboolean kvp_value_binary_append(KvpValue *v, void *data, guint64 size);
|
||||
|
||||
/** @name Iterators */
|
||||
/*@{*/
|
||||
@@ -291,11 +345,12 @@ gboolean kvp_value_binary_append(kvp_value *v, void *data, guint64 size);
|
||||
does not descend recursively to traverse any kvp_frames stored as
|
||||
slot values. You must handle that in proc, with a suitable
|
||||
recursive call if desired. */
|
||||
void kvp_frame_for_each_slot(kvp_frame *f,
|
||||
void kvp_frame_for_each_slot(KvpFrame *f,
|
||||
void (*proc)(const char *key,
|
||||
kvp_value *value,
|
||||
KvpValue *value,
|
||||
gpointer data),
|
||||
gpointer data);
|
||||
|
||||
/*@}*/
|
||||
|
||||
#endif
|
||||
|
||||
@@ -40,9 +40,9 @@ struct _QofBook
|
||||
/* Unique guid for this book. */
|
||||
GUID guid;
|
||||
|
||||
/* The kvp_frame provides a place for top-level data associated
|
||||
/* The KvpFrame provides a place for top-level data associated
|
||||
* with this book. */
|
||||
kvp_frame *kvp_data;
|
||||
KvpFrame *kvp_data;
|
||||
|
||||
/* The entity table associates the GUIDs of all the objects
|
||||
* belonging to this book, with their pointers to the respective
|
||||
|
||||
@@ -150,7 +150,7 @@ qof_book_get_guid (QofBook *book)
|
||||
return &book->guid;
|
||||
}
|
||||
|
||||
kvp_frame *
|
||||
KvpFrame *
|
||||
qof_book_get_slots (QofBook *book)
|
||||
{
|
||||
if (!book) return NULL;
|
||||
@@ -232,8 +232,8 @@ gint64
|
||||
qof_book_get_counter (QofBook *book, const char *counter_name)
|
||||
{
|
||||
QofBackend *be;
|
||||
kvp_frame *kvp;
|
||||
kvp_value *value;
|
||||
KvpFrame *kvp;
|
||||
KvpValue *value;
|
||||
gint64 counter;
|
||||
|
||||
if (!book) {
|
||||
|
||||
@@ -63,7 +63,7 @@ QofEntityTable * qof_book_get_entity_table (QofBook *book);
|
||||
const GUID * qof_book_get_guid (QofBook *book);
|
||||
|
||||
/** \return The kvp data for the book */
|
||||
kvp_frame * qof_book_get_slots (QofBook *book);
|
||||
KvpFrame * qof_book_get_slots (QofBook *book);
|
||||
|
||||
/** The qof_book_set_data() allows
|
||||
* arbitrary pointers to structs to be stored in QofBook.
|
||||
|
||||
@@ -126,7 +126,7 @@ typedef struct {
|
||||
typedef struct {
|
||||
QofQueryPredData pd;
|
||||
GSList * path;
|
||||
kvp_value * value;
|
||||
KvpValue * value;
|
||||
} query_kvp_def, *query_kvp_t;
|
||||
|
||||
#endif /* QOF_QUERYCOREP_H */
|
||||
|
||||
@@ -100,7 +100,7 @@ static const char * query_boolean_type = QOF_QUERYCORE_BOOLEAN;
|
||||
typedef char (*query_char_getter) (gpointer);
|
||||
static const char * query_char_type = QOF_QUERYCORE_CHAR;
|
||||
|
||||
typedef kvp_frame * (*query_kvp_getter) (gpointer);
|
||||
typedef KvpFrame * (*query_kvp_getter) (gpointer);
|
||||
static const char * query_kvp_type = QOF_QUERYCORE_KVP;
|
||||
|
||||
/* Tables for predicate storage and lookup */
|
||||
@@ -1087,8 +1087,8 @@ static int kvp_match_predicate (gpointer object, QofAccessFunc get_fcn,
|
||||
QofQueryPredData *pd)
|
||||
{
|
||||
int compare;
|
||||
kvp_frame *kvp;
|
||||
kvp_value *value;
|
||||
KvpFrame *kvp;
|
||||
KvpValue *value;
|
||||
query_kvp_t pdata = (query_kvp_t)pd;
|
||||
|
||||
VERIFY_PREDICATE (query_kvp_type);
|
||||
@@ -1171,7 +1171,7 @@ kvp_predicate_equal (QofQueryPredData *p1, QofQueryPredData *p2)
|
||||
|
||||
QofQueryPredData *
|
||||
qof_query_kvp_predicate (QofQueryCompare how,
|
||||
GSList *path, const kvp_value *value)
|
||||
GSList *path, const KvpValue *value)
|
||||
{
|
||||
query_kvp_t pdata;
|
||||
GSList *node;
|
||||
|
||||
@@ -136,7 +136,7 @@ QofQueryPredData *qof_query_boolean_predicate (QofQueryCompare how, gboolean val
|
||||
QofQueryPredData *qof_query_char_predicate (QofCharMatch options,
|
||||
const char *chars);
|
||||
QofQueryPredData *qof_query_kvp_predicate (QofQueryCompare how,
|
||||
GSList *path, const kvp_value *value);
|
||||
GSList *path, const KvpValue *value);
|
||||
|
||||
/** Copy a predicate. */
|
||||
QofQueryPredData *qof_query_core_predicate_copy (QofQueryPredData *pdata);
|
||||
|
||||
@@ -61,7 +61,7 @@ set_max_kvp_frame_elements (gint max_kvp_frame_elements)
|
||||
}
|
||||
|
||||
void
|
||||
kvp_exclude_type (kvp_value_t kvp_type)
|
||||
kvp_exclude_type (KvpValueType kvp_type)
|
||||
{
|
||||
gint *key;
|
||||
|
||||
@@ -75,7 +75,7 @@ kvp_exclude_type (kvp_value_t kvp_type)
|
||||
}
|
||||
|
||||
static gboolean
|
||||
kvp_type_excluded (kvp_value_t kvp_type)
|
||||
kvp_type_excluded (KvpValueType kvp_type)
|
||||
{
|
||||
gint key = kvp_type;
|
||||
|
||||
@@ -314,7 +314,7 @@ get_random_glist_depth (gint depth)
|
||||
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
kvp_value_t kvpt;
|
||||
KvpValueType kvpt;
|
||||
kvp_value *value;
|
||||
|
||||
kvpt = glist_strings_only ? KVP_TYPE_STRING : -2;
|
||||
|
||||
@@ -35,7 +35,7 @@ GUID* get_random_guid(void);
|
||||
GList* get_random_glist(void);
|
||||
|
||||
void random_glist_strings_only (gboolean strings_only);
|
||||
void kvp_exclude_type (kvp_value_t kvp_type);
|
||||
void kvp_exclude_type (KvpValueType kvp_type);
|
||||
void set_max_kvp_depth (gint max_kvp_depth);
|
||||
void set_max_kvp_frame_elements (gint max_kvp_frame_elements);
|
||||
void set_max_group_depth (gint max_group_depth);
|
||||
|
||||
@@ -20,205 +20,213 @@ foreach (@files)
|
||||
|
||||
while (<AF>)
|
||||
{
|
||||
s/GNCBook/QofBook/g;
|
||||
s/gnc_book_not_saved/qof_book_not_saved/g;
|
||||
# s/GNCBook/QofBook/g;
|
||||
# s/gnc_book_not_saved/qof_book_not_saved/g;
|
||||
|
||||
s/GncObject_t/QofObject/g;
|
||||
s/gncObjectLookup/qof_object_lookup/g;
|
||||
s/gncObjectRegister/qof_object_register/g;
|
||||
s/gncObjectGetTypeLabel/qof_object_get_type_label/g;
|
||||
s/gncObjectRegisterBackend/qof_object_register_backend/g;
|
||||
s/gncObjectLookupBackend/qof_object_lookup_backend/g;
|
||||
s/gncObjectForeachBackend/qof_object_foreach_backend/g;
|
||||
s/gncObjectInitialize/qof_object_initialize/g;
|
||||
# s/GncObject_t/QofObject/g;
|
||||
# s/gncObjectLookup/qof_object_lookup/g;
|
||||
# s/gncObjectRegister/qof_object_register/g;
|
||||
# s/gncObjectGetTypeLabel/qof_object_get_type_label/g;
|
||||
# s/gncObjectRegisterBackend/qof_object_register_backend/g;
|
||||
# s/gncObjectLookupBackend/qof_object_lookup_backend/g;
|
||||
# s/gncObjectForeachBackend/qof_object_foreach_backend/g;
|
||||
# s/gncObjectInitialize/qof_object_initialize/g;
|
||||
|
||||
s/gncObjectShutdown/qof_object_shutdown/g;
|
||||
s/gncObjectBookBegin/qof_object_book_begin/g;
|
||||
s/gncObjectBookEnd/qof_object_book_end/g;
|
||||
s/gncObjectIsDirty/qof_object_is_dirty/g;
|
||||
s/gncObjectMarkClean/qof_object_mark_clean/g;
|
||||
# s/gncObjectShutdown/qof_object_shutdown/g;
|
||||
# s/gncObjectBookBegin/qof_object_book_begin/g;
|
||||
# s/gncObjectBookEnd/qof_object_book_end/g;
|
||||
# s/gncObjectIsDirty/qof_object_is_dirty/g;
|
||||
# s/gncObjectMarkClean/qof_object_mark_clean/g;
|
||||
|
||||
s/gncObjectForeachType/qof_object_foreach_type/g;
|
||||
s/gncObjectForeach/qof_object_foreach/g;
|
||||
s/gncObjectPrintable/qof_object_printable/g;
|
||||
# s/gncObjectForeachType/qof_object_foreach_type/g;
|
||||
# s/gncObjectForeach/qof_object_foreach/g;
|
||||
# s/gncObjectPrintable/qof_object_printable/g;
|
||||
|
||||
s/foreachTypeCB/QofForeachTypeCB/g;
|
||||
s/foreachBackendTypeCB/QofForeachBackendTypeCB/g;
|
||||
# s/foreachTypeCB/QofForeachTypeCB/g;
|
||||
# s/foreachBackendTypeCB/QofForeachBackendTypeCB/g;
|
||||
|
||||
s/gncQueryStringPredicate/qof_query_string_predicate/g;
|
||||
s/gncQueryDatePredicate/qof_query_date_predicate/g;
|
||||
s/gncQueryNumericPredicate/qof_query_numeric_predicate/g;
|
||||
s/gncQueryGUIDPredicate/qof_query_guid_predicate/g;
|
||||
s/gncQueryInt32Predicate/qof_query_int32_predicate/g;
|
||||
s/gncQueryInt64Predicate/qof_query_int64_predicate/g;
|
||||
s/gncQueryDoublePredicate/qof_query_double_predicate/g;
|
||||
s/gncQueryBooleanPredicate/qof_query_boolean_predicate/g;
|
||||
s/gncQueryCharPredicate/qof_query_char_predicate/g;
|
||||
s/gncQueryKVPPredicate/qof_query_kvp_predicate/g;
|
||||
s/gncQueryCorePredicateFree/qof_query_core_predicate_free/g;
|
||||
# s/gncQueryStringPredicate/qof_query_string_predicate/g;
|
||||
# s/gncQueryDatePredicate/qof_query_date_predicate/g;
|
||||
# s/gncQueryNumericPredicate/qof_query_numeric_predicate/g;
|
||||
# s/gncQueryGUIDPredicate/qof_query_guid_predicate/g;
|
||||
# s/gncQueryInt32Predicate/qof_query_int32_predicate/g;
|
||||
# s/gncQueryInt64Predicate/qof_query_int64_predicate/g;
|
||||
# s/gncQueryDoublePredicate/qof_query_double_predicate/g;
|
||||
# s/gncQueryBooleanPredicate/qof_query_boolean_predicate/g;
|
||||
# s/gncQueryCharPredicate/qof_query_char_predicate/g;
|
||||
# s/gncQueryKVPPredicate/qof_query_kvp_predicate/g;
|
||||
# s/gncQueryCorePredicateFree/qof_query_core_predicate_free/g;
|
||||
|
||||
s/COMPARE_LT/QOF_COMPARE_LT/g;
|
||||
s/COMPARE_LTE/QOF_COMPARE_LTE/g;
|
||||
s/COMPARE_EQUAL/QOF_COMPARE_EQUAL/g;
|
||||
s/COMPARE_GT/QOF_COMPARE_GT/g;
|
||||
s/COMPARE_GTE/QOF_COMPARE_GTE/g;
|
||||
s/COMPARE_NEQ/QOF_COMPARE_NEQ/g;
|
||||
# s/COMPARE_LT/QOF_COMPARE_LT/g;
|
||||
# s/COMPARE_LTE/QOF_COMPARE_LTE/g;
|
||||
# s/COMPARE_EQUAL/QOF_COMPARE_EQUAL/g;
|
||||
# s/COMPARE_GT/QOF_COMPARE_GT/g;
|
||||
# s/COMPARE_GTE/QOF_COMPARE_GTE/g;
|
||||
# s/COMPARE_NEQ/QOF_COMPARE_NEQ/g;
|
||||
|
||||
s/STRING_MATCH_NORMAL/QOF_STRING_MATCH_NORMAL/g;
|
||||
s/STRING_MATCH_CASEINSENSITIVE/QOF_STRING_MATCH_CASEINSENSITIVE/g;
|
||||
# s/STRING_MATCH_NORMAL/QOF_STRING_MATCH_NORMAL/g;
|
||||
# s/STRING_MATCH_CASEINSENSITIVE/QOF_STRING_MATCH_CASEINSENSITIVE/g;
|
||||
|
||||
s/DATE_MATCH_NORMAL/QOF_DATE_MATCH_NORMAL/g;
|
||||
s/DATE_MATCH_ROUNDED/QOF_DATE_MATCH_ROUNDED/g;
|
||||
# s/DATE_MATCH_NORMAL/QOF_DATE_MATCH_NORMAL/g;
|
||||
# s/DATE_MATCH_ROUNDED/QOF_DATE_MATCH_ROUNDED/g;
|
||||
|
||||
s/NUMERIC_MATCH_ANY/QOF_NUMERIC_MATCH_ANY/g;
|
||||
s/NUMERIC_MATCH_CREDIT/QOF_NUMERIC_MATCH_CREDIT/g;
|
||||
s/NUMERIC_MATCH_DEBIT/QOF_NUMERIC_MATCH_DEBIT/g;
|
||||
# s/NUMERIC_MATCH_ANY/QOF_NUMERIC_MATCH_ANY/g;
|
||||
# s/NUMERIC_MATCH_CREDIT/QOF_NUMERIC_MATCH_CREDIT/g;
|
||||
# s/NUMERIC_MATCH_DEBIT/QOF_NUMERIC_MATCH_DEBIT/g;
|
||||
|
||||
s/GUID_MATCH_ANY/QOF_GUID_MATCH_ANY/g;
|
||||
s/GUID_MATCH_NONE/QOF_GUID_MATCH_NONE/g;
|
||||
s/GUID_MATCH_NULL/QOF_GUID_MATCH_NULL/g;
|
||||
s/GUID_MATCH_ALL/QOF_GUID_MATCH_ALL/g;
|
||||
s/GUID_MATCH_LIST_ANY/QOF_GUID_MATCH_LIST_ANY/g;
|
||||
# s/GUID_MATCH_ANY/QOF_GUID_MATCH_ANY/g;
|
||||
# s/GUID_MATCH_NONE/QOF_GUID_MATCH_NONE/g;
|
||||
# s/GUID_MATCH_NULL/QOF_GUID_MATCH_NULL/g;
|
||||
# s/GUID_MATCH_ALL/QOF_GUID_MATCH_ALL/g;
|
||||
# s/GUID_MATCH_LIST_ANY/QOF_GUID_MATCH_LIST_ANY/g;
|
||||
|
||||
s/CHAR_MATCH_ANY/QOF_CHAR_MATCH_ANY/g;
|
||||
s/CHAR_MATCH_NONE/QOF_CHAR_MATCH_NONE/g;
|
||||
# s/CHAR_MATCH_ANY/QOF_CHAR_MATCH_ANY/g;
|
||||
# s/CHAR_MATCH_NONE/QOF_CHAR_MATCH_NONE/g;
|
||||
|
||||
s/char_match_t/QofCharMatch/g;
|
||||
s/guid_match_t/QofGuidMatch/g;
|
||||
s/numeric_match_t/QofNumericMatch/g;
|
||||
s/date_match_t/QofDateMatch/g;
|
||||
s/string_match_t/QofStringMatch/g;
|
||||
s/query_compare_t/QofQueryCompare/g;
|
||||
# s/char_match_t/QofCharMatch/g;
|
||||
# s/guid_match_t/QofGuidMatch/g;
|
||||
# s/numeric_match_t/QofNumericMatch/g;
|
||||
# s/date_match_t/QofDateMatch/g;
|
||||
# s/string_match_t/QofStringMatch/g;
|
||||
# s/query_compare_t/QofQueryCompare/g;
|
||||
|
||||
s/gncQueryCoreInit/qof_query_core_init/g;
|
||||
s/gncQueryCoreShutdown/qof_query_core_shutdown/g;
|
||||
s/gncQueryCoreGetPredicate/qof_query_core_get_predicate/g;
|
||||
s/gncQueryCoreGetCompare/qof_query_core_get_compare/g;
|
||||
# s/gncQueryCoreInit/qof_query_core_init/g;
|
||||
# s/gncQueryCoreShutdown/qof_query_core_shutdown/g;
|
||||
# s/gncQueryCoreGetPredicate/qof_query_core_get_predicate/g;
|
||||
# s/gncQueryCoreGetCompare/qof_query_core_get_compare/g;
|
||||
|
||||
s/gncQueryCorePredicateEqual/qof_query_core_predicate_equal/g;
|
||||
# s/gncQueryCorePredicateEqual/qof_query_core_predicate_equal/g;
|
||||
|
||||
s/QUERY_AND/QOF_QUERY_AND/g;
|
||||
s/QUERY_OR/QOF_QUERY_OR/g;
|
||||
s/QUERY_NAND/QOF_QUERY_NAND/g;
|
||||
s/QUERY_NOR/QOF_QUERY_NOR/g;
|
||||
s/QUERY_XOR/QOF_QUERY_XOR/g;
|
||||
s/QUERY_PARAM_BOOK/QOF_QUERY_PARAM_BOOK/g;
|
||||
s/QUERY_PARAM_GUID/QOF_QUERY_PARAM_GUID/g;
|
||||
s/QUERY_PARAM_ACTIVE/QOF_QUERY_PARAM_ACTIVE/g;
|
||||
# s/QUERY_AND/QOF_QUERY_AND/g;
|
||||
# s/QUERY_OR/QOF_QUERY_OR/g;
|
||||
# s/QUERY_NAND/QOF_QUERY_NAND/g;
|
||||
# s/QUERY_NOR/QOF_QUERY_NOR/g;
|
||||
# s/QUERY_XOR/QOF_QUERY_XOR/g;
|
||||
# s/QUERY_PARAM_BOOK/QOF_QUERY_PARAM_BOOK/g;
|
||||
# s/QUERY_PARAM_GUID/QOF_QUERY_PARAM_GUID/g;
|
||||
# s/QUERY_PARAM_ACTIVE/QOF_QUERY_PARAM_ACTIVE/g;
|
||||
|
||||
s/QUERYCORE_INT64/QOF_QUERYCORE_INT64/g;
|
||||
s/QUERYCORE_STRING/QOF_QUERYCORE_STRING/g;
|
||||
s/QUERYCORE_GUID/QOF_QUERYCORE_GUID/g;
|
||||
s/QUERYCORE_DATE/QOF_QUERYCORE_DATE/g;
|
||||
s/QUERYCORE_BOOLEAN/QOF_QUERYCORE_BOOLEAN/g;
|
||||
s/QUERYCORE_NUMERIC/QOF_QUERYCORE_NUMERIC/g;
|
||||
s/QuerySort/QofSortFunc/g;
|
||||
# s/QUERYCORE_INT64/QOF_QUERYCORE_INT64/g;
|
||||
# s/QUERYCORE_STRING/QOF_QUERYCORE_STRING/g;
|
||||
# s/QUERYCORE_GUID/QOF_QUERYCORE_GUID/g;
|
||||
# s/QUERYCORE_DATE/QOF_QUERYCORE_DATE/g;
|
||||
# s/QUERYCORE_BOOLEAN/QOF_QUERYCORE_BOOLEAN/g;
|
||||
# s/QUERYCORE_NUMERIC/QOF_QUERYCORE_NUMERIC/g;
|
||||
# s/QuerySort/QofSortFunc/g;
|
||||
|
||||
s/querynew_s/_QofQuery/g;
|
||||
s/QueryNew/QofQuery/g;
|
||||
s/QueryOp/QofQueryOp/g;
|
||||
s/query_new_term/_QofQueryTerm/g;
|
||||
s/query_new_sort/_QofQuerySort/g;
|
||||
# s/querynew_s/_QofQuery/g;
|
||||
# s/QueryNew/QofQuery/g;
|
||||
# s/QueryOp/QofQueryOp/g;
|
||||
# s/query_new_term/_QofQueryTerm/g;
|
||||
# s/query_new_sort/_QofQuerySort/g;
|
||||
|
||||
s/gncQueryBuildParamList/qof_query_build_param_list/g;
|
||||
s/gncQueryCreateFor/qof_query_create_for/g;
|
||||
s/gncQueryCreate/qof_query_create/g;
|
||||
s/gncQueryDestroy/qof_query_destroy/g;
|
||||
s/gncQuerySearchFor/qof_query_search_for/g;
|
||||
s/gncQuerySetBook/qof_query_set_book/g;
|
||||
s/gncQueryAddTerm/qof_query_add_term/g;
|
||||
s/gncQueryAddGUIDMatch/qof_query_add_guid_match/g;
|
||||
s/gncQueryAddGUIDListMatch/qof_query_add_guid_list_match/g;
|
||||
s/gncQueryAddBooleanMatch/qof_query_add_boolean_match/g;
|
||||
s/gncQueryRun/qof_query_run/g;
|
||||
s/gncQueryLastRun/qof_query_last_run/g;
|
||||
s/gncQueryClear/qof_query_clear/g;
|
||||
s/gncQueryPurgeTerms/qof_query_purge_terms/g;
|
||||
s/gncQueryHasTerms/qof_query_has_terms/g;
|
||||
s/gncQueryNumTerms/qof_query_num_terms/g;
|
||||
s/gncQueryHasTermType/qof_query_has_term_type/g;
|
||||
s/gncQueryCopy/qof_query_copy/g;
|
||||
s/gncQueryInvert/qof_query_invert/g;
|
||||
s/gncQueryMerge/qof_query_merge/g;
|
||||
s/gncQueryMergeInPlace/qof_query_merges_ins_place/g;
|
||||
s/gncQuerySetSortOrder/qof_query_set_sort_order/g;
|
||||
s/gncQuerySetSortOptions/qof_query_set_sort_options/g;
|
||||
s/gncQuerySetSortIncreasing/qof_query_set_sort_increasing/g;
|
||||
s/gncQuerySetMaxResults/qof_query_set_max_results/g;
|
||||
s/gncQueryEqual/qof_query_equal/g;
|
||||
s/gncQueryPrint/qof_query_print/g;
|
||||
s/gncQueryGetSearchFor/qof_query_get_search_for/g;
|
||||
s/gncQueryGetBooks/qof_query_get_books/g;
|
||||
# s/gncQueryBuildParamList/qof_query_build_param_list/g;
|
||||
# s/gncQueryCreateFor/qof_query_create_for/g;
|
||||
# s/gncQueryCreate/qof_query_create/g;
|
||||
# s/gncQueryDestroy/qof_query_destroy/g;
|
||||
# s/gncQuerySearchFor/qof_query_search_for/g;
|
||||
# s/gncQuerySetBook/qof_query_set_book/g;
|
||||
# s/gncQueryAddTerm/qof_query_add_term/g;
|
||||
# s/gncQueryAddGUIDMatch/qof_query_add_guid_match/g;
|
||||
# s/gncQueryAddGUIDListMatch/qof_query_add_guid_list_match/g;
|
||||
# s/gncQueryAddBooleanMatch/qof_query_add_boolean_match/g;
|
||||
# s/gncQueryRun/qof_query_run/g;
|
||||
# s/gncQueryLastRun/qof_query_last_run/g;
|
||||
# s/gncQueryClear/qof_query_clear/g;
|
||||
# s/gncQueryPurgeTerms/qof_query_purge_terms/g;
|
||||
# s/gncQueryHasTerms/qof_query_has_terms/g;
|
||||
# s/gncQueryNumTerms/qof_query_num_terms/g;
|
||||
# s/gncQueryHasTermType/qof_query_has_term_type/g;
|
||||
# s/gncQueryCopy/qof_query_copy/g;
|
||||
# s/gncQueryInvert/qof_query_invert/g;
|
||||
# s/gncQueryMerge/qof_query_merge/g;
|
||||
# s/gncQueryMergeInPlace/qof_query_merges_ins_place/g;
|
||||
# s/gncQuerySetSortOrder/qof_query_set_sort_order/g;
|
||||
# s/gncQuerySetSortOptions/qof_query_set_sort_options/g;
|
||||
# s/gncQuerySetSortIncreasing/qof_query_set_sort_increasing/g;
|
||||
# s/gncQuerySetMaxResults/qof_query_set_max_results/g;
|
||||
# s/gncQueryEqual/qof_query_equal/g;
|
||||
# s/gncQueryPrint/qof_query_print/g;
|
||||
# s/gncQueryGetSearchFor/qof_query_get_search_for/g;
|
||||
# s/gncQueryGetBooks/qof_query_get_books/g;
|
||||
|
||||
s/gncQueryNewInit/qof_query_new_init/g;
|
||||
s/gncQueryNewShutdown/qof_query_new_shutdown/g;
|
||||
s/gncQueryGetMaxResults/qof_query_get_max_results/g;
|
||||
s/gncQueryGetTerms/qof_query_get_terms/g;
|
||||
s/gncQueryTermGetParamPath/qof_query_term_get_param_path/g;
|
||||
s/gncQueryTermGetPredData/qof_query_term_get_pred_data/g;
|
||||
s/gncQueryTermIsInverted/qof_query_term_is_inverted/g;
|
||||
s/gncQueryGetSorts/qof_query_get_sorts/g;
|
||||
s/gncQuerySortGetParamPath/qof_query_sort_get_param_path/g;
|
||||
s/gncQuerySortGetSortOptions/qof_query_sort_get_sort_options/g;
|
||||
s/gncQuerySortGetIncreasing/qof_query_sort_get_increasing/g;
|
||||
# s/gncQueryNewInit/qof_query_new_init/g;
|
||||
# s/gncQueryNewShutdown/qof_query_new_shutdown/g;
|
||||
# s/gncQueryGetMaxResults/qof_query_get_max_results/g;
|
||||
# s/gncQueryGetTerms/qof_query_get_terms/g;
|
||||
# s/gncQueryTermGetParamPath/qof_query_term_get_param_path/g;
|
||||
# s/gncQueryTermGetPredData/qof_query_term_get_pred_data/g;
|
||||
# s/gncQueryTermIsInverted/qof_query_term_is_inverted/g;
|
||||
# s/gncQueryGetSorts/qof_query_get_sorts/g;
|
||||
# s/gncQuerySortGetParamPath/qof_query_sort_get_param_path/g;
|
||||
# s/gncQuerySortGetSortOptions/qof_query_sort_get_sort_options/g;
|
||||
# s/gncQuerySortGetIncreasing/qof_query_sort_get_increasing/g;
|
||||
|
||||
s/query_object_def/_QofQueryObject/g;
|
||||
s/QueryObjectDef/QofQueryObject/g;
|
||||
# s/query_object_def/_QofQueryObject/g;
|
||||
# s/QueryObjectDef/QofQueryObject/g;
|
||||
|
||||
s/QueryAccess/QofAccessFunc/g;
|
||||
# s/QueryAccess/QofAccessFunc/g;
|
||||
|
||||
s/gncQueryObjectRegister/qof_query_object_register/g;
|
||||
s/gncQueryObjectParameterType/qof_query_object_parameter_type/g;
|
||||
s/gncQueryObjectGetParameterGetter/qof_query_object_get_parameter_getter/g;
|
||||
s/gncQueryObjectGetParameter/qof_query_object_get_parameter/g;
|
||||
s/gncQueryObjectInit/qof_query_object_init/g;
|
||||
s/gncQueryObjectShutdown/qof_query_object_shutdown/g;
|
||||
s/gncQueryObjectDefaultSort/qof_query_object_default_sort/g;
|
||||
# s/gncQueryObjectRegister/qof_query_object_register/g;
|
||||
# s/gncQueryObjectParameterType/qof_query_object_parameter_type/g;
|
||||
# s/gncQueryObjectGetParameterGetter/qof_query_object_get_parameter_getter/g;
|
||||
# s/gncQueryObjectGetParameter/qof_query_object_get_parameter/g;
|
||||
# s/gncQueryObjectInit/qof_query_object_init/g;
|
||||
# s/gncQueryObjectShutdown/qof_query_object_shutdown/g;
|
||||
# s/gncQueryObjectDefaultSort/qof_query_object_default_sort/g;
|
||||
|
||||
s/xaccGUIDNULL/guid_null/g;
|
||||
s/xaccGUIDMalloc/guid_malloc/g;
|
||||
s/xaccGUIDFree/guid_free/g;
|
||||
# s/xaccGUIDNULL/guid_null/g;
|
||||
# s/xaccGUIDMalloc/guid_malloc/g;
|
||||
# s/xaccGUIDFree/guid_free/g;
|
||||
|
||||
s/GNCIdTypeConst/QofIdTypeConst/g;
|
||||
s/GNCIdType/QofIdType/g;
|
||||
s/GNCEntityTable/QofEntityTable/g;
|
||||
s/xaccGUIDTypeEntityTable/qof_guid_type/g;
|
||||
# s/GNCIdTypeConst/QofIdTypeConst/g;
|
||||
# s/GNCIdType/QofIdType/g;
|
||||
# s/GNCEntityTable/QofEntityTable/g;
|
||||
# s/xaccGUIDTypeEntityTable/qof_guid_type/g;
|
||||
|
||||
s/xaccEntityTableNew/qof_entity_new/g;
|
||||
s/xaccEntityTableDestroy/qof_entity_destroy/g;
|
||||
s/xaccGUIDNewEntityTable/qof_entity_guid_new/g;
|
||||
s/xaccLookupEntity/qof_entity_lookup/g;
|
||||
s/xaccStoreEntity/qof_entity_store/g;
|
||||
s/xaccRemoveEntity/qof_entity_remove/g;
|
||||
s/xaccForeachEntity/qof_entity_foreach/g;
|
||||
# s/xaccEntityTableNew/qof_entity_new/g;
|
||||
# s/xaccEntityTableDestroy/qof_entity_destroy/g;
|
||||
# s/xaccGUIDNewEntityTable/qof_entity_guid_new/g;
|
||||
# s/xaccLookupEntity/qof_entity_lookup/g;
|
||||
# s/xaccStoreEntity/qof_entity_store/g;
|
||||
# s/xaccRemoveEntity/qof_entity_remove/g;
|
||||
# s/xaccForeachEntity/qof_entity_foreach/g;
|
||||
|
||||
s/foreachObjectCB/QofEntityForeachCB/g;
|
||||
s/GNC_OBJECT_VERSION/QOF_OBJECT_VERSION/g;
|
||||
# s/foreachObjectCB/QofEntityForeachCB/g;
|
||||
# s/GNC_OBJECT_VERSION/QOF_OBJECT_VERSION/g;
|
||||
|
||||
s/GNCSession/QofSession/g;
|
||||
s/gnc_session/qof_session/g;
|
||||
s/GNCPercentageFunc/QofPercentageFunc/g;
|
||||
s/gnc_get_current_session/qof_session_get_current_session/g;
|
||||
s/gnc_set_current_session/qof_session_set_current_session/g;
|
||||
# s/GNCSession/QofSession/g;
|
||||
# s/gnc_session/qof_session/g;
|
||||
# s/GNCPercentageFunc/QofPercentageFunc/g;
|
||||
# s/gnc_get_current_session/qof_session_get_current_session/g;
|
||||
# s/gnc_set_current_session/qof_session_set_current_session/g;
|
||||
|
||||
s/ Backend/ QofBackend/g;
|
||||
s/\(Backend/\(QofBackend/g;
|
||||
s/GNCBackendError/QofBackendError/g;
|
||||
s/GNCBePercentageFunc/QofBePercentageFunc/g;
|
||||
s/xaccBackendSetError/qof_backend_set_error/g;
|
||||
s/xaccBackendGetError/qof_backend_get_error/g;
|
||||
s/xaccBackendSetMessage/qof_backend_set_message/g;
|
||||
s/xaccBackendGetMessage/qof_backend_get_message/g;
|
||||
s/xaccInitBackend/qof_backend_init/g;
|
||||
# s/ Backend/ QofBackend/g;
|
||||
# s/\(Backend/\(QofBackend/g;
|
||||
# s/GNCBackendError/QofBackendError/g;
|
||||
# s/GNCBePercentageFunc/QofBePercentageFunc/g;
|
||||
# s/xaccBackendSetError/qof_backend_set_error/g;
|
||||
# s/xaccBackendGetError/qof_backend_get_error/g;
|
||||
# s/xaccBackendSetMessage/qof_backend_set_message/g;
|
||||
# s/xaccBackendGetMessage/qof_backend_get_message/g;
|
||||
# s/xaccInitBackend/qof_backend_init/g;
|
||||
|
||||
s/GNCId\.h/qofid\.h/g;
|
||||
s/gncObject\.h/qofobject\.h/g;
|
||||
s/QueryCore\.h/qofquerycore\.h/g;
|
||||
s/QofQuery\.h/qofquery\.h/g;
|
||||
s/QueryObject\.h/qofqueryobject\.h/g;
|
||||
# s/GNCId\.h/qofid\.h/g;
|
||||
# s/gncObject\.h/qofobject\.h/g;
|
||||
# s/QueryCore\.h/qofquerycore\.h/g;
|
||||
# s/QofQuery\.h/qofquery\.h/g;
|
||||
# s/QueryObject\.h/qofqueryobject\.h/g;
|
||||
|
||||
s/QofQof/Qof/g;
|
||||
s/QOF_QOF/QOF/g;
|
||||
# s/QofQof/Qof/g;
|
||||
# s/QOF_QOF/QOF/g;
|
||||
|
||||
|
||||
s/kvp_frame /KvpFrame /g;
|
||||
s/kvp_frame* /KvpFrame* /g;
|
||||
s/kvp_value /KvpValue /g;
|
||||
s/kvp_value* /KvpValue* /g;
|
||||
s/kvp_value_t/KvpValueType/g;
|
||||
|
||||
print OF $_;
|
||||
}
|
||||
close OF;
|
||||
|
||||
Reference in New Issue
Block a user