95 lines
1.6 KiB
C
95 lines
1.6 KiB
C
|
|
||
|
|
||
|
#ifndef TFARMPROXY_H
|
||
|
#define TFARMPROXY_H
|
||
|
|
||
|
#ifdef TFARMAPI
|
||
|
#undef TFARMAPI
|
||
|
#endif
|
||
|
|
||
|
#include <string>
|
||
|
#include <vector>
|
||
|
using std::string;
|
||
|
using std::vector;
|
||
|
|
||
|
#include "texception.h"
|
||
|
|
||
|
#ifdef WIN32
|
||
|
#ifdef TFARM_EXPORTS
|
||
|
#define TFARMAPI __declspec(dllexport)
|
||
|
#else
|
||
|
#define TFARMAPI __declspec(dllimport)
|
||
|
#endif
|
||
|
#else
|
||
|
#define TFARMAPI
|
||
|
#endif
|
||
|
|
||
|
//------------------------------------------------------------------------------
|
||
|
|
||
|
class TFARMAPI TFarmProxy
|
||
|
{
|
||
|
public:
|
||
|
TFarmProxy(const QString &hostName, const QString &addr, int port)
|
||
|
: m_hostName(hostName), m_addr(addr), m_port(port)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
virtual ~TFarmProxy() {}
|
||
|
|
||
|
QString sendToStub(const QString &data);
|
||
|
static int extractArgs(const QString &s, vector<QString> &argv);
|
||
|
|
||
|
protected:
|
||
|
QString m_hostName;
|
||
|
QString m_addr;
|
||
|
int m_port;
|
||
|
};
|
||
|
|
||
|
//------------------------------------------------------------------------------
|
||
|
|
||
|
class TFARMAPI TFarmProxyException : public TException
|
||
|
{
|
||
|
public:
|
||
|
TFarmProxyException(
|
||
|
const QString &hostname,
|
||
|
const QString &addr,
|
||
|
int port,
|
||
|
const QString &msg)
|
||
|
: TException(msg.toStdString()), m_hostName(hostname), m_address(addr), m_port(port) {}
|
||
|
|
||
|
QString getHostName() const
|
||
|
{
|
||
|
return m_hostName;
|
||
|
}
|
||
|
|
||
|
QString getAddress() const
|
||
|
{
|
||
|
return m_address;
|
||
|
}
|
||
|
|
||
|
int getPort() const
|
||
|
{
|
||
|
return m_port;
|
||
|
}
|
||
|
|
||
|
protected:
|
||
|
QString m_hostName;
|
||
|
QString m_address;
|
||
|
int m_port;
|
||
|
};
|
||
|
|
||
|
//------------------------------------------------------------------------------
|
||
|
|
||
|
class CantConnectToStub : public TFarmProxyException
|
||
|
{
|
||
|
public:
|
||
|
CantConnectToStub(
|
||
|
const QString &hostname,
|
||
|
const QString &addr,
|
||
|
int port) : TFarmProxyException(hostname, addr, port, "") {}
|
||
|
|
||
|
TString getMessage() const;
|
||
|
};
|
||
|
|
||
|
#endif
|