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:
Linas Vepstas 2003-09-27 16:33:06 +00:00
parent e3b49bc44d
commit fd10a04277
22 changed files with 303 additions and 258 deletions

View File

@ -238,14 +238,14 @@ gboolean gncAddressRegister (void)
{
static QofParam params[] = {
{ ADDRESS_NAME, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetName },
{ ADDRESS_PHONE, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetPhone },
{ ADDRESS_FAX, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetFax },
{ ADDRESS_EMAIL, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetEmail },
{ ADDRESS_NAME, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetName, NULL },
{ ADDRESS_PHONE, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetPhone, NULL },
{ ADDRESS_FAX, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetFax, NULL },
{ ADDRESS_EMAIL, QOF_TYPE_STRING, (QofAccessFunc)gncAddressGetEmail, NULL },
{ NULL },
};
qof_query_object_register (_GNC_MOD_NAME, (QofSortFunc)gncAddressCompare, params);
qof_class_register (_GNC_MOD_NAME, (QofSortFunc)gncAddressCompare, params);
return TRUE;
}

View File

@ -660,12 +660,12 @@ static QofObject gncBillTermDesc = {
gboolean gncBillTermRegister (void)
{
static QofParam params[] = {
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncBillTermGetBook },
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncBillTermGetGUID },
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncBillTermGetBook, NULL },
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncBillTermGetGUID, 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);
}

View File

@ -551,17 +551,17 @@ static QofObject gncCustomerDesc = {
gboolean gncCustomerRegister (void)
{
static QofParam params[] = {
{ CUSTOMER_ID, QOF_TYPE_STRING, (QofAccessFunc)gncCustomerGetID },
{ CUSTOMER_NAME, QOF_TYPE_STRING, (QofAccessFunc)gncCustomerGetName },
{ CUSTOMER_ADDR, GNC_ADDRESS_MODULE_NAME, (QofAccessFunc)gncCustomerGetAddr },
{ CUSTOMER_SHIPADDR, GNC_ADDRESS_MODULE_NAME, (QofAccessFunc)gncCustomerGetShipAddr },
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncCustomerGetBook },
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncCustomerGetGUID },
{ QOF_QUERY_PARAM_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncCustomerGetActive },
{ CUSTOMER_ID, QOF_TYPE_STRING, (QofAccessFunc)gncCustomerGetID, NULL },
{ CUSTOMER_NAME, QOF_TYPE_STRING, (QofAccessFunc)gncCustomerGetName, NULL },
{ CUSTOMER_ADDR, GNC_ADDRESS_MODULE_NAME, (QofAccessFunc)gncCustomerGetAddr, NULL },
{ CUSTOMER_SHIPADDR, GNC_ADDRESS_MODULE_NAME, (QofAccessFunc)gncCustomerGetShipAddr, NULL },
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncCustomerGetBook, NULL },
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncCustomerGetGUID, NULL },
{ QOF_QUERY_PARAM_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncCustomerGetActive, 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);
}

View File

@ -430,16 +430,16 @@ static QofObject gncEmployeeDesc = {
gboolean gncEmployeeRegister (void)
{
static QofParam params[] = {
{ EMPLOYEE_ID, QOF_TYPE_STRING, (QofAccessFunc)gncEmployeeGetID },
{ EMPLOYEE_USERNAME, QOF_TYPE_STRING, (QofAccessFunc)gncEmployeeGetUsername },
{ EMPLOYEE_ADDR, GNC_ADDRESS_MODULE_NAME, (QofAccessFunc)gncEmployeeGetAddr },
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncEmployeeGetBook },
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncEmployeeGetGUID },
{ QOF_QUERY_PARAM_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncEmployeeGetActive },
{ EMPLOYEE_ID, QOF_TYPE_STRING, (QofAccessFunc)gncEmployeeGetID, NULL },
{ EMPLOYEE_USERNAME, QOF_TYPE_STRING, (QofAccessFunc)gncEmployeeGetUsername, NULL },
{ EMPLOYEE_ADDR, GNC_ADDRESS_MODULE_NAME, (QofAccessFunc)gncEmployeeGetAddr, NULL },
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncEmployeeGetBook, NULL },
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncEmployeeGetGUID, NULL },
{ QOF_QUERY_PARAM_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncEmployeeGetActive, 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);
}

View File

