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 DeviceRegistration { optional PushService service = 1 [deprecated = true]; optional string device_token = 2 [deprecated = true]; optional DeviceIdentity device_identity = 3 [deprecated = true]; optional string app_name = 4 [deprecated = true]; optional bytes device_token_binary = 5 [deprecated = true]; optional string registered_device_id = 6 [deprecated = true]; optional int32 ulr_device_id = 7 [deprecated = true]; optional Identity registrant = 8 [deprecated = true]; } message PushServiceRegistration { optional PushService service = 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; extensions 1 to 1; } optional string id = 1; optional uint32 ttl_millis_deprecated = 2 [deprecated = true]; optional TokenStatus status = 3; optional Debug debug = 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; optional bool listen_initiated_by_location_deprecated = 2 [deprecated = true]; 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; extensions 4 to 4; } 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 TransmissionStrategy strategy = 4; 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 TransmissionStrategy strategy = 6; 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 namespace_deprecated = 1 [deprecated = true]; optional string type = 2; } message Subscription { optional string id = 1; optional TransmissionStrategy strategy = 2; optional int64 ttl_millis = 3; optional MessageType message_type = 4; optional TokenExchangeStrategy token_exchange_strategy = 7; optional OptInStateFilter opt_in_state_filter = 8; } message DeleteAll { optional DeleteAllType type = 1; repeated string namespace = 2; } message MessageResult { optional string published_message_id = 1; } message SubscriptionResult { optional string subscription_id = 1; } message OptInStateFilter { repeated OptInState allowed_opt_in_state = 1; }