#ifndef __STG_SGCONFIG_CONN_H__
#define __STG_SGCONFIG_CONN_H__
+#include "parser.h"
+
#include "stg/os_int.h"
#include "stg/const.h"
#include <stdexcept>
#include <string>
-#include <map>
#include <expat.h>
Error(const std::string& message) : runtime_error(message.c_str()) {}
};
- Conn(const SETTINGS & settings,
- ADMINS & admins,
- USERS & users,
- TARIFFS & tariffs,
- int sock, const sockaddr_in& addr);
+ Conn(const BASE_PARSER::REGISTRY & registry,
+ ADMINS & admins, int sock, const sockaddr_in& addr);
~Conn();
int Sock() const { return m_sock; }
static const char OK_LOGINS[5];
static const char ERR_LOGINS[5];
- const SETTINGS & m_settings;
+ const BASE_PARSER::REGISTRY & m_registry;
+
ADMINS & m_admins;
- USERS & m_users;
- TARIFFS & m_tariffs;
ADMIN * m_admin;
void * m_buffer;
size_t m_bufferSize;
- char m_header[sizeof(STG_HEADER)];
- char m_login[ADM_LOGIN_LEN + 1];
- char m_cryptoLogin[ADM_LOGIN_LEN + 1];
+ char m_header[sizeof(STG_HEADER) - 1]; // Without \0
+ char m_login[ADM_LOGIN_LEN]; // Without \0
+ char m_cryptoLogin[ADM_LOGIN_LEN]; // Without \0
char m_data[1024];
STG::DECRYPT_STREAM * m_stream;
- BASE_PARSER * GetParser(const std::string & tag);
+ BASE_PARSER * GetParser(const std::string & tag) const;
bool HandleBuffer(size_t size);