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[] = { 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;
} }

View File

@ -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);
} }

View File

@ -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);
} }

View File

@ -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);
} }

View File

@ -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);
} }

View File

@ -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 ();

View File

@ -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);
} }

View File

@ -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);
} }

View File

@ -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;

View File

@ -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);
} }

View File

@ -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);
} }

View File

@ -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);
} }

View File

@ -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

View File

@ -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);
} }

View File

@ -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 ========================= */

View 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);
} }

View File

@ -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;
} }

View File

@ -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 ();
} }

View File

@ -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 */

View File

@ -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 ======================== */

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 * * 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 */

View File

@ -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)
== &params[0], "qof_query_object_get_parameter"); == &params[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());