jellyflood/JellyfinPlayer/OpenCastSwift/Definitions/CASTV2Protocol.swift

97 lines
3.1 KiB
Swift

//
// CASTV2Protocol.swift
// OpenCastSwift
//
// Created by Miles Hollingsworth on 4/22/18
// Copyright © 2018 Miles Hollingsworth. All rights reserved.
//
import Foundation
struct CastNamespace {
static let auth = "urn:x-cast:com.google.cast.tp.deviceauth"
static let connection = "urn:x-cast:com.google.cast.tp.connection"
static let heartbeat = "urn:x-cast:com.google.cast.tp.heartbeat"
static let receiver = "urn:x-cast:com.google.cast.receiver"
static let media = "urn:x-cast:com.google.cast.media"
static let discovery = "urn:x-cast:com.google.cast.receiver.discovery"
static let setup = "urn:x-cast:com.google.cast.setup"
static let multizone = "urn:x-cast:com.google.cast.multizone"
}
enum CastMessageType: String {
case ping = "PING"
case pong = "PONG"
case connect = "CONNECT"
case close = "CLOSE"
case status = "RECEIVER_STATUS"
case launch = "LAUNCH"
case stop = "STOP"
case load = "LOAD"
case pause = "PAUSE"
case play = "PLAY"
case seek = "SEEK"
case setVolume = "SET_VOLUME"
case setDeviceVolume = "SET_DEVICE_VOLUME"
case statusRequest = "GET_STATUS"
case availableApps = "GET_APP_AVAILABILITY"
case mediaStatus = "MEDIA_STATUS"
case getDeviceInfo = "GET_DEVICE_INFO"
case deviceInfo = "DEVICE_INFO"
case getDeviceConfig = "eureka_info"
case setDeviceConfig = "set_eureka_info"
case getAppDeviceId = "get_app_device_id"
case multizoneStatus = "MULTIZONE_STATUS"
case deviceAdded = "DEVICE_ADDED"
case deviceUpdated = "DEVICE_UPDATED"
case deviceRemoved = "DEVICE_REMOVED"
case invalidRequest = "INVALID_REQUEST"
case mdxSessionStatus = "mdxSessionStatus"
}
struct CastJSONPayloadKeys {
static let type = "type"
static let requestId = "requestId"
static let status = "status"
static let applications = "applications"
static let appId = "appId"
static let displayName = "displayName"
static let sessionId = "sessionId"
static let transportId = "transportId"
static let statusText = "statusText"
static let isIdleScreen = "isIdleScreen"
static let namespaces = "namespaces"
static let volume = "volume"
static let controlType = "controlType"
static let level = "level"
static let muted = "muted"
static let mediaSessionId = "mediaSessionId"
static let availability = "availability"
static let name = "name"
static let currentTime = "currentTime"
static let media = "media"
static let repeatMode = "repeatMode"
static let autoplay = "autoplay"
static let contentId = "contentId"
static let contentType = "contentType"
static let streamType = "streamType"
static let metadata = "metadata"
static let metadataType = "metadataType"
static let title = "title"
static let images = "images"
static let url = "url"
static let activeTrackIds = "activeTrackIds"
static let playbackRate = "playbackRate"
static let playerState = "playerState"
static let deviceId = "deviceId"
static let device = "device"
static let devices = "devices"
static let capabilities = "capabilities"
}
struct CastConstants {
static let sender = "sender-0"
static let receiver = "receiver-0"
static let transport = "transport-0"
}