mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
add setters to the query object
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@9424 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
e3b49bc44d
commit
fd10a04277
@ -238,14 +238,14 @@ gboolean gncAddressRegister (void)
|
|||||||
{
|
{
|
||||||
static QofParam params[] = {
|
static QofParam params[] = {
|
||||||
|
|
||||||
{ ADDRESS_NAME, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetName },
|
{ ADDRESS_NAME, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetName, NULL },
|
||||||
{ ADDRESS_PHONE, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetPhone },
|
{ ADDRESS_PHONE, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetPhone, NULL },
|
||||||
{ ADDRESS_FAX, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetFax },
|
{ ADDRESS_FAX, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetFax, NULL },
|
||||||
{ ADDRESS_EMAIL, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetEmail },
|
{ ADDRESS_EMAIL, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetEmail, NULL },
|
||||||
{ NULL },
|
{ NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
qof_query_object_register (_GNC_MOD_NAME, (QofSortFunc)gncAddressCompare, params);
|
qof_class_register (_GNC_MOD_NAME, (QofSortFunc)gncAddressCompare, params);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
@ -660,12 +660,12 @@ static QofObject gncBillTermDesc = {
|
|||||||
gboolean gncBillTermRegister (void)
|
gboolean gncBillTermRegister (void)
|
||||||
{
|
{
|
||||||
static QofParam params[] = {
|
static QofParam params[] = {
|
||||||
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncBillTermGetBook },
|
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncBillTermGetBook, NULL },
|
||||||
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncBillTermGetGUID },
|
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncBillTermGetGUID, NULL },
|
||||||
{ NULL },
|
{ NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
qof_query_object_register (_GNC_MOD_NAME, (QofSortFunc)gncBillTermCompare, params);
|
qof_class_register (_GNC_MOD_NAME, (QofSortFunc)gncBillTermCompare, params);
|
||||||
|
|
||||||
return qof_object_register (&gncBillTermDesc);
|
return qof_object_register (&gncBillTermDesc);
|
||||||
}
|
}
|
||||||
|
@ -551,17 +551,17 @@ static QofObject gncCustomerDesc = {
|
|||||||
gboolean gncCustomerRegister (void)
|
gboolean gncCustomerRegister (void)
|
||||||
{
|
{
|
||||||
static QofParam params[] = {
|
static QofParam params[] = {
|
||||||
{ CUSTOMER_ID, QOF_TYPE_STRING, (QofAccessFunc)gncCustomerGetID },
|
{ CUSTOMER_ID, QOF_TYPE_STRING, (QofAccessFunc)gncCustomerGetID, NULL },
|
||||||
{ CUSTOMER_NAME, QOF_TYPE_STRING, (QofAccessFunc)gncCustomerGetName },
|
{ CUSTOMER_NAME, QOF_TYPE_STRING, (QofAccessFunc)gncCustomerGetName, NULL },
|
||||||
{ CUSTOMER_ADDR, GNC_ADDRESS_MODULE_NAME, (QofAccessFunc)gncCustomerGetAddr },
|
{ CUSTOMER_ADDR, GNC_ADDRESS_MODULE_NAME, (QofAccessFunc)gncCustomerGetAddr, NULL },
|
||||||
{ CUSTOMER_SHIPADDR, GNC_ADDRESS_MODULE_NAME, (QofAccessFunc)gncCustomerGetShipAddr },
|
{ CUSTOMER_SHIPADDR, GNC_ADDRESS_MODULE_NAME, (QofAccessFunc)gncCustomerGetShipAddr, NULL },
|
||||||
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncCustomerGetBook },
|
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncCustomerGetBook, NULL },
|
||||||
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncCustomerGetGUID },
|
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncCustomerGetGUID, NULL },
|
||||||
{ QOF_QUERY_PARAM_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncCustomerGetActive },
|
{ QOF_QUERY_PARAM_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncCustomerGetActive, NULL },
|
||||||
{ NULL },
|
{ NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
qof_query_object_register (_GNC_MOD_NAME, (QofSortFunc)gncCustomerCompare,params);
|
qof_class_register (_GNC_MOD_NAME, (QofSortFunc)gncCustomerCompare,params);
|
||||||
|
|
||||||
return qof_object_register (&gncCustomerDesc);
|
return qof_object_register (&gncCustomerDesc);
|
||||||
}
|
}
|
||||||
|
@ -430,16 +430,16 @@ static QofObject gncEmployeeDesc = {
|
|||||||
gboolean gncEmployeeRegister (void)
|
gboolean gncEmployeeRegister (void)
|
||||||
{
|
{
|
||||||
static QofParam params[] = {
|
static QofParam params[] = {
|
||||||
{ EMPLOYEE_ID, QOF_TYPE_STRING, (QofAccessFunc)gncEmployeeGetID },
|
{ EMPLOYEE_ID, QOF_TYPE_STRING, (QofAccessFunc)gncEmployeeGetID, NULL },
|
||||||
{ EMPLOYEE_USERNAME, QOF_TYPE_STRING, (QofAccessFunc)gncEmployeeGetUsername },
|
{ EMPLOYEE_USERNAME, QOF_TYPE_STRING, (QofAccessFunc)gncEmployeeGetUsername, NULL },
|
||||||
{ EMPLOYEE_ADDR, GNC_ADDRESS_MODULE_NAME, (QofAccessFunc)gncEmployeeGetAddr },
|
{ EMPLOYEE_ADDR, GNC_ADDRESS_MODULE_NAME, (QofAccessFunc)gncEmployeeGetAddr, NULL },
|
||||||
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncEmployeeGetBook },
|
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncEmployeeGetBook, NULL },
|
||||||
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncEmployeeGetGUID },
|
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncEmployeeGetGUID, NULL },
|
||||||
{ QOF_QUERY_PARAM_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncEmployeeGetActive },
|
{ QOF_QUERY_PARAM_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncEmployeeGetActive, NULL },
|
||||||
{ NULL },
|
{ NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
qof_query_object_register (_GNC_MOD_NAME, (QofSortFunc)gncEmployeeCompare,params);
|
qof_class_register (_GNC_MOD_NAME, (QofSortFunc)gncEmployeeCompare,params);
|
||||||
|
|
||||||
return qof_object_register (&gncEmployeeDesc);
|
return qof_object_register (&gncEmployeeDesc);
|
||||||
}
|
}
|
||||||
|
@ -1205,25 +1205,25 @@ static QofObject gncEntryDesc = {
|
|||||||
gboolean gncEntryRegister (void)
|
gboolean gncEntryRegister (void)
|
||||||
{
|
{
|
||||||
static QofParam params[] = {
|
static QofParam params[] = {
|
||||||
{ ENTRY_DATE, QOF_TYPE_DATE, (QofAccessFunc)gncEntryGetDate },
|
{ ENTRY_DATE, QOF_TYPE_DATE, (QofAccessFunc)gncEntryGetDate, NULL },
|
||||||
{ ENTRY_DATE_ENTERED, QOF_TYPE_DATE, (QofAccessFunc)gncEntryGetDateEntered },
|
{ ENTRY_DATE_ENTERED, QOF_TYPE_DATE, (QofAccessFunc)gncEntryGetDateEntered, NULL },
|
||||||
{ ENTRY_DESC, QOF_TYPE_STRING, (QofAccessFunc)gncEntryGetDescription },
|
{ ENTRY_DESC, QOF_TYPE_STRING, (QofAccessFunc)gncEntryGetDescription, NULL },
|
||||||
{ ENTRY_ACTION, QOF_TYPE_STRING, (QofAccessFunc)gncEntryGetAction },
|
{ ENTRY_ACTION, QOF_TYPE_STRING, (QofAccessFunc)gncEntryGetAction, NULL },
|
||||||
{ ENTRY_NOTES, QOF_TYPE_STRING, (QofAccessFunc)gncEntryGetNotes },
|
{ ENTRY_NOTES, QOF_TYPE_STRING, (QofAccessFunc)gncEntryGetNotes, NULL },
|
||||||
{ ENTRY_QTY, QOF_TYPE_NUMERIC, (QofAccessFunc)gncEntryGetQuantity },
|
{ ENTRY_QTY, QOF_TYPE_NUMERIC, (QofAccessFunc)gncEntryGetQuantity, NULL },
|
||||||
{ ENTRY_IPRICE, QOF_TYPE_NUMERIC, (QofAccessFunc)gncEntryGetInvPrice },
|
{ ENTRY_IPRICE, QOF_TYPE_NUMERIC, (QofAccessFunc)gncEntryGetInvPrice, NULL },
|
||||||
{ ENTRY_BPRICE, QOF_TYPE_NUMERIC, (QofAccessFunc)gncEntryGetBillPrice },
|
{ ENTRY_BPRICE, QOF_TYPE_NUMERIC, (QofAccessFunc)gncEntryGetBillPrice, NULL },
|
||||||
{ ENTRY_INVOICE, GNC_INVOICE_MODULE_NAME, (QofAccessFunc)gncEntryGetInvoice },
|
{ ENTRY_INVOICE, GNC_INVOICE_MODULE_NAME, (QofAccessFunc)gncEntryGetInvoice, NULL },
|
||||||
{ ENTRY_BILL, GNC_INVOICE_MODULE_NAME, (QofAccessFunc)gncEntryGetBill },
|
{ ENTRY_BILL, GNC_INVOICE_MODULE_NAME, (QofAccessFunc)gncEntryGetBill, NULL },
|
||||||
{ ENTRY_BILLABLE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncEntryGetBillable },
|
{ ENTRY_BILLABLE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncEntryGetBillable, NULL },
|
||||||
{ ENTRY_BILLTO, GNC_OWNER_MODULE_NAME, (QofAccessFunc)gncEntryGetBillTo },
|
{ ENTRY_BILLTO, GNC_OWNER_MODULE_NAME, (QofAccessFunc)gncEntryGetBillTo, NULL },
|
||||||
{ ENTRY_ORDER, GNC_ORDER_MODULE_NAME, (QofAccessFunc)gncEntryGetOrder },
|
{ ENTRY_ORDER, GNC_ORDER_MODULE_NAME, (QofAccessFunc)gncEntryGetOrder, NULL },
|
||||||
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncEntryGetBook },
|
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncEntryGetBook, NULL },
|
||||||
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncEntryGetGUID },
|
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncEntryGetGUID, NULL },
|
||||||
{ NULL },
|
{ NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
qof_query_object_register (_GNC_MOD_NAME, (QofSortFunc)gncEntryCompare, params);
|
qof_class_register (_GNC_MOD_NAME, (QofSortFunc)gncEntryCompare, params);
|
||||||
|
|
||||||
return qof_object_register (&gncEntryDesc);
|
return qof_object_register (&gncEntryDesc);
|
||||||
}
|
}
|
||||||
|
@ -1371,11 +1371,11 @@ reg_lot (void)
|
|||||||
{
|
{
|
||||||
static QofParam params[] = {
|
static QofParam params[] = {
|
||||||
{ INVOICE_FROM_LOT, _GNC_MOD_NAME,
|
{ INVOICE_FROM_LOT, _GNC_MOD_NAME,
|
||||||
(QofAccessFunc)gncInvoiceGetInvoiceFromLot },
|
(QofAccessFunc)gncInvoiceGetInvoiceFromLot, NULL },
|
||||||
{ NULL },
|
{ NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
qof_query_object_register (GNC_ID_LOT, NULL, params);
|
qof_class_register (GNC_ID_LOT, NULL, params);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -1383,38 +1383,38 @@ reg_txn (void)
|
|||||||
{
|
{
|
||||||
static QofParam params[] = {
|
static QofParam params[] = {
|
||||||
{ INVOICE_FROM_TXN, _GNC_MOD_NAME,
|
{ INVOICE_FROM_TXN, _GNC_MOD_NAME,
|
||||||
(QofAccessFunc)gncInvoiceGetInvoiceFromTxn },
|
(QofAccessFunc)gncInvoiceGetInvoiceFromTxn, NULL },
|
||||||
{ NULL },
|
{ NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
qof_query_object_register (GNC_ID_TRANS, NULL, params);
|
qof_class_register (GNC_ID_TRANS, NULL, params);
|
||||||
}
|
}
|
||||||
|
|
||||||
gboolean gncInvoiceRegister (void)
|
gboolean gncInvoiceRegister (void)
|
||||||
{
|
{
|
||||||
static QofParam params[] = {
|
static QofParam params[] = {
|
||||||
{ INVOICE_ID, QOF_TYPE_STRING, (QofAccessFunc)gncInvoiceGetID },
|
{ INVOICE_ID, QOF_TYPE_STRING, (QofAccessFunc)gncInvoiceGetID, NULL },
|
||||||
{ INVOICE_OWNER, GNC_OWNER_MODULE_NAME, (QofAccessFunc)gncInvoiceGetOwner },
|
{ INVOICE_OWNER, GNC_OWNER_MODULE_NAME, (QofAccessFunc)gncInvoiceGetOwner, NULL },
|
||||||
{ INVOICE_OPENED, QOF_TYPE_DATE, (QofAccessFunc)gncInvoiceGetDateOpened },
|
{ INVOICE_OPENED, QOF_TYPE_DATE, (QofAccessFunc)gncInvoiceGetDateOpened, NULL },
|
||||||
{ INVOICE_DUE, QOF_TYPE_DATE, (QofAccessFunc)gncInvoiceGetDateDue },
|
{ INVOICE_DUE, QOF_TYPE_DATE, (QofAccessFunc)gncInvoiceGetDateDue, NULL },
|
||||||
{ INVOICE_POSTED, QOF_TYPE_DATE, (QofAccessFunc)gncInvoiceGetDatePosted },
|
{ INVOICE_POSTED, QOF_TYPE_DATE, (QofAccessFunc)gncInvoiceGetDatePosted, NULL },
|
||||||
{ INVOICE_IS_POSTED, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncInvoiceIsPosted },
|
{ INVOICE_IS_POSTED, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncInvoiceIsPosted, NULL },
|
||||||
{ INVOICE_IS_PAID, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncInvoiceIsPaid },
|
{ INVOICE_IS_PAID, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncInvoiceIsPaid, NULL },
|
||||||
{ INVOICE_BILLINGID, QOF_TYPE_STRING, (QofAccessFunc)gncInvoiceGetBillingID },
|
{ INVOICE_BILLINGID, QOF_TYPE_STRING, (QofAccessFunc)gncInvoiceGetBillingID, NULL },
|
||||||
{ INVOICE_NOTES, QOF_TYPE_STRING, (QofAccessFunc)gncInvoiceGetNotes },
|
{ INVOICE_NOTES, QOF_TYPE_STRING, (QofAccessFunc)gncInvoiceGetNotes, NULL },
|
||||||
{ INVOICE_ACC, GNC_ID_ACCOUNT, (QofAccessFunc)gncInvoiceGetPostedAcc },
|
{ INVOICE_ACC, GNC_ID_ACCOUNT, (QofAccessFunc)gncInvoiceGetPostedAcc, NULL },
|
||||||
{ INVOICE_POST_TXN, GNC_ID_TRANS, (QofAccessFunc)gncInvoiceGetPostedTxn },
|
{ INVOICE_POST_TXN, GNC_ID_TRANS, (QofAccessFunc)gncInvoiceGetPostedTxn, NULL },
|
||||||
{ INVOICE_POST_LOT, GNC_ID_LOT, (QofAccessFunc)gncInvoiceGetPostedLot },
|
{ INVOICE_POST_LOT, GNC_ID_LOT, (QofAccessFunc)gncInvoiceGetPostedLot, NULL },
|
||||||
{ INVOICE_TYPE, QOF_TYPE_STRING, (QofAccessFunc)gncInvoiceGetType },
|
{ INVOICE_TYPE, QOF_TYPE_STRING, (QofAccessFunc)gncInvoiceGetType, NULL },
|
||||||
{ INVOICE_TERMS, GNC_BILLTERM_MODULE_NAME, (QofAccessFunc)gncInvoiceGetTerms },
|
{ INVOICE_TERMS, GNC_BILLTERM_MODULE_NAME, (QofAccessFunc)gncInvoiceGetTerms, NULL },
|
||||||
{ INVOICE_BILLTO, GNC_OWNER_MODULE_NAME, (QofAccessFunc)gncInvoiceGetBillTo },
|
{ INVOICE_BILLTO, GNC_OWNER_MODULE_NAME, (QofAccessFunc)gncInvoiceGetBillTo, NULL },
|
||||||
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncInvoiceGetBook },
|
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncInvoiceGetBook, NULL },
|
||||||
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncInvoiceGetGUID },
|
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncInvoiceGetGUID, NULL },
|
||||||
{ QOF_QUERY_PARAM_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncInvoiceGetActive },
|
{ QOF_QUERY_PARAM_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncInvoiceGetActive, NULL },
|
||||||
{ NULL },
|
{ NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
qof_query_object_register (_GNC_MOD_NAME, (QofSortFunc)gncInvoiceCompare, params);
|
qof_class_register (_GNC_MOD_NAME, (QofSortFunc)gncInvoiceCompare, params);
|
||||||
reg_lot ();
|
reg_lot ();
|
||||||
reg_txn ();
|
reg_txn ();
|
||||||
|
|
||||||
|
@ -383,18 +383,18 @@ static QofObject gncJobDesc = {
|
|||||||
gboolean gncJobRegister (void)
|
gboolean gncJobRegister (void)
|
||||||
{
|
{
|
||||||
static QofParam params[] = {
|
static QofParam params[] = {
|
||||||
{ JOB_ID, QOF_TYPE_STRING, (QofAccessFunc)gncJobGetID },
|
{ JOB_ID, QOF_TYPE_STRING, (QofAccessFunc)gncJobGetID, NULL },
|
||||||
{ JOB_NAME, QOF_TYPE_STRING, (QofAccessFunc)gncJobGetName },
|
{ JOB_NAME, QOF_TYPE_STRING, (QofAccessFunc)gncJobGetName, NULL },
|
||||||
{ JOB_REFERENCE, QOF_TYPE_STRING, (QofAccessFunc)gncJobGetReference },
|
{ JOB_REFERENCE, QOF_TYPE_STRING, (QofAccessFunc)gncJobGetReference, NULL },
|
||||||
{ JOB_OWNER, GNC_OWNER_MODULE_NAME, (QofAccessFunc)gncJobGetOwner },
|
{ JOB_OWNER, GNC_OWNER_MODULE_NAME, (QofAccessFunc)gncJobGetOwner, NULL },
|
||||||
{ JOB_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncJobGetActive },
|
{ JOB_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncJobGetActive, NULL },
|
||||||
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncJobGetBook },
|
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncJobGetBook, NULL },
|
||||||
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncJobGetGUID },
|
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncJobGetGUID, NULL },
|
||||||
{ QOF_QUERY_PARAM_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncJobGetActive },
|
{ QOF_QUERY_PARAM_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncJobGetActive, NULL },
|
||||||
{ NULL },
|
{ NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
qof_query_object_register (_GNC_MOD_NAME, (QofSortFunc)gncJobCompare, params);
|
qof_class_register (_GNC_MOD_NAME, (QofSortFunc)gncJobCompare, params);
|
||||||
|
|
||||||
return qof_object_register (&gncJobDesc);
|
return qof_object_register (&gncJobDesc);
|
||||||
}
|
}
|
||||||
|
@ -437,20 +437,20 @@ static QofObject gncOrderDesc = {
|
|||||||
gboolean gncOrderRegister (void)
|
gboolean gncOrderRegister (void)
|
||||||
{
|
{
|
||||||
static QofParam params[] = {
|
static QofParam params[] = {
|
||||||
{ ORDER_ID, QOF_TYPE_STRING, (QofAccessFunc)gncOrderGetID },
|
{ ORDER_ID, QOF_TYPE_STRING, (QofAccessFunc)gncOrderGetID, NULL },
|
||||||
{ ORDER_REFERENCE, QOF_TYPE_STRING, (QofAccessFunc)gncOrderGetReference },
|
{ ORDER_REFERENCE, QOF_TYPE_STRING, (QofAccessFunc)gncOrderGetReference, NULL },
|
||||||
{ ORDER_OWNER, GNC_OWNER_MODULE_NAME, (QofAccessFunc)gncOrderGetOwner },
|
{ ORDER_OWNER, GNC_OWNER_MODULE_NAME, (QofAccessFunc)gncOrderGetOwner, NULL },
|
||||||
{ ORDER_OPENED, QOF_TYPE_DATE, (QofAccessFunc)gncOrderGetDateOpened },
|
{ ORDER_OPENED, QOF_TYPE_DATE, (QofAccessFunc)gncOrderGetDateOpened, NULL },
|
||||||
{ ORDER_IS_CLOSED, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncOrderIsClosed },
|
{ ORDER_IS_CLOSED, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncOrderIsClosed, NULL },
|
||||||
{ ORDER_CLOSED, QOF_TYPE_DATE, (QofAccessFunc)gncOrderGetDateClosed },
|
{ ORDER_CLOSED, QOF_TYPE_DATE, (QofAccessFunc)gncOrderGetDateClosed, NULL },
|
||||||
{ ORDER_NOTES, QOF_TYPE_STRING, (QofAccessFunc)gncOrderGetNotes },
|
{ ORDER_NOTES, QOF_TYPE_STRING, (QofAccessFunc)gncOrderGetNotes, NULL },
|
||||||
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncOrderGetBook },
|
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncOrderGetBook, NULL },
|
||||||
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncOrderGetGUID },
|
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncOrderGetGUID, NULL },
|
||||||
{ QOF_QUERY_PARAM_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncOrderGetActive },
|
{ QOF_QUERY_PARAM_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncOrderGetActive, NULL },
|
||||||
{ NULL },
|
{ NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
qof_query_object_register (_GNC_MOD_NAME, (QofSortFunc)gncOrderCompare, params);
|
qof_class_register (_GNC_MOD_NAME, (QofSortFunc)gncOrderCompare, params);
|
||||||
|
|
||||||
return qof_object_register (&gncOrderDesc);
|
return qof_object_register (&gncOrderDesc);
|
||||||
}
|
}
|
||||||
|
@ -330,30 +330,30 @@ static void
|
|||||||
reg_lot (void)
|
reg_lot (void)
|
||||||
{
|
{
|
||||||
static QofParam params[] = {
|
static QofParam params[] = {
|
||||||
{ OWNER_FROM_LOT, _GNC_MOD_NAME, (QofAccessFunc)owner_from_lot },
|
{ OWNER_FROM_LOT, _GNC_MOD_NAME, (QofAccessFunc)owner_from_lot, NULL },
|
||||||
{ NULL },
|
{ NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
qof_query_object_register (GNC_ID_LOT, NULL, params);
|
qof_class_register (GNC_ID_LOT, NULL, params);
|
||||||
}
|
}
|
||||||
|
|
||||||
gboolean gncOwnerRegister (void)
|
gboolean gncOwnerRegister (void)
|
||||||
{
|
{
|
||||||
static QofParam params[] = {
|
static QofParam params[] = {
|
||||||
{ OWNER_TYPE, QOF_TYPE_INT64, (QofAccessFunc)gncOwnerGetType },
|
{ OWNER_TYPE, QOF_TYPE_INT64, (QofAccessFunc)gncOwnerGetType, NULL },
|
||||||
{ OWNER_CUSTOMER, GNC_CUSTOMER_MODULE_NAME,
|
{ OWNER_CUSTOMER, GNC_CUSTOMER_MODULE_NAME,
|
||||||
(QofAccessFunc)gncOwnerGetCustomer },
|
(QofAccessFunc)gncOwnerGetCustomer, NULL },
|
||||||
{ OWNER_JOB, GNC_JOB_MODULE_NAME, (QofAccessFunc)gncOwnerGetJob },
|
{ OWNER_JOB, GNC_JOB_MODULE_NAME, (QofAccessFunc)gncOwnerGetJob, NULL },
|
||||||
{ OWNER_VENDOR, GNC_VENDOR_MODULE_NAME, (QofAccessFunc)gncOwnerGetVendor },
|
{ OWNER_VENDOR, GNC_VENDOR_MODULE_NAME, (QofAccessFunc)gncOwnerGetVendor, NULL },
|
||||||
{ OWNER_EMPLOYEE, GNC_EMPLOYEE_MODULE_NAME, (QofAccessFunc)gncOwnerGetEmployee },
|
{ OWNER_EMPLOYEE, GNC_EMPLOYEE_MODULE_NAME, (QofAccessFunc)gncOwnerGetEmployee, NULL },
|
||||||
{ OWNER_PARENT, _GNC_MOD_NAME, (QofAccessFunc)gncOwnerGetEndOwner },
|
{ OWNER_PARENT, _GNC_MOD_NAME, (QofAccessFunc)gncOwnerGetEndOwner, NULL },
|
||||||
{ OWNER_PARENTG, QOF_TYPE_GUID, (QofAccessFunc)gncOwnerGetEndGUID },
|
{ OWNER_PARENTG, QOF_TYPE_GUID, (QofAccessFunc)gncOwnerGetEndGUID, NULL },
|
||||||
{ OWNER_NAME, QOF_TYPE_STRING, (QofAccessFunc)gncOwnerGetName },
|
{ OWNER_NAME, QOF_TYPE_STRING, (QofAccessFunc)gncOwnerGetName, NULL },
|
||||||
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncOwnerGetGUID },
|
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncOwnerGetGUID, NULL },
|
||||||
{ NULL },
|
{ NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
qof_query_object_register (_GNC_MOD_NAME, (QofSortFunc)gncOwnerCompare, params);
|
qof_class_register (_GNC_MOD_NAME, (QofSortFunc)gncOwnerCompare, params);
|
||||||
reg_lot ();
|
reg_lot ();
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -762,12 +762,12 @@ static QofObject gncTaxTableDesc = {
|
|||||||
gboolean gncTaxTableRegister (void)
|
gboolean gncTaxTableRegister (void)
|
||||||
{
|
{
|
||||||
static QofParam params[] = {
|
static QofParam params[] = {
|
||||||
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncTaxTableGetBook },
|
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncTaxTableGetBook, NULL },
|
||||||
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncTaxTableGetGUID },
|
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncTaxTableGetGUID, NULL },
|
||||||
{ NULL },
|
{ NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
qof_query_object_register (_GNC_MOD_NAME, (QofSortFunc)gncTaxTableCompare, params);
|
qof_class_register (_GNC_MOD_NAME, (QofSortFunc)gncTaxTableCompare, params);
|
||||||
|
|
||||||
return qof_object_register (&gncTaxTableDesc);
|
return qof_object_register (&gncTaxTableDesc);
|
||||||
}
|
}
|
||||||
|
@ -491,16 +491,16 @@ static QofObject gncVendorDesc = {
|
|||||||
gboolean gncVendorRegister (void)
|
gboolean gncVendorRegister (void)
|
||||||
{
|
{
|
||||||
static QofParam params[] = {
|
static QofParam params[] = {
|
||||||
{ VENDOR_ID, QOF_TYPE_STRING, (QofAccessFunc)gncVendorGetID },
|
{ VENDOR_ID, QOF_TYPE_STRING, (QofAccessFunc)gncVendorGetID, NULL },
|
||||||
{ VENDOR_NAME, QOF_TYPE_STRING, (QofAccessFunc)gncVendorGetName },
|
{ VENDOR_NAME, QOF_TYPE_STRING, (QofAccessFunc)gncVendorGetName, NULL },
|
||||||
{ VENDOR_ADDR, GNC_ADDRESS_MODULE_NAME, (QofAccessFunc)gncVendorGetAddr },
|
{ VENDOR_ADDR, GNC_ADDRESS_MODULE_NAME, (QofAccessFunc)gncVendorGetAddr, NULL },
|
||||||
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncVendorGetBook },
|
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncVendorGetBook, NULL },
|
||||||
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncVendorGetGUID },
|
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncVendorGetGUID, NULL },
|
||||||
{ QOF_QUERY_PARAM_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncVendorGetActive },
|
{ QOF_QUERY_PARAM_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncVendorGetActive, NULL },
|
||||||
{ NULL },
|
{ NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
qof_query_object_register (_GNC_MOD_NAME, (QofSortFunc)gncVendorCompare, params);
|
qof_class_register (_GNC_MOD_NAME, (QofSortFunc)gncVendorCompare, params);
|
||||||
|
|
||||||
return qof_object_register (&gncVendorDesc);
|
return qof_object_register (&gncVendorDesc);
|
||||||
}
|
}
|
||||||
|
@ -3008,23 +3008,23 @@ static QofObject account_object_def = {
|
|||||||
gboolean xaccAccountRegister (void)
|
gboolean xaccAccountRegister (void)
|
||||||
{
|
{
|
||||||
static QofParam params[] = {
|
static QofParam params[] = {
|
||||||
{ ACCOUNT_KVP, QOF_TYPE_KVP, (QofAccessFunc)xaccAccountGetSlots },
|
{ ACCOUNT_KVP, QOF_TYPE_KVP, (QofAccessFunc)xaccAccountGetSlots, NULL },
|
||||||
{ ACCOUNT_NAME_, QOF_TYPE_STRING, (QofAccessFunc)xaccAccountGetName },
|
{ ACCOUNT_NAME_, QOF_TYPE_STRING, (QofAccessFunc)xaccAccountGetName, NULL },
|
||||||
{ ACCOUNT_CODE_, QOF_TYPE_STRING, (QofAccessFunc)xaccAccountGetCode },
|
{ ACCOUNT_CODE_, QOF_TYPE_STRING, (QofAccessFunc)xaccAccountGetCode, NULL },
|
||||||
{ ACCOUNT_DESCRIPTION_, QOF_TYPE_STRING, (QofAccessFunc)xaccAccountGetDescription },
|
{ ACCOUNT_DESCRIPTION_, QOF_TYPE_STRING, (QofAccessFunc)xaccAccountGetDescription, NULL },
|
||||||
{ ACCOUNT_NOTES_, QOF_TYPE_STRING, (QofAccessFunc)xaccAccountGetNotes },
|
{ ACCOUNT_NOTES_, QOF_TYPE_STRING, (QofAccessFunc)xaccAccountGetNotes, NULL },
|
||||||
{ ACCOUNT_PRESENT_, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccAccountGetPresentBalance },
|
{ ACCOUNT_PRESENT_, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccAccountGetPresentBalance, NULL },
|
||||||
{ ACCOUNT_BALANCE_, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccAccountGetBalance },
|
{ ACCOUNT_BALANCE_, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccAccountGetBalance, NULL },
|
||||||
{ ACCOUNT_CLEARED_, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccAccountGetClearedBalance },
|
{ ACCOUNT_CLEARED_, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccAccountGetClearedBalance, NULL },
|
||||||
{ ACCOUNT_RECONCILED_, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccAccountGetReconciledBalance },
|
{ ACCOUNT_RECONCILED_, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccAccountGetReconciledBalance, NULL },
|
||||||
{ ACCOUNT_FUTURE_MINIMUM_, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccAccountGetProjectedMinimumBalance },
|
{ ACCOUNT_FUTURE_MINIMUM_, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccAccountGetProjectedMinimumBalance, NULL },
|
||||||
{ ACCOUNT_TAX_RELATED, QOF_TYPE_BOOLEAN, (QofAccessFunc)xaccAccountGetTaxRelated },
|
{ ACCOUNT_TAX_RELATED, QOF_TYPE_BOOLEAN, (QofAccessFunc)xaccAccountGetTaxRelated, NULL },
|
||||||
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)xaccAccountGetBook },
|
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)xaccAccountGetBook, NULL },
|
||||||
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)xaccAccountGetGUID },
|
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)xaccAccountGetGUID, NULL },
|
||||||
{ NULL },
|
{ NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
qof_query_object_register (GNC_ID_ACCOUNT, (QofSortFunc)xaccAccountOrder, params);
|
qof_class_register (GNC_ID_ACCOUNT, (QofSortFunc)xaccAccountOrder, params);
|
||||||
|
|
||||||
return qof_object_register (&account_object_def);
|
return qof_object_register (&account_object_def);
|
||||||
}
|
}
|
||||||
|
@ -5,11 +5,8 @@
|
|||||||
#define QueryObjectDef QofParam
|
#define QueryObjectDef QofParam
|
||||||
#define QuerySort QofSortFunc
|
#define QuerySort QofSortFunc
|
||||||
|
|
||||||
#define gncQueryObjectRegister qof_query_object_register
|
#define gncQueryObjectRegister qof_class_register
|
||||||
#define gncQueryObjectParameterType qof_query_object_parameter_type
|
#define gncQueryObjectParameterType qof_class_get_parameter_type
|
||||||
#define gncQueryObjectGetParameterGetter qof_query_object_get_parameter_getter
|
#define gncQueryObjectGetParameterGetter qof_class_get_parameter_getter
|
||||||
#define gncQueryObjectGetParameter qof_query_object_get_parameter
|
#define gncQueryObjectGetParameter qof_class_get_parameter
|
||||||
#define gncQueryObjectInit qof_query_object_init
|
|
||||||
#define gncQueryObjectShutdown qof_query_object_shutdown
|
|
||||||
#define gncQueryObjectDefaultSort qof_query_object_default_sort
|
|
||||||
|
|
||||||
|
@ -3433,52 +3433,52 @@ static gpointer no_op (gpointer obj)
|
|||||||
gboolean xaccSplitRegister (void)
|
gboolean xaccSplitRegister (void)
|
||||||
{
|
{
|
||||||
static const QofParam params[] = {
|
static const QofParam params[] = {
|
||||||
{ SPLIT_KVP, QOF_TYPE_KVP, (QofAccessFunc)xaccSplitGetSlots },
|
{ SPLIT_KVP, QOF_TYPE_KVP, (QofAccessFunc)xaccSplitGetSlots, NULL },
|
||||||
{ SPLIT_DATE_RECONCILED, QOF_TYPE_DATE,
|
{ SPLIT_DATE_RECONCILED, QOF_TYPE_DATE,
|
||||||
(QofAccessFunc)xaccSplitRetDateReconciledTS },
|
(QofAccessFunc)xaccSplitRetDateReconciledTS, NULL },
|
||||||
|
|
||||||
/* d-* are depricated query params, should not be used in new
|
/* d-* are depricated query params, should not be used in new
|
||||||
* queries, should be removed from old queries. */
|
* queries, should be removed from old queries. */
|
||||||
{ "d-share-amount", QOF_TYPE_DOUBLE,
|
{ "d-share-amount", QOF_TYPE_DOUBLE,
|
||||||
(QofAccessFunc)DxaccSplitGetShareAmount },
|
(QofAccessFunc)DxaccSplitGetShareAmount, NULL },
|
||||||
{ "d-share-int64", QOF_TYPE_INT64, (QofAccessFunc)xaccSplitGetGUID },
|
{ "d-share-int64", QOF_TYPE_INT64, (QofAccessFunc)xaccSplitGetGUID, NULL },
|
||||||
{ SPLIT_BALANCE, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccSplitGetBalance },
|
{ SPLIT_BALANCE, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccSplitGetBalance, NULL },
|
||||||
{ SPLIT_CLEARED_BALANCE, QOF_TYPE_NUMERIC,
|
{ SPLIT_CLEARED_BALANCE, QOF_TYPE_NUMERIC,
|
||||||
(QofAccessFunc)xaccSplitGetClearedBalance },
|
(QofAccessFunc)xaccSplitGetClearedBalance, NULL },
|
||||||
{ SPLIT_RECONCILED_BALANCE, QOF_TYPE_NUMERIC,
|
{ SPLIT_RECONCILED_BALANCE, QOF_TYPE_NUMERIC,
|
||||||
(QofAccessFunc)xaccSplitGetReconciledBalance },
|
(QofAccessFunc)xaccSplitGetReconciledBalance, NULL },
|
||||||
{ SPLIT_MEMO, QOF_TYPE_STRING, (QofAccessFunc)xaccSplitGetMemo },
|
{ SPLIT_MEMO, QOF_TYPE_STRING, (QofAccessFunc)xaccSplitGetMemo, NULL },
|
||||||
{ SPLIT_ACTION, QOF_TYPE_STRING, (QofAccessFunc)xaccSplitGetAction },
|
{ SPLIT_ACTION, QOF_TYPE_STRING, (QofAccessFunc)xaccSplitGetAction, NULL },
|
||||||
{ SPLIT_RECONCILE, QOF_TYPE_CHAR, (QofAccessFunc)xaccSplitGetReconcile },
|
{ SPLIT_RECONCILE, QOF_TYPE_CHAR, (QofAccessFunc)xaccSplitGetReconcile, NULL },
|
||||||
{ SPLIT_AMOUNT, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccSplitGetAmount },
|
{ SPLIT_AMOUNT, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccSplitGetAmount, NULL },
|
||||||
{ SPLIT_SHARE_PRICE, QOF_TYPE_NUMERIC,
|
{ SPLIT_SHARE_PRICE, QOF_TYPE_NUMERIC,
|
||||||
(QofAccessFunc)xaccSplitGetSharePrice },
|
(QofAccessFunc)xaccSplitGetSharePrice, NULL },
|
||||||
{ SPLIT_VALUE, QOF_TYPE_DEBCRED, (QofAccessFunc)xaccSplitGetValue },
|
{ SPLIT_VALUE, QOF_TYPE_DEBCRED, (QofAccessFunc)xaccSplitGetValue, NULL },
|
||||||
{ SPLIT_TYPE, QOF_TYPE_STRING, (QofAccessFunc)xaccSplitGetType },
|
{ SPLIT_TYPE, QOF_TYPE_STRING, (QofAccessFunc)xaccSplitGetType, NULL },
|
||||||
{ SPLIT_VOIDED_AMOUNT, QOF_TYPE_NUMERIC,
|
{ SPLIT_VOIDED_AMOUNT, QOF_TYPE_NUMERIC,
|
||||||
(QofAccessFunc)xaccSplitVoidFormerAmount },
|
(QofAccessFunc)xaccSplitVoidFormerAmount, NULL },
|
||||||
{ SPLIT_VOIDED_VALUE, QOF_TYPE_NUMERIC,
|
{ SPLIT_VOIDED_VALUE, QOF_TYPE_NUMERIC,
|
||||||
(QofAccessFunc)xaccSplitVoidFormerValue },
|
(QofAccessFunc)xaccSplitVoidFormerValue, NULL },
|
||||||
{ SPLIT_LOT, GNC_ID_LOT, (QofAccessFunc)xaccSplitGetLot },
|
{ SPLIT_LOT, GNC_ID_LOT, (QofAccessFunc)xaccSplitGetLot, NULL },
|
||||||
{ SPLIT_TRANS, GNC_ID_TRANS, (QofAccessFunc)xaccSplitGetParent },
|
{ SPLIT_TRANS, GNC_ID_TRANS, (QofAccessFunc)xaccSplitGetParent, NULL },
|
||||||
{ SPLIT_ACCOUNT, GNC_ID_ACCOUNT, (QofAccessFunc)xaccSplitGetAccount },
|
{ SPLIT_ACCOUNT, GNC_ID_ACCOUNT, (QofAccessFunc)xaccSplitGetAccount, NULL },
|
||||||
{ SPLIT_ACCOUNT_GUID, QOF_TYPE_GUID, split_account_guid_getter },
|
{ SPLIT_ACCOUNT_GUID, QOF_TYPE_GUID, split_account_guid_getter, NULL },
|
||||||
{ SPLIT_ACCT_FULLNAME, SPLIT_ACCT_FULLNAME, no_op },
|
{ SPLIT_ACCT_FULLNAME, SPLIT_ACCT_FULLNAME, no_op, NULL },
|
||||||
{ SPLIT_CORR_ACCT_NAME, SPLIT_CORR_ACCT_NAME, no_op },
|
{ SPLIT_CORR_ACCT_NAME, SPLIT_CORR_ACCT_NAME, no_op, NULL },
|
||||||
{ SPLIT_CORR_ACCT_CODE, SPLIT_CORR_ACCT_CODE, no_op },
|
{ SPLIT_CORR_ACCT_CODE, SPLIT_CORR_ACCT_CODE, no_op, NULL },
|
||||||
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)xaccSplitGetBook },
|
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)xaccSplitGetBook, NULL },
|
||||||
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc) xaccSplitGetGUID },
|
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc) xaccSplitGetGUID, NULL },
|
||||||
{ NULL },
|
{ NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
qof_query_object_register (GNC_ID_SPLIT, (QofSortFunc)xaccSplitDateOrder, params);
|
qof_class_register (GNC_ID_SPLIT, (QofSortFunc)xaccSplitDateOrder, params);
|
||||||
qof_query_object_register (SPLIT_ACCT_FULLNAME,
|
qof_class_register (SPLIT_ACCT_FULLNAME,
|
||||||
(QofSortFunc)xaccSplitCompareAccountFullNames,
|
(QofSortFunc)xaccSplitCompareAccountFullNames,
|
||||||
NULL);
|
NULL);
|
||||||
qof_query_object_register (SPLIT_CORR_ACCT_NAME,
|
qof_class_register (SPLIT_CORR_ACCT_NAME,
|
||||||
(QofSortFunc)xaccSplitCompareOtherAccountFullNames,
|
(QofSortFunc)xaccSplitCompareOtherAccountFullNames,
|
||||||
NULL);
|
NULL);
|
||||||
qof_query_object_register (SPLIT_CORR_ACCT_CODE,
|
qof_class_register (SPLIT_CORR_ACCT_CODE,
|
||||||
(QofSortFunc)xaccSplitCompareOtherAccountCodes,
|
(QofSortFunc)xaccSplitCompareOtherAccountCodes,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
@ -3514,26 +3514,26 @@ trans_is_balanced_p (const Transaction *txn)
|
|||||||
gboolean xaccTransRegister (void)
|
gboolean xaccTransRegister (void)
|
||||||
{
|
{
|
||||||
static QofParam params[] = {
|
static QofParam params[] = {
|
||||||
{ TRANS_KVP, QOF_TYPE_KVP, (QofAccessFunc)xaccTransGetSlots },
|
{ TRANS_KVP, QOF_TYPE_KVP, (QofAccessFunc)xaccTransGetSlots,NULL },
|
||||||
{ TRANS_NUM, QOF_TYPE_STRING, (QofAccessFunc)xaccTransGetNum },
|
{ TRANS_NUM, QOF_TYPE_STRING, (QofAccessFunc)xaccTransGetNum,NULL },
|
||||||
{ TRANS_DESCRIPTION, QOF_TYPE_STRING, (QofAccessFunc)xaccTransGetDescription },
|
{ TRANS_DESCRIPTION, QOF_TYPE_STRING, (QofAccessFunc)xaccTransGetDescription,NULL },
|
||||||
{ TRANS_DATE_ENTERED, QOF_TYPE_DATE, (QofAccessFunc)xaccTransRetDateEnteredTS },
|
{ TRANS_DATE_ENTERED, QOF_TYPE_DATE, (QofAccessFunc)xaccTransRetDateEnteredTS,NULL },
|
||||||
{ TRANS_DATE_POSTED, QOF_TYPE_DATE, (QofAccessFunc)xaccTransRetDatePostedTS },
|
{ TRANS_DATE_POSTED, QOF_TYPE_DATE, (QofAccessFunc)xaccTransRetDatePostedTS,NULL },
|
||||||
{ TRANS_DATE_DUE, QOF_TYPE_DATE, (QofAccessFunc)xaccTransRetDateDueTS },
|
{ TRANS_DATE_DUE, QOF_TYPE_DATE, (QofAccessFunc)xaccTransRetDateDueTS,NULL },
|
||||||
{ TRANS_IMBALANCE, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccTransGetImbalance },
|
{ TRANS_IMBALANCE, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccTransGetImbalance,NULL },
|
||||||
{ TRANS_NOTES, QOF_TYPE_STRING, (QofAccessFunc)xaccTransGetNotes },
|
{ TRANS_NOTES, QOF_TYPE_STRING, (QofAccessFunc)xaccTransGetNotes,NULL },
|
||||||
{ TRANS_IS_BALANCED, QOF_TYPE_BOOLEAN, (QofAccessFunc)trans_is_balanced_p },
|
{ TRANS_IS_BALANCED, QOF_TYPE_BOOLEAN, (QofAccessFunc)trans_is_balanced_p,NULL },
|
||||||
{ TRANS_TYPE, QOF_TYPE_CHAR, (QofAccessFunc)xaccTransGetTxnType },
|
{ TRANS_TYPE, QOF_TYPE_CHAR, (QofAccessFunc)xaccTransGetTxnType,NULL },
|
||||||
{ TRANS_VOID_STATUS, QOF_TYPE_BOOLEAN, (QofAccessFunc)xaccTransGetVoidStatus },
|
{ TRANS_VOID_STATUS, QOF_TYPE_BOOLEAN, (QofAccessFunc)xaccTransGetVoidStatus,NULL },
|
||||||
{ TRANS_VOID_REASON, QOF_TYPE_STRING, (QofAccessFunc)xaccTransGetVoidReason },
|
{ TRANS_VOID_REASON, QOF_TYPE_STRING, (QofAccessFunc)xaccTransGetVoidReason,NULL },
|
||||||
{ TRANS_VOID_TIME, QOF_TYPE_DATE, (QofAccessFunc)xaccTransGetVoidTime },
|
{ TRANS_VOID_TIME, QOF_TYPE_DATE, (QofAccessFunc)xaccTransGetVoidTime,NULL },
|
||||||
{ TRANS_SPLITLIST, GNC_ID_SPLIT, (QofAccessFunc)xaccTransGetSplitList },
|
{ TRANS_SPLITLIST, GNC_ID_SPLIT, (QofAccessFunc)xaccTransGetSplitList,NULL },
|
||||||
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)xaccTransGetBook },
|
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)xaccTransGetBook,NULL },
|
||||||
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)xaccTransGetGUID },
|
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)xaccTransGetGUID,NULL },
|
||||||
{ NULL },
|
{ NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
qof_query_object_register (GNC_ID_TRANS, (QofSortFunc)xaccTransOrder, params);
|
qof_class_register (GNC_ID_TRANS, (QofSortFunc)xaccTransOrder, params);
|
||||||
|
|
||||||
return qof_object_register (&trans_object_def);
|
return qof_object_register (&trans_object_def);
|
||||||
}
|
}
|
||||||
|
@ -379,14 +379,14 @@ gnc_lot_get_latest_split (GNCLot *lot)
|
|||||||
void gnc_lot_register (void)
|
void gnc_lot_register (void)
|
||||||
{
|
{
|
||||||
static const QofParam params[] = {
|
static const QofParam params[] = {
|
||||||
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gnc_lot_get_book },
|
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gnc_lot_get_book, NULL },
|
||||||
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gnc_lot_get_guid },
|
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gnc_lot_get_guid, NULL },
|
||||||
{ LOT_IS_CLOSED, QOF_TYPE_BOOLEAN, (QofAccessFunc)gnc_lot_is_closed },
|
{ LOT_IS_CLOSED, QOF_TYPE_BOOLEAN, (QofAccessFunc)gnc_lot_is_closed, NULL },
|
||||||
{ LOT_BALANCE, QOF_TYPE_NUMERIC, (QofAccessFunc)gnc_lot_get_balance },
|
{ LOT_BALANCE, QOF_TYPE_NUMERIC, (QofAccessFunc)gnc_lot_get_balance, NULL },
|
||||||
{ NULL },
|
{ NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
qof_query_object_register (GNC_ID_LOT, NULL, params);
|
qof_class_register (GNC_ID_LOT, NULL, params);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ========================== END OF FILE ========================= */
|
/* ========================== END OF FILE ========================= */
|
||||||
|
@ -2152,16 +2152,16 @@ gboolean
|
|||||||
gnc_pricedb_register (void)
|
gnc_pricedb_register (void)
|
||||||
{
|
{
|
||||||
static QofParam params[] = {
|
static QofParam params[] = {
|
||||||
{ PRICE_COMMODITY, GNC_ID_COMMODITY, (QofAccessFunc)gnc_price_get_commodity },
|
{ PRICE_COMMODITY, GNC_ID_COMMODITY, (QofAccessFunc)gnc_price_get_commodity, NULL },
|
||||||
{ PRICE_CURRENCY, GNC_ID_COMMODITY, (QofAccessFunc)gnc_price_get_currency },
|
{ PRICE_CURRENCY, GNC_ID_COMMODITY, (QofAccessFunc)gnc_price_get_currency, NULL },
|
||||||
{ PRICE_DATE, QOF_TYPE_DATE, (QofAccessFunc)gnc_price_get_time },
|
{ PRICE_DATE, QOF_TYPE_DATE, (QofAccessFunc)gnc_price_get_time, NULL },
|
||||||
{ PRICE_SOURCE, QOF_TYPE_STRING, (QofAccessFunc)gnc_price_get_source },
|
{ PRICE_SOURCE, QOF_TYPE_STRING, (QofAccessFunc)gnc_price_get_source, NULL },
|
||||||
{ PRICE_TYPE, QOF_TYPE_STRING, (QofAccessFunc)gnc_price_get_type },
|
{ PRICE_TYPE, QOF_TYPE_STRING, (QofAccessFunc)gnc_price_get_type, NULL },
|
||||||
{ PRICE_VALUE, QOF_TYPE_NUMERIC, (QofAccessFunc)gnc_price_get_value },
|
{ PRICE_VALUE, QOF_TYPE_NUMERIC, (QofAccessFunc)gnc_price_get_value, NULL },
|
||||||
{ NULL },
|
{ NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
qof_query_object_register (GNC_ID_PRICE, NULL, params);
|
qof_class_register (GNC_ID_PRICE, NULL, params);
|
||||||
|
|
||||||
return qof_object_register (&pricedb_object_def);
|
return qof_object_register (&pricedb_object_def);
|
||||||
}
|
}
|
||||||
|
@ -286,12 +286,12 @@ qof_book_get_counter (QofBook *book, const char *counter_name)
|
|||||||
gboolean qof_book_register (void)
|
gboolean qof_book_register (void)
|
||||||
{
|
{
|
||||||
static QofParam params[] = {
|
static QofParam params[] = {
|
||||||
{ QOF_BOOK_KVP, QOF_TYPE_KVP, (QofAccessFunc)qof_book_get_slots },
|
{ QOF_BOOK_KVP, QOF_TYPE_KVP, (QofAccessFunc)qof_book_get_slots, NULL },
|
||||||
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)qof_book_get_guid },
|
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)qof_book_get_guid, NULL },
|
||||||
{ NULL },
|
{ NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
qof_query_object_register (QOF_ID_BOOK, NULL, params);
|
qof_class_register (QOF_ID_BOOK, NULL, params);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
@ -442,7 +442,7 @@ static GSList * compile_params (GSList *param_list, QofIdType start_obj,
|
|||||||
for (; param_list; param_list = param_list->next)
|
for (; param_list; param_list = param_list->next)
|
||||||
{
|
{
|
||||||
QofIdType param_name = param_list->data;
|
QofIdType param_name = param_list->data;
|
||||||
objDef = qof_query_object_get_parameter (start_obj, param_name);
|
objDef = qof_class_get_parameter (start_obj, param_name);
|
||||||
|
|
||||||
/* If it doesn't exist, then we've reached the end */
|
/* If it doesn't exist, then we've reached the end */
|
||||||
if (!objDef) break;
|
if (!objDef) break;
|
||||||
@ -490,7 +490,7 @@ compile_sort (QofQuerySort *sort, QofIdType obj)
|
|||||||
/* Hrm, perhaps this is an object compare, not a core compare? */
|
/* Hrm, perhaps this is an object compare, not a core compare? */
|
||||||
if (sort->comp_fcn == NULL)
|
if (sort->comp_fcn == NULL)
|
||||||
{
|
{
|
||||||
sort->obj_cmp = qof_query_object_default_sort (resObj->param_type);
|
sort->obj_cmp = qof_class_get_default_sort (resObj->param_type);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (!safe_strcmp (sort->param_list->data, QUERY_DEFAULT_SORT))
|
else if (!safe_strcmp (sort->param_list->data, QUERY_DEFAULT_SORT))
|
||||||
@ -536,7 +536,7 @@ static void compile_terms (QofQuery *q)
|
|||||||
compile_sort (&(q->secondary_sort), q->search_for);
|
compile_sort (&(q->secondary_sort), q->search_for);
|
||||||
compile_sort (&(q->tertiary_sort), q->search_for);
|
compile_sort (&(q->tertiary_sort), q->search_for);
|
||||||
|
|
||||||
q->defaultSort = qof_query_object_default_sort (q->search_for);
|
q->defaultSort = qof_class_get_default_sort (q->search_for);
|
||||||
|
|
||||||
/* Now compile the backend instances */
|
/* Now compile the backend instances */
|
||||||
for (node = q->books; node; node = node->next) {
|
for (node = q->books; node; node = node->next) {
|
||||||
@ -1224,14 +1224,14 @@ void qof_query_add_boolean_match (QofQuery *q, GSList *param_list, gboolean valu
|
|||||||
|
|
||||||
void qof_query_init (void)
|
void qof_query_init (void)
|
||||||
{
|
{
|
||||||
PINFO("New Query Module Initialization");
|
ENTER (" ");
|
||||||
qof_query_core_init ();
|
qof_query_core_init ();
|
||||||
qof_query_object_init ();
|
qof_class_init ();
|
||||||
}
|
}
|
||||||
|
|
||||||
void qof_query_shutdown (void)
|
void qof_query_shutdown (void)
|
||||||
{
|
{
|
||||||
qof_query_object_shutdown ();
|
qof_class_shutdown ();
|
||||||
qof_query_core_shutdown ();
|
qof_query_core_shutdown ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,9 +26,9 @@
|
|||||||
|
|
||||||
#include "qofqueryobject.h"
|
#include "qofqueryobject.h"
|
||||||
|
|
||||||
void qof_query_object_init(void);
|
void qof_class_init(void);
|
||||||
void qof_query_object_shutdown (void);
|
void qof_class_shutdown (void);
|
||||||
|
|
||||||
QofSortFunc qof_query_object_default_sort (QofIdTypeConst obj_name);
|
QofSortFunc qof_class_get_default_sort (QofIdTypeConst obj_name);
|
||||||
|
|
||||||
#endif /* QOF_QUERYOBJECTP_H */
|
#endif /* QOF_QUERYOBJECTP_H */
|
||||||
|
@ -45,9 +45,9 @@ static gboolean clear_table (gpointer key, gpointer value, gpointer user_data)
|
|||||||
/********************************************************************/
|
/********************************************************************/
|
||||||
/* PUBLISHED API FUNCTIONS */
|
/* PUBLISHED API FUNCTIONS */
|
||||||
|
|
||||||
void qof_query_object_register (QofIdTypeConst obj_name,
|
void qof_class_register (QofIdTypeConst obj_name,
|
||||||
QofSortFunc default_sort_function,
|
QofSortFunc default_sort_function,
|
||||||
const QofParam *params)
|
const QofParam *params)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
@ -68,12 +68,12 @@ void qof_query_object_register (QofIdTypeConst obj_name,
|
|||||||
/* Now insert all the parameters */
|
/* Now insert all the parameters */
|
||||||
for (i = 0; params[i].param_name; i++)
|
for (i = 0; params[i].param_name; i++)
|
||||||
g_hash_table_insert (ht,
|
g_hash_table_insert (ht,
|
||||||
(char *)params[i].param_name,
|
(char *)params[i].param_name,
|
||||||
(gpointer)&(params[i]));
|
(gpointer)&(params[i]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void qof_query_object_init(void)
|
void qof_class_init(void)
|
||||||
{
|
{
|
||||||
if (initialized) return;
|
if (initialized) return;
|
||||||
initialized = TRUE;
|
initialized = TRUE;
|
||||||
@ -82,7 +82,7 @@ void qof_query_object_init(void)
|
|||||||
sortTable = g_hash_table_new (g_str_hash, g_str_equal);
|
sortTable = g_hash_table_new (g_str_hash, g_str_equal);
|
||||||
}
|
}
|
||||||
|
|
||||||
void qof_query_object_shutdown (void)
|
void qof_class_shutdown (void)
|
||||||
{
|
{
|
||||||
if (!initialized) return;
|
if (!initialized) return;
|
||||||
initialized = FALSE;
|
initialized = FALSE;
|
||||||
@ -93,8 +93,9 @@ void qof_query_object_shutdown (void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const QofParam * qof_query_object_get_parameter (QofIdTypeConst obj_name,
|
const QofParam *
|
||||||
const char *parameter)
|
qof_class_get_parameter (QofIdTypeConst obj_name,
|
||||||
|
const char *parameter)
|
||||||
{
|
{
|
||||||
GHashTable *ht;
|
GHashTable *ht;
|
||||||
|
|
||||||
@ -109,37 +110,57 @@ const QofParam * qof_query_object_get_parameter (QofIdTypeConst obj_name,
|
|||||||
return (g_hash_table_lookup (ht, parameter));
|
return (g_hash_table_lookup (ht, parameter));
|
||||||
}
|
}
|
||||||
|
|
||||||
QofAccessFunc qof_query_object_get_parameter_getter (QofIdTypeConst obj_name,
|
QofAccessFunc
|
||||||
const char *parameter)
|
qof_class_get_parameter_getter (QofIdTypeConst obj_name,
|
||||||
|
const char *parameter)
|
||||||
{
|
{
|
||||||
const QofParam *prm;
|
const QofParam *prm;
|
||||||
|
|
||||||
g_return_val_if_fail (obj_name, NULL);
|
g_return_val_if_fail (obj_name, NULL);
|
||||||
g_return_val_if_fail (parameter, NULL);
|
g_return_val_if_fail (parameter, NULL);
|
||||||
|
|
||||||
prm = qof_query_object_get_parameter (obj_name, parameter);
|
prm = qof_class_get_parameter (obj_name, parameter);
|
||||||
if (prm)
|
if (prm)
|
||||||
return prm->param_getfcn;
|
return prm->param_getfcn;
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
QofType qof_query_object_parameter_type (QofIdTypeConst obj_name,
|
QofSetterFunc
|
||||||
const char *param_name)
|
qof_class_get_parameter_setter (QofIdTypeConst obj_name,
|
||||||
|
const char *parameter)
|
||||||
|
{
|
||||||
|
const QofParam *prm;
|
||||||
|
|
||||||
|
g_return_val_if_fail (obj_name, NULL);
|
||||||
|
g_return_val_if_fail (parameter, NULL);
|
||||||
|
|
||||||
|
prm = qof_class_get_parameter (obj_name, parameter);
|
||||||
|
if (prm)
|
||||||
|
return prm->param_setfcn;
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
QofType
|
||||||
|
qof_class_get_parameter_type (QofIdTypeConst obj_name,
|
||||||
|
const char *param_name)
|
||||||
{
|
{
|
||||||
const QofParam *prm;
|
const QofParam *prm;
|
||||||
|
|
||||||
if (!obj_name || !param_name) return NULL;
|
if (!obj_name || !param_name) return NULL;
|
||||||
|
|
||||||
prm = qof_query_object_get_parameter (obj_name, param_name);
|
prm = qof_class_get_parameter (obj_name, param_name);
|
||||||
if (!prm) return NULL;
|
if (!prm) return NULL;
|
||||||
|
|
||||||
return (prm->param_type);
|
return (prm->param_type);
|
||||||
}
|
}
|
||||||
|
|
||||||
QofSortFunc
|
QofSortFunc
|
||||||
qof_query_object_default_sort (QofIdTypeConst obj_name)
|
qof_class_get_default_sort (QofIdTypeConst obj_name)
|
||||||
{
|
{
|
||||||
if (!obj_name) return NULL;
|
if (!obj_name) return NULL;
|
||||||
return g_hash_table_lookup (sortTable, obj_name);
|
return g_hash_table_lookup (sortTable, obj_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ============================= END OF FILE ======================== */
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/********************************************************************\
|
/********************************************************************\
|
||||||
* qofqueryobject.h -- API for registering queriable objects *
|
* qofclass.h -- API for registering paramters on objects *
|
||||||
* *
|
* *
|
||||||
* This program is free software; you can redistribute it and/or *
|
* This program is free software; you can redistribute it and/or *
|
||||||
* modify it under the terms of the GNU General Public License as *
|
* modify it under the terms of the GNU General Public License as *
|
||||||
@ -20,13 +20,21 @@
|
|||||||
* *
|
* *
|
||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
|
|
||||||
/** @file qofqueryobject.h
|
/** @file qofclass.h
|
||||||
@brief API for registering queriable objects
|
@brief API for registering paramters on objects
|
||||||
@author Copyright (C) 2002 Derek Atkins <warlord@MIT.EDU>
|
@author Copyright (C) 2002 Derek Atkins <warlord@MIT.EDU>
|
||||||
|
@author Copyright (C) 2003 Linas Vepstas <linas@linas.org>
|
||||||
|
|
||||||
|
This file defines a class messaging system reminiscent of
|
||||||
|
traditional OO-style setter and getter interfaces to object
|
||||||
|
properties. A C-language object can declare a collection
|
||||||
|
of setters and getters on itself that can then be used
|
||||||
|
to perform run-time (as opposed to compile-time) bindings
|
||||||
|
to the object.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef QOF_QUERYOBJECT_H
|
#ifndef QOF_CLASS_H
|
||||||
#define QOF_QUERYOBJECT_H
|
#define QOF_CLASS_H
|
||||||
|
|
||||||
#include "qofid.h"
|
#include "qofid.h"
|
||||||
|
|
||||||
@ -48,39 +56,55 @@
|
|||||||
/** Type of Paramters (String, Date, Numeric, GUID, etc.) */
|
/** Type of Paramters (String, Date, Numeric, GUID, etc.) */
|
||||||
typedef const char * QofType;
|
typedef const char * QofType;
|
||||||
|
|
||||||
/** The QofAccessFunc type defines an arbitrary function pointer
|
/** The QofAccessFunc defines an arbitrary function pointer
|
||||||
* for access functions. This is needed because C doesn't have
|
* for access functions. This is needed because C doesn't have
|
||||||
* templates, so we just cast a lot. Real functions must be of
|
* templates, so we just cast a lot. Real functions must be of
|
||||||
* the form:
|
* the form:
|
||||||
*
|
*
|
||||||
* <param_type> function (object_type *obj);
|
* param_type getter_func (object_type *self);
|
||||||
*/
|
*/
|
||||||
typedef gpointer (*QofAccessFunc)(gpointer);
|
typedef gpointer (*QofAccessFunc)(gpointer);
|
||||||
|
|
||||||
|
/** The QofSetterFunc defines an function pointer for parameter
|
||||||
|
* setters. Real functions must be of the form:
|
||||||
|
*
|
||||||
|
* void setter_func (object_type *self, param_type *param);
|
||||||
|
*/
|
||||||
|
typedef void (*QofSetterFunc) (gpointer, gpointer);
|
||||||
|
|
||||||
/** This structure is for each queriable parameter in an object
|
/** This structure is for each queriable parameter in an object
|
||||||
*
|
*
|
||||||
* -- param_name is the name of the parameter.
|
* -- param_name is the name of the parameter.
|
||||||
* -- param_type is the type of the parameter, which can be either another
|
* -- param_type is the type of the parameter, which can be either another
|
||||||
* object (QofIdType) or it can be a core data type (QofType).
|
* object (QofIdType) or it can be a core data type (QofType).
|
||||||
* -- param_getgcn is the function to actually obtain the parameter
|
* -- param_getfcn is the function to actually obtain the parameter
|
||||||
|
* -- param_setfcn is the function to actually set the parameter
|
||||||
|
*
|
||||||
|
* Either the getter or the setter may be NULL.
|
||||||
*/
|
*/
|
||||||
typedef struct _QofParam
|
typedef struct _QofParam
|
||||||
{
|
{
|
||||||
const char * param_name;
|
const char * param_name;
|
||||||
QofType param_type;
|
QofType param_type;
|
||||||
QofAccessFunc param_getfcn;
|
QofAccessFunc param_getfcn;
|
||||||
|
QofSetterFunc param_setfcn;
|
||||||
} QofParam;
|
} QofParam;
|
||||||
|
|
||||||
/** This function is the default sort function for a particular object type */
|
/** This function is the default sort function for a particular object type */
|
||||||
typedef int (*QofSortFunc)(gpointer, gpointer);
|
typedef int (*QofSortFunc)(gpointer, gpointer);
|
||||||
|
|
||||||
/** This function registers a new object class with the QofQuery
|
/** This function registers a new object class with the Qof subsystem.
|
||||||
* subsystem. In particular it registers the set of parameters and
|
* In particular, it registers the set of setters and getters for
|
||||||
* converters to query the type-specific data. The "params" argument
|
* controlling the object. The getters are typically used by the
|
||||||
* must be a NULL-terminated array of QofParam. It may be NULL if
|
* query subsystem to query type specific data. Note that there
|
||||||
* there are no paramters to be registered.
|
* is no particular reqquirement for there to be a setter for every
|
||||||
|
* getter or even v.v. nor is there any requeirement for these to
|
||||||
|
* map 'cleanly' or orthogonaly to the actual object design.
|
||||||
|
*
|
||||||
|
* The "params" argument must be a NULL-terminated array of QofParam.
|
||||||
|
* It may be NULL if there are no parameters to be registered.
|
||||||
*/
|
*/
|
||||||
void qof_query_object_register (QofIdTypeConst obj_name,
|
void qof_class_register (QofIdTypeConst obj_name,
|
||||||
QofSortFunc default_sort_fcn,
|
QofSortFunc default_sort_fcn,
|
||||||
const QofParam *params);
|
const QofParam *params);
|
||||||
|
|
||||||
@ -93,28 +117,31 @@ void qof_query_object_register (QofIdTypeConst obj_name,
|
|||||||
* #define MY_OBJ_TRANS "trans"
|
* #define MY_OBJ_TRANS "trans"
|
||||||
*
|
*
|
||||||
* static QofParam myParams[] = {
|
* static QofParam myParams[] = {
|
||||||
* { MY_OBJ_MEMO, QOF_TYPE_STRING, myMemoGetter },
|
* { MY_OBJ_MEMO, QOF_TYPE_STRING, myMemoGetter, NULL },
|
||||||
* { MY_OBJ_VALUE, QOF_TYPE_NUMERIC, myValueGetter },
|
* { MY_OBJ_VALUE, QOF_TYPE_NUMERIC, myValueGetter, NULL },
|
||||||
* { MY_OBJ_DATE, QOF_TYPE_DATE, myDateGetter },
|
* { MY_OBJ_DATE, QOF_TYPE_DATE, myDateGetter, NULL },
|
||||||
* { MY_OBJ_ACCOUNT, GNC_ID_ACCOUNT, myAccountGetter },
|
* { MY_OBJ_ACCOUNT, GNC_ID_ACCOUNT, myAccountGetter, NULL },
|
||||||
* { MY_OBJ_TRANS, GNC_ID_TRANS, myTransactionGetter },
|
* { MY_OBJ_TRANS, GNC_ID_TRANS, myTransactionGetter, NULL },
|
||||||
* NULL };
|
* NULL };
|
||||||
*
|
*
|
||||||
* qof_query_object_register ("myObjectName", myObjectCompare,
|
* qof_class_register ("myObjectName", myObjectCompare, &myParams);
|
||||||
* &myParams);
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/** Return the core datatype of the specified object's parameter */
|
/** Return the core datatype of the specified object's parameter */
|
||||||
QofType qof_query_object_parameter_type (QofIdTypeConst obj_name,
|
QofType qof_class_get_parameter_type (QofIdTypeConst obj_name,
|
||||||
const char *param_name);
|
const char *param_name);
|
||||||
|
|
||||||
/** Return the registered Parameter Definition for the requested parameter */
|
/** Return the registered Parameter Definition for the requested parameter */
|
||||||
const QofParam * qof_query_object_get_parameter (QofIdTypeConst obj_name,
|
const QofParam * qof_class_get_parameter (QofIdTypeConst obj_name,
|
||||||
const char *parameter);
|
const char *parameter);
|
||||||
|
|
||||||
/** Return the object's parameter getter function */
|
/** Return the object's parameter getter function */
|
||||||
QofAccessFunc qof_query_object_get_parameter_getter (QofIdTypeConst obj_name,
|
QofAccessFunc qof_class_get_parameter_getter (QofIdTypeConst obj_name,
|
||||||
|
const char *parameter);
|
||||||
|
|
||||||
|
/** Return the object's parameter setter function */
|
||||||
|
QofSetterFunc qof_class_get_parameter_setter (QofIdTypeConst obj_name,
|
||||||
const char *parameter);
|
const char *parameter);
|
||||||
|
|
||||||
|
|
||||||
#endif /* QOF_QUERYOBJECT_H */
|
#endif /* QOF_CLASS_H */
|
||||||
|
@ -29,41 +29,41 @@ static int test_core_param (gpointer a)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_query_object (void)
|
static void test_class (void)
|
||||||
{
|
{
|
||||||
static QofParam params[] = {
|
static QofParam params[] = {
|
||||||
{ TEST_PARAM, TEST_CORE, (QofAccessFunc)test_core_param },
|
{ TEST_PARAM, TEST_CORE, (QofAccessFunc)test_core_param, NULL },
|
||||||
{ NULL },
|
{ NULL },
|
||||||
};
|
};
|
||||||
|
|
||||||
fprintf (stderr, "\tTesting the qof_query_object interface. \n"
|
fprintf (stderr, "\tTesting the qof_query_object interface. \n"
|
||||||
"\tYou may see some \"** CRITICAL **\" messages, which you can safely ignore\n");
|
"\tYou may see some \"** CRITICAL **\" messages, which you can safely ignore\n");
|
||||||
|
|
||||||
qof_query_object_register (TEST_MODULE_NAME, (QofSortFunc)test_sort, params);
|
qof_class_register (TEST_MODULE_NAME, (QofSortFunc)test_sort, params);
|
||||||
|
|
||||||
do_test (qof_query_object_get_parameter (TEST_MODULE_NAME, TEST_PARAM)
|
do_test (qof_class_get_parameter (TEST_MODULE_NAME, TEST_PARAM)
|
||||||
== ¶ms[0], "qof_query_object_get_parameter");
|
== ¶ms[0], "qof_class_get_parameter");
|
||||||
do_test (qof_query_object_get_parameter (NULL, NULL) == NULL,
|
do_test (qof_class_get_parameter (NULL, NULL) == NULL,
|
||||||
"qof_query_object_get_parameter (NULL, NULL)");
|
"qof_class_get_parameter (NULL, NULL)");
|
||||||
do_test (qof_query_object_get_parameter (TEST_MODULE_NAME, NULL) == NULL,
|
do_test (qof_class_get_parameter (TEST_MODULE_NAME, NULL) == NULL,
|
||||||
"qof_query_object_get_parameter (TEST_MODULE_NAME, NULL)");
|
"qof_class_get_parameter (TEST_MODULE_NAME, NULL)");
|
||||||
do_test (qof_query_object_get_parameter (TEST_MODULE_NAME, BAD_PARAM) == NULL,
|
do_test (qof_class_get_parameter (TEST_MODULE_NAME, BAD_PARAM) == NULL,
|
||||||
"qof_query_object_get_parameter (TEST_MODULE_NAME, BAD_PARAM)");
|
"qof_class_get_parameter (TEST_MODULE_NAME, BAD_PARAM)");
|
||||||
do_test (qof_query_object_get_parameter (NULL, TEST_PARAM) == NULL,
|
do_test (qof_class_get_parameter (NULL, TEST_PARAM) == NULL,
|
||||||
"qof_query_object_get_parameter (NULL, TEST_PARAM)");
|
"qof_class_get_parameter (NULL, TEST_PARAM)");
|
||||||
|
|
||||||
do_test (qof_query_object_get_parameter_getter (TEST_MODULE_NAME, TEST_PARAM)
|
do_test (qof_class_get_parameter_getter (TEST_MODULE_NAME, TEST_PARAM)
|
||||||
== (QofAccessFunc)test_core_param,
|
== (QofAccessFunc)test_core_param,
|
||||||
"qof_query_object_get_parameter_getter");
|
"qof_class_get_parameter_getter");
|
||||||
|
|
||||||
do_test (safe_strcmp (qof_query_object_parameter_type (TEST_MODULE_NAME,
|
do_test (safe_strcmp (qof_class_get_parameter_type (TEST_MODULE_NAME,
|
||||||
TEST_PARAM),
|
TEST_PARAM),
|
||||||
TEST_CORE) == 0, "qof_query_object_parameter_type");
|
TEST_CORE) == 0, "qof_class_get_parameter_type");
|
||||||
|
|
||||||
do_test (qof_query_object_default_sort (TEST_MODULE_NAME) == test_sort,
|
do_test (qof_class_get_default_sort (TEST_MODULE_NAME) == test_sort,
|
||||||
"qof_query_object_default_sort");
|
"qof_class_get_default_sort");
|
||||||
do_test (qof_query_object_default_sort (NULL) == NULL,
|
do_test (qof_class_get_default_sort (NULL) == NULL,
|
||||||
"qof_query_object_default_sort (NULL)");
|
"qof_class_get_default_sort (NULL)");
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_query_core (void)
|
static void test_query_core (void)
|
||||||
@ -80,7 +80,7 @@ main_helper (void *closure, int argc, char **argv)
|
|||||||
{
|
{
|
||||||
gnc_module_load("gnucash/engine", 0);
|
gnc_module_load("gnucash/engine", 0);
|
||||||
test_query_core();
|
test_query_core();
|
||||||
test_query_object();
|
test_class();
|
||||||
test_querynew();
|
test_querynew();
|
||||||
print_test_results();
|
print_test_results();
|
||||||
exit(get_rv());
|
exit(get_rv());
|
||||||
|
Loading…
Reference in New Issue
Block a user