You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
PatientApp-KKUMC/ios/Runner/OpenTok/OpenTok.swift

181 lines
5.8 KiB
Swift

//
// OpenTok.swift
// Runner
//
// Created by Zohaib Iqbal Kambrani on 18/10/2021.
//
import Foundation
//import OpenTok
import UIKit
enum SdkState: String {
case loggedOut = "LOGGED_OUT"
case loggedIn = "LOGGED_IN"
case wait = "WAIT"
case error = "ERROR"
}
class OpenTok : NSObject{
// private var mainViewController:MainFlutterVC!
// private var registrar:FlutterPluginRegistrar?
// var methodChannel: FlutterMethodChannel?
//
// init(mainViewController:MainFlutterVC, registrar:FlutterPluginRegistrar?){
// self.mainViewController = mainViewController
// self.methodChannel = FlutterMethodChannel(name: "OpenTok-Platform-Bridge", binaryMessenger: mainViewController.binaryMessenger)
// self.registrar = registrar
//
// let remoteVDOFactory = OpenTokRemoteVideoFactory(messenger: registrar!.messenger())
// registrar?.register(remoteVDOFactory, withId: "remote-video-container")
//
// let localVDOFactory = OpenTokLocalVideoFactory(messenger: registrar!.messenger())
// registrar?.register(localVDOFactory, withId: "local-video-container")
// }
//
// var otSession: OTSession?
//
// var subscriber: OTSubscriber?
// lazy var publisher: OTPublisher = {
// let settings = OTPublisherSettings()
// settings.name = UIDevice.current.name
// return OTPublisher(delegate: self, settings: settings)!
// }()
//
// func initSession(call:FlutterMethodCall, result: @escaping FlutterResult){
// if let arguments = call.arguments as? [String: String],
// let apiKey = arguments["apiKey"],
// let sessionId = arguments["sessionId"],
// let token = arguments["token"]{
//
// var error: OTError?
// defer {
// // todo
// }
//
// notifyFlutter(state: SdkState.wait)
// otSession = OTSession(apiKey: apiKey, sessionId: sessionId, delegate: self)!
// otSession?.connect(withToken: token, error: &error)
//
// result("")
// }else{
//
// }
//
// }
//
//
// func swapCamera(call:FlutterMethodCall, result: @escaping FlutterResult) {
// if publisher.cameraPosition == .front {
// publisher.cameraPosition = .back
// } else {
// publisher.cameraPosition = .front
// }
// result("")
// }
//
// func toggleAudio(call:FlutterMethodCall, result: @escaping FlutterResult) {
// if let arguments = call.arguments as? [String: Bool],
// let publishAudio = arguments["publishAudio"] {
// publisher.publishAudio = !publisher.publishAudio
// }
// result("")
// }
//
// func toggleVideo(call:FlutterMethodCall, result: @escaping FlutterResult) {
// if let arguments = call.arguments as? [String: Bool],
// let publishVideo = arguments["publishVideo"] {
// publisher.publishVideo = !publisher.publishVideo
// }
// result("")
// }
//
//
// func notifyFlutter(state: SdkState) {
// methodChannel?.invokeMethod("updateState", arguments: state.rawValue)
// }
//
//}
//
//extension OpenTok: OTSessionDelegate {
// func sessionDidConnect(_ sessionDelegate: OTSession) {
// print("The client connected to the session.")
// notifyFlutter(state: SdkState.loggedIn)
//
// var error: OTError?
// defer {
// // todo
// }
//
// self.otSession?.publish(self.publisher, error: &error)
//
// if let pubView = self.publisher.view {
// pubView.frame = CGRect(x: 0, y: 0, width: 200, height: 300)
//
// if OpenTokLocalVideoFactory.view == nil {
// OpenTokLocalVideoFactory.viewToAddPub = pubView
// } else {
// OpenTokLocalVideoFactory.view?.addPublisherView(pubView)
// }
// }
// }
//
// func sessionDidDisconnect(_ session: OTSession) {
// print("The client disconnected from the session.")
// notifyFlutter(state: SdkState.loggedOut)
// }
//
// func session(_ session: OTSession, didFailWithError error: OTError) {
// print("The client failed to connect to the session: \(error).")
// }
//
// func session(_ session: OTSession, streamCreated stream: OTStream) {
// print("A stream was created in the session.")
// var error: OTError?
// defer {
// // todo
// }
// subscriber = OTSubscriber(stream: stream, delegate: self)
//
// session.subscribe(subscriber!, error: &error)
// }
//
// func session(_ session: OTSession, streamDestroyed stream: OTStream) {
// print("A stream was destroyed in the session.")
// }
//}
//
//extension OpenTok: OTPublisherDelegate {
// func publisher(_ publisher: OTPublisherKit, streamCreated stream: OTStream) {
// }
//
// func publisher(_ publisher: OTPublisherKit, streamDestroyed stream: OTStream) {
// }
//
// func publisher(_ publisher: OTPublisherKit, didFailWithError error: OTError) {
// print("Publisher failed: \(error.localizedDescription)")
// }
//}
//
//extension OpenTok: OTSubscriberDelegate {
// func subscriberDidConnect(toStream subscriberKit: OTSubscriberKit) {
// print("Subscriber connected")
//
// if let subView = self.subscriber?.view {
// subView.frame = CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height)
//
// if OpenTokRemoteVideoFactory.view == nil {
// OpenTokRemoteVideoFactory.viewToAddSub = subView
// } else {
// OpenTokRemoteVideoFactory.view?.addSubscriberView(subView)
// }
// }
// }
//
// func subscriber(_ subscriber: OTSubscriberKit, didFailWithError error: OTError) {
// print("Subscriber failed: \(error.localizedDescription)")
// }
}