@ -1205,25 +1205,25 @@ static QofObject gncEntryDesc = {
gboolean gncEntryRegister (void)
{
static QofParam params[] = {
{ ENTRY_DATE, QOF_TYPE_DATE, (QofAccessFunc)gncEntryGetDate },
{ ENTRY_DATE_ENTERED, QOF_TYPE_DATE, (QofAccessFunc)gncEntryGetDateEntered },
{ ENTRY_DESC, QOF_TYPE_STRING, (QofAccessFunc)gncEntryGetDescription },
{ ENTRY_ACTION, QOF_TYPE_STRING, (QofAccessFunc)gncEntryGetAction },
{ ENTRY_NOTES, QOF_TYPE_STRING, (QofAccessFunc)gncEntryGetNotes },
{ ENTRY_QTY, QOF_TYPE_NUMERIC, (QofAccessFunc)gncEntryGetQuantity },
{ ENTRY_IPRICE, QOF_TYPE_NUMERIC, (QofAccessFunc)gncEntryGetInvPrice },
{ ENTRY_BPRICE, QOF_TYPE_NUMERIC, (QofAccessFunc)gncEntryGetBillPrice },
{ ENTRY_INVOICE, GNC_INVOICE_MODULE_NAME, (QofAccessFunc)gncEntryGetInvoice },
{ ENTRY_BILL, GNC_INVOICE_MODULE_NAME, (QofAccessFunc)gncEntryGetBill },
{ ENTRY_BILLABLE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncEntryGetBillable },
{ ENTRY_BILLTO, GNC_OWNER_MODULE_NAME, (QofAccessFunc)gncEntryGetBillTo },
{ ENTRY_ORDER, GNC_ORDER_MODULE_NAME, (QofAccessFunc)gncEntryGetOrder },
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncEntryGetBook },
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncEntryGetGUID },
{ ENTRY_DATE, QOF_TYPE_DATE, (QofAccessFunc)gncEntryGetDate, NULL },
{ ENTRY_DATE_ENTERED, QOF_TYPE_DATE, (QofAccessFunc)gncEntryGetDateEntered, NULL },
{ ENTRY_DESC, QOF_TYPE_STRING, (QofAccessFunc)gncEntryGetDescription, NULL },
{ ENTRY_ACTION, QOF_TYPE_STRING, (QofAccessFunc)gncEntryGetAction, NULL },
{ ENTRY_NOTES, QOF_TYPE_STRING, (QofAccessFunc)gncEntryGetNotes, NULL },
{ ENTRY_QTY, QOF_TYPE_NUMERIC, (QofAccessFunc)gncEntryGetQuantity, NULL },
{ ENTRY_IPRICE, QOF_TYPE_NUMERIC, (QofAccessFunc)gncEntryGetInvPrice, NULL },
{ ENTRY_BPRICE, QOF_TYPE_NUMERIC, (QofAccessFunc)gncEntryGetBillPrice, NULL },
{ ENTRY_INVOICE, GNC_INVOICE_MODULE_NAME, (QofAccessFunc)gncEntryGetInvoice, NULL },
{ ENTRY_BILL, GNC_INVOICE_MODULE_NAME, (QofAccessFunc)gncEntryGetBill, NULL },
{ ENTRY_BILLABLE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncEntryGetBillable, NULL },
{ ENTRY_BILLTO, GNC_OWNER_MODULE_NAME, (QofAccessFunc)gncEntryGetBillTo, NULL },
{ ENTRY_ORDER, GNC_ORDER_MODULE_NAME, (QofAccessFunc)gncEntryGetOrder, NULL },
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncEntryGetBook, NULL },
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncEntryGetGUID, 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);
}

View File

@ -1371,11 +1371,11 @@ reg_lot (void)
{
static QofParam params[] = {
{ INVOICE_FROM_LOT, _GNC_MOD_NAME,
(QofAccessFunc)gncInvoiceGetInvoiceFromLot },
(QofAccessFunc)gncInvoiceGetInvoiceFromLot, NULL },
{ NULL },
};
qof_query_object_register (GNC_ID_LOT, NULL, params);
qof_class_register (GNC_ID_LOT, NULL, params);
}
static void
@ -1383,38 +1383,38 @@ reg_txn (void)
{
static QofParam params[] = {
{ INVOICE_FROM_TXN, _GNC_MOD_NAME,
(QofAccessFunc)gncInvoiceGetInvoiceFromTxn },
(QofAccessFunc)gncInvoiceGetInvoiceFromTxn, NULL },
{ NULL },
};
qof_query_object_register (GNC_ID_TRANS, NULL, params);
qof_class_register (GNC_ID_TRANS, NULL, params);
}
gboolean gncInvoiceRegister (void)
{
static QofParam params[] = {
{ INVOICE_ID, QOF_TYPE_STRING, (QofAccessFunc)gncInvoiceGetID },
{ INVOICE_OWNER, GNC_OWNER_MODULE_NAME, (QofAccessFunc)gncInvoiceGetOwner },
{ INVOICE_OPENED, QOF_TYPE_DATE, (QofAccessFunc)gncInvoiceGetDateOpened },
{ INVOICE_DUE, QOF_TYPE_DATE, (QofAccessFunc)gncInvoiceGetDateDue },
{ INVOICE_POSTED, QOF_TYPE_DATE, (QofAccessFunc)gncInvoiceGetDatePosted },
{ INVOICE_IS_POSTED, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncInvoiceIsPosted },
{ INVOICE_IS_PAID, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncInvoiceIsPaid },
{ INVOICE_BILLINGID, QOF_TYPE_STRING, (QofAccessFunc)gncInvoiceGetBillingID },
{ INVOICE_NOTES, QOF_TYPE_STRING, (QofAccessFunc)gncInvoiceGetNotes },
{ INVOICE_ACC, GNC_ID_ACCOUNT, (QofAccessFunc)gncInvoiceGetPostedAcc },
{ INVOICE_POST_TXN, GNC_ID_TRANS, (QofAccessFunc)gncInvoiceGetPostedTxn },
{ INVOICE_POST_LOT, GNC_ID_LOT, (QofAccessFunc)gncInvoiceGetPostedLot },
{ INVOICE_TYPE, QOF_TYPE_STRING, (QofAccessFunc)gncInvoiceGetType },
{ INVOICE_TERMS, GNC_BILLTERM_MODULE_NAME, (QofAccessFunc)gncInvoiceGetTerms },
{ INVOICE_BILLTO, GNC_OWNER_MODULE_NAME, (QofAccessFunc)gncInvoiceGetBillTo },
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncInvoiceGetBook },
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncInvoiceGetGUID },
{ QOF_QUERY_PARAM_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncInvoiceGetActive },
{ INVOICE_ID, QOF_TYPE_STRING, (QofAccessFunc)gncInvoiceGetID, NULL },
{ INVOICE_OWNER, GNC_OWNER_MODULE_NAME, (QofAccessFunc)gncInvoiceGetOwner, NULL },
{ INVOICE_OPENED, QOF_TYPE_DATE, (QofAccessFunc)gncInvoiceGetDateOpened, NULL },
{ INVOICE_DUE, QOF_TYPE_DATE, (QofAccessFunc)gncInvoiceGetDateDue, NULL },
{ INVOICE_POSTED, QOF_TYPE_DATE, (QofAccessFunc)gncInvoiceGetDatePosted, NULL },
{ INVOICE_IS_POSTED, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncInvoiceIsPosted, NULL },
{ INVOICE_IS_PAID, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncInvoiceIsPaid, NULL },
{ INVOICE_BILLINGID, QOF_TYPE_STRING, (QofAccessFunc)gncInvoiceGetBillingID, NULL },
{ INVOICE_NOTES, QOF_TYPE_STRING, (QofAccessFunc)gncInvoiceGetNotes, NULL },
{ INVOICE_ACC, GNC_ID_ACCOUNT, (QofAccessFunc)gncInvoiceGetPostedAcc, NULL },
{ INVOICE_POST_TXN, GNC_ID_TRANS, (QofAccessFunc)gncInvoiceGetPostedTxn, NULL },
{ INVOICE_POST_LOT, GNC_ID_LOT, (QofAccessFunc)gncInvoiceGetPostedLot, NULL },
{ INVOICE_TYPE, QOF_TYPE_STRING, (QofAccessFunc)gncInvoiceGetType, NULL },
{ INVOICE_TERMS, GNC_BILLTERM_MODULE_NAME, (QofAccessFunc)gncInvoiceGetTerms, NULL },
{ INVOICE_BILLTO, GNC_OWNER_MODULE_NAME, (QofAccessFunc)gncInvoiceGetBillTo, NULL },
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncInvoiceGetBook, NULL },
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncInvoiceGetGUID, NULL },
{ QOF_QUERY_PARAM_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncInvoiceGetActive, NULL },
{ NULL },
};
qof_query_object_register (_GNC_MOD_NAME, (QofSortFunc)gncInvoiceCompare, params);
qof_class_register (_GNC_MOD_NAME, (QofSortFunc)gncInvoiceCompare, params);
reg_lot ();
reg_txn ();

