]> git.stg.codes - stg.git/blobdiff - stglibs/srvconf.lib/netunit.h
Ticket 12. In the ReadUsers() method: the error variable added; return -1 removed
[stg.git] / stglibs / srvconf.lib / netunit.h
index dc705803a11a4b82e37997b0d81dc723d131d599..ca13bbc867b83bc611607f7e6e57a934d4f23811 100644 (file)
  *    Author : Boris Mikhailenko <stg34@stargazer.dp.ua>
  */
 
- /*
- $Revision: 1.6 $
- $Date: 2010/02/11 12:32:53 $
- $Author: faust $
- */
-
 #ifndef NetUnitH
 #define NetUnitH
 
@@ -31,7 +25,9 @@
 
 #include <string>
 
-//---------------------------------------------------------------------------
+namespace STG
+{
+
 class NETTRANSACT
 {
 public:
@@ -39,31 +35,41 @@ public:
 
     NETTRANSACT(const std::string & server, uint16_t port,
                 const std::string & login, const std::string & password);
-    int     Transact(const char * request, CALLBACK f, void * data);
+    NETTRANSACT(const std::string & server, uint16_t port,
+                const std::string & localAddress, uint16_t localPort,
+                const std::string & login, const std::string & password);
+    ~NETTRANSACT();
+    int Transact(const std::string & request, CALLBACK f, void * data);
     const std::string & GetError() const { return errorMsg; }
 
-    int     Connect();
-    void    Disconnect();
+    int  Connect();
+    void Disconnect();
 private:
-    int     TxHeader();
-    int     RxHeaderAnswer();
+    int  TxHeader();
+    int  RxHeaderAnswer();
 
-    int     TxLogin();
-    int     RxLoginAnswer();
+    int  TxLogin();
+    int  RxLoginAnswer();
 
-    int     TxLoginS();
-    int     RxLoginSAnswer();
+    int  TxLoginS();
+    int  RxLoginSAnswer();
 
-    int     TxData(const char * text);
-    int     TxData(char * data);
-    int     RxDataAnswer(CALLBACK f, void * data);
+    int  TxData(const std::string & text);
+    int  RxDataAnswer(CALLBACK f, void * data);
 
     std::string server;
     uint16_t  port;
+    std::string localAddress;
+    uint16_t localPort;
     std::string login;
     std::string password;
-    int outerSocket;
+    int sock;
     std::string errorMsg;
+
+    static bool TxCrypto(const void * block, size_t size, void * data);
+    static bool RxCrypto(const void * block, size_t size, void * data);
 };
-//---------------------------------------------------------------------------
+
+} // namespace STG
+
 #endif