146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// Copyright (c) 2014 The Chromium Authors. All rights reserved. 246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// found in the LICENSE file. 446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#ifndef COMPONENTS_GCM_DRIVER_DEFAULT_GCM_APP_HANDLER_H_ 646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#define COMPONENTS_GCM_DRIVER_DEFAULT_GCM_APP_HANDLER_H_ 746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "base/compiler_specific.h" 946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#include "components/gcm_driver/gcm_app_handler.h" 1046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 1146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)namespace gcm { 1246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 1346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// The default app handler that is triggered when there is no registered app 1446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// handler for an application id. 1546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)class DefaultGCMAppHandler : public GCMAppHandler { 1646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) public: 1746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) DefaultGCMAppHandler(); 1846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual ~DefaultGCMAppHandler(); 1946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 2046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) // Overridden from GCMAppHandler: 2146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void ShutdownHandler() OVERRIDE; 2246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void OnMessage(const std::string& app_id, 2346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const GCMClient::IncomingMessage& message) OVERRIDE; 2446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void OnMessagesDeleted(const std::string& app_id) OVERRIDE; 2546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void OnSendError( 2646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const std::string& app_id, 2746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) const GCMClient::SendErrorDetails& send_error_details) OVERRIDE; 285f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) virtual void OnSendAcknowledged(const std::string& app_id, 295f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) const std::string& message_id) OVERRIDE; 3046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 3146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) private: 3246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(DefaultGCMAppHandler); 3346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)}; 3446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 3546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)} // namespace gcm 3646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 3746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#endif // COMPONENTS_GCM_DRIVER_DEFAULT_GCM_APP_HANDLER_H_ 38