// Extracted from: Spotify 1.1.61.583 (Windows) syntax = "proto3"; package spotify.social_listening.cloud_host; option objc_class_prefix = "CloudHost"; option optimize_for = CODE_SIZE; option java_package = "com.spotify.social_listening.cloud_host"; message LookupSessionRequest { string token = 1; JoinType join_type = 2; } message LookupSessionResponse { oneof response { Session session = 1; ErrorCode error = 2; } } message CreateSessionRequest { } message CreateSessionResponse { oneof response { Session session = 1; ErrorCode error = 2; } } message DeleteSessionRequest { string session_id = 1; } message DeleteSessionResponse { oneof response { Session session = 1; ErrorCode error = 2; } } message JoinSessionRequest { string join_token = 1; Experience experience = 3; } message JoinSessionResponse { oneof response { Session session = 1; ErrorCode error = 2; } } message LeaveSessionRequest { string session_id = 1; } message LeaveSessionResponse { oneof response { Session session = 1; ErrorCode error = 2; } } message GetCurrentSessionRequest { } message GetCurrentSessionResponse { oneof response { Session session = 1; ErrorCode error = 2; } } message SessionUpdateRequest { } message SessionUpdate { Session session = 1; SessionUpdateReason reason = 3; repeated SessionMember updated_session_members = 4; } message SessionUpdateResponse { oneof response { SessionUpdate session_update = 1; ErrorCode error = 2; } } message Session { int64 timestamp = 1; string session_id = 2; string join_session_token = 3; string join_session_url = 4; string session_owner_id = 5; repeated SessionMember session_members = 6; string join_session_uri = 7; bool is_session_owner = 8; } message SessionMember { int64 timestamp = 1; string member_id = 2; string username = 3; string display_name = 4; string image_url = 5; string large_image_url = 6; bool current_user = 7; } enum JoinType { NotSpecified = 0; Scanning = 1; DeepLinking = 2; DiscoveredDevice = 3; Frictionless = 4; NearbyWifi = 5; } enum ErrorCode { Unknown = 0; ParseError = 1; JoinFailed = 1000; SessionFull = 1001; FreeUser = 1002; ScannableError = 1003; JoinExpiredSession = 1004; NoExistingSession = 1005; } enum Experience { UNKNOWN = 0; BEETHOVEN = 1; BACH = 2; } enum SessionUpdateReason { UNKNOWN_UPDATE_REASON = 0; NEW_SESSION = 1; USER_JOINED = 2; USER_LEFT = 3; SESSION_DELETED = 4; YOU_LEFT = 5; YOU_WERE_KICKED = 6; YOU_JOINED = 7; }