diff options
author | Kevin Smith <git@kismith.co.uk> | 2011-11-12 16:56:21 (GMT) |
---|---|---|
committer | Kevin Smith <git@kismith.co.uk> | 2011-12-13 08:17:58 (GMT) |
commit | 81c09a0f6a3e87b078340d7f35d0dea4c03f3a6d (patch) | |
tree | 4371c5808ee26b2b5ed79ace9ccb439ff2988945 /Swiften/QA/ClientTest | |
parent | fd17fe0d239f97cedebe4ceffa234155bd299b68 (diff) | |
download | swift-contrib-81c09a0f6a3e87b078340d7f35d0dea4c03f3a6d.zip swift-contrib-81c09a0f6a3e87b078340d7f35d0dea4c03f3a6d.tar.bz2 |
BOSH Support for Swiften
This adds support for BOSH to Swiften. It does not expose it to Swift.
Release-Notes: Swiften now allows connects over BOSH, if used appropriately.
Diffstat (limited to 'Swiften/QA/ClientTest')
-rw-r--r-- | Swiften/QA/ClientTest/ClientTest.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/Swiften/QA/ClientTest/ClientTest.cpp b/Swiften/QA/ClientTest/ClientTest.cpp index 4515893..3b8734e 100644 --- a/Swiften/QA/ClientTest/ClientTest.cpp +++ b/Swiften/QA/ClientTest/ClientTest.cpp @@ -28,12 +28,13 @@ enum TestStage { Reconnect }; TestStage stage; +ClientOptions options; void handleDisconnected(boost::optional<ClientError> e) { std::cout << "Disconnected: " << e << std::endl; if (stage == FirstConnect) { stage = Reconnect; - client->connect(); + client->connect(options); } else { eventLoop.stop(); @@ -66,13 +67,22 @@ int main(int, char**) { return -1; } + char* boshHost = getenv("SWIFT_CLIENTTEST_BOSH_HOST"); + char* boshPort = getenv("SWIFT_CLIENTTEST_BOSH_PORT"); + char* boshPath = getenv("SWIFT_CLIENTTEST_BOSH_PATH"); + + if (boshHost && boshPort && boshPath) { + std::cout << "Using BOSH with URL: http://" << boshHost << ":" << boshPort << "/" << boshPath << std::endl; + options.boshURL = URL("http", boshHost, atoi(boshPort), boshPath); + } + client = new Swift::Client(JID(jid), std::string(pass), &networkFactories); - ClientXMLTracer* tracer = new ClientXMLTracer(client); + ClientXMLTracer* tracer = new ClientXMLTracer(client, !options.boshURL.empty()); client->onConnected.connect(&handleConnected); client->onDisconnected.connect(boost::bind(&handleDisconnected, _1)); client->setAlwaysTrustCertificates(); stage = FirstConnect; - client->connect(); + client->connect(options); { Timer::ref timer = networkFactories.getTimerFactory()->createTimer(60000); |