Multiple servers can be added to Ferrite to playback from any Kodi server that the user wants. This also adds the ability to have friendly names which makes it easier to select what server to play on. Each server shows the user whether it's online or not through Kodi's JSONRPC ping method. Signed-off-by: kingbri <bdashore3@proton.me>
39 lines
701 B
Swift
39 lines
701 B
Swift
//
|
|
// KodiModels.swift
|
|
// Ferrite
|
|
//
|
|
// Created by Brian Dashore on 3/4/23.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
extension Kodi {
|
|
enum KodiError: Error {
|
|
case ServerAddition(description: String)
|
|
case InvalidBaseUrl
|
|
case InvalidPlaybackUrl
|
|
case InvalidPostBody
|
|
case FailedRequest(description: String)
|
|
}
|
|
|
|
// MARK: - RPC payload
|
|
|
|
struct RPCPayload: Encodable {
|
|
let jsonrpc: String = "2.0"
|
|
let id: String = "1"
|
|
let method: String
|
|
let params: Params?
|
|
}
|
|
|
|
// MARK: - RPC Params
|
|
|
|
struct Params: Codable {
|
|
let item: Item
|
|
}
|
|
|
|
// MARK: - RPC Item
|
|
|
|
struct Item: Codable {
|
|
let file: String
|
|
}
|
|
}
|