class TARIFFS;
 class USERS;
 class STORE;
-class IP_MASK;
+struct IP_MASK;
 
 class METHOD_USER_GET : public xmlrpc_c::method {
 public:
 
     void execute(xmlrpc_c::paramList const & paramList,
                  xmlrpc_c::value *   const   retvalP);
+
 private:
+    METHOD_USER_GET(const METHOD_USER_GET & rvalue);
+    METHOD_USER_GET & operator=(const METHOD_USER_GET & rvalue);
+
     RPC_CONFIG * config;
     USERS * users;
 };
 
     void execute(xmlrpc_c::paramList const & paramList,
                  xmlrpc_c::value *   const   retvalP);
+
 private:
+    METHOD_USER_ADD(const METHOD_USER_ADD & rvalue);
+    METHOD_USER_ADD & operator=(const METHOD_USER_ADD & rvalue);
+
     RPC_CONFIG * config;
     ADMINS * admins;
     USERS * users;
 
     void execute(xmlrpc_c::paramList const & paramList,
                  xmlrpc_c::value *   const   retvalP);
+
 private:
+    METHOD_USER_DEL(const METHOD_USER_DEL & rvalue);
+    METHOD_USER_DEL & operator=(const METHOD_USER_DEL & rvalue);
+
     RPC_CONFIG * config;
     ADMINS * admins;
     USERS * users;
 
     void execute(xmlrpc_c::paramList const & paramList,
                  xmlrpc_c::value *   const   retvalP);
+
 private:
+    METHOD_USERS_GET(const METHOD_USERS_GET & rvalue);
+    METHOD_USERS_GET & operator=(const METHOD_USERS_GET & rvalue);
+
     RPC_CONFIG * config;
     USERS * users;
 };
 
     void execute(xmlrpc_c::paramList const & paramList,
                  xmlrpc_c::value *   const   retvalP);
+
 private:
+    METHOD_USER_CHG(const METHOD_USER_CHG & rvalue);
+    METHOD_USER_CHG & operator=(const METHOD_USER_CHG & rvalue);
+
     RPC_CONFIG * config;
     ADMINS * admins;
     TARIFFS * tariffs;
 
     void execute(xmlrpc_c::paramList const & paramList,
                  xmlrpc_c::value *   const   retvalP);
+
 private:
+    METHOD_USER_CASH_ADD(const METHOD_USER_CASH_ADD & rvalue);
+    METHOD_USER_CASH_ADD & operator=(const METHOD_USER_CASH_ADD & rvalue);
+
     RPC_CONFIG * config;
     ADMINS * admins;
     STORE * store;
 
     void execute(xmlrpc_c::paramList const & paramList,
                  xmlrpc_c::value *   const   retvalP);
+
 private:
+    METHOD_USER_CASH_SET(const METHOD_USER_CASH_SET & rvalue);
+    METHOD_USER_CASH_SET & operator=(const METHOD_USER_CASH_SET & rvalue);
+
     RPC_CONFIG * config;
     ADMINS * admins;
     STORE * store;
 
     void execute(xmlrpc_c::paramList const & paramList,
                  xmlrpc_c::value *   const   retvalP);
+
 private:
+    METHOD_USER_TARIFF_CHANGE(const METHOD_USER_TARIFF_CHANGE & rvalue);
+    METHOD_USER_TARIFF_CHANGE & operator=(const METHOD_USER_TARIFF_CHANGE & rvalue);
+
     RPC_CONFIG * config;
     ADMINS * admins;
     TARIFFS * tariffs;
 
     void execute(xmlrpc_c::paramList const & paramList,
                  xmlrpc_c::value *   const   retvalP);
+
 private:
+    METHOD_GET_ONLINE_IPS(const METHOD_GET_ONLINE_IPS & rvalue);
+    METHOD_GET_ONLINE_IPS & operator=(const METHOD_GET_ONLINE_IPS & rvalue);
+
     RPC_CONFIG * config;
     USERS * users;
 
     bool ParseNet(const std::string & net, IP_MASK & ipm) const;
 };
 
+class METHOD_GET_USER_AUTH_BY : public xmlrpc_c::method {
+public:
+    METHOD_GET_USER_AUTH_BY(RPC_CONFIG * c,
+                            USERS * u)
+        : config(c),
+          users(u)
+    {
+    }
+
+    void execute(xmlrpc_c::paramList const & paramList,
+                 xmlrpc_c::value *   const   retvalP);
+
+private:
+    METHOD_GET_USER_AUTH_BY(const METHOD_GET_ONLINE_IPS & rvalue);
+    METHOD_GET_USER_AUTH_BY & operator=(const METHOD_GET_ONLINE_IPS & rvalue);
+
+    RPC_CONFIG * config;
+    USERS * users;
+};
+
 #endif