X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/f91192c77eec33a27dea7fcd0d451823ef478529..75dfb67fd068cc291e22f4f813b407812ebd09d2:/projects/rlm_stg/iface.cpp diff --git a/projects/rlm_stg/iface.cpp b/projects/rlm_stg/iface.cpp new file mode 100644 index 00000000..9d6a7833 --- /dev/null +++ b/projects/rlm_stg/iface.cpp @@ -0,0 +1,43 @@ +#include "iface.h" + +#include "loki/Singleton.h" + +#include "thriftclient.h" + +int stgInstantiateImpl(const char * server, uint16_t port, const char * password) +{ + if (STG_CLIENT_ST::Get().Configure(server, port, password)) + return 1; + + return 0; +} + +const STG_PAIR * stgAuthorizeImpl(const char * userName, const char * serviceType) +{ + return STG_CLIENT_ST::Get().Authorize(userName, serviceType); +} + +const STG_PAIR * stgAuthenticateImpl(const char * userName, const char * serviceType) +{ + return STG_CLIENT_ST::Get().Authenticate(userName, serviceType); +} + +const STG_PAIR * stgPostAuthImpl(const char * userName, const char * serviceType) +{ + return STG_CLIENT_ST::Get().PostAuth(userName, serviceType); +} + +const STG_PAIR * stgPreAcctImpl(const char * userName, const char * serviceType) +{ + return STG_CLIENT_ST::Get().PreAcct(userName, serviceType); +} + +const STG_PAIR * stgAccountingImpl(const char * userName, const char * serviceType, const char * statusType, const char * sessionId) +{ + return STG_CLIENT_ST::Get().Account(userName, serviceType, statusType, sessionId); +} + +void deletePairs(const STG_PAIR * pairs) +{ + delete[] pairs; +}