#ifndef CONFIGPROTO_H
#define CONFIGPROTO_H
-#include <expat.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-
#include <string>
#include <list>
+#include <vector>
-#include "stg/users.h"
-#include "stg/admins.h"
-#include "stg/tariffs.h"
-#include "stg/logger.h"
-#include "parser.h"
+#include "stg/module_settings.h"
+#include "stg/os_int.h"
+
+#include <expat.h>
+#include <pthread.h>
#define STG_HEADER "SG04"
#define OK_HEADER "OKHD"
#define OK_LOGINS "OKLS"
#define ERR_LOGINS "ERLS"
+class BASE_PARSER;
+class USERS;
+class ADMINS;
+class ADMIN;
+class TARIFFS;
+class PLUGIN_LOGGER;
+class STORE;
+class SETTINGS;
+
//-----------------------------------------------------------------------------
class CONFIGPROTO {
public:
CONFIGPROTO(PLUGIN_LOGGER & l);
~CONFIGPROTO();
- void SetPort(uint16_t port);
+ void SetPort(uint16_t p) { port = p; }
void SetAdmins(ADMINS * a);
void SetUsers(USERS * u);
void SetTariffs(TARIFFS * t);
int RecvLoginS(int sock);
int SendLoginSAnswer(int sock, int err);
int RecvData(int sock);
- int SendDataAnswer(int sock);
- void SendError(const char * text);
+ int SendDataAnswer(int sock, const std::string & answer);
+ int SendError(int sock, const std::string & text);
void WriteLogAccessFailed(uint32_t ip);
int ParseCommand();
- std::list<std::string> answerList;
std::list<std::string> requestList;
uint32_t adminIP;
std::string adminLogin;
int listenSocket;
- PARSER_GET_SERVER_INFO parserGetServInfo;
-
- PARSER_GET_USERS parserGetUsers;
- PARSER_GET_USER parserGetUser;
- PARSER_CHG_USER parserChgUser;
- PARSER_ADD_USER parserAddUser;
- PARSER_DEL_USER parserDelUser;
- PARSER_CHECK_USER parserCheckUser;
- PARSER_SEND_MESSAGE parserSendMessage;
-
- PARSER_GET_ADMINS parserGetAdmins;
- PARSER_ADD_ADMIN parserAddAdmin;
- PARSER_DEL_ADMIN parserDelAdmin;
- PARSER_CHG_ADMIN parserChgAdmin;
-
- PARSER_GET_TARIFFS parserGetTariffs;
- PARSER_ADD_TARIFF parserAddTariff;
- PARSER_DEL_TARIFF parserDelTariff;
- PARSER_CHG_TARIFF parserChgTariff;
-
ADMINS * admins;
BASE_PARSER * currParser;
- vector<BASE_PARSER *> dataParser;
+ std::vector<BASE_PARSER *> dataParser;
XML_Parser xmlParser;