X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=src%2Fcokebank.h;h=ed4dff1e6d4011bba93f6eccbfcae76afed75c9c;hb=ffc52312097ac25aaca6d20a132242f5f0670c5b;hp=ae244a22c8157c1bb7f4f5ba801994c900aa6ebf;hpb=88e80c5ac36f6d2e76caf1a99efbf987b042c0fb;p=tpg%2Fopendispense2.git diff --git a/src/cokebank.h b/src/cokebank.h index ae244a2..ed4dff1 100644 --- a/src/cokebank.h +++ b/src/cokebank.h @@ -18,6 +18,7 @@ #define COKEBANK_SALES_ACCT ">sales" //!< Sales made into #define COKEBANK_DEBT_ACCT ">liability" //!< Credit taken out of +#define COKEBANK_FREE_ACCT ">freeitems" //!< ODay drink costs taken out of /** * \brief Account iterator opaque structure @@ -27,20 +28,28 @@ */ typedef struct sAcctIterator tAcctIterator; +/** + * \brief Iterator for a collection of items + */ +typedef struct sItemIterator tItemIterator; + +/** + * \brief Flag values for the \a Flags parameter to Bank_Iterator + */ enum eBank_ItFlags { - BANK_ITFLAG_MINBALANCE = 0x01, - BANK_ITFLAG_MAXBALANCE = 0x02, - BANK_ITFLAG_SEENBEFORE = 0x04, - BANK_ITFLAG_SEENAFTER = 0x08, + BANK_ITFLAG_MINBALANCE = 0x01, //!< Balance value is Minium Balance + BANK_ITFLAG_MAXBALANCE = 0x02, //!< Balance value is Maximum Balance (higher priority) + BANK_ITFLAG_SEENAFTER = 0x04, //!< Last seen value is lower bound + BANK_ITFLAG_SEENBEFORE = 0x08, //!< Last seen value is upper bound (higher priority) - BANK_ITFLAG_SORT_NONE = 0x000, - BANK_ITFLAG_SORT_NAME = 0x100, - BANK_ITFLAG_SORT_BAL = 0x200, - BANK_ITFLAG_SORT_UNIXID = 0x300, - BANK_ITFLAG_SORT_LASTSEEN = 0x400, - BANK_ITFLAG_SORTMASK = 0x700, - BANK_ITFLAG_REVSORT = 0x800 + BANK_ITFLAG_SORT_NONE = 0x000, //!< No sorting (up to the implementation) + BANK_ITFLAG_SORT_NAME = 0x100, //!< Sort alphabetically ascending by name + BANK_ITFLAG_SORT_BAL = 0x200, //!< Sort by balance, ascending + BANK_ITFLAG_SORT_UNIXID = 0x300, //!< Sort by UnixUID (TODO: Needed?) + BANK_ITFLAG_SORT_LASTSEEN = 0x400, //!< Sort by last seen time (ascending) + BANK_ITFLAG_SORTMASK = 0x700, //!< Sort type mask + BANK_ITFLAG_REVSORT = 0x800 //!< Sort descending instead }; /** @@ -50,7 +59,7 @@ enum eBank_ItFlags */ enum eCokebank_Flags { USER_FLAG_COKE = 0x01, //!< User is a coke member (can do coke accounting) - USER_FLAG_WHEEL = 0x02, //!< User is a wheel member (can create, delete and lock accounts) + USER_FLAG_ADMIN = 0x02, //!< User is a administrator (can create, delete and lock accounts) USER_FLAG_DOORGROUP = 0x04, //!< User is in the door group (can open the clubroom door) USER_FLAG_INTERNAL = 0x40, //!< Account is internal (cannot be authenticated, no lower balance limit) USER_FLAG_DISABLED = 0x80 //!< Account is disabled (no transactions allowed) @@ -66,8 +75,8 @@ extern int Bank_Initialise(const char *Argument); /** * \brief Transfer money from one account to another - * \param SourceUser UID (from \a Bank_GetUserID) to take the money from - * \param DestUser UID (from \a Bank_GetUserID) give money to + * \param SourceAcct UID (from \a Bank_GetUserID) to take the money from + * \param DestAcct UID (from \a Bank_GetUserID) give money to * \param Ammount Amount of money (in cents) to transfer * \param Reason Reason for the transfer */ @@ -97,11 +106,13 @@ extern int Bank_GetBalance(int AcctID); extern char *Bank_GetAcctName(int AcctID); /** * \brief Get an account ID from a passed name + * \param Name Name to search for + * \return ID of the account, or -1 if not found */ extern int Bank_GetAcctByName(const char *Name); /** * \brief Create a new account - * \param Username Name for the new account (if NULL, an anoymous account is created) + * \param Name Name for the new account (if NULL, an anoymous account is created) * \return ID of the new account */ extern int Bank_CreateAcct(const char *Name); @@ -168,4 +179,10 @@ extern int Bank_AddAcctCard(int AcctID, const char *CardID); */ extern char *mkstr(const char *Format, ...); +/** + * \brief Dispense log access + * \note Try not to over-use, only stuff that matters should go in here + */ +extern void Log_Info(const char *Format, ...); + #endif