| // Copyright 2014 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 COMPONENTS_GCM_DRIVER_GCM_ACTIVITY_H_ |
| #define COMPONENTS_GCM_DRIVER_GCM_ACTIVITY_H_ |
| |
| #include <string> |
| #include <vector> |
| |
| #include "base/time/time.h" |
| |
| namespace gcm { |
| |
| // Contains data that are common to all activity kinds below. |
| struct Activity { |
| Activity(); |
| virtual ~Activity(); |
| |
| base::Time time; |
| std::string event; // A short description of the event. |
| std::string details; // Any additional detail about the event. |
| }; |
| |
| // Contains relevant data of a connection activity. |
| struct ConnectionActivity : Activity { |
| ConnectionActivity(); |
| virtual ~ConnectionActivity(); |
| }; |
| |
| // Contains relevant data of a check-in activity. |
| struct CheckinActivity : Activity { |
| CheckinActivity(); |
| virtual ~CheckinActivity(); |
| }; |
| |
| // Contains relevant data of a registration/unregistration step. |
| struct RegistrationActivity : Activity { |
| RegistrationActivity(); |
| virtual ~RegistrationActivity(); |
| |
| std::string app_id; |
| std::string sender_ids; // Comma separated sender ids. |
| }; |
| |
| // Contains relevant data of a message receiving event. |
| struct ReceivingActivity : Activity { |
| ReceivingActivity(); |
| virtual ~ReceivingActivity(); |
| |
| std::string app_id; |
| std::string from; |
| int message_byte_size; |
| }; |
| |
| // Contains relevant data of a send-message step. |
| struct SendingActivity : Activity { |
| SendingActivity(); |
| virtual ~SendingActivity(); |
| |
| std::string app_id; |
| std::string receiver_id; |
| std::string message_id; |
| }; |
| |
| struct RecordedActivities { |
| RecordedActivities(); |
| virtual ~RecordedActivities(); |
| |
| std::vector<CheckinActivity> checkin_activities; |
| std::vector<ConnectionActivity> connection_activities; |
| std::vector<RegistrationActivity> registration_activities; |
| std::vector<ReceivingActivity> receiving_activities; |
| std::vector<SendingActivity> sending_activities; |
| }; |
| |
| } // namespace gcm |
| |
| #endif // COMPONENTS_GCM_DRIVER_GCM_ACTIVITY_H_ |