| syntax = "proto2"; |
| package copresence; |
| option optimize_for = LITE_RUNTIME; |
| import "enums.proto"; |
| import "identity.proto"; |
| message ClientVersion { |
| optional string client = 1; |
| optional string version_name = 2; |
| optional int64 version_code = 3; |
| optional string certificate_fingerprint = 4; |
| } |
| message Status { |
| optional StatusCode code = 1; |
| optional string message = 2; |
| } |
| message PushServiceRegistration { |
| optional PushService service = 1; |
| optional GcmRegistration gcm_registration = 2; |
| } |
| message GcmRegistration { |
| optional string device_token = 1; |
| } |
| message DeviceIdentifiers { |
| optional int32 ulr_device_id = 1; |
| optional DeviceIdentity device_identity = 2; |
| optional Identity registrant = 3; |
| } |
| message Token { |
| message Debug { |
| repeated string email = 2; |
| } |
| optional string id = 1; |
| optional TokenStatus status = 3; |
| optional Debug debug = 4; |
| } |
| message DeviceFingerprint { |
| optional string manufacturer = 1; |
| optional string model = 2; |
| optional PlatformType type = 3; |
| optional string platform_version = 4; |
| } |
| message TokenTechnology { |
| optional TokenMedium medium = 1; |
| repeated TokenInstructionType instruction_type = 2; |
| } |
| message DeviceCapabilities { |
| repeated TokenTechnology token_technology = 2; |
| } |
| message TokenInstruction { |
| optional TokenInstructionType token_instruction_type = 1; |
| optional TokenMedium medium = 2; |
| optional string token_id = 4; |
| } |
| message Directive { |
| optional InstructionType instruction_type = 1; |
| optional TokenInstruction token_instruction = 2; |
| optional int64 delay_millis = 3; |
| optional int64 ttl_millis = 4; |
| optional string published_message_id = 5; |
| optional string subscription_id = 6; |
| } |
| message DeviceState { |
| optional DeviceCapabilities capabilities = 1; |
| repeated Directive active_directive = 2; |
| } |
| message DebugInfo { |
| optional string served_by_task = 1; |
| repeated string token_id = 3; |
| optional int64 request_time_millis = 4; |
| } |
| message TokenObservation { |
| optional string token_id = 1; |
| repeated TokenSignals signals = 2; |
| } |
| message TokenSignals { |
| optional TokenMedium medium = 1; |
| optional int32 rssi = 2; |
| optional int64 observed_time_millis = 3; |
| } |
| message AccessPolicy { |
| optional int64 ttl_millis = 1; |
| optional Acl acl = 2; |
| } |
| message Acl { |
| optional AclType acl_type = 1; |
| optional string named_acl_name = 2; |
| optional bytes referenced_acl_consistency_token = 5; |
| } |
| message PublishedMessage { |
| optional string id = 1; |
| optional AccessPolicy access_policy = 2; |
| optional Message message = 3; |
| optional TokenExchangeStrategy token_exchange_strategy = 5; |
| optional OptInStateFilter opt_in_state_filter = 6; |
| } |
| message TokenExchangeStrategy { |
| optional AudioConfiguration audio_configuration = 1; |
| optional BroadcastScanConfiguration broadcast_scan_configuration = 2; |
| } |
| message SubscribedMessage { |
| message Debug { |
| optional string published_message_id = 1; |
| optional string publisher_identity_id = 2; |
| optional string publisher_device_id = 3; |
| optional int64 creation_timestamp_millis = 4; |
| optional int64 ttl_millis = 5; |
| optional TokenExchangeStrategy token_exchange_strategy = 7; |
| } |
| repeated string subscription_id = 1; |
| optional Message published_message = 2; |
| optional Debug debug = 3; |
| } |
| message Message { |
| optional MessageType type = 2; |
| optional bytes payload = 3; |
| } |
| message MessageType { |
| optional string type = 2; |
| } |
| message Subscription { |
| optional string id = 1; |
| optional int64 ttl_millis = 3; |
| optional MessageType message_type = 4; |
| optional TokenExchangeStrategy token_exchange_strategy = 7; |
| optional OptInStateFilter opt_in_state_filter = 8; |
| } |
| message MessageResult { |
| optional string published_message_id = 1; |
| } |
| message SubscriptionResult { |
| optional string subscription_id = 1; |
| } |
| message OptInStateFilter { |
| repeated OptInState allowed_opt_in_state = 1; |
| } |