#ifndef NetUnitH
#define NetUnitH
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
+#include "stg/blowfish.h"
-#include <list>
#include <string>
-#include "stg/blowfish.h"
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
#define STG_HEADER "SG04"
#define OK_HEADER "OKHD"
#define MAX_ERR_STR_LEN (64)
-typedef int(*RxCallback_t)(void *, std::list<std::string> *);
+typedef bool (* RxCallback_t)(void *, const std::string &, bool);
enum status
{
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();
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<std::string> answerList;
RxCallback_t RxCallBack;
void * dataRxCallBack;
std::string errorMsg;