]> git.stg.codes - stg.git/blob - stglibs/srvconf.lib/test.cpp
У плагіні пінгера зроблені константними методи нотифікаторів GetUser
[stg.git] / stglibs / srvconf.lib / test.cpp
1 /*
2  *    This program is free software; you can redistribute it and/or modify
3  *    it under the terms of the GNU General Public License as published by
4  *    the Free Software Foundation; either version 2 of the License, or
5  *    (at your option) any later version.
6  *
7  *    This program is distributed in the hope that it will be useful,
8  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
9  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10  *    GNU General Public License for more details.
11  *
12  *    You should have received a copy of the GNU General Public License
13  *    along with this program; if not, write to the Free Software
14  *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
15  */
16
17 /*
18  *    Author : Boris Mikhailenko <stg34@stargazer.dp.ua>
19  */
20
21  /*
22  $Revision: 1.6 $
23  $Date: 2008/02/09 16:22:18 $
24  $Author: nobunaga $
25  */
26
27 #include <stdio.h>
28 #include <string.h>
29 #include "servconf.h"
30
31 //-----------------------------------------------------------------------------
32 void RecvUserData(USERDATA * ud, void * d)
33 {
34 // ôÕÔ ×Ù×ÏÄÉÔÓÑ ÞÁÓÔØ ÉÎÆÙ Ï ÐÏÌØÚÏ×ÁÔÅÌÅ, ÎÏ × ud ÐÅÒÅÄÁÅÔÓÑ ×ÓÑ ÉÎÆÁ
35 printf("login: %s password :%s cash:%8.2f   ip:%16s\n", ud->login, ud->password, ud->cash, ud->ips);
36 }
37 //-----------------------------------------------------------------------------
38 void RecvServerInfoData(SERVERINFO * si, void * d)
39 {
40 // ôÕÔ ÔÏÖÅ ÔÏÌØËÏ ÞÁÓÔØ ÉÎÆÙ ×Ù×ÏÄÉÔÓÑ ÎÁ ÜËÒÁÎ
41 printf("uname:   %20s\n", si->uname);
42 printf("version: %20s\n", si->version);
43 printf("users:   %20d\n", si->usersNum);
44 for (int i = 0; i < DIR_NUM; i++)
45     {
46     printf("dir name 1:   >%16s<\n", si->dirName[i]);
47     }
48 }
49 //-----------------------------------------------------------------------------
50 int RecvSetUserAnswer(const char * ans, void * d)
51 {
52 printf("ans=%s\n", ans);
53 if (strcasecmp("Ok", ans) == 0)
54     *((bool*)d) = true;
55 else
56     *((bool*)d) = false;
57
58 return 0;
59 }
60 //-----------------------------------------------------------------------------
61 int RecvCheckUserAnswer(const char * ans, void * d)
62 {
63 if (strcmp("Ok", ans) == 0)
64     *((bool*)d) = true;
65 else
66     *((bool*)d) = false;
67 return 0;
68 }
69 //-----------------------------------------------------------------------------
70 int RecvSendMessageAnswer(const char * ans, void * d)
71 {
72 if (strcasecmp("Ok", ans) == 0)
73     *((bool*)d) = true;
74 else
75     *((bool*)d) = false;
76 return 0;
77 }
78 //-----------------------------------------------------------------------------
79 int main()
80 {
81 SERVCONF sc;
82 int ret;
83 bool userExist = false;
84 bool result = false;
85
86 sc.SetServer("127.0.0.1");  // õÓÔÁÎÁ×ÌÉ×ÁÅÍ ÉÍÑ ÓÅÒ×ÅÒÁ Ó ËÏÔÏÒÇÏ ÚÁÂÉÒÁÔØ ÉÎÆÕ
87 sc.SetPort(5555);           // ÁÄÍÉÎÓËÉÊ ÐÏÒÔ ÓÅÒ×ÅÒÁÐÏÒÔ
88 sc.SetAdmLogin("admin");    // ÷ÙÓÔÁ×ÌÑÅÍ ÌÏÇÉΠɠÐÁÒÏÌØ ÁÄÍÉÎÁ
89 sc.SetAdmPassword("123456");
90
91 sc.SetUserDataRecvCb(RecvUserData, NULL);          // óÔÁ×ÉÍ ËÏÌÂÜË-ÆÕÎËÃÉÉ, ËÏÔÏÒÙÅ
92 sc.SetGetUserDataRecvCb(RecvUserData, NULL);          // GET USER
93 sc.SetServerInfoRecvCb(RecvServerInfoData, NULL);  // ÂÕÄÕÔ ×ÙÚ×ÁÎÙ ÐÒÉ ÐÏÌÕÞÅÎÉÉ ÉÎÆÏÒÍÁÃÉÉ Ó ÓÅÒ×ÅÒÁ
94 sc.SetChgUserCb(RecvSetUserAnswer, &userExist);
95 sc.SetCheckUserCb(RecvCheckUserAnswer, &userExist);
96 sc.SetSendMessageCb(RecvSendMessageAnswer, &result);
97 printf("--------------- GetServerInfo ---------------\n");
98 ret = sc.GetServerInfo();       // úÁÐÒÁÛÉ×ÁÅÍ ÉÎÆÕ Ï ÓÅÒ×ÅÒÅ. üÔÏ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ
99 if (ret != st_ok)               // ÄÌÑ ÐÒÏ×ÅÒËÉ ÌÏÇÉÎÁ É ÐÁÒÏÌÑ ÁÄÍÉÎÁ
100     {
101     printf("error %d %s\n", ret, sc.GetStrError());
102     return 0;
103     }
104
105 /*printf("--------------- GetUsers ---------------\n");
106 ret = sc.GetUsers();            // úÁÐÒÁÛÉ×ÁÅÍ ÉÎÆÕ Ï ÐÏÌØÚÏ×ÁÔÅÌÅ
107 if (ret != st_ok)
108     {
109     printf("error %d %s\n", ret, sc.GetStrError());
110     return 0;
111     }*/
112
113 printf("--------------- SendMessage ---------------\n");
114 ret = sc.SendMessage("zubr11", "test", 0);            //
115 if (ret != st_ok)
116     {
117     printf("error %d %s\n", ret, sc.GetStrError());
118     return 0;
119     }
120 if (result)
121     printf("SendMessage ok\n");
122 else
123     printf("SendMessage failed\n");
124
125 return 0;
126
127 printf("--------------- GetUser ---------------\n");
128 ret = sc.GetUser("test");            // úÁÐÒÁÛÉ×ÁÅÍ ÉÎÆÕ Ï ÐÏÌØÚÏ×ÁÔÅÌÅ
129 if (ret != st_ok)
130     {
131     printf("error %d %s\n", ret, sc.GetStrError());
132     return 0;
133     }
134
135 return 0;
136
137 printf("--------------- CheckUser ---------------\n");
138 sc.CheckUser("test", "123456");
139 if (userExist)
140     printf("login - ok\n");
141 else
142     printf("login failed\n");
143
144 printf("--------------- ChgUser ON ---------------\n");
145 char req[1024];
146 sprintf(req, "<SetUser> "
147         "<login value=\"test\"/> "
148         "<ips value=\"192.168.111.100\"/> "
149         "<aonline value=\"1\"/> "
150         "<iface value=\"ppp0\"/></SetUser>");
151 sc.ChgUser(req);
152 if (userExist)
153     printf("chg user ok\n");
154 else
155     printf("chg user error\n");
156
157 printf("--------------- ChgUser OFF ---------------\n");
158 sprintf(req, "<SetUser> "
159         "<login value=\"test\"/> "
160         "<aonline value=\"0\"/> </SetUser>");
161
162 sc.ChgUser(req);
163 if (userExist)
164     printf("chg user ok\n");
165 else
166     printf("chg user error\n");
167
168 return 0;
169 }
170 //-----------------------------------------------------------------------------
171