Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
/*
* Copyright 2022-2024 Pexip AS
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
@file:Suppress("DeprecatedCallableAddReplaceWith")
package com.pexip.sdk.api.infinity
import com.pexip.sdk.api.Call
import com.pexip.sdk.api.EventSourceFactory
import com.pexip.sdk.api.infinity.internal.InfinityServiceImpl
import com.pexip.sdk.infinity.BreakoutId
import com.pexip.sdk.infinity.CallId
import com.pexip.sdk.infinity.LayoutId
import com.pexip.sdk.infinity.Node
import com.pexip.sdk.infinity.ParticipantId
import kotlinx.serialization.json.Json
import kotlinx.serialization.modules.SerializersModule
import okhttp3.OkHttpClient
import java.net.URL
import java.util.concurrent.TimeUnit
/**
* A fluent client for Infinity REST API v2.
*/
public interface InfinityService {
/**
* Creates a new [RequestBuilder].
*
* @param node a conferencing node against which to perform requests
* @throws IllegalArgumentException if the [node] is invalid
*/
public fun newRequest(node: Node): RequestBuilder = throw NotImplementedError()
/**
* Creates a new [RequestBuilder].
*
* @param node a conferencing node against which to perform requests
* @throws IllegalArgumentException if the [node] is invalid
*/
@Deprecated(
message = "Superseded by a variant that accepts an instance of Node.",
level = DeprecationLevel.ERROR,
)
public fun newRequest(node: URL): RequestBuilder = throw NotImplementedError()
/**
* Represents the [Other miscellaneous requests](https://docs.pexip.com/api_client/api_rest.htm?Highlight=api#misc) section.
*/
public interface RequestBuilder {
/**
* The Infinity service that produced this request builder.
*/
@Deprecated("Deprecated without a replacement.")
public val infinityService: InfinityService
get() = throw NotImplementedError()
/**
* A node that this request builder will use.
*/
public val node: Node
get() = throw NotImplementedError()
/**
* Checks the status of the conferencing node.
*
* See [documentation](https://docs.pexip.com/api_client/api_rest.htm?Highlight=api#maintenance_mode).
*
* @return true if the node is available, false otherwise
* @throws NoSuchNodeException if the node doesn't exist
*/
public fun status(): Call = throw NotImplementedError()
/**
* Sets the conference alias.
*
* @param conferenceAlias a conference alias
*/
public fun conference(conferenceAlias: String): ConferenceStep = throw NotImplementedError()
/**
* Sets the registration alias.
*
* @param deviceAlias a registration alias
*/
public fun registration(deviceAlias: String): RegistrationStep = throw NotImplementedError()
}
/**
* Represents the [Conference control functions](https://docs.pexip.com/api_client/api_rest.htm?Highlight=api#conference) section.
*/
public interface ConferenceStep {
/**
* The request builder that produced this conference step.
*/
@Deprecated("Deprecated without a replacement.")
public val requestBuilder: RequestBuilder
get() = throw NotImplementedError()
/**
* A conference alias that this conference step will use.
*/
public val conferenceAlias: String
get() = throw NotImplementedError()
/**
* Requests a token for the conference alias.
*
* See [documentation](https://docs.pexip.com/api_client/api_rest.htm?Highlight=api#request_token).
*
* @param request a request body
* @return a token for the conference
*/
public fun requestToken(request: RequestTokenRequest): Call =
throw NotImplementedError()
/**
* Requests a token for the conference alias.
*
* See [documentation](https://docs.pexip.com/api_client/api_rest.htm?Highlight=api#request_token).
*
* @param request a request body
* @param pin an optional PIN
* @return a token for the conference
*/
public fun requestToken(
request: RequestTokenRequest,
pin: String,
): Call = throw NotImplementedError()
/**
* Refreshes the token.
*
* See [documentation](https://docs.pexip.com/api_client/api_rest.htm?Highlight=api#refresh_token).
*
* @param token a current valid token
* @return a new token for the conference
*/
public fun refreshToken(token: Token): Call =
throw NotImplementedError()
/**
* Releases the token.
*
* See [documentation](https://docs.pexip.com/api_client/api_rest.htm?Highlight=api#release_token).
*
* @param token a valid token
* @return true if operation was successful, false otherwise
*/
public fun releaseToken(token: Token): Call = throw NotImplementedError()
/**
* Sends a message to all participants in the conference.
*
* See [documentation](https://docs.pexip.com/api_client/api_rest.htm#message).
*
* @param request a request body
* @param token a valid token
* @return true if operation was successful, false otherwise
*/
public fun message(request: MessageRequest, token: Token): Call =
throw NotImplementedError()
/**
* This returns a list of all available layouts for the given conference.
*
* This includes the inbuilt layouts plus any custom layouts available on this conference.
*
* See [documentation](https://docs.pexip.com/api_client/api_rest.htm#available_layouts).
*
* @param token a valid token
* @return a list of available layouts
*/
public fun availableLayouts(token: Token): Call> = throw NotImplementedError()
/**
* This provides all SVG representations of the layouts that are active
* on the given conference.
*
* See [documentation](https://docs.pexip.com/beta/api_client/api_rest.htm#layout_svgs).
*
* @param token a valid token
* @return a collection of SVG representations
*/
public fun layoutSvgs(token: Token): Call