#include <sstream>
// header
class servicemanager
: public QThread{
Q_OBJECT
public:
servicemanager();
~servicemanager();
void run() { exec(); }
bool init(const char* ip, int port, const char* account );
void setAccount(const char* acct);
const char* positions();
public slots:
void onConnectStatus(bool stat);
private:
ITservice _service;
};
class ThreadedApp
: public QThread { Q_OBJECT
public:
void run();
bool init(const char* ip, int port, const char* account );
private:
servicemanager _manager;
};
// implementation
servicemanager
::servicemanager() : QThread(){}
servicemanager::~servicemanager(){}
bool servicemanager::init(const char* ip, int port, const char* account )
{
bool res
= QObject::connect(&_service,
SIGNAL (onConnect
(bool)),
this,
SLOT(onConnectStatus
(bool)));
bool val = _service.connect(true);
return val;
}
void servicemanager
::onAccountInfo(QString acct,
QString what,
int why
) {
}
void servicemanager::onConnectStatus(bool stat)
{
}
void ThreadedApp::run() {
int i = 1;
char *argv[] = { "myapp" };
app.exec();
}
bool ThreadedApp::init(const char* ip, int port, const char* account )
{
_manager.start();
aia::support::waitHere(1000); // wait one sec
return _manager.init(ip, port, account);
}
ThreadedApp app;
extern "C"
{
bool start()
{
app.start();
return true;
}
bool init(const char* ip, int port, const char* account )
{
return app.init(ip,port,account);
}
};
#include <sstream>
// header
class servicemanager : public QThread
{
Q_OBJECT
public:
servicemanager();
~servicemanager();
void run() { exec(); }
bool init(const char* ip, int port, const char* account );
void setAccount(const char* acct);
const char* positions();
public slots:
void onAccountInfo(QString acct, QString what, int why);
void onConnectStatus(bool stat);
private:
ITservice _service;
QString _account;
};
class ThreadedApp : public QThread {
Q_OBJECT
public:
ThreadedApp() : QThread() { }
void run();
bool init(const char* ip, int port, const char* account );
private:
servicemanager _manager;
};
// implementation
servicemanager::servicemanager() : QThread(){}
servicemanager::~servicemanager(){}
bool servicemanager::init(const char* ip, int port, const char* account )
{
bool res = QObject::connect(&_service, SIGNAL (onConnect(bool)), this, SLOT(onConnectStatus(bool)));
res = QObject::connect(&_service, SIGNAL(onAccountInfo(QString, QString, int)), this, SLOT(onAccountInfo(QString, QString, int)));
bool val = _service.connect(true);
return val;
}
void servicemanager::onAccountInfo(QString acct, QString what, int why)
{
}
void servicemanager::onConnectStatus(bool stat)
{
}
void ThreadedApp::run() {
int i = 1;
char *argv[] = { "myapp" };
QCoreApplication app(i, argv);
app.exec();
}
bool ThreadedApp::init(const char* ip, int port, const char* account )
{
_manager.start();
aia::support::waitHere(1000); // wait one sec
return _manager.init(ip, port, account);
}
ThreadedApp app;
extern "C"
{
bool start()
{
app.start();
return true;
}
bool init(const char* ip, int port, const char* account )
{
return app.init(ip,port,account);
}
};
To copy to clipboard, switch view to plain text mode
Bookmarks