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_
11 #include "base/time/time.h"
15 // Contains data that are common to all activity kinds below.
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
{
28 ~ConnectionActivity() override
;
31 // Contains relevant data of a check-in activity.
32 struct CheckinActivity
: Activity
{
34 ~CheckinActivity() override
;
37 // Contains relevant data of a registration/unregistration step.
38 struct RegistrationActivity
: Activity
{
39 RegistrationActivity();
40 ~RegistrationActivity() override
;
43 // For GCM, comma separated sender ids. For Instance ID, authorized entity.
47 // Contains relevant data of a message receiving event.
48 struct ReceivingActivity
: Activity
{
50 ~ReceivingActivity() override
;
54 int message_byte_size
;
57 // Contains relevant data of a send-message step.
58 struct SendingActivity
: Activity
{
60 ~SendingActivity() override
;
63 std::string receiver_id
;
64 std::string message_id
;
67 struct RecordedActivities
{
69 virtual ~RecordedActivities();
71 std::vector
<CheckinActivity
> checkin_activities
;
72 std::vector
<ConnectionActivity
> connection_activities
;
73 std::vector
<RegistrationActivity
> registration_activities
;
74 std::vector
<ReceivingActivity
> receiving_activities
;
75 std::vector
<SendingActivity
> sending_activities
;
80 #endif // COMPONENTS_GCM_DRIVER_GCM_ACTIVITY_H_