1a9984bf9ddc3cf73fdae3f29134a2bab379e7029Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved.
2a9984bf9ddc3cf73fdae3f29134a2bab379e7029Ben Murdoch// Use of this source code is governed by a BSD-style license that can be
3a9984bf9ddc3cf73fdae3f29134a2bab379e7029Ben Murdoch// found in the LICENSE file.
4a9984bf9ddc3cf73fdae3f29134a2bab379e7029Ben Murdoch
5a9984bf9ddc3cf73fdae3f29134a2bab379e7029Ben Murdoch#ifndef WebPushClient_h
6a9984bf9ddc3cf73fdae3f29134a2bab379e7029Ben Murdoch#define WebPushClient_h
7a9984bf9ddc3cf73fdae3f29134a2bab379e7029Ben Murdoch
8a9984bf9ddc3cf73fdae3f29134a2bab379e7029Ben Murdoch#include "public/platform/WebCallbacks.h"
9a9984bf9ddc3cf73fdae3f29134a2bab379e7029Ben Murdoch#include "public/platform/WebPushError.h"
10a9984bf9ddc3cf73fdae3f29134a2bab379e7029Ben Murdoch#include "public/platform/WebString.h"
11a9984bf9ddc3cf73fdae3f29134a2bab379e7029Ben Murdoch
12a9984bf9ddc3cf73fdae3f29134a2bab379e7029Ben Murdochnamespace blink {
13a9984bf9ddc3cf73fdae3f29134a2bab379e7029Ben Murdoch
14197021e6b966cfb06891637935ef33fff06433d1Ben Murdochclass WebServiceWorkerProvider;
15a9984bf9ddc3cf73fdae3f29134a2bab379e7029Ben Murdochstruct WebPushRegistration;
16a9984bf9ddc3cf73fdae3f29134a2bab379e7029Ben Murdoch
17a9984bf9ddc3cf73fdae3f29134a2bab379e7029Ben Murdochtypedef WebCallbacks<WebPushRegistration, WebPushError> WebPushRegistrationCallbacks;
18a9984bf9ddc3cf73fdae3f29134a2bab379e7029Ben Murdoch
19a9984bf9ddc3cf73fdae3f29134a2bab379e7029Ben Murdochclass WebPushClient {
20a9984bf9ddc3cf73fdae3f29134a2bab379e7029Ben Murdochpublic:
215d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)    virtual ~WebPushClient() { }
22197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch
23197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch    // Ownership of the WebPushRegistrationCallbacks is transferred to the
24197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch    // client. Ownership of the WebServiceWorkerProvider is not transferred.
25197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch    virtual void registerPushMessaging(const WebString& senderId, WebPushRegistrationCallbacks*, WebServiceWorkerProvider*) { }
26a9984bf9ddc3cf73fdae3f29134a2bab379e7029Ben Murdoch};
27a9984bf9ddc3cf73fdae3f29134a2bab379e7029Ben Murdoch
28a9984bf9ddc3cf73fdae3f29134a2bab379e7029Ben Murdoch} // namespace blink
29a9984bf9ddc3cf73fdae3f29134a2bab379e7029Ben Murdoch
30a9984bf9ddc3cf73fdae3f29134a2bab379e7029Ben Murdoch#endif // WebPushClient_h
31