X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/704483df2dab0f376b996e04d5c971e99151f439..f384309c9c663a4b381d2e1a8545693514835395:/stglibs/srvconf.lib/netunit.h?ds=inline diff --git a/stglibs/srvconf.lib/netunit.h b/stglibs/srvconf.lib/netunit.h index e288df86..4d3bcfb0 100644 --- a/stglibs/srvconf.lib/netunit.h +++ b/stglibs/srvconf.lib/netunit.h @@ -27,72 +27,25 @@ #ifndef NetUnitH #define NetUnitH -#include -#include -#include +#include "stg/os_int.h" -#include #include -#include "stg/blowfish.h" +typedef bool (* RxCallback_t)(void *, const std::string &, bool); -#define STG_HEADER "SG04" -#define OK_HEADER "OKHD" -#define ERR_HEADER "ERHD" -#define OK_LOGIN "OKLG" -#define ERR_LOGIN "ERLG" -#define OK_LOGINS "OKLS" -#define ERR_LOGINS "ERLS" - -// äÌÉÎÎÁ ÛÉÆÒÕÅÍÏÇÏ É ÐÅÒÅÄÁ×ÁÅÍÏÇ ÚÁ ÏÄÉÎ ÒÁÚ ÂÌÏËÁ ÉÎÆÏÒÍÁÃÉÉ -#define ENC_MSG_LEN (8) - -#define MAX_ERR_STR_LEN (64) - -typedef int(*RxCallback_t)(void *, std::list *); - -enum status -{ -st_ok = 0, -st_conn_fail, -st_send_fail, -st_recv_fail, -st_header_err, -st_login_err, -st_logins_err, -st_data_err, -st_unknown_err, -st_dns_err, -st_xml_parse_error, -st_data_error -}; - -enum CONF_STATE -{ -confHdr = 0, -confLogin, -confLoginCipher, -confData -}; //--------------------------------------------------------------------------- class NETTRANSACT { public: - NETTRANSACT(); + NETTRANSACT(const std::string & server, uint16_t port, + const std::string & login, const std::string & password); int Transact(const char * data); const std::string & GetError() const; void SetRxCallback(void * data, RxCallback_t); - void SetServer(const char * serverName); - void SetServerPort(short unsigned p); - - void SetLogin(const char * l); - void SetPassword(const char * p); - //////////////////////////////////////////// int Connect(); int Disconnect(); - void Reset(); private: int TxHeader(); int RxHeaderAnswer(); @@ -107,16 +60,11 @@ private: int TxData(char * data); int RxDataAnswer(); - void Encrypt(char * d, const char * s, BLOWFISH_CTX *ctx); - void EnDecryptInit(const char * passwd, int passwdLen, BLOWFISH_CTX *ctx); - void Decrypt(char * d, const char * s, BLOWFISH_CTX *ctx); - std::string server; - short unsigned port; + uint16_t port; std::string login; std::string password; int outerSocket; - std::list answerList; RxCallback_t RxCallBack; void * dataRxCallBack; std::string errorMsg;