/* * Copyright (c) 2010-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #include #include #include #include #include #include #include #include #include #include using namespace Swift; using namespace Swift; bool connecting_ = false; Client* client_; SimpleEventLoop eventLoop_; int count = 0; void handleTick(std::shared_ptr timer) { std::cout << "Count " << count++ << std::endl; if (timer) { timer->stop(); } if (connecting_) { client_->disconnect(); } else { if (count > 60) { eventLoop_.stop(); return; } client_->connect(); } connecting_ = !connecting_; int delay = 500; // int delay = 0; std::shared_ptr newTimer(BoostTimer::create(delay, &MainBoostIOServiceThread::getInstance().getIOService())); newTimer->onTick.connect(boost::bind(&handleTick, timer)); newTimer->start(); } int main(int, char**) { char* jidChars = getenv("SWIFT_CLIENTTEST_JID"); if (!jidChars) { std::cerr << "Please set the SWIFT_CLIENTTEST_JID environment variable" << std::endl; return -1; } char* passChars = getenv("SWIFT_CLIENTTEST_PASS"); if (!passChars) { std::cerr << "Please set the SWIFT_CLIENTTEST_PASS environment variable" << std::endl; return -1; } JID jid(jidChars); std::string pass(passChars); client_ = new Swift::Client(jid, pass); handleTick(std::shared_ptr()); eventLoop_.run(); delete client_; return 0; }