]> git.stg.codes - stg.git/blob - projects/rlm_stg/iface.cpp
Changes in rlm_stg for better integration with FreeRADIUS.
[stg.git] / projects / rlm_stg / iface.cpp
1 #include "iface.h"
2
3 #include "loki/Singleton.h"
4
5 #include "thriftclient.h"
6
7 int stgInstantiateImpl(const char * server, uint16_t port, const char * password)
8 {
9     if (STG_CLIENT_ST::Get().Configure(server, port, password))
10         return 1;
11
12     return 0;
13 }
14
15 const STG_PAIR * stgAuthorizeImpl(const char * userName, const char * serviceType)
16 {
17     return STG_CLIENT_ST::Get().Authorize(userName, serviceType);
18 }
19
20 const STG_PAIR * stgAuthenticateImpl(const char * userName, const char * serviceType)
21 {
22     return STG_CLIENT_ST::Get().Authenticate(userName, serviceType);
23 }
24
25 const STG_PAIR * stgPostAuthImpl(const char * userName, const char * serviceType)
26 {
27     return STG_CLIENT_ST::Get().PostAuth(userName, serviceType);
28 }
29
30 const STG_PAIR * stgPreAcctImpl(const char * userName, const char * serviceType)
31 {
32     return STG_CLIENT_ST::Get().PreAcct(userName, serviceType);
33 }
34
35 const STG_PAIR * stgAccountingImpl(const char * userName, const char * serviceType, const char * statusType, const char * sessionId)
36 {
37     return STG_CLIENT_ST::Get().Account(userName, serviceType, statusType, sessionId);
38 }
39
40 void deletePairs(const STG_PAIR * pairs)
41 {
42     delete[] pairs;
43 }