Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / components / gcm_driver / default_gcm_app_handler.h
1 // Copyright (c) 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef COMPONENTS_GCM_DRIVER_DEFAULT_GCM_APP_HANDLER_H_
6 #define COMPONENTS_GCM_DRIVER_DEFAULT_GCM_APP_HANDLER_H_
7
8 #include "base/compiler_specific.h"
9 #include "components/gcm_driver/gcm_app_handler.h"
10
11 namespace gcm {
12
13 // The default app handler that is triggered when there is no registered app
14 // handler for an application id.
15 class DefaultGCMAppHandler : public GCMAppHandler {
16  public:
17   DefaultGCMAppHandler();
18   virtual ~DefaultGCMAppHandler();
19
20   // Overridden from GCMAppHandler:
21   virtual void ShutdownHandler() OVERRIDE;
22   virtual void OnMessage(const std::string& app_id,
23                          const GCMClient::IncomingMessage& message) OVERRIDE;
24   virtual void OnMessagesDeleted(const std::string& app_id) OVERRIDE;
25   virtual void OnSendError(
26       const std::string& app_id,
27       const GCMClient::SendErrorDetails& send_error_details) OVERRIDE;
28   virtual void OnSendAcknowledged(const std::string& app_id,
29                                   const std::string& message_id) OVERRIDE;
30   virtual void OnConnected(const net::IPEndPoint& ip_endpoint) OVERRIDE;
31   virtual void OnDisconnected() OVERRIDE;
32
33  private:
34   DISALLOW_COPY_AND_ASSIGN(DefaultGCMAppHandler);
35 };
36
37 }  // namespace gcm
38
39 #endif  // COMPONENTS_GCM_DRIVER_DEFAULT_GCM_APP_HANDLER_H_