View File

@ -383,18 +383,18 @@ static QofObject gncJobDesc = {
gboolean gncJobRegister (void)
{
static QofParam params[] = {
{ JOB_ID, QOF_TYPE_STRING, (QofAccessFunc)gncJobGetID },
{ JOB_NAME, QOF_TYPE_STRING, (QofAccessFunc)gncJobGetName },
{ JOB_REFERENCE, QOF_TYPE_STRING, (QofAccessFunc)gncJobGetReference },
{ JOB_OWNER, GNC_OWNER_MODULE_NAME, (QofAccessFunc)gncJobGetOwner },
{ JOB_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncJobGetActive },
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncJobGetBook },
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncJobGetGUID },
{ QOF_QUERY_PARAM_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncJobGetActive },
{ JOB_ID, QOF_TYPE_STRING, (QofAccessFunc)gncJobGetID, NULL },
{ JOB_NAME, QOF_TYPE_STRING, (QofAccessFunc)gncJobGetName, NULL },
{ JOB_REFERENCE, QOF_TYPE_STRING, (QofAccessFunc)gncJobGetReference, NULL },
{ JOB_OWNER, GNC_OWNER_MODULE_NAME, (QofAccessFunc)gncJobGetOwner, NULL },
{ JOB_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncJobGetActive, NULL },
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncJobGetBook, NULL },
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncJobGetGUID, NULL },
{ QOF_QUERY_PARAM_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncJobGetActive, 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);
}

View File

@ -437,20 +437,20 @@ static QofObject gncOrderDesc = {
gboolean gncOrderRegister (void)
{
static QofParam params[] = {
{ ORDER_ID, QOF_TYPE_STRING, (QofAccessFunc)gncOrderGetID },
{ ORDER_REFERENCE, QOF_TYPE_STRING, (QofAccessFunc)gncOrderGetReference },
{ ORDER_OWNER, GNC_OWNER_MODULE_NAME, (QofAccessFunc)gncOrderGetOwner },
{ ORDER_OPENED, QOF_TYPE_DATE, (QofAccessFunc)gncOrderGetDateOpened },
{ ORDER_IS_CLOSED, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncOrderIsClosed },
{ ORDER_CLOSED, QOF_TYPE_DATE, (QofAccessFunc)gncOrderGetDateClosed },
{ ORDER_NOTES, QOF_TYPE_STRING, (QofAccessFunc)gncOrderGetNotes },
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncOrderGetBook },
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncOrderGetGUID },
{ QOF_QUERY_PARAM_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncOrderGetActive },
{ ORDER_ID, QOF_TYPE_STRING, (QofAccessFunc)gncOrderGetID, NULL },
{ ORDER_REFERENCE, QOF_TYPE_STRING, (QofAccessFunc)gncOrderGetReference, NULL },
{ ORDER_OWNER, GNC_OWNER_MODULE_NAME, (QofAccessFunc)gncOrderGetOwner, NULL },
{ ORDER_OPENED, QOF_TYPE_DATE, (QofAccessFunc)gncOrderGetDateOpened, NULL },
{ ORDER_IS_CLOSED, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncOrderIsClosed, NULL },
{ ORDER_CLOSED, QOF_TYPE_DATE, (QofAccessFunc)gncOrderGetDateClosed, NULL },
{ ORDER_NOTES, QOF_TYPE_STRING, (QofAccessFunc)gncOrderGetNotes, NULL },
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncOrderGetBook, NULL },
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncOrderGetGUID, NULL },
{ QOF_QUERY_PARAM_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncOrderGetActive, 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);
}

View File

