1syntax = "proto2";
2package copresence;
3option optimize_for = LITE_RUNTIME;
4import "codes.proto";
5import "enums.proto";
6import "data.proto";
7message RequestHeader {
8  optional ClientVersion client_version = 4;
9  optional ClientVersion framework_version = 5;
10  optional int64 current_time_millis = 6;
11  optional string registered_device_id = 7;
12  repeated string experiment_override = 8;
13  optional DeviceFingerprint device_fingerprint = 10;
14  optional string configuration_etag = 11;
15}
16message ResponseHeader {
17  optional DebugInfo debug_info = 2;
18  optional Status status = 3;
19}
20message RegisterDeviceRequest {
21  optional RequestHeader header = 1;
22  optional PushServiceRegistration push_service = 5;
23  optional DeviceIdentifiers device_identifiers = 6;
24}
25message RegisterDeviceResponse {
26  optional ResponseHeader header = 1;
27  optional string registered_device_id = 2;
28}
29message ReportRequest {
30  optional RequestHeader header = 1;
31  optional ManageMessagesRequest manage_messages_request = 2;
32  optional ManageSubscriptionsRequest manage_subscriptions_request = 3;
33  optional UpdateSignalsRequest update_signals_request = 4;
34}
35message UpdateSignalsRequest {
36  repeated TokenObservation token_observation = 1;
37  optional DeviceState state = 3;
38}
39message ManageMessagesRequest {
40  repeated PublishedMessage message_to_publish = 1;
41  repeated string id_to_unpublish = 2;
42}
43message ManageSubscriptionsRequest {
44  repeated Subscription subscription = 1;
45  repeated string id_to_unsubscribe = 2;
46}
47message ReportResponse {
48  optional ResponseHeader header = 1;
49  optional ManageMessagesResponse manage_messages_response = 2;
50  optional ManageSubscriptionsResponse manage_subscriptions_response = 3;
51  optional UpdateSignalsResponse update_signals_response = 4;
52}
53message UpdateSignalsResponse {
54  optional util.error.Code status = 1;
55  repeated Token token = 2;
56  repeated SubscribedMessage message = 3;
57  repeated Directive directive = 4;
58}
59message ManageMessagesResponse {
60  optional util.error.Code status = 1;
61  repeated MessageResult published_message_result = 3;
62}
63message ManageSubscriptionsResponse {
64  optional util.error.Code status = 1;
65  repeated SubscriptionResult subscription_result = 3;
66}
67