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 11namespace gcm { 12 13// The default app handler that is triggered when there is no registered app 14// handler for an application id. 15class 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 OnConnected(const net::IPEndPoint& ip_endpoint) OVERRIDE; 29 virtual void OnDisconnected() OVERRIDE; 30 31 private: 32 DISALLOW_COPY_AND_ASSIGN(DefaultGCMAppHandler); 33}; 34 35} // namespace gcm 36 37#endif // COMPONENTS_GCM_DRIVER_DEFAULT_GCM_APP_HANDLER_H_ 38