Extension syncing: Introduce a NeedsSync pref
[chromium-blink-merge.git] / components / copresence / proto / data.proto
blobf862e9b8842fe85df311e1fb750e8cd7481c5c57
1 syntax = "proto2";
2 package copresence;
3 option optimize_for = LITE_RUNTIME;
4 import "config_data.proto";
5 import "enums.proto";
6 import "identity.proto";
7 message ClientVersion {
8   optional string client = 1;
9   optional string version_name = 2;
10   optional int64 version_code = 3;
11   optional string certificate_fingerprint = 4;
13 message Status {
14   optional StatusCode code = 1;
15   optional string message = 2;
17 message PushServiceRegistration {
18   optional PushService service = 1;
19   optional GcmRegistration gcm_registration = 2;
21 message GcmRegistration {
22   optional string device_token = 1;
24 message DeviceIdentifiers {
25   optional int32 ulr_device_id = 1;
26   optional DeviceIdentity device_identity = 2;
27   optional Identity registrant = 3;
29 message Token {
30   message Debug {
31     repeated string email = 2;
32   }
33   optional string id = 1;
34   optional TokenStatus status = 3;
35   optional Debug debug = 4;
37 message DeviceFingerprint {
38   optional string manufacturer = 1;
39   optional string model = 2;
40   optional PlatformType type = 3;
41   optional string platform_version = 4;
43 message TokenTechnology {
44   optional TokenMedium medium = 1;
45   repeated TokenInstructionType instruction_type = 2;
47 message DeviceCapabilities {
48   repeated TokenTechnology token_technology = 2;
50 message TokenInstruction {
51   optional TokenInstructionType token_instruction_type = 1;
52   optional TokenMedium medium = 2;
53   optional string token_id = 4;
55 message Directive {
56   optional InstructionType instruction_type = 1;
57   optional TokenInstruction token_instruction = 2;
58   optional int64 delay_millis = 3;
59   optional int64 ttl_millis = 4;
60   optional string published_message_id = 5;
61   optional string subscription_id = 6;
62   optional DirectiveConfiguration configuration = 7;
64 message DeviceState {
65   optional DeviceCapabilities capabilities = 1;
66   repeated Directive active_directive = 2;
68 message DebugInfo {
69   optional string served_by_task = 1;
70   repeated string token_id = 3;
71   optional int64 request_time_millis = 4;
73 message TokenObservation {
74   optional string token_id = 1;
75   repeated TokenSignals signals = 2;
77 message TokenSignals {
78   optional TokenMedium medium = 1;
79   optional int32 rssi = 2;
80   optional int64 observed_time_millis = 3;
82 message AccessPolicy {
83   optional int64 ttl_millis = 1;
84   optional Acl acl = 2;
86 message Acl {
87   optional AclType acl_type = 1;
88   optional string named_acl_name = 2;
89   optional bytes referenced_acl_consistency_token = 5;
91 message PublishedMessage {
92   optional string id = 1;
93   optional AccessPolicy access_policy = 2;
94   optional Message message = 3;
95   optional TokenExchangeStrategy token_exchange_strategy = 5;
96   optional OptInStateFilter opt_in_state_filter = 6;
98 message TokenExchangeStrategy {
99   optional AudioConfiguration audio_configuration = 1;
100   optional BroadcastScanConfiguration broadcast_scan_configuration = 2;
102 message SubscribedMessage {
103   message Debug {
104     optional string published_message_id = 1;
105     optional string publisher_identity_id = 2;
106     optional string publisher_device_id = 3;
107     optional int64 creation_timestamp_millis = 4;
108     optional int64 ttl_millis = 5;
109     optional TokenExchangeStrategy token_exchange_strategy = 7;
110   }
111   repeated string subscription_id = 1;
112   optional Message published_message = 2;
113   optional Debug debug = 3;
114   repeated TokenObservation required_token = 5;
116 message Message {
117   optional MessageType type = 2;
118   optional bytes payload = 3;
120 message MessageType {
121   optional string type = 2;
123 message Subscription {
124   optional string id = 1;
125   optional int64 ttl_millis = 3;
126   optional MessageType message_type = 4;
127   optional TokenExchangeStrategy token_exchange_strategy = 7;
128   optional OptInStateFilter opt_in_state_filter = 8;
130 message MessageResult {
131   optional string published_message_id = 1;
133 message SubscriptionResult {
134   optional string subscription_id = 1;
136 message OptInStateFilter {
137   repeated OptInState allowed_opt_in_state = 1;