00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00068 #ifndef _QOF_EXPENSES_H
00069 #define _QOF_EXPENSES_H
00070
00071 #include <glib.h>
00072 #include <qof.h>
00073
00074 #define GPE_MOD_EXP "gpe-expenses-module"
00075 #define GPE_QOF_EXPENSES "gpe_expenses"
00076 #define QOF_EXPENSES_DESC "GPE QOF expenses"
00077 #define EXP_DATE "expense_date"
00078 #define EXP_TYPE "type_of_expense"
00079 #define EXP_PAYMENT "form_of_payment"
00080 #define EXP_CURRENCY "currency_code"
00081 #define EXP_AMOUNT "expense_amount"
00082 #define EXP_VENDOR "expense_vendor"
00083 #define EXP_CITY "expense_city"
00084 #define EXP_ATTENDEES "expense_attendees"
00085 #define EXP_NOTE "expense_note"
00086 #define EXP_CATEGORY "category"
00087 #define EXP_DISTANCE "distance_unit"
00088 #define EXP_KVP "currency_lookup"
00089
00091 #define PQ_CURRENCY_MNEMONIC "expense/currency/mnemonic"
00092
00093 #define PQ_CURRENCY_SYMBOL "expense/currency/symbol"
00094
00095 #define PQ_CURRENCY_FRACTION "expense/currency/fraction"
00096
00097 typedef struct Expense Expense_t;
00098
00105 typedef struct QofExp_s QofExp;
00106
00107 typedef void (*GpeCurrencyCB) (gpointer key, gpointer value, gpointer user_data);
00108
00109 void gpe_currency_foreach(GpeCurrencyCB cb, gpointer user_data);
00110
00117 typedef struct
00118 {
00120 gint pq_code;
00122 gint fraction;
00124 const gchar* symbol;
00126 const gchar* mnemonic;
00130 gboolean non_utf8;
00131 }GpeCurrency;
00132
00150 GpeCurrency *
00151 gpe_currency_lookup (QofInstance* inst, gint currency_code);
00152
00159 GpeCurrency *
00160 gpe_currency_lookup_name (QofInstance* inst, gchar * mnemonic);
00161
00162 #define DISTANCE_LIST(_) \
00163 _(Miles, = 0) \
00164 _(Kilometers,)
00165
00166 #define PAYMENT_TYPE_LIST(_) \
00167 _(AmericanExpress, = 0) \
00168 _(Cash, = 1 ) \
00169 _(Cheque, ) \
00170 _(CreditCard, ) \
00171 _(MasterCard, ) \
00172 _(Prepaid, ) \
00173 _(VISA, ) \
00174 _(Unfiled, )
00175
00176 #define EXPENSE_TYPE_LIST(_) \
00177 _(Airfare, = 0) \
00178 _(Breakfast, = 1) \
00179 _(Bus, = 2) \
00180 _(BusinessMeals, ) \
00181 _(CarRental, ) \
00182 _(Dinner, ) \
00183 _(Entertainment, ) \
00184 _(Fax, ) \
00185 _(Gas, ) \
00186 _(Gifts, ) \
00187 _(Hotel, ) \
00188 _(Incidentals, ) \
00189 _(Laundry, ) \
00190 _(Limo, ) \
00191 _(Lodging, ) \
00192 _(Lunch, ) \
00193 _(Mileage, ) \
00194 _(Other, ) \
00195 _(Parking, ) \
00196 _(Postage, ) \
00197 _(Snack, ) \
00198 _(Subway, ) \
00199 _(Supplies, ) \
00200 _(Taxi, ) \
00201 _(Telephone, ) \
00202 _(Tips, ) \
00203 _(Tolls, ) \
00204 _(Train, )
00205
00206 DEFINE_ENUM(ExpenseDistance, DISTANCE_LIST)
00239 DEFINE_ENUM(ExpensePayment, PAYMENT_TYPE_LIST)
00240
00273 DEFINE_ENUM(ExpenseType, EXPENSE_TYPE_LIST)
00274
00275 AS_STRING_DEC (ExpenseDistance, DISTANCE_LIST)
00276 FROM_STRING_DEC(ExpenseDistance, DISTANCE_LIST)
00277 AS_STRING_DEC (ExpensePayment, PAYMENT_TYPE_LIST)
00278 FROM_STRING_DEC(ExpensePayment, PAYMENT_TYPE_LIST)
00279 AS_STRING_DEC (ExpenseType, EXPENSE_TYPE_LIST)
00280 FROM_STRING_DEC(ExpenseType, EXPENSE_TYPE_LIST)
00281
00295 gboolean ExpensesRegister (void);
00296
00299 #endif