FMPConnection

Описание

Класс FMPConnection предназначен для описания подключения устройства к серверу.

class FMPConnection

Свойства

Свойство Описание
api Версия API.
var api: String { get }
environment Название среды.
var environment: String { get }
project Название проекта.
var project: String { get }
udid Уникальный идентификатор устройства.
var udid: String { get }

url

URL сервера.
var url: String { get }

Методы

Метод Описание
copy() Получение экземпляра класса-строителя для копирования FMPConnection. Возвращает экземпляр класса-строителя FMPConnection.Builder.
func copy() -> FMPConnection.Builder
status(completion:) Проверка доступности сервера.
func status(completion: @escaping (StatusResult) -> Void)

Параметры:

  • completion. Замыкающее выражение, содержащее результаты выполнения запросов.

version(completion:) Получение текущей версии сервера и поддерживаемых версий API. Перед запросом необходима аутентификация пользователя.
func version(completion: @escaping (VersionResult) -> Void)

Параметры:

  • completion. Замыкающее выражение, содержащее результаты выполнения запросов.

Псевдонимы типов

Псевдоним типа Описание
StatusResult Результат запроса проверки доступности сервера. Используется методом status(completion:).
typealias StatusResult = Result<Bool, Error>
VersionResult Результат запроса текущей версии сервера и поддерживаемых версий API. Используется методом version(completion:).
typealias VersionResult = Result<ServerVersion, Error>

Примеры

Построение экземпляра класса FMPConnection:

let connection: FMPConnection = fmp.connection
    .build()

Проверка доступности сервера:

// Построим экземпляр класса FMPConnection
let connection: FMPConnection = fmp.connection
    .build()
  
// Проверим доступность сервера по указанному URL-адресу
connection.status { (result) in
    switch result {
    case .success(_):
    // Сервер по указанному URL доступен
    case .failure(let error):
        // Сервер по указанному URL недоступен. Выведем код и описание ошибки
        print((error as? FMPError)?.code, (error as? FMPError)?.description)
    }
}

Получение текущей версии сервера и поддерживаемых версий API:

// Построим экземпляр класса FMPConnection
let connection: FMPConnection = fmp.connection
    .build()
  
// Получим текущую версию сервера и поддерживаемые версии API
connection.version { (result) in
    switch result {
    case .success(let version):
        // Выведем текущую версию сервера
        print(version.platform?.version)
        //Выведем поддерживаемые версии API
        print(version.api.map{$0.version})
    case .failure(let error):
        // Выведем код и описание ошибки
        print((error as? FMPError)?.code, (error as? FMPError)?.description)
    }
}

Копирование экземпляра класса FMPConnection:

// Построим экземпляр класса FMPConnection
let connection: FMPConnection = fmp.connection.build()
  
// Скопируем экземпляр класса FMPConnection
let connectionCopy: FMPConnection = connection.copy().build()

См. также:

Фреймворк FMPKit | Классы