X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=src%2Fserver%2Fcommon.h;h=1bdca84275dc4ad392bce589b0c536d00f9f9ffe;hb=6d657891a5410b7d93cc90f376a3ef27b72b20f6;hp=280cd4ec7c0c0ed201f7ee90c973e24f0e8dce07;hpb=7b65f9ffa8bf79403c71bb540e9a252826451903;p=tpg%2Fopendispense2.git diff --git a/src/server/common.h b/src/server/common.h index 280cd4e..1bdca84 100644 --- a/src/server/common.h +++ b/src/server/common.h @@ -10,14 +10,15 @@ #define _COMMON_H_ #include +#include "../cokebank.h" // === CONSTANTS === #define DEFAULT_CONFIG_FILE "/etc/opendispense/main.cfg" #define DEFAULT_ITEM_FILE "/etc/opendispense/items.cfg" // === HELPER MACROS === -#define _EXPSTR(x) #x -#define EXPSTR(x) _EXPSTR(x) + +#define UNUSED(var) unused__##var __attribute__((__unused__)) // === STRUCTURES === typedef struct sItem tItem; @@ -29,6 +30,8 @@ struct sItem { char *Name; //!< Display Name int Price; //!< Price + int bHidden; //!< Hidden item? + int bDisabledi; //!< Disabled Item tHandler *Handler; //!< Handler for the item short ID; //!< Item ID @@ -66,26 +69,34 @@ extern int giNumItems; extern tHandler *gaHandlers[]; extern int giNumHandlers; extern int giDebugLevel; +extern int gbNoCostMode; // === FUNCTIONS === +extern void Items_UpdateFile(void); + // --- Helpers -- +extern void StartPeriodicThread(void); +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 DispenseGive(int SrcUser, int DestUser, int Ammount, const char *ReasonGiven); +extern int DispenseItem(int ActualUser, int User, tItem *Item); +extern int DispenseRefund(int ActualUser, int DestUser, tItem *Item, int OverridePrice); +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, int *OrigBalance); +extern int DispenseDonate(int ActualUser, int User, int Ammount, const char *ReasonGiven); +extern int DispenseUpdateItem(int User, tItem *Item, const char *NewName, int NewPrice); // --- Logging --- +// to syslog 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); +// To stdout +#define Debug_Notice(msg, v...) fprintf(stderr, "%08llun: "msg"\n", (unsigned long long)time(NULL) ,##v) +#define Debug_Debug(msg, v...) fprintf(stderr, "%08llud: "msg"\n", (unsigned long long)time(NULL) ,##v) #endif