webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
WebNotification.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2006-2007, 2015 Apple Inc. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  * notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  * notice, this list of conditions and the following disclaimer in the
11  * documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24  */
25 
26 #ifndef WebNotification_H
27 #define WebNotification_H
28 
29 #include "WebKit.h"
30 
31 class WebNotification : public IWebNotification
32 {
33 public:
34  static WebNotification* createInstance(BSTR name = 0, IUnknown* anObject = 0, IPropertyBag* userInfo = 0);
35 protected:
36  WebNotification(BSTR name, IUnknown* anObject, IPropertyBag* userInfo);
38 
39 public:
40  // IUnknown
41  virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void** ppvObject);
42  virtual ULONG STDMETHODCALLTYPE AddRef();
43  virtual ULONG STDMETHODCALLTYPE Release();
44 
45  // IWebNotification
46  virtual HRESULT STDMETHODCALLTYPE notificationWithName(_In_ BSTR aName, _In_opt_ IUnknown* anObject, _In_opt_ IPropertyBag* userInfo);
47  virtual HRESULT STDMETHODCALLTYPE name(__deref_out_opt BSTR* result);
48  virtual HRESULT STDMETHODCALLTYPE getObject(_COM_Outptr_opt_ IUnknown** result);
49  virtual HRESULT STDMETHODCALLTYPE userInfo(_COM_Outptr_opt_ IPropertyBag ** result);
50 
51 protected:
53  BSTR m_name { nullptr };
54  IUnknown* m_anObject;
55  IPropertyBag* m_userInfo;
56 };
57 
58 #endif
Definition: IWebNotification.idl:37
virtual ULONG STDMETHODCALLTYPE AddRef()
Definition: WebNotification.cpp:87
IPropertyBag * m_userInfo
Definition: WebNotification.h:55
unsigned long ULONG
Definition: MD5.h:32
BSTR m_name
Definition: WebNotification.h:53
HRESULT
Definition: RenderThemeWin.cpp:150
virtual HRESULT STDMETHODCALLTYPE QueryInterface(_In_ REFIID riid, _COM_Outptr_ void **ppvObject)
Definition: WebNotification.cpp:71
ULONG m_refCount
Definition: WebNotification.h:52
virtual HRESULT STDMETHODCALLTYPE userInfo(_COM_Outptr_opt_ IPropertyBag **result)
Definition: WebNotification.cpp:137
wchar_t * BSTR
Definition: BString.h:36
static WebNotification * createInstance(BSTR name=0, IUnknown *anObject=0, IPropertyBag *userInfo=0)
Definition: WebNotification.cpp:62
IUnknown * m_anObject
Definition: WebNotification.h:54
EGLImageKHR EGLint * name
Definition: eglext.h:851
~WebNotification()
Definition: WebNotification.cpp:49
result
Definition: target-blank-opener-post-window.php:5
WebNotification(BSTR name, IUnknown *anObject, IPropertyBag *userInfo)
Definition: WebNotification.cpp:34
virtual HRESULT STDMETHODCALLTYPE name(__deref_out_opt BSTR *result)
Definition: WebNotification.cpp:109
virtual HRESULT STDMETHODCALLTYPE notificationWithName(_In_ BSTR aName, _In_opt_ IUnknown *anObject, _In_opt_ IPropertyBag *userInfo)
Definition: WebNotification.cpp:103
Definition: WebNotification.h:32
virtual ULONG STDMETHODCALLTYPE Release()
Definition: WebNotification.cpp:92
virtual HRESULT STDMETHODCALLTYPE getObject(_COM_Outptr_opt_ IUnknown **result)
Definition: WebNotification.cpp:124