Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(79)

Side by Side Diff: google_apis/gcm/protocol/android_checkin.proto

Issue 98173009: GCM Checkin implementation with unit tests and protobufs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@gcm-store
Patch Set: Adding protobufs, request/response implementation and unit tests Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
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.
4 //
5 // Logging information for Android "checkin" events (automatic, periodic
6 // requests made by Android devices to the server).
7
8 syntax = "proto2";
9
10 option optimize_for = LITE_RUNTIME;
11 option retain_unknown_fields = true;
12 package checkin_proto;
13
14 // Build characteristics unique to the Chrome browser, and Chrome OS
15 message ChromeBuildProto {
16 // option (datapol.msg_semantic_type) = ST_SOFTWARE_ID;
Nicolas Zea 2014/01/04 01:40:19 remove this?
fgorski 2014/01/06 20:34:12 Done.
17
18 enum Platform {
19 PLATFORM_WIN = 1;
20 PLATFORM_MAC = 2;
21 PLATFORM_LINUX = 3;
22 PLATFORM_CROS = 4;
23 PLATFORM_IOS = 5;
24 // Just a placeholder. Likely don't need it due to the presence of the
25 // Android GCM on phone/tablet devices.
26 PLATFORM_ANDROID = 6;
27 }
28
29 enum Channel {
30 CHANNEL_STABLE = 1;
31 CHANNEL_BETA = 2;
32 CHANNEL_DEV = 3;
33 CHANNEL_CANARY = 4;
34 CHANNEL_UNKNOWN = 5; // for tip of tree or custom builds
35 }
36
37 // The platform of the device.
38 optional Platform platform = 1;
39
40 // The Chrome instance's version.
41 optional string chrome_version = 2;
42
43 // The Channel (build type) of Chrome.
44 optional Channel channel = 3;
45 }
46
47 // Information sent by the device in a "checkin" request.
48 message AndroidCheckinProto {
49 // option (logs_proto.msg_details) = {
Nicolas Zea 2014/01/04 01:40:19 remove this, and other internal/unused fields or c
fgorski 2014/01/06 20:34:12 Done.
50 // may_appear_in: { source_type: "gfstmp/android"
51 // log_type: "checkin_tmplog" }
52 // may_appear_in: { source_type: "android" log_type: "checkin_weblog" }
53 // };
54
55 // NOTE: the device identifier is in GwsLog.UserInfo.AndroidID, not here.
56 // optional android.AndroidBuildProto build = 1;
57
58 // For devices running MCS on Chrome, build-specific characteristics
59 // of the browser. There are no hardware aspects (except for ChromeOS).
60 // This will only be populated for Chrome builds/ChromeOS devices
61 optional checkin_proto.ChromeBuildProto chrome_build = 13;
Nicolas Zea 2014/01/04 01:40:19 nit: have fields ordered numerically? so chrome_bu
fgorski 2014/01/06 20:34:12 Done.
62
63 // For devices running MCS on IOS, build-specific characteristics of
64 // the MCS library version number and the underlying OS/hardware details.
65 // This will only be populated for IOS devices
66 // optional android.IOSBuildProto iosBuild = 11;
67
68 // Time (Java epoch) of the device's last successful checkin.
Nicolas Zea 2014/01/04 01:40:19 s/Java epoch/Millseconds since the Unix epoch
fgorski 2014/01/06 20:34:12 Done.
69 optional int64 last_checkin_msec = 2;
70
71 // Requested group membership (may not be honored depending on policy).
72 // See AndroidExtension.assigned_group for the actual membership we assign.
73 // repeated string requested_group = 5;
74
75 // Events and statistics are collected since that last successful checkin.
76 // repeated android.AndroidEventProto event = 3;
77 // repeated android.AndroidStatisticProto stat = 4;
78
79 // The current MCC+MNC of the mobile device's current cell.
80 optional string cell_operator = 6;
81
82 // The MCC+MNC of the SIM card (different from operator if the
83 // device is roaming, for instance).
84 optional string sim_operator = 7;
85
86 // The device's current roaming state (reported starting in eclair builds).
87 // Currently one of "{,not}mobile-{,not}roaming", if it is present at all.
88 optional string roaming = 8;
89
90 // For devices supporting multiple user profiles (which may be
91 // supported starting in jellybean), the ordinal number of the
92 // profile that is checking in. This is 0 for the primary profile
93 // (which can't be changed without wiping the device), and 1,2,3,...
94 // for additional profiles (which can be added and deleted freely).
95 optional int32 user_number = 9;
96
97 // Class of device. Indicates the type of build proto
98 // (IosBuildProto/ChromeBuildProto/AndroidBuildProto)
99 // That is included in this proto
100 optional DeviceType type = 12 [default = DEVICE_ANDROID_OS];
101
102 // Note: 10 was skipped due to a few devices incorrectly using the field
103 // before it was first used.
104 // Next 14
105 }
106
107 // enum values correspond to the type of device.
108 // Used in the AndroidCheckinProto and Device proto.
109 enum DeviceType {
110
Nicolas Zea 2014/01/04 01:40:19 nit: remove newline
fgorski 2014/01/06 20:34:12 Done.
111 // Android Device
112 DEVICE_ANDROID_OS = 1;
113
114 // Apple IOS device
115 DEVICE_IOS_OS = 2;
116
117 // Chrome browser - Not Chrome OS. No hardware records.
118 DEVICE_CHROME_BROWSER = 3;
119
120 // Chrome OS
121 DEVICE_CHROME_OS = 4;
122 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698