@ -330,30 +330,30 @@ static void
reg_lot (void)
{
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 },
};
qof_query_object_register (GNC_ID_LOT, NULL, params);
qof_class_register (GNC_ID_LOT, NULL, params);
}
gboolean gncOwnerRegister (void)
{
static QofParam params[] = {
{ OWNER_TYPE, QOF_TYPE_INT64, (QofAccessFunc)gncOwnerGetType },
{ OWNER_TYPE, QOF_TYPE_INT64, (QofAccessFunc)gncOwnerGetType, NULL },
{ OWNER_CUSTOMER, GNC_CUSTOMER_MODULE_NAME,
(QofAccessFunc)gncOwnerGetCustomer },
{ OWNER_JOB, GNC_JOB_MODULE_NAME, (QofAccessFunc)gncOwnerGetJob },
{ OWNER_VENDOR, GNC_VENDOR_MODULE_NAME, (QofAccessFunc)gncOwnerGetVendor },
{ OWNER_EMPLOYEE, GNC_EMPLOYEE_MODULE_NAME, (QofAccessFunc)gncOwnerGetEmployee },
{ OWNER_PARENT, _GNC_MOD_NAME, (QofAccessFunc)gncOwnerGetEndOwner },
{ OWNER_PARENTG, QOF_TYPE_GUID, (QofAccessFunc)gncOwnerGetEndGUID },
{ OWNER_NAME, QOF_TYPE_STRING, (QofAccessFunc)gncOwnerGetName },
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncOwnerGetGUID },
(QofAccessFunc)gncOwnerGetCustomer, NULL },
{ OWNER_JOB, GNC_JOB_MODULE_NAME, (QofAccessFunc)gncOwnerGetJob, NULL },
{ OWNER_VENDOR, GNC_VENDOR_MODULE_NAME, (QofAccessFunc)gncOwnerGetVendor, NULL },
{ OWNER_EMPLOYEE, GNC_EMPLOYEE_MODULE_NAME, (QofAccessFunc)gncOwnerGetEmployee, NULL },
{ OWNER_PARENT, _GNC_MOD_NAME, (QofAccessFunc)gncOwnerGetEndOwner, NULL },
{ OWNER_PARENTG, QOF_TYPE_GUID, (QofAccessFunc)gncOwnerGetEndGUID, NULL },
{ OWNER_NAME, QOF_TYPE_STRING, (QofAccessFunc)gncOwnerGetName, NULL },
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncOwnerGetGUID, NULL },
{ NULL },
};
qof_query_object_register (_GNC_MOD_NAME, (QofSortFunc)gncOwnerCompare, params);
qof_class_register (_GNC_MOD_NAME, (QofSortFunc)gncOwnerCompare, params);
reg_lot ();
return TRUE;

View File

@ -762,12 +762,12 @@ static QofObject gncTaxTableDesc = {
gboolean gncTaxTableRegister (void)
{
static QofParam params[] = {
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncTaxTableGetBook },
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncTaxTableGetGUID },
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncTaxTableGetBook, NULL },
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncTaxTableGetGUID, 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);
}

View File

@ -491,16 +491,16 @@ static QofObject gncVendorDesc = {
gboolean gncVendorRegister (void)
{
static QofParam params[] = {
{ VENDOR_ID, QOF_TYPE_STRING, (QofAccessFunc)gncVendorGetID },
{ VENDOR_NAME, QOF_TYPE_STRING, (QofAccessFunc)gncVendorGetName },
{ VENDOR_ADDR, GNC_ADDRESS_MODULE_NAME, (QofAccessFunc)gncVendorGetAddr },
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncVendorGetBook },
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncVendorGetGUID },
{ QOF_QUERY_PARAM_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncVendorGetActive },
{ VENDOR_ID, QOF_TYPE_STRING, (QofAccessFunc)gncVendorGetID, NULL },
{ VENDOR_NAME, QOF_TYPE_STRING, (QofAccessFunc)gncVendorGetName, NULL },
{ VENDOR_ADDR, GNC_ADDRESS_MODULE_NAME, (QofAccessFunc)gncVendorGetAddr, NULL },
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gncVendorGetBook, NULL },
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gncVendorGetGUID, NULL },
{ QOF_QUERY_PARAM_ACTIVE, QOF_TYPE_BOOLEAN, (QofAccessFunc)gncVendorGetActive, 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);
}

View File

@ -3008,23 +3008,23 @@ static QofObject account_object_def = {
gboolean xaccAccountRegister (void)
{
static QofParam params[] = {
{ ACCOUNT_KVP, QOF_TYPE_KVP, (QofAccessFunc)xaccAccountGetSlots },
{ ACCOUNT_NAME_, QOF_TYPE_STRING, (QofAccessFunc)xaccAccountGetName },
{ ACCOUNT_CODE_, QOF_TYPE_STRING, (QofAccessFunc)xaccAccountGetCode },
{ ACCOUNT_DESCRIPTION_, QOF_TYPE_STRING, (QofAccessFunc)xaccAccountGetDescription },
{ ACCOUNT_NOTES_, QOF_TYPE_STRING, (QofAccessFunc)xaccAccountGetNotes },
{ ACCOUNT_PRESENT_, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccAccountGetPresentBalance },
{ ACCOUNT_BALANCE_, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccAccountGetBalance },
{ ACCOUNT_CLEARED_, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccAccountGetClearedBalance },
{ ACCOUNT_RECONCILED_, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccAccountGetReconciledBalance },
{ ACCOUNT_FUTURE_MINIMUM_, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccAccountGetProjectedMinimumBalance },
{ ACCOUNT_TAX_RELATED, QOF_TYPE_BOOLEAN, (QofAccessFunc)xaccAccountGetTaxRelated },
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)xaccAccountGetBook },
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)xaccAccountGetGUID },
{ ACCOUNT_KVP, QOF_TYPE_KVP, (QofAccessFunc)xaccAccountGetSlots, NULL },
{ ACCOUNT_NAME_, QOF_TYPE_STRING, (QofAccessFunc)xaccAccountGetName, NULL },
{ ACCOUNT_CODE_, QOF_TYPE_STRING, (QofAccessFunc)xaccAccountGetCode, NULL },
{ ACCOUNT_DESCRIPTION_, QOF_TYPE_STRING, (QofAccessFunc)xaccAccountGetDescription, NULL },
{ ACCOUNT_NOTES_, QOF_TYPE_STRING, (QofAccessFunc)xaccAccountGetNotes, NULL },
{ ACCOUNT_PRESENT_, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccAccountGetPresentBalance, NULL },
{ ACCOUNT_BALANCE_, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccAccountGetBalance, NULL },
{ ACCOUNT_CLEARED_, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccAccountGetClearedBalance, NULL },
{ ACCOUNT_RECONCILED_, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccAccountGetReconciledBalance, NULL },
{ ACCOUNT_FUTURE_MINIMUM_, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccAccountGetProjectedMinimumBalance, NULL },
{ ACCOUNT_TAX_RELATED, QOF_TYPE_BOOLEAN, (QofAccessFunc)xaccAccountGetTaxRelated, NULL },
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)xaccAccountGetBook, NULL },
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)xaccAccountGetGUID, 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);
}

