| Index: google_apis/gcm/gcm_client.h
|
| diff --git a/google_apis/gcm/gcm_client.h b/google_apis/gcm/gcm_client.h
|
| deleted file mode 100644
|
| index 119bb3891d9ddfee0982cc009e130ea6884d0163..0000000000000000000000000000000000000000
|
| --- a/google_apis/gcm/gcm_client.h
|
| +++ /dev/null
|
| @@ -1,265 +0,0 @@
|
| -// Copyright 2013 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef GOOGLE_APIS_GCM_GCM_CLIENT_H_
|
| -#define GOOGLE_APIS_GCM_GCM_CLIENT_H_
|
| -
|
| -#include <map>
|
| -#include <string>
|
| -#include <vector>
|
| -
|
| -#include "base/basictypes.h"
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "google_apis/gcm/base/gcm_export.h"
|
| -#include "google_apis/gcm/gcm_activity.h"
|
| -
|
| -template <class T> class scoped_refptr;
|
| -
|
| -namespace base {
|
| -class FilePath;
|
| -class SequencedTaskRunner;
|
| -}
|
| -
|
| -namespace net {
|
| -class URLRequestContextGetter;
|
| -}
|
| -
|
| -namespace gcm {
|
| -
|
| -class Encryptor;
|
| -
|
| -// Interface that encapsulates the network communications with the Google Cloud
|
| -// Messaging server. This interface is not supposed to be thread-safe.
|
| -class GCM_EXPORT GCMClient {
|
| - public:
|
| - enum Result {
|
| - // Successful operation.
|
| - SUCCESS,
|
| - // Invalid parameter.
|
| - INVALID_PARAMETER,
|
| - // GCM is disabled.
|
| - GCM_DISABLED,
|
| - // Profile not signed in.
|
| - NOT_SIGNED_IN,
|
| - // Previous asynchronous operation is still pending to finish. Certain
|
| - // operation, like register, is only allowed one at a time.
|
| - ASYNC_OPERATION_PENDING,
|
| - // Network socket error.
|
| - NETWORK_ERROR,
|
| - // Problem at the server.
|
| - SERVER_ERROR,
|
| - // Exceeded the specified TTL during message sending.
|
| - TTL_EXCEEDED,
|
| - // Other errors.
|
| - UNKNOWN_ERROR
|
| - };
|
| -
|
| - enum ChromePlatform {
|
| - PLATFORM_WIN,
|
| - PLATFORM_MAC,
|
| - PLATFORM_LINUX,
|
| - PLATFORM_CROS,
|
| - PLATFORM_IOS,
|
| - PLATFORM_ANDROID,
|
| - PLATFORM_UNKNOWN
|
| - };
|
| -
|
| - enum ChromeChannel {
|
| - CHANNEL_STABLE,
|
| - CHANNEL_BETA,
|
| - CHANNEL_DEV,
|
| - CHANNEL_CANARY,
|
| - CHANNEL_UNKNOWN
|
| - };
|
| -
|
| - struct GCM_EXPORT ChromeBuildInfo {
|
| - ChromeBuildInfo();
|
| - ~ChromeBuildInfo();
|
| -
|
| - ChromePlatform platform;
|
| - ChromeChannel channel;
|
| - std::string version;
|
| - };
|
| -
|
| - // Message data consisting of key-value pairs.
|
| - typedef std::map<std::string, std::string> MessageData;
|
| -
|
| - // Message to be delivered to the other party.
|
| - struct GCM_EXPORT OutgoingMessage {
|
| - OutgoingMessage();
|
| - ~OutgoingMessage();
|
| -
|
| - // Message ID.
|
| - std::string id;
|
| - // In seconds.
|
| - int time_to_live;
|
| - MessageData data;
|
| -
|
| - static const int kMaximumTTL = 4 * 7 * 24 * 60 * 60; // 4 weeks.
|
| - };
|
| -
|
| - // Message being received from the other party.
|
| - struct GCM_EXPORT IncomingMessage {
|
| - IncomingMessage();
|
| - ~IncomingMessage();
|
| -
|
| - MessageData data;
|
| - std::string collapse_key;
|
| - std::string sender_id;
|
| - };
|
| -
|
| - // Detailed information of the Send Error event.
|
| - struct GCM_EXPORT SendErrorDetails {
|
| - SendErrorDetails();
|
| - ~SendErrorDetails();
|
| -
|
| - std::string message_id;
|
| - MessageData additional_data;
|
| - Result result;
|
| - };
|
| -
|
| - // Internal states and activity statistics of a GCM client.
|
| - struct GCM_EXPORT GCMStatistics {
|
| - public:
|
| - GCMStatistics();
|
| - ~GCMStatistics();
|
| -
|
| - bool is_recording;
|
| - bool gcm_client_created;
|
| - std::string gcm_client_state;
|
| - bool connection_client_created;
|
| - std::string connection_state;
|
| - uint64 android_id;
|
| - std::vector<std::string> registered_app_ids;
|
| - int send_queue_size;
|
| - int resend_queue_size;
|
| -
|
| - RecordedActivities recorded_activities;
|
| - };
|
| -
|
| - // A delegate interface that allows the GCMClient instance to interact with
|
| - // its caller, i.e. notifying asynchronous event.
|
| - class Delegate {
|
| - public:
|
| - // Called when the registration completed successfully or an error occurs.
|
| - // |app_id|: application ID.
|
| - // |registration_id|: non-empty if the registration completed successfully.
|
| - // |result|: the type of the error if an error occured, success otherwise.
|
| - virtual void OnRegisterFinished(const std::string& app_id,
|
| - const std::string& registration_id,
|
| - Result result) = 0;
|
| -
|
| - // Called when the unregistration completed.
|
| - // |app_id|: application ID.
|
| - // |result|: result of the unregistration.
|
| - virtual void OnUnregisterFinished(const std::string& app_id,
|
| - GCMClient::Result result) = 0;
|
| -
|
| - // Called when the message is scheduled to send successfully or an error
|
| - // occurs.
|
| - // |app_id|: application ID.
|
| - // |message_id|: ID of the message being sent.
|
| - // |result|: the type of the error if an error occured, success otherwise.
|
| - virtual void OnSendFinished(const std::string& app_id,
|
| - const std::string& message_id,
|
| - Result result) = 0;
|
| -
|
| - // Called when a message has been received.
|
| - // |app_id|: application ID.
|
| - // |message|: message received.
|
| - virtual void OnMessageReceived(const std::string& app_id,
|
| - const IncomingMessage& message) = 0;
|
| -
|
| - // Called when some messages have been deleted from the server.
|
| - // |app_id|: application ID.
|
| - virtual void OnMessagesDeleted(const std::string& app_id) = 0;
|
| -
|
| - // Called when a message failed to send to the server.
|
| - // |app_id|: application ID.
|
| - // |send_error_detials|: Details of the send error event, like mesasge ID.
|
| - virtual void OnMessageSendError(
|
| - const std::string& app_id,
|
| - const SendErrorDetails& send_error_details) = 0;
|
| -
|
| - // Called when the GCM becomes ready. To get to this state, GCMClient
|
| - // finished loading from the GCM store and retrieved the device check-in
|
| - // from the server if it hadn't yet.
|
| - virtual void OnGCMReady() = 0;
|
| -
|
| - // Called when activities are being recorded and a new activity has just
|
| - // been recorded.
|
| - virtual void OnActivityRecorded() = 0;
|
| - };
|
| -
|
| - GCMClient();
|
| - virtual ~GCMClient();
|
| -
|
| - // Begins initialization of the GCM Client. This will not trigger a
|
| - // connection.
|
| - // |chrome_build_info|: chrome info, i.e., version, channel and etc.
|
| - // |store_path|: path to the GCM store.
|
| - // |account_ids|: account IDs to be related to the device when checking in.
|
| - // |blocking_task_runner|: for running blocking file tasks.
|
| - // |url_request_context_getter|: for url requests.
|
| - // |delegate|: the delegate whose methods will be called asynchronously in
|
| - // response to events and messages.
|
| - virtual void Initialize(
|
| - const ChromeBuildInfo& chrome_build_info,
|
| - const base::FilePath& store_path,
|
| - const std::vector<std::string>& account_ids,
|
| - const scoped_refptr<base::SequencedTaskRunner>& blocking_task_runner,
|
| - const scoped_refptr<net::URLRequestContextGetter>&
|
| - url_request_context_getter,
|
| - scoped_ptr<Encryptor> encryptor,
|
| - Delegate* delegate) = 0;
|
| -
|
| - // Starts the GCM service by first loading the data from the persistent store.
|
| - // This will then kick off the check-in if the check-in info is not found in
|
| - // the store.
|
| - virtual void Start() = 0;
|
| -
|
| - // Stops using the GCM service. This will not erase the persisted data.
|
| - virtual void Stop() = 0;
|
| -
|
| - // Checks out of the GCM service. This will erase all the cached and persisted
|
| - // data.
|
| - virtual void CheckOut() = 0;
|
| -
|
| - // Registers the application for GCM. Delegate::OnRegisterFinished will be
|
| - // called asynchronously upon completion.
|
| - // |app_id|: application ID.
|
| - // |sender_ids|: list of IDs of the servers that are allowed to send the
|
| - // messages to the application. These IDs are assigned by the
|
| - // Google API Console.
|
| - virtual void Register(const std::string& app_id,
|
| - const std::vector<std::string>& sender_ids) = 0;
|
| -
|
| - // Unregisters the application from GCM when it is uninstalled.
|
| - // Delegate::OnUnregisterFinished will be called asynchronously upon
|
| - // completion.
|
| - // |app_id|: application ID.
|
| - virtual void Unregister(const std::string& app_id) = 0;
|
| -
|
| - // Sends a message to a given receiver. Delegate::OnSendFinished will be
|
| - // called asynchronously upon completion.
|
| - // |app_id|: application ID.
|
| - // |receiver_id|: registration ID of the receiver party.
|
| - // |message|: message to be sent.
|
| - virtual void Send(const std::string& app_id,
|
| - const std::string& receiver_id,
|
| - const OutgoingMessage& message) = 0;
|
| -
|
| - // Enables or disables internal activity recording.
|
| - virtual void SetRecording(bool recording) = 0;
|
| -
|
| - // Clear all recorded GCM activity logs.
|
| - virtual void ClearActivityLogs() = 0;
|
| -
|
| - // Gets internal states and statistics.
|
| - virtual GCMStatistics GetStatistics() const = 0;
|
| -};
|
| -
|
| -} // namespace gcm
|
| -
|
| -#endif // GOOGLE_APIS_GCM_GCM_CLIENT_H_
|
|
|