diff options
author | Kevin Smith <git@kismith.co.uk> | 2010-03-30 08:46:08 (GMT) |
---|---|---|
committer | Kevin Smith <git@kismith.co.uk> | 2010-03-30 08:46:24 (GMT) |
commit | 9593ec65fa0def4c840d8a68578c671bbf0981c9 (patch) | |
tree | 201865a79109ab49e060df6df6ad6ee8679ae5bd /Swiften | |
parent | c87a58a698ecaca2e6c4577e1e645b38a2c32e67 (diff) | |
download | swift-9593ec65fa0def4c840d8a68578c671bbf0981c9.zip swift-9593ec65fa0def4c840d8a68578c671bbf0981c9.tar.bz2 |
Basic error handling for SendMessage example.
Diffstat (limited to 'Swiften')
-rw-r--r-- | Swiften/Examples/SendMessage/SendMessage.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Swiften/Examples/SendMessage/SendMessage.cpp b/Swiften/Examples/SendMessage/SendMessage.cpp index b7a80dd..7699eef 100644 --- a/Swiften/Examples/SendMessage/SendMessage.cpp +++ b/Swiften/Examples/SendMessage/SendMessage.cpp @@ -16,6 +16,8 @@ SimpleEventLoop eventLoop; Client* client = 0; JID recipient; std::string messageBody; +int exitCode = 0; + void handleConnected() { boost::shared_ptr<Message> message(new Message()); @@ -26,6 +28,11 @@ void handleConnected() { eventLoop.stop(); } +void handleError(const ClientError&) { + std::cerr << "Error!" << std::endl; + exitCode = 1; +} + int main(int argc, char* argv[]) { if (argc != 5) { std::cerr << "Usage: " << argv[0] << " <jid> <password> <recipient> <message>" << std::endl; @@ -38,6 +45,7 @@ int main(int argc, char* argv[]) { client = new Swift::Client(JID(argv[1]), String(argv[2])); ClientXMLTracer* tracer = new ClientXMLTracer(client); client->onConnected.connect(&handleConnected); + client->onError.connect(&handleError); client->connect(); { @@ -50,4 +58,5 @@ int main(int argc, char* argv[]) { delete tracer; delete client; + return exitCode; } |