#pragma once
#include <CoreFoundation/CoreFoundation.h>
#include <Growl/Growl.h>
#include "Swiften/Notifier/Notifier.h"
namespace Swift {
/**
* Preconditions for using growlnotifier:
* - Must be part a bundle.
* - The Carbon/Cocoa application loop must be running (e.g. through QApplication)
* such that notifications are coming through.
* TODO: Find out what the easiest way is to do this without a QApplication.
*/
class GrowlNotifier : public Notifier {
public:
GrowlNotifier(const String& name);
virtual void showMessage(Type type, const String& subject, const String& description, const ByteArray& picture, boost::function<void()> callback);
private:
String typeToString(Type type);
private:
Growl_Delegate delegate_;
};
}