Updating trunk VERSION from 2139.0 to 2140.0
[chromium-blink-merge.git] / components / gcm_driver / gcm_activity.h
blob0d3da0c5fd94fedf2931049bb0136f740cc5da8d
1 // Copyright 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.
5 #ifndef COMPONENTS_GCM_DRIVER_GCM_ACTIVITY_H_
6 #define COMPONENTS_GCM_DRIVER_GCM_ACTIVITY_H_
8 #include <string>
9 #include <vector>
11 #include "base/time/time.h"
13 namespace gcm {
15 // Contains data that are common to all activity kinds below.
16 struct Activity {
17 Activity();
18 virtual ~Activity();
20 base::Time time;
21 std::string event; // A short description of the event.
22 std::string details; // Any additional detail about the event.
25 // Contains relevant data of a connection activity.
26 struct ConnectionActivity : Activity {
27 ConnectionActivity();
28 virtual ~ConnectionActivity();
31 // Contains relevant data of a check-in activity.
32 struct CheckinActivity : Activity {
33 CheckinActivity();
34 virtual ~CheckinActivity();
37 // Contains relevant data of a registration/unregistration step.
38 struct RegistrationActivity : Activity {
39 RegistrationActivity();
40 virtual ~RegistrationActivity();
42 std::string app_id;
43 std::string sender_ids; // Comma separated sender ids.
46 // Contains relevant data of a message receiving event.
47 struct ReceivingActivity : Activity {
48 ReceivingActivity();
49 virtual ~ReceivingActivity();
51 std::string app_id;
52 std::string from;
53 int message_byte_size;
56 // Contains relevant data of a send-message step.
57 struct SendingActivity : Activity {
58 SendingActivity();
59 virtual ~SendingActivity();
61 std::string app_id;
62 std::string receiver_id;
63 std::string message_id;
66 struct RecordedActivities {
67 RecordedActivities();
68 virtual ~RecordedActivities();
70 std::vector<CheckinActivity> checkin_activities;
71 std::vector<ConnectionActivity> connection_activities;
72 std::vector<RegistrationActivity> registration_activities;
73 std::vector<ReceivingActivity> receiving_activities;
74 std::vector<SendingActivity> sending_activities;
77 } // namespace gcm
79 #endif // COMPONENTS_GCM_DRIVER_GCM_ACTIVITY_H_