View File

@ -5,11 +5,8 @@
#define QueryObjectDef QofParam
#define QuerySort QofSortFunc
#define gncQueryObjectRegister qof_query_object_register
#define gncQueryObjectParameterType qof_query_object_parameter_type
#define gncQueryObjectGetParameterGetter qof_query_object_get_parameter_getter
#define gncQueryObjectGetParameter qof_query_object_get_parameter
#define gncQueryObjectInit qof_query_object_init
#define gncQueryObjectShutdown qof_query_object_shutdown
#define gncQueryObjectDefaultSort qof_query_object_default_sort
#define gncQueryObjectRegister qof_class_register
#define gncQueryObjectParameterType qof_class_get_parameter_type
#define gncQueryObjectGetParameterGetter qof_class_get_parameter_getter
#define gncQueryObjectGetParameter qof_class_get_parameter

View File

@ -3433,52 +3433,52 @@ static gpointer no_op (gpointer obj)
gboolean xaccSplitRegister (void)
{
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,
(QofAccessFunc)xaccSplitRetDateReconciledTS },
(QofAccessFunc)xaccSplitRetDateReconciledTS, NULL },
/* d-* are depricated query params, should not be used in new
* queries, should be removed from old queries. */
{ "d-share-amount", QOF_TYPE_DOUBLE,
(QofAccessFunc)DxaccSplitGetShareAmount },
{ "d-share-int64", QOF_TYPE_INT64, (QofAccessFunc)xaccSplitGetGUID },
{ SPLIT_BALANCE, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccSplitGetBalance },
(QofAccessFunc)DxaccSplitGetShareAmount, NULL },
{ "d-share-int64", QOF_TYPE_INT64, (QofAccessFunc)xaccSplitGetGUID, NULL },
{ SPLIT_BALANCE, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccSplitGetBalance, NULL },
{ SPLIT_CLEARED_BALANCE, QOF_TYPE_NUMERIC,
(QofAccessFunc)xaccSplitGetClearedBalance },
(QofAccessFunc)xaccSplitGetClearedBalance, NULL },
{ SPLIT_RECONCILED_BALANCE, QOF_TYPE_NUMERIC,
(QofAccessFunc)xaccSplitGetReconciledBalance },
{ SPLIT_MEMO, QOF_TYPE_STRING, (QofAccessFunc)xaccSplitGetMemo },
{ SPLIT_ACTION, QOF_TYPE_STRING, (QofAccessFunc)xaccSplitGetAction },
{ SPLIT_RECONCILE, QOF_TYPE_CHAR, (QofAccessFunc)xaccSplitGetReconcile },
{ SPLIT_AMOUNT, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccSplitGetAmount },
(QofAccessFunc)xaccSplitGetReconciledBalance, NULL },
{ SPLIT_MEMO, QOF_TYPE_STRING, (QofAccessFunc)xaccSplitGetMemo, NULL },
{ SPLIT_ACTION, QOF_TYPE_STRING, (QofAccessFunc)xaccSplitGetAction, NULL },
{ SPLIT_RECONCILE, QOF_TYPE_CHAR, (QofAccessFunc)xaccSplitGetReconcile, NULL },
{ SPLIT_AMOUNT, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccSplitGetAmount, NULL },
{ SPLIT_SHARE_PRICE, QOF_TYPE_NUMERIC,
(QofAccessFunc)xaccSplitGetSharePrice },
{ SPLIT_VALUE, QOF_TYPE_DEBCRED, (QofAccessFunc)xaccSplitGetValue },
{ SPLIT_TYPE, QOF_TYPE_STRING, (QofAccessFunc)xaccSplitGetType },
(QofAccessFunc)xaccSplitGetSharePrice, NULL },
{ SPLIT_VALUE, QOF_TYPE_DEBCRED, (QofAccessFunc)xaccSplitGetValue, NULL },
{ SPLIT_TYPE, QOF_TYPE_STRING, (QofAccessFunc)xaccSplitGetType, NULL },
{ SPLIT_VOIDED_AMOUNT, QOF_TYPE_NUMERIC,
(QofAccessFunc)xaccSplitVoidFormerAmount },
(QofAccessFunc)xaccSplitVoidFormerAmount, NULL },
{ SPLIT_VOIDED_VALUE, QOF_TYPE_NUMERIC,
(QofAccessFunc)xaccSplitVoidFormerValue },
{ SPLIT_LOT, GNC_ID_LOT, (QofAccessFunc)xaccSplitGetLot },
{ SPLIT_TRANS, GNC_ID_TRANS, (QofAccessFunc)xaccSplitGetParent },
{ SPLIT_ACCOUNT, GNC_ID_ACCOUNT, (QofAccessFunc)xaccSplitGetAccount },
{ SPLIT_ACCOUNT_GUID, QOF_TYPE_GUID, split_account_guid_getter },
{ SPLIT_ACCT_FULLNAME, SPLIT_ACCT_FULLNAME, no_op },
{ SPLIT_CORR_ACCT_NAME, SPLIT_CORR_ACCT_NAME, no_op },
{ SPLIT_CORR_ACCT_CODE, SPLIT_CORR_ACCT_CODE, no_op },
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)xaccSplitGetBook },
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc) xaccSplitGetGUID },
(QofAccessFunc)xaccSplitVoidFormerValue, NULL },
{ SPLIT_LOT, GNC_ID_LOT, (QofAccessFunc)xaccSplitGetLot, NULL },
{ SPLIT_TRANS, GNC_ID_TRANS, (QofAccessFunc)xaccSplitGetParent, NULL },
{ SPLIT_ACCOUNT, GNC_ID_ACCOUNT, (QofAccessFunc)xaccSplitGetAccount, NULL },
{ SPLIT_ACCOUNT_GUID, QOF_TYPE_GUID, split_account_guid_getter, NULL },
{ SPLIT_ACCT_FULLNAME, SPLIT_ACCT_FULLNAME, no_op, NULL },
{ SPLIT_CORR_ACCT_NAME, SPLIT_CORR_ACCT_NAME, no_op, NULL },
{ SPLIT_CORR_ACCT_CODE, SPLIT_CORR_ACCT_CODE, no_op, NULL },
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)xaccSplitGetBook, NULL },
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc) xaccSplitGetGUID, NULL },
{ NULL },
};
qof_query_object_register (GNC_ID_SPLIT, (QofSortFunc)xaccSplitDateOrder, params);
qof_query_object_register (SPLIT_ACCT_FULLNAME,
qof_class_register (GNC_ID_SPLIT, (QofSortFunc)xaccSplitDateOrder, params);
qof_class_register (SPLIT_ACCT_FULLNAME,
(QofSortFunc)xaccSplitCompareAccountFullNames,
NULL);
qof_query_object_register (SPLIT_CORR_ACCT_NAME,
qof_class_register (SPLIT_CORR_ACCT_NAME,
(QofSortFunc)xaccSplitCompareOtherAccountFullNames,
NULL);
qof_query_object_register (SPLIT_CORR_ACCT_CODE,
qof_class_register (SPLIT_CORR_ACCT_CODE,
(QofSortFunc)xaccSplitCompareOtherAccountCodes,
NULL);
@ -3514,26 +3514,26 @@ trans_is_balanced_p (const Transaction *txn)
gboolean xaccTransRegister (void)
{
static QofParam params[] = {
{ TRANS_KVP, QOF_TYPE_KVP, (QofAccessFunc)xaccTransGetSlots },
{ TRANS_NUM, QOF_TYPE_STRING, (QofAccessFunc)xaccTransGetNum },
{ TRANS_DESCRIPTION, QOF_TYPE_STRING, (QofAccessFunc)xaccTransGetDescription },
{ TRANS_DATE_ENTERED, QOF_TYPE_DATE, (QofAccessFunc)xaccTransRetDateEnteredTS },
{ TRANS_DATE_POSTED, QOF_TYPE_DATE, (QofAccessFunc)xaccTransRetDatePostedTS },
{ TRANS_DATE_DUE, QOF_TYPE_DATE, (QofAccessFunc)xaccTransRetDateDueTS },
{ TRANS_IMBALANCE, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccTransGetImbalance },
{ TRANS_NOTES, QOF_TYPE_STRING, (QofAccessFunc)xaccTransGetNotes },
{ TRANS_IS_BALANCED, QOF_TYPE_BOOLEAN, (QofAccessFunc)trans_is_balanced_p },
{ TRANS_TYPE, QOF_TYPE_CHAR, (QofAccessFunc)xaccTransGetTxnType },
{ TRANS_VOID_STATUS, QOF_TYPE_BOOLEAN, (QofAccessFunc)xaccTransGetVoidStatus },
{ TRANS_VOID_REASON, QOF_TYPE_STRING, (QofAccessFunc)xaccTransGetVoidReason },
{ TRANS_VOID_TIME, QOF_TYPE_DATE, (QofAccessFunc)xaccTransGetVoidTime },
{ TRANS_SPLITLIST, GNC_ID_SPLIT, (QofAccessFunc)xaccTransGetSplitList },
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)xaccTransGetBook },
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)xaccTransGetGUID },
{ TRANS_KVP, QOF_TYPE_KVP, (QofAccessFunc)xaccTransGetSlots,NULL },
{ TRANS_NUM, QOF_TYPE_STRING, (QofAccessFunc)xaccTransGetNum,NULL },
{ TRANS_DESCRIPTION, QOF_TYPE_STRING, (QofAccessFunc)xaccTransGetDescription,NULL },
{ TRANS_DATE_ENTERED, QOF_TYPE_DATE, (QofAccessFunc)xaccTransRetDateEnteredTS,NULL },
{ TRANS_DATE_POSTED, QOF_TYPE_DATE, (QofAccessFunc)xaccTransRetDatePostedTS,NULL },
{ TRANS_DATE_DUE, QOF_TYPE_DATE, (QofAccessFunc)xaccTransRetDateDueTS,NULL },
{ TRANS_IMBALANCE, QOF_TYPE_NUMERIC, (QofAccessFunc)xaccTransGetImbalance,NULL },
{ TRANS_NOTES, QOF_TYPE_STRING, (QofAccessFunc)xaccTransGetNotes,NULL },
{ TRANS_IS_BALANCED, QOF_TYPE_BOOLEAN, (QofAccessFunc)trans_is_balanced_p,NULL },
{ TRANS_TYPE, QOF_TYPE_CHAR, (QofAccessFunc)xaccTransGetTxnType,NULL },
{ TRANS_VOID_STATUS, QOF_TYPE_BOOLEAN, (QofAccessFunc)xaccTransGetVoidStatus,NULL },
{ TRANS_VOID_REASON, QOF_TYPE_STRING, (QofAccessFunc)xaccTransGetVoidReason,NULL },
{ TRANS_VOID_TIME, QOF_TYPE_DATE, (QofAccessFunc)xaccTransGetVoidTime,NULL },
{ TRANS_SPLITLIST, GNC_ID_SPLIT, (QofAccessFunc)xaccTransGetSplitList,NULL },
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)xaccTransGetBook,NULL },
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)xaccTransGetGUID,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);
}

