X-Git-Url: https://git.ucc.asn.au/?p=tpg%2Fopendispense2.git;a=blobdiff_plain;f=src%2Fserver%2Fcommon.h;h=34361b950f97c0e0a1457c04ff720f3fa1df2548;hp=0d97ad5f968e465f579757a773b3a5db140d1eb2;hb=ec400f11ebc2e81079e464145915fb2d25602fbc;hpb=d40b4a892a6b06e2ef0cb72e90ebf7b023577d03 diff --git a/src/server/common.h b/src/server/common.h index 0d97ad5..34361b9 100644 --- a/src/server/common.h +++ b/src/server/common.h @@ -10,6 +10,7 @@ #define _COMMON_H_ #include +#include "../cokebank.h" // === CONSTANTS === #define DEFAULT_CONFIG_FILE "/etc/opendispense/main.cfg" @@ -19,6 +20,8 @@ #define _EXPSTR(x) #x #define EXPSTR(x) _EXPSTR(x) +#define UNUSED(var) unused__##var __attribute__((__unused__)) + // === STRUCTURES === typedef struct sItem tItem; typedef struct sUser tUser; @@ -29,6 +32,7 @@ struct sItem { char *Name; //!< Display Name int Price; //!< Price + int bHidden; //!< Hidden item? tHandler *Handler; //!< Handler for the item short ID; //!< Item ID @@ -52,6 +56,10 @@ struct sHandler { char *Name; int (*Init)(int NConfig, tConfigItem *Config); + /** + * \brief Check if an item can be dispensed + * \return Boolean Failure + */ int (*CanDispense)(int User, int ID); int (*DoDispense)(int User, int ID); }; @@ -65,20 +73,21 @@ extern int giDebugLevel; // === FUNCTIONS === // --- Helpers -- +extern void AddPeriodicFunction(void (*Fcn)(void)); extern void CompileRegex(regex_t *Regex, const char *Pattern, int Flags); extern int RunRegex(regex_t *regex, const char *string, int nMatches, regmatch_t *matches, const char *errorMessage); +extern int InitSerial(const char *Path, int BaudRate); +extern char *mkstr(const char *Format, ...); // --- Dispense --- -extern int DispenseItem(int User, tItem *Item); +extern int DispenseItem(int ActualUser, int User, tItem *Item); +extern int DispenseGive(int ActualUser, int SrcUser, int DestUser, int Ammount, const char *ReasonGiven); +extern int DispenseAdd(int ActualUser, int User, int Ammount, const char *ReasonGiven); +extern int DispenseSet(int ActualUser, int User, int Balance, const char *ReasonGiven); +extern int DispenseDonate(int ActualUser, int User, int Ammount, const char *ReasonGiven); // --- Logging --- extern void Log_Error(const char *Format, ...); extern void Log_Info(const char *Format, ...); -// --- Cokebank Functions --- -extern int Transfer(int SourceUser, int DestUser, int Ammount, const char *Reason); -extern int GetBalance(int User); -extern char *GetUserName(int User); -extern int GetUserID(const char *Username); - #endif