Updating trunk VERSION from 2139.0 to 2140.0
[chromium-blink-merge.git] / components / copresence / proto / data.proto
blobb4bbb9da6491f9e3a205b862dbda0796c7e454bb
1 syntax = "proto2";
2 package copresence;
3 option optimize_for = LITE_RUNTIME;
4 import "enums.proto";
5 import "identity.proto";
6 message ClientVersion {
7   optional string client = 1;
8   optional string version_name = 2;
9   optional int64 version_code = 3;
10   optional string certificate_fingerprint = 4;
12 message Status {
13   optional StatusCode code = 1;
14   optional string message = 2;
16 message PushServiceRegistration {
17   optional PushService service = 1;
19 message DeviceIdentifiers {
20   optional int32 ulr_device_id = 1;
21   optional DeviceIdentity device_identity = 2;
22   optional Identity registrant = 3;
24 message Token {
25   message Debug {
26     repeated string email = 2;
27   }
28   optional string id = 1;
29   optional TokenStatus status = 3;
30   optional Debug debug = 4;
32 message DeviceFingerprint {
33   optional string manufacturer = 1;
34   optional string model = 2;
35   optional PlatformType type = 3;
36   optional string platform_version = 4;
38 message TokenTechnology {
39   optional TokenMedium medium = 1;
40   repeated TokenInstructionType instruction_type = 2;
42 message DeviceCapabilities {
43   repeated TokenTechnology token_technology = 2;
45 message TokenInstruction {
46   optional TokenInstructionType token_instruction_type = 1;
47   optional TokenMedium medium = 2;
48   optional string token_id = 4;
50 message Directive {
51   optional InstructionType instruction_type = 1;
52   optional TokenInstruction token_instruction = 2;
53   optional int64 delay_millis = 3;
54   optional int64 ttl_millis = 4;
55   optional string published_message_id = 5;
56   optional string subscription_id = 6;
58 message DeviceState {
59   optional DeviceCapabilities capabilities = 1;
60   repeated Directive active_directive = 2;
62 message DebugInfo {
63   optional string served_by_task = 1;
64   repeated string token_id = 3;
65   optional int64 request_time_millis = 4;
67 message TokenObservation {
68   optional string token_id = 1;
69   repeated TokenSignals signals = 2;
71 message TokenSignals {
72   optional TokenMedium medium = 1;
73   optional int32 rssi = 2;
74   optional int64 observed_time_millis = 3;
76 message AccessPolicy {
77   optional int64 ttl_millis = 1;
78   optional Acl acl = 2;
80 message Acl {
81   optional AclType acl_type = 1;
82   optional string named_acl_name = 2;
83   optional bytes referenced_acl_consistency_token = 5;
85 message PublishedMessage {
86   optional string id = 1;
87   optional AccessPolicy access_policy = 2;
88   optional Message message = 3;
89   optional TokenExchangeStrategy token_exchange_strategy = 5;
90   optional OptInStateFilter opt_in_state_filter = 6;
92 message TokenExchangeStrategy {
93   optional AudioConfiguration audio_configuration = 1;
94   optional BroadcastScanConfiguration broadcast_scan_configuration = 2;
95   // TODO(rkc): Horrible hack. Get rid of this once the server tells us whether
96   // or not to use audible for a given publish or subscribe.
97   // http://b/16849245/
98   optional bool use_audible = 99;
100 message SubscribedMessage {
101   message Debug {
102     optional string published_message_id = 1;
103     optional string publisher_identity_id = 2;
104     optional string publisher_device_id = 3;
105     optional int64 creation_timestamp_millis = 4;
106     optional int64 ttl_millis = 5;
107     optional TokenExchangeStrategy token_exchange_strategy = 7;
108   }
109   repeated string subscription_id = 1;
110   optional Message published_message = 2;
111   optional Debug debug = 3;
113 message Message {
114   optional MessageType type = 2;
115   optional bytes payload = 3;
117 message MessageType {
118   optional string type = 2;
120 message Subscription {
121   optional string id = 1;
122   optional int64 ttl_millis = 3;
123   optional MessageType message_type = 4;
124   optional TokenExchangeStrategy token_exchange_strategy = 7;
125   optional OptInStateFilter opt_in_state_filter = 8;
127 message MessageResult {
128   optional string published_message_id = 1;
130 message SubscriptionResult {
131   optional string subscription_id = 1;
133 message OptInStateFilter {
134   repeated OptInState allowed_opt_in_state = 1;