View File

@ -379,14 +379,14 @@ gnc_lot_get_latest_split (GNCLot *lot)
void gnc_lot_register (void)
{
static const QofParam params[] = {
{ QOF_QUERY_PARAM_BOOK, QOF_ID_BOOK, (QofAccessFunc)gnc_lot_get_book },
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)gnc_lot_get_guid },
{ LOT_IS_CLOSED, QOF_TYPE_BOOLEAN, (QofAccessFunc)gnc_lot_is_closed },
{ LOT_BALANCE, QOF_TYPE_NUMERIC, (QofAccessFunc)gnc_lot_get_balance },
{ 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, NULL },
{ LOT_IS_CLOSED, QOF_TYPE_BOOLEAN, (QofAccessFunc)gnc_lot_is_closed, NULL },
{ LOT_BALANCE, QOF_TYPE_NUMERIC, (QofAccessFunc)gnc_lot_get_balance, NULL },
{ NULL },
};
qof_query_object_register (GNC_ID_LOT, NULL, params);
qof_class_register (GNC_ID_LOT, NULL, params);
}
/* ========================== END OF FILE ========================= */

View File

@ -2152,16 +2152,16 @@ gboolean
gnc_pricedb_register (void)
{
static QofParam params[] = {
{ PRICE_COMMODITY, GNC_ID_COMMODITY, (QofAccessFunc)gnc_price_get_commodity },
{ PRICE_CURRENCY, GNC_ID_COMMODITY, (QofAccessFunc)gnc_price_get_currency },
{ PRICE_DATE, QOF_TYPE_DATE, (QofAccessFunc)gnc_price_get_time },
{ PRICE_SOURCE, QOF_TYPE_STRING, (QofAccessFunc)gnc_price_get_source },
{ PRICE_TYPE, QOF_TYPE_STRING, (QofAccessFunc)gnc_price_get_type },
{ PRICE_VALUE, QOF_TYPE_NUMERIC, (QofAccessFunc)gnc_price_get_value },
{ PRICE_COMMODITY, GNC_ID_COMMODITY, (QofAccessFunc)gnc_price_get_commodity, NULL },
{ PRICE_CURRENCY, GNC_ID_COMMODITY, (QofAccessFunc)gnc_price_get_currency, NULL },
{ PRICE_DATE, QOF_TYPE_DATE, (QofAccessFunc)gnc_price_get_time, NULL },
{ PRICE_SOURCE, QOF_TYPE_STRING, (QofAccessFunc)gnc_price_get_source, NULL },
{ PRICE_TYPE, QOF_TYPE_STRING, (QofAccessFunc)gnc_price_get_type, NULL },
{ PRICE_VALUE, QOF_TYPE_NUMERIC, (QofAccessFunc)gnc_price_get_value, 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);
}

View File

@ -286,12 +286,12 @@ qof_book_get_counter (QofBook *book, const char *counter_name)
gboolean qof_book_register (void)
{
static QofParam params[] = {
{ QOF_BOOK_KVP, QOF_TYPE_KVP, (QofAccessFunc)qof_book_get_slots },
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)qof_book_get_guid },
{ QOF_BOOK_KVP, QOF_TYPE_KVP, (QofAccessFunc)qof_book_get_slots, NULL },
{ QOF_QUERY_PARAM_GUID, QOF_TYPE_GUID, (QofAccessFunc)qof_book_get_guid, NULL },
{ NULL },
};
qof_query_object_register (QOF_ID_BOOK, NULL, params);
qof_class_register (QOF_ID_BOOK, NULL, params);
return TRUE;
}

