X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=src%2Fcokebank.h;h=77ac1107eb5eee438efa1355ac5d4c3a0e4f39cb;hb=fa5a63b28f0b56be4258b4b08d1f30fc4f08d602;hp=09e6d185aebaef1d522502b89649e7c48bbcca74;hpb=7d2c06b12b6e45d31d9359c54fa37f451b6eb4bd;p=tpg%2Fopendispense2.git diff --git a/src/cokebank.h b/src/cokebank.h index 09e6d18..77ac110 100644 --- a/src/cokebank.h +++ b/src/cokebank.h @@ -13,25 +13,65 @@ #define COKEBANK_SALES_ACCT ">sales" //!< Sales made into #define COKEBANK_DEBT_ACCT ">liability" //!< Credit taken out of -enum eCokebank_Flags { - USER_FLAG_TYPEMASK = 0x03, - USER_TYPE_NORMAL = 0x00, - USER_TYPE_COKE = 0x01, - USER_TYPE_WHEEL = 0x02, - USER_TYPE_GOD = 0x03, - - USER_FLAG_DOORGROUP = 0x40, - USER_FLAG_DISABLED = 0x80 +enum eCokebank_Flags { + USER_FLAG_COKE = 0x01, + USER_FLAG_WHEEL = 0x02, + USER_FLAG_DOORGROUP = 0x04, + USER_FLAG_INTERNAL = 0x40, + USER_FLAG_DISABLED = 0x80 }; // --- Cokebank Functions --- -extern int Transfer(int SourceUser, int DestUser, int Ammount, const char *Reason); -extern int GetFlags(int User); -extern int SetFlags(int User, int Mask, int Value); -extern int GetBalance(int User); -extern char *GetUserName(int User); -extern int GetUserID(const char *Username); -extern int CreateUser(const char *Username); -extern int GetMaxID(void); +/** + * \brief Transfer money from one account to another + * \param SourceUser UID (from \a GetUserID) to take the money from + * \param DestUser UID (from \a GetUserID) give money to + * \param Ammount Amount of money (in cents) to transfer + * \param Reason Reason for the transfer + */ +extern int Bank_Transfer(int SourceUser, int DestUser, int Ammount, const char *Reason); +/** + * \brief Get flags on an account + * \param User UID to get flags from + * \see eCokebank_Flags + */ +extern int Bank_GetFlags(int User); +/** + * \brief Set an account's flags + * \param User UID to set flags on + * \param Mask Mask of flags changed + * \param Value Final value of changed flags + */ +extern int Bank_SetFlags(int User, int Mask, int Value); +/** + * \brief Get an account's balance + * \param User UID to query + */ +extern int Bank_GetBalance(int User); +/** + * \brief Get the name associated with an account + * \return Heap string + */ +extern char *Bank_GetUserName(int User); +/** + * \brief Get a UID from a passed name + */ +extern int Bank_GetUserID(const char *Username); +/** + * \brief Create a new account + */ +extern int Bank_CreateUser(const char *Username); +/** + * \brief Get the maximum UID + * \note Used for iterating accounts + */ +extern int Bank_GetMaxID(void); +/** + * \brief Validates a user's authentication + * \param Salt Salt given to the client for hashing the password + * \param Username Username used + * \param Password Password sent by the client + */ +extern int Bank_GetUserAuth(const char *Salt, const char *Username, const char *Password); #endif