Home | History | Annotate | Download | only in gcm_driver
      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 
     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