View File

@ -442,7 +442,7 @@ static GSList * compile_params (GSList *param_list, QofIdType start_obj,
for (; param_list; param_list = param_list->next)
{
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 (!objDef) break;
@ -490,7 +490,7 @@ compile_sort (QofQuerySort *sort, QofIdType obj)
/* Hrm, perhaps this is an object compare, not a core compare? */
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))
@ -536,7 +536,7 @@ static void compile_terms (QofQuery *q)
compile_sort (&(q->secondary_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 */
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)
{
PINFO("New Query Module Initialization");
ENTER (" ");
qof_query_core_init ();
qof_query_object_init ();
qof_class_init ();
}
void qof_query_shutdown (void)
{
qof_query_object_shutdown ();
qof_class_shutdown ();
qof_query_core_shutdown ();
}

View File

@ -26,9 +26,9 @@
#include "qofqueryobject.h"
void qof_query_object_init(void);
void qof_query_object_shutdown (void);
void qof_class_init(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 */

View File

@ -45,9 +45,9 @@ static gboolean clear_table (gpointer key, gpointer value, gpointer user_data)
/********************************************************************/
/* PUBLISHED API FUNCTIONS */
void qof_query_object_register (QofIdTypeConst obj_name,
QofSortFunc default_sort_function,
const QofParam *params)
void qof_class_register (QofIdTypeConst obj_name,
QofSortFunc default_sort_function,
const QofParam *params)
{
int i;
@ -68,12 +68,12 @@ void qof_query_object_register (QofIdTypeConst obj_name,
/* Now insert all the parameters */
for (i = 0; params[i].param_name; i++)
g_hash_table_insert (ht,
(char *)params[i].param_name,
(gpointer)&(params[i]));
(char *)params[i].param_name,
(gpointer)&(params[i]));
}
}
void qof_query_object_init(void)
void qof_class_init(void)
{
if (initialized) return;
initialized = TRUE;
@ -82,7 +82,7 @@ void qof_query_object_init(void)
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;
initialized = FALSE;
@ -93,8 +93,9 @@ void qof_query_object_shutdown (void)
}
const QofParam * qof_query_object_get_parameter (QofIdTypeConst obj_name,
const char *parameter)
const QofParam *
qof_class_get_parameter (QofIdTypeConst obj_name,
const char *parameter)
{
GHashTable *ht;
@ -109,37 +110,57 @@ const QofParam * qof_query_object_get_parameter (QofIdTypeConst obj_name,
return (g_hash_table_lookup (ht, parameter));
}
QofAccessFunc qof_query_object_get_parameter_getter (QofIdTypeConst obj_name,
const char *parameter)
QofAccessFunc
qof_class_get_parameter_getter (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_query_object_get_parameter (obj_name, parameter);
prm = qof_class_get_parameter (obj_name, parameter);
if (prm)
return prm->param_getfcn;
return NULL;
}
QofType qof_query_object_parameter_type (QofIdTypeConst obj_name,
const char *param_name)
QofSetterFunc
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;
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;
return (prm->param_type);
}
QofSortFunc
qof_query_object_default_sort (QofIdTypeConst obj_name)
qof_class_get_default_sort (QofIdTypeConst obj_name)
{
if (!obj_name) return NULL;
return g_hash_table_lookup (sortTable, obj_name);
}
/* ============================= END OF FILE ======================== */

View 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 *
* modify it under the terms of the GNU General Public License as *
@ -20,13 +20,21 @@
* *
\********************************************************************/
/** @file qofqueryobject.h
@brief API for registering queriable objects
/** @file qofclass.h
@brief API for registering paramters on objects
@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
#define QOF_QUERYOBJECT_H
#ifndef QOF_CLASS_H
#define QOF_CLASS_H
#include "qofid.h"
@ -48,39 +56,55 @@
/** Type of Paramters (String, Date, Numeric, GUID, etc.) */
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
* templates, so we just cast a lot. Real functions must be of
* the form:
*
* <param_type> function (object_type *obj);
* param_type getter_func (object_type *self);
*/
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
*
* -- param_name is the name of the parameter.
* -- param_type is the type of the parameter, which can be either another
* 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
{
const char * param_name;
QofType param_type;
QofAccessFunc param_getfcn;
QofSetterFunc param_setfcn;
} QofParam;
/** This function is the default sort function for a particular object type */
typedef int (*QofSortFunc)(gpointer, gpointer);
/** This function registers a new object class with the QofQuery
* subsystem. In particular it registers the set of parameters and
* converters to query the type-specific data. The "params" argument
* must be a NULL-terminated array of QofParam. It may be NULL if
* there are no paramters to be registered.
/** This function registers a new object class with the Qof subsystem.
* In particular, it registers the set of setters and getters for
* controlling the object. The getters are typically used by the
* query subsystem to query type specific data. Note that there
* 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,
const QofParam *params);
@ -93,28 +117,31 @@ void qof_query_object_register (QofIdTypeConst obj_name,
* #define MY_OBJ_TRANS "trans"
*
* static QofParam myParams[] = {
* { MY_OBJ_MEMO, QOF_TYPE_STRING, myMemoGetter },
* { MY_OBJ_VALUE, QOF_TYPE_NUMERIC, myValueGetter },
* { MY_OBJ_DATE, QOF_TYPE_DATE, myDateGetter },
* { MY_OBJ_ACCOUNT, GNC_ID_ACCOUNT, myAccountGetter },
* { MY_OBJ_TRANS, GNC_ID_TRANS, myTransactionGetter },
* { MY_OBJ_MEMO, QOF_TYPE_STRING, myMemoGetter, NULL },
* { MY_OBJ_VALUE, QOF_TYPE_NUMERIC, myValueGetter, NULL },
* { MY_OBJ_DATE, QOF_TYPE_DATE, myDateGetter, NULL },
* { MY_OBJ_ACCOUNT, GNC_ID_ACCOUNT, myAccountGetter, NULL },
* { MY_OBJ_TRANS, GNC_ID_TRANS, myTransactionGetter, NULL },
* NULL };
*
* qof_query_object_register ("myObjectName", myObjectCompare,
* &myParams);
* qof_class_register ("myObjectName", myObjectCompare, &myParams);
*/
/** 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);
/** 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);
/** 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);
#endif /* QOF_QUERYOBJECT_H */
#endif /* QOF_CLASS_H */

View File

@ -29,41 +29,41 @@ static int test_core_param (gpointer a)
return 0;
}
static void test_query_object (void)
static void test_class (void)
{
static QofParam params[] = {
{ TEST_PARAM, TEST_CORE, (QofAccessFunc)test_core_param },
{ TEST_PARAM, TEST_CORE, (QofAccessFunc)test_core_param, NULL },
{ NULL },
};
fprintf (stderr, "\tTesting the qof_query_object interface. \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)
== &params[0], "qof_query_object_get_parameter");
do_test (qof_query_object_get_parameter (NULL, NULL) == NULL,
"qof_query_object_get_parameter (NULL, NULL)");
do_test (qof_query_object_get_parameter (TEST_MODULE_NAME, NULL) == NULL,
"qof_query_object_get_parameter (TEST_MODULE_NAME, NULL)");
do_test (qof_query_object_get_parameter (TEST_MODULE_NAME, BAD_PARAM) == NULL,
"qof_query_object_get_parameter (TEST_MODULE_NAME, BAD_PARAM)");
do_test (qof_query_object_get_parameter (NULL, TEST_PARAM) == NULL,
"qof_query_object_get_parameter (NULL, TEST_PARAM)");
do_test (qof_class_get_parameter (TEST_MODULE_NAME, TEST_PARAM)
== &params[0], "qof_class_get_parameter");
do_test (qof_class_get_parameter (NULL, NULL) == NULL,
"qof_class_get_parameter (NULL, NULL)");
do_test (qof_class_get_parameter (TEST_MODULE_NAME, NULL) == NULL,
"qof_class_get_parameter (TEST_MODULE_NAME, NULL)");
do_test (qof_class_get_parameter (TEST_MODULE_NAME, BAD_PARAM) == NULL,
"qof_class_get_parameter (TEST_MODULE_NAME, BAD_PARAM)");
do_test (qof_class_get_parameter (NULL, TEST_PARAM) == NULL,
"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,
"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_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,
"qof_query_object_default_sort");
do_test (qof_query_object_default_sort (NULL) == NULL,
"qof_query_object_default_sort (NULL)");
do_test (qof_class_get_default_sort (TEST_MODULE_NAME) == test_sort,
"qof_class_get_default_sort");
do_test (qof_class_get_default_sort (NULL) == NULL,
"qof_class_get_default_sort (NULL)");
}
static void test_query_core (void)
@ -80,7 +80,7 @@ main_helper (void *closure, int argc, char **argv)
{
gnc_module_load("gnucash/engine", 0);
test_query_core();
test_query_object();
test_class();
test_querynew();
print_test_results();
exit(get_rv());