diff options
Diffstat (limited to 'SwifTools/Notifier/GNTPNotifier.h')
-rw-r--r-- | SwifTools/Notifier/GNTPNotifier.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/SwifTools/Notifier/GNTPNotifier.h b/SwifTools/Notifier/GNTPNotifier.h new file mode 100644 index 0000000..47b0c01 --- /dev/null +++ b/SwifTools/Notifier/GNTPNotifier.h @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2010 Remko Tronçon + * Licensed under the GNU General Public License v3. + * See Documentation/Licenses/GPLv3.txt for more information. + */ + +#pragma once + +#include <boost/filesystem.hpp> + +#include "SwifTools/Notifier/Notifier.h" +#include "Swiften/Network/Connection.h" + +namespace Swift { + class ConnectionFactory; + + class GNTPNotifier : public Notifier { + public: + GNTPNotifier(const String& name, const boost::filesystem::path& icon, ConnectionFactory* connectionFactory); + ~GNTPNotifier(); + + virtual void showMessage(Type type, const String& subject, const String& description, const boost::filesystem::path& picture, boost::function<void()> callback); + + private: + void handleConnectFinished(bool error); + void handleDataRead(const ByteArray& data); + void send(const std::string& message); + + private: + String name; + boost::filesystem::path icon; + ConnectionFactory* connectionFactory; + bool initialized; + bool registered; + std::string currentMessage; + Connection::ref currentConnection; + }; +} |