Hotlist Slow: Remove extra thread pool created by VolumeMountWatcherWin.
[chromium-blink-merge.git] / components / gcm_driver / gcm_activity.h
blob2209cb0b414055010d5ca6df2a5feda82caea5d7
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 ~ConnectionActivity() override;
31 // Contains relevant data of a check-in activity.
32 struct CheckinActivity : Activity {
33 CheckinActivity();
34 ~CheckinActivity() override;
37 // Contains relevant data of a registration/unregistration step.
38 struct RegistrationActivity : Activity {
39 RegistrationActivity();
40 ~RegistrationActivity() override;
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 ~ReceivingActivity() override;
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 ~SendingActivity() override;
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_