#ifndef __INFO_METHODS_H__
#define __INFO_METHODS_H__
#include <string>
#include <vector>
#include <xmlrpc-c/base.hpp>
#include <xmlrpc-c/registry.hpp>
#include "stg/users.h"
#include "stg/tariffs.h"
// Forward declaration
class RPC_CONFIG;
class SETTINGS;
class METHOD_INFO : public xmlrpc_c::method
{
public:
METHOD_INFO(TARIFFS * t,
USERS * u,
size_t df,
const std::vector<std::string> & dn)
: tariffs(t),
users(u),
dayFee(df),
dirNames(dn)
{
}
void execute(xmlrpc_c::paramList const & paramList,
xmlrpc_c::value * const retvalP);
private:
METHOD_INFO(const METHOD_INFO & rvalue);
METHOD_INFO & operator=(const METHOD_INFO & rvalue);
TARIFFS * tariffs;
USERS * users;
size_t dayFee;
const std::vector<std::string> & dirNames;
};
class METHOD_LOGIN : public xmlrpc_c::method
{
public:
METHOD_LOGIN(RPC_CONFIG * c)
: config(c)
{
}
void execute(xmlrpc_c::paramList const & paramList,
xmlrpc_c::value * const retvalP);
private:
METHOD_LOGIN(const METHOD_LOGIN & rvalue);
METHOD_LOGIN & operator=(const METHOD_LOGIN & rvalue);
RPC_CONFIG * config;
};
class METHOD_LOGOUT : public xmlrpc_c::method
{
public:
METHOD_LOGOUT(RPC_CONFIG * c)
: config(c)
{
}
void execute(xmlrpc_c::paramList const & paramList,
xmlrpc_c::value * const retvalP);
private:
METHOD_LOGOUT(const METHOD_LOGOUT & rvalue);
METHOD_LOGOUT & operator=(const METHOD_LOGOUT & rvalue);
RPC_CONFIG * config;
};
#endif