OLD | NEW |
---|---|
(Empty) | |
1 // Copyright (c) 2012 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 // Sync protocol datatype extension for push notifications.. | |
6 | |
7 // Update proto_value_conversions{.h,.cc,_unittest.cc} if you change | |
8 // any fields in this file. | |
9 | |
10 syntax = "proto2"; | |
11 | |
12 option optimize_for = LITE_RUNTIME; | |
13 option retain_unknown_fields = true; | |
14 | |
15 package sync_pb; | |
16 | |
17 import "synced_notification_render.proto"; | |
18 | |
19 // This message allows clients to identify a notification they have created. | |
20 message SyncedNotificationIdentifier { | |
21 // The application that the notification is a part of. | |
22 optional string app_id = 1; | |
23 | |
24 // Notifications with the same coalescing key (isolated to the same app_id) | |
25 // will be grouped together when fetched. | |
26 optional string coalescing_key = 2; | |
27 } | |
28 | |
29 message SyncedNotification { | |
30 // The unique identifier of the notification. | |
31 optional SyncedNotificationIdentifier id = 1; | |
32 | |
33 // A secondary type that is isolated within the same app_id. | |
34 // | |
35 // NOTE: For ASBE support purposes this must be in the format [A-Za-z_]+. | |
36 optional string type = 2; | |
37 | |
38 // Whatever string the client entered during creation. If no external_id is | |
39 // specified, the notification can no longer be identified individually for | |
40 // fetching/deleting, etc... | |
41 optional string external_id = 3; | |
42 } | |
43 | |
44 message CoalescedSyncedNotification { | |
45 // The identifier used to identify individual coalesced notifications. | |
46 optional SyncedNotificationIdentifier id = 1; | |
47 | |
48 // All the notifications that are grouped together. | |
49 repeated SyncedNotification notification = 2; | |
50 | |
51 // Data that is used directly by endpoints to render notifications in the case | |
52 // where no "native" app can handle the notification. | |
53 optional SyncedNotificationRenderInfo render_info = 3; | |
54 | |
55 // Read state will be per coalesced notification. | |
56 enum ReadState { | |
57 UNREAD = 1; | |
58 READ = 2; | |
59 DISMISSED = 3; | |
60 } | |
61 optional ReadState read_state = 4; | |
62 | |
63 // The time when the LATEST notification of the coalesced notification is | |
64 // created (in milliseconds since the epoch). | |
Nicolas Zea
2013/01/29 01:17:02
mention that this is linux epoch (chrome's base::T
Pete Williamson
2013/01/29 02:10:37
Done.
| |
65 optional uint64 creation_time_msec = 5; | |
66 } | |
OLD | NEW |