#ifndef WebNotification_h
#define WebNotification_h
#include "APIObject.h"
#include "WebSecurityOrigin.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
#include <wtf/text/WTFString.h>
namespace IPC {
class ArgumentDecoder;
class ArgumentEncoder;
}
namespace WebKit {
class WebNotification : public API::ObjectImpl<API::Object::Type::Notification> {
public:
static PassRefPtr<WebNotification> create(const String& title, const String& body, const String& iconURL, const String& tag, const String& lang, const String& dir, const String& originString, uint64_t notificationID)
{
return adoptRef(new WebNotification(title, body, iconURL, tag, lang, dir, originString, notificationID));
}
const String& title() const { return m_title; }
const String& body() const { return m_body; }
const String& iconURL() const { return m_iconURL; }
const String& tag() const { return m_tag; }
const String& lang() const { return m_lang; }
const String& dir() const { return m_dir; }
WebSecurityOrigin* origin() const { return m_origin.get(); }
uint64_t notificationID() const { return m_notificationID; }
private:
WebNotification(const String& title, const String& body, const String& iconURL, const String& tag, const String& lang, const String& dir, const String& originString, uint64_t notificationID);
String m_title;
String m_body;
String m_iconURL;
String m_tag;
String m_lang;
String m_dir;
RefPtr<WebSecurityOrigin> m_origin;
uint64_t m_notificationID;
};
inline bool isNotificationIDValid(uint64_t id)
{
return id && id != static_cast<uint64_t>(-1);
}
}
#endif // WebNotification_h