├── Podfile ├── Podfile.lock ├── Pods ├── Headers │ ├── Private │ │ ├── IQKeyboardManager │ │ │ ├── IQBarButtonItem.h │ │ │ ├── IQKeyboardManager.h │ │ │ ├── IQKeyboardManagerConstants.h │ │ │ ├── IQKeyboardManagerConstantsInternal.h │ │ │ ├── IQKeyboardReturnKeyHandler.h │ │ │ ├── IQNSArray+Sort.h │ │ │ ├── IQPreviousNextView.h │ │ │ ├── IQTextView.h │ │ │ ├── IQTitleBarButtonItem.h │ │ │ ├── IQToolbar.h │ │ │ ├── IQUIScrollView+Additions.h │ │ │ ├── IQUITextFieldView+Additions.h │ │ │ ├── IQUIView+Hierarchy.h │ │ │ ├── IQUIView+IQKeyboardToolbar.h │ │ │ ├── IQUIViewController+Additions.h │ │ │ └── IQUIWindow+Hierarchy.h │ │ ├── NSDictionary-ANDYSafeValue │ │ │ └── NSDictionary+ANDYSafeValue.h │ │ ├── Toast │ │ │ └── UIView+Toast.h │ │ └── libjingle_peerconnection │ │ │ ├── RTCAVFoundationVideoSource.h │ │ │ ├── RTCAudioSource.h │ │ │ ├── RTCAudioTrack.h │ │ │ ├── RTCDataChannel.h │ │ │ ├── RTCEAGLVideoView.h │ │ │ ├── RTCFileLogger.h │ │ │ ├── RTCI420Frame.h │ │ │ ├── RTCICECandidate.h │ │ │ ├── RTCICEServer.h │ │ │ ├── RTCLogging.h │ │ │ ├── RTCMediaConstraints.h │ │ │ ├── RTCMediaSource.h │ │ │ ├── RTCMediaStream.h │ │ │ ├── RTCMediaStreamTrack.h │ │ │ ├── RTCNSGLVideoView.h │ │ │ ├── RTCOpenGLVideoRenderer.h │ │ │ ├── RTCPair.h │ │ │ ├── RTCPeerConnection.h │ │ │ ├── RTCPeerConnectionDelegate.h │ │ │ ├── RTCPeerConnectionFactory.h │ │ │ ├── RTCPeerConnectionInterface.h │ │ │ ├── RTCSessionDescription.h │ │ │ ├── RTCSessionDescriptionDelegate.h │ │ │ ├── RTCStatsDelegate.h │ │ │ ├── RTCStatsReport.h │ │ │ ├── RTCTypes.h │ │ │ ├── RTCVideoCapturer.h │ │ │ ├── RTCVideoRenderer.h │ │ │ ├── RTCVideoSource.h │ │ │ └── RTCVideoTrack.h │ └── Public │ │ ├── IQKeyboardManager │ │ ├── IQBarButtonItem.h │ │ ├── IQKeyboardManager.h │ │ ├── IQKeyboardManagerConstants.h │ │ ├── IQKeyboardManagerConstantsInternal.h │ │ ├── IQKeyboardReturnKeyHandler.h │ │ ├── IQNSArray+Sort.h │ │ ├── IQPreviousNextView.h │ │ ├── IQTextView.h │ │ ├── IQTitleBarButtonItem.h │ │ ├── IQToolbar.h │ │ ├── IQUIScrollView+Additions.h │ │ ├── IQUITextFieldView+Additions.h │ │ ├── IQUIView+Hierarchy.h │ │ ├── IQUIView+IQKeyboardToolbar.h │ │ ├── IQUIViewController+Additions.h │ │ └── IQUIWindow+Hierarchy.h │ │ ├── NSDictionary-ANDYSafeValue │ │ └── NSDictionary+ANDYSafeValue.h │ │ ├── Toast │ │ └── UIView+Toast.h │ │ └── libjingle_peerconnection │ │ ├── RTCAVFoundationVideoSource.h │ │ ├── RTCAudioSource.h │ │ ├── RTCAudioTrack.h │ │ ├── RTCDataChannel.h │ │ ├── RTCEAGLVideoView.h │ │ ├── RTCFileLogger.h │ │ ├── RTCI420Frame.h │ │ ├── RTCICECandidate.h │ │ ├── RTCICEServer.h │ │ ├── RTCLogging.h │ │ ├── RTCMediaConstraints.h │ │ ├── RTCMediaSource.h │ │ ├── RTCMediaStream.h │ │ ├── RTCMediaStreamTrack.h │ │ ├── RTCNSGLVideoView.h │ │ ├── RTCOpenGLVideoRenderer.h │ │ ├── RTCPair.h │ │ ├── RTCPeerConnection.h │ │ ├── RTCPeerConnectionDelegate.h │ │ ├── RTCPeerConnectionFactory.h │ │ ├── RTCPeerConnectionInterface.h │ │ ├── RTCSessionDescription.h │ │ ├── RTCSessionDescriptionDelegate.h │ │ ├── RTCStatsDelegate.h │ │ ├── RTCStatsReport.h │ │ ├── RTCTypes.h │ │ ├── RTCVideoCapturer.h │ │ ├── RTCVideoRenderer.h │ │ ├── RTCVideoSource.h │ │ └── RTCVideoTrack.h ├── IQKeyboardManager │ ├── IQKeyboardManager │ │ ├── Categories │ │ │ ├── IQNSArray+Sort.h │ │ │ ├── IQNSArray+Sort.m │ │ │ ├── IQUIScrollView+Additions.h │ │ │ ├── IQUIScrollView+Additions.m │ │ │ ├── IQUITextFieldView+Additions.h │ │ │ ├── IQUITextFieldView+Additions.m │ │ │ ├── IQUIView+Hierarchy.h │ │ │ ├── IQUIView+Hierarchy.m │ │ │ ├── IQUIViewController+Additions.h │ │ │ ├── IQUIViewController+Additions.m │ │ │ ├── IQUIWindow+Hierarchy.h │ │ │ └── IQUIWindow+Hierarchy.m │ │ ├── Constants │ │ │ ├── IQKeyboardManagerConstants.h │ │ │ └── IQKeyboardManagerConstantsInternal.h │ │ ├── IQKeyboardManager.h │ │ ├── IQKeyboardManager.m │ │ ├── IQKeyboardReturnKeyHandler.h │ │ ├── IQKeyboardReturnKeyHandler.m │ │ ├── IQTextView │ │ │ ├── IQTextView.h │ │ │ └── IQTextView.m │ │ ├── IQToolbar │ │ │ ├── IQBarButtonItem.h │ │ │ ├── IQBarButtonItem.m │ │ │ ├── IQPreviousNextView.h │ │ │ ├── IQPreviousNextView.m │ │ │ ├── IQTitleBarButtonItem.h │ │ │ ├── IQTitleBarButtonItem.m │ │ │ ├── IQToolbar.h │ │ │ ├── IQToolbar.m │ │ │ ├── IQUIView+IQKeyboardToolbar.h │ │ │ └── IQUIView+IQKeyboardToolbar.m │ │ └── Resources │ │ │ └── IQKeyboardManager.bundle │ │ │ ├── IQButtonBarArrowDown@2x.png │ │ │ ├── IQButtonBarArrowDown@3x.png │ │ │ ├── IQButtonBarArrowLeft@2x.png │ │ │ ├── IQButtonBarArrowLeft@3x.png │ │ │ ├── IQButtonBarArrowRight@2x.png │ │ │ ├── IQButtonBarArrowRight@3x.png │ │ │ ├── IQButtonBarArrowUp@2x.png │ │ │ ├── IQButtonBarArrowUp@3x.png │ │ │ ├── de.lproj │ │ │ └── IQKeyboardManager.strings │ │ │ ├── en.lproj │ │ │ └── IQKeyboardManager.strings │ │ │ ├── es.lproj │ │ │ └── IQKeyboardManager.strings │ │ │ ├── fr.lproj │ │ │ └── IQKeyboardManager.strings │ │ │ ├── zh-Hans │ │ │ └── IQKeyboardManager.strings │ │ │ └── zh-Hant │ │ │ └── IQKeyboardManager.strings │ ├── LICENSE.md │ └── README.md ├── Manifest.lock ├── NSDictionary-ANDYSafeValue │ ├── LICENSE.md │ ├── README.md │ └── Source │ │ ├── NSDictionary+ANDYSafeValue.h │ │ └── NSDictionary+ANDYSafeValue.m ├── Pods.xcodeproj │ ├── project.pbxproj │ └── xcuserdata │ │ ├── DisakulCG2.xcuserdatad │ │ └── xcschemes │ │ │ ├── IQKeyboardManager.xcscheme │ │ │ ├── NSDictionary-ANDYSafeValue.xcscheme │ │ │ ├── Pods-webrtc-socketio-ios.xcscheme │ │ │ ├── Toast.xcscheme │ │ │ └── xcschememanagement.plist │ │ └── pagornp.xcuserdatad │ │ └── xcschemes │ │ ├── IQKeyboardManager.xcscheme │ │ ├── NSDictionary-ANDYSafeValue.xcscheme │ │ ├── Pods-webrtc-socketio-ios.xcscheme │ │ ├── Toast.xcscheme │ │ └── xcschememanagement.plist ├── Target Support Files │ ├── IQKeyboardManager │ │ ├── IQKeyboardManager-dummy.m │ │ ├── IQKeyboardManager-prefix.pch │ │ └── IQKeyboardManager.xcconfig │ ├── NSDictionary-ANDYSafeValue │ │ ├── NSDictionary-ANDYSafeValue-dummy.m │ │ ├── NSDictionary-ANDYSafeValue-prefix.pch │ │ └── NSDictionary-ANDYSafeValue.xcconfig │ ├── Pods-webrtc-socketio-ios │ │ ├── Pods-webrtc-socketio-ios-acknowledgements.markdown │ │ ├── Pods-webrtc-socketio-ios-acknowledgements.plist │ │ ├── Pods-webrtc-socketio-ios-dummy.m │ │ ├── Pods-webrtc-socketio-ios-frameworks.sh │ │ ├── Pods-webrtc-socketio-ios-resources.sh │ │ ├── Pods-webrtc-socketio-ios.debug.xcconfig │ │ └── Pods-webrtc-socketio-ios.release.xcconfig │ └── Toast │ │ ├── Toast-dummy.m │ │ ├── Toast-prefix.pch │ │ └── Toast.xcconfig ├── Toast │ ├── README.markdown │ ├── Toast │ │ └── Toast │ │ │ ├── UIView+Toast.h │ │ │ └── UIView+Toast.m │ └── license └── libjingle_peerconnection │ └── libjingle_peerconnection │ ├── Headers │ ├── RTCAVFoundationVideoSource.h │ ├── RTCAudioSource.h │ ├── RTCAudioTrack.h │ ├── RTCDataChannel.h │ ├── RTCEAGLVideoView.h │ ├── RTCFileLogger.h │ ├── RTCI420Frame.h │ ├── RTCICECandidate.h │ ├── RTCICEServer.h │ ├── RTCLogging.h │ ├── RTCMediaConstraints.h │ ├── RTCMediaSource.h │ ├── RTCMediaStream.h │ ├── RTCMediaStreamTrack.h │ ├── RTCNSGLVideoView.h │ ├── RTCOpenGLVideoRenderer.h │ ├── RTCPair.h │ ├── RTCPeerConnection.h │ ├── RTCPeerConnectionDelegate.h │ ├── RTCPeerConnectionFactory.h │ ├── RTCPeerConnectionInterface.h │ ├── RTCSessionDescription.h │ ├── RTCSessionDescriptionDelegate.h │ ├── RTCStatsDelegate.h │ ├── RTCStatsReport.h │ ├── RTCTypes.h │ ├── RTCVideoCapturer.h │ ├── RTCVideoRenderer.h │ ├── RTCVideoSource.h │ └── RTCVideoTrack.h │ └── libWebRTC.a ├── README.md ├── SocketIO.framework ├── Headers │ ├── SocketIO-Swift.h │ └── SocketIO.h ├── Info.plist ├── Modules │ ├── SocketIO.swiftmodule │ │ ├── arm.swiftdoc │ │ ├── arm.swiftmodule │ │ ├── arm64.swiftdoc │ │ └── arm64.swiftmodule │ └── module.modulemap └── SocketIO ├── socket.io-client-swift-master ├── .gitignore ├── .swift-version ├── .travis.yml ├── LICENSE ├── Package.swift ├── README.md ├── Socket.IO-Client-Swift.podspec ├── SocketIO-iOS │ ├── Info.plist │ └── SocketIO.h └── Source │ ├── SSLSecurity.swift │ ├── SocketAckEmitter.swift │ ├── SocketAckManager.swift │ ├── SocketAnyEvent.swift │ ├── SocketClientManager.swift │ ├── SocketEngine.swift │ ├── SocketEngineClient.swift │ ├── SocketEnginePacketType.swift │ ├── SocketEnginePollable.swift │ ├── SocketEngineSpec.swift │ ├── SocketEngineWebsocket.swift │ ├── SocketEventHandler.swift │ ├── SocketExtensions.swift │ ├── SocketIOClient.swift │ ├── SocketIOClientConfiguration.swift │ ├── SocketIOClientOption.swift │ ├── SocketIOClientSpec.swift │ ├── SocketIOClientStatus.swift │ ├── SocketLogger.swift │ ├── SocketPacket.swift │ ├── SocketParsable.swift │ ├── SocketStringReader.swift │ ├── SocketTypes.swift │ └── WebSocket.swift ├── webrtc-socketio-ios.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ └── contents.xcworkspacedata └── xcuserdata │ ├── DisakulCG2.xcuserdatad │ └── xcschemes │ │ ├── webrtc-socketio-ios.xcscheme │ │ └── xcschememanagement.plist │ └── pagornp.xcuserdatad │ └── xcschemes │ ├── webrtc-socketio-ios.xcscheme │ └── xcschememanagement.plist ├── webrtc-socketio-ios.xcworkspace ├── contents.xcworkspacedata └── xcuserdata │ └── pagornp.xcuserdatad │ ├── UserInterfaceState.xcuserstate │ └── xcdebugger │ └── Breakpoints_v2.xcbkptlist └── webrtc-socketio-ios ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets ├── AppIcon.appiconset │ └── Contents.json ├── Contents.json ├── camera switch.imageset │ ├── Contents.json │ ├── Icon-App-40x40@1x.png │ ├── Icon-App-40x40@2x.png │ └── Icon-App-40x40@3x.png ├── hang up.imageset │ ├── Contents.json │ ├── Icon-App-40x40@1x.png │ ├── Icon-App-40x40@2x.png │ └── Icon-App-40x40@3x.png ├── microphone-off.imageset │ ├── Contents.json │ ├── Icon-App-40x40@1x.png │ ├── Icon-App-40x40@2x.png │ └── Icon-App-40x40@3x.png └── microphone.imageset │ ├── Contents.json │ ├── Icon-App-40x40@1x.png │ ├── Icon-App-40x40@2x.png │ └── Icon-App-40x40@3x.png ├── Base.lproj ├── LaunchScreen.storyboard └── Main.storyboard ├── Info.plist ├── NewRTC ├── Peer.h ├── Peer.m ├── PeerConnectionParameters.h ├── PeerConnectionParameters.m ├── RTCActivityViewController.h ├── RTCActivityViewController.m ├── RTCActivityViewController.xib ├── SocketIOManagerCall.h ├── SocketIOManagerCall.m ├── WebRTCClient.h └── WebRTCClient.m ├── ViewController.h ├── ViewController.m └── main.m /Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment the next line to define a global platform for your project 2 | # platform :ios, '9.0' 3 | 4 | target 'webrtc-socketio-ios' do 5 | # Uncomment the next line if you're using Swift or would like to use dynamic frameworks 6 | # use_frameworks! 7 | 8 | # Pods for webrtc-socketio-ios 9 | 10 | pod 'libjingle_peerconnection' 11 | pod 'NSDictionary-ANDYSafeValue' 12 | pod 'IQKeyboardManager' 13 | 14 | pod 'Toast' 15 | 16 | end 17 | -------------------------------------------------------------------------------- /Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - IQKeyboardManager (4.0.8) 3 | - libjingle_peerconnection (11177.2.0) 4 | - NSDictionary-ANDYSafeValue (0.3.1) 5 | - Toast (3.1.0) 6 | 7 | DEPENDENCIES: 8 | - IQKeyboardManager 9 | - libjingle_peerconnection 10 | - NSDictionary-ANDYSafeValue 11 | - Toast 12 | 13 | SPEC CHECKSUMS: 14 | IQKeyboardManager: 1a8189fa153bf09044355ee0ad36826f6767e7f7 15 | libjingle_peerconnection: 3458f646ddd61f08a9f3a0c43fb01fff5c165eb8 16 | NSDictionary-ANDYSafeValue: 2d7adf339b6e302d71fec5f1d71ae00aacda993e 17 | Toast: 14a93686d6c8bfe2727afd342414e35660a8a1f3 18 | 19 | PODFILE CHECKSUM: 78e589ae4a2cabf8a432513ed207db607a111502 20 | 21 | COCOAPODS: 1.2.0 22 | -------------------------------------------------------------------------------- /Pods/Headers/Private/IQKeyboardManager/IQBarButtonItem.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/IQToolbar/IQBarButtonItem.h -------------------------------------------------------------------------------- /Pods/Headers/Private/IQKeyboardManager/IQKeyboardManager.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/IQKeyboardManager.h -------------------------------------------------------------------------------- /Pods/Headers/Private/IQKeyboardManager/IQKeyboardManagerConstants.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/Constants/IQKeyboardManagerConstants.h -------------------------------------------------------------------------------- /Pods/Headers/Private/IQKeyboardManager/IQKeyboardManagerConstantsInternal.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/Constants/IQKeyboardManagerConstantsInternal.h -------------------------------------------------------------------------------- /Pods/Headers/Private/IQKeyboardManager/IQKeyboardReturnKeyHandler.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/IQKeyboardReturnKeyHandler.h -------------------------------------------------------------------------------- /Pods/Headers/Private/IQKeyboardManager/IQNSArray+Sort.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/Categories/IQNSArray+Sort.h -------------------------------------------------------------------------------- /Pods/Headers/Private/IQKeyboardManager/IQPreviousNextView.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/IQToolbar/IQPreviousNextView.h -------------------------------------------------------------------------------- /Pods/Headers/Private/IQKeyboardManager/IQTextView.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/IQTextView/IQTextView.h -------------------------------------------------------------------------------- /Pods/Headers/Private/IQKeyboardManager/IQTitleBarButtonItem.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/IQToolbar/IQTitleBarButtonItem.h -------------------------------------------------------------------------------- /Pods/Headers/Private/IQKeyboardManager/IQToolbar.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/IQToolbar/IQToolbar.h -------------------------------------------------------------------------------- /Pods/Headers/Private/IQKeyboardManager/IQUIScrollView+Additions.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/Categories/IQUIScrollView+Additions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/IQKeyboardManager/IQUITextFieldView+Additions.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/Categories/IQUITextFieldView+Additions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/IQKeyboardManager/IQUIView+Hierarchy.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/Categories/IQUIView+Hierarchy.h -------------------------------------------------------------------------------- /Pods/Headers/Private/IQKeyboardManager/IQUIView+IQKeyboardToolbar.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/IQToolbar/IQUIView+IQKeyboardToolbar.h -------------------------------------------------------------------------------- /Pods/Headers/Private/IQKeyboardManager/IQUIViewController+Additions.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/Categories/IQUIViewController+Additions.h -------------------------------------------------------------------------------- /Pods/Headers/Private/IQKeyboardManager/IQUIWindow+Hierarchy.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/Categories/IQUIWindow+Hierarchy.h -------------------------------------------------------------------------------- /Pods/Headers/Private/NSDictionary-ANDYSafeValue/NSDictionary+ANDYSafeValue.h: -------------------------------------------------------------------------------- 1 | ../../../NSDictionary-ANDYSafeValue/Source/NSDictionary+ANDYSafeValue.h -------------------------------------------------------------------------------- /Pods/Headers/Private/Toast/UIView+Toast.h: -------------------------------------------------------------------------------- 1 | ../../../Toast/Toast/Toast/UIView+Toast.h -------------------------------------------------------------------------------- /Pods/Headers/Private/libjingle_peerconnection/RTCAVFoundationVideoSource.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCAVFoundationVideoSource.h -------------------------------------------------------------------------------- /Pods/Headers/Private/libjingle_peerconnection/RTCAudioSource.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCAudioSource.h -------------------------------------------------------------------------------- /Pods/Headers/Private/libjingle_peerconnection/RTCAudioTrack.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCAudioTrack.h -------------------------------------------------------------------------------- /Pods/Headers/Private/libjingle_peerconnection/RTCDataChannel.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCDataChannel.h -------------------------------------------------------------------------------- /Pods/Headers/Private/libjingle_peerconnection/RTCEAGLVideoView.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCEAGLVideoView.h -------------------------------------------------------------------------------- /Pods/Headers/Private/libjingle_peerconnection/RTCFileLogger.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCFileLogger.h -------------------------------------------------------------------------------- /Pods/Headers/Private/libjingle_peerconnection/RTCI420Frame.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCI420Frame.h -------------------------------------------------------------------------------- /Pods/Headers/Private/libjingle_peerconnection/RTCICECandidate.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCICECandidate.h -------------------------------------------------------------------------------- /Pods/Headers/Private/libjingle_peerconnection/RTCICEServer.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCICEServer.h -------------------------------------------------------------------------------- /Pods/Headers/Private/libjingle_peerconnection/RTCLogging.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCLogging.h -------------------------------------------------------------------------------- /Pods/Headers/Private/libjingle_peerconnection/RTCMediaConstraints.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCMediaConstraints.h -------------------------------------------------------------------------------- /Pods/Headers/Private/libjingle_peerconnection/RTCMediaSource.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCMediaSource.h -------------------------------------------------------------------------------- /Pods/Headers/Private/libjingle_peerconnection/RTCMediaStream.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCMediaStream.h -------------------------------------------------------------------------------- /Pods/Headers/Private/libjingle_peerconnection/RTCMediaStreamTrack.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCMediaStreamTrack.h -------------------------------------------------------------------------------- /Pods/Headers/Private/libjingle_peerconnection/RTCNSGLVideoView.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCNSGLVideoView.h -------------------------------------------------------------------------------- /Pods/Headers/Private/libjingle_peerconnection/RTCOpenGLVideoRenderer.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCOpenGLVideoRenderer.h -------------------------------------------------------------------------------- /Pods/Headers/Private/libjingle_peerconnection/RTCPair.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCPair.h -------------------------------------------------------------------------------- /Pods/Headers/Private/libjingle_peerconnection/RTCPeerConnection.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCPeerConnection.h -------------------------------------------------------------------------------- /Pods/Headers/Private/libjingle_peerconnection/RTCPeerConnectionDelegate.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCPeerConnectionDelegate.h -------------------------------------------------------------------------------- /Pods/Headers/Private/libjingle_peerconnection/RTCPeerConnectionFactory.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCPeerConnectionFactory.h -------------------------------------------------------------------------------- /Pods/Headers/Private/libjingle_peerconnection/RTCPeerConnectionInterface.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCPeerConnectionInterface.h -------------------------------------------------------------------------------- /Pods/Headers/Private/libjingle_peerconnection/RTCSessionDescription.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCSessionDescription.h -------------------------------------------------------------------------------- /Pods/Headers/Private/libjingle_peerconnection/RTCSessionDescriptionDelegate.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCSessionDescriptionDelegate.h -------------------------------------------------------------------------------- /Pods/Headers/Private/libjingle_peerconnection/RTCStatsDelegate.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCStatsDelegate.h -------------------------------------------------------------------------------- /Pods/Headers/Private/libjingle_peerconnection/RTCStatsReport.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCStatsReport.h -------------------------------------------------------------------------------- /Pods/Headers/Private/libjingle_peerconnection/RTCTypes.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCTypes.h -------------------------------------------------------------------------------- /Pods/Headers/Private/libjingle_peerconnection/RTCVideoCapturer.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCVideoCapturer.h -------------------------------------------------------------------------------- /Pods/Headers/Private/libjingle_peerconnection/RTCVideoRenderer.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCVideoRenderer.h -------------------------------------------------------------------------------- /Pods/Headers/Private/libjingle_peerconnection/RTCVideoSource.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCVideoSource.h -------------------------------------------------------------------------------- /Pods/Headers/Private/libjingle_peerconnection/RTCVideoTrack.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCVideoTrack.h -------------------------------------------------------------------------------- /Pods/Headers/Public/IQKeyboardManager/IQBarButtonItem.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/IQToolbar/IQBarButtonItem.h -------------------------------------------------------------------------------- /Pods/Headers/Public/IQKeyboardManager/IQKeyboardManager.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/IQKeyboardManager.h -------------------------------------------------------------------------------- /Pods/Headers/Public/IQKeyboardManager/IQKeyboardManagerConstants.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/Constants/IQKeyboardManagerConstants.h -------------------------------------------------------------------------------- /Pods/Headers/Public/IQKeyboardManager/IQKeyboardManagerConstantsInternal.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/Constants/IQKeyboardManagerConstantsInternal.h -------------------------------------------------------------------------------- /Pods/Headers/Public/IQKeyboardManager/IQKeyboardReturnKeyHandler.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/IQKeyboardReturnKeyHandler.h -------------------------------------------------------------------------------- /Pods/Headers/Public/IQKeyboardManager/IQNSArray+Sort.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/Categories/IQNSArray+Sort.h -------------------------------------------------------------------------------- /Pods/Headers/Public/IQKeyboardManager/IQPreviousNextView.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/IQToolbar/IQPreviousNextView.h -------------------------------------------------------------------------------- /Pods/Headers/Public/IQKeyboardManager/IQTextView.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/IQTextView/IQTextView.h -------------------------------------------------------------------------------- /Pods/Headers/Public/IQKeyboardManager/IQTitleBarButtonItem.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/IQToolbar/IQTitleBarButtonItem.h -------------------------------------------------------------------------------- /Pods/Headers/Public/IQKeyboardManager/IQToolbar.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/IQToolbar/IQToolbar.h -------------------------------------------------------------------------------- /Pods/Headers/Public/IQKeyboardManager/IQUIScrollView+Additions.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/Categories/IQUIScrollView+Additions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/IQKeyboardManager/IQUITextFieldView+Additions.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/Categories/IQUITextFieldView+Additions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/IQKeyboardManager/IQUIView+Hierarchy.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/Categories/IQUIView+Hierarchy.h -------------------------------------------------------------------------------- /Pods/Headers/Public/IQKeyboardManager/IQUIView+IQKeyboardToolbar.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/IQToolbar/IQUIView+IQKeyboardToolbar.h -------------------------------------------------------------------------------- /Pods/Headers/Public/IQKeyboardManager/IQUIViewController+Additions.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/Categories/IQUIViewController+Additions.h -------------------------------------------------------------------------------- /Pods/Headers/Public/IQKeyboardManager/IQUIWindow+Hierarchy.h: -------------------------------------------------------------------------------- 1 | ../../../IQKeyboardManager/IQKeyboardManager/Categories/IQUIWindow+Hierarchy.h -------------------------------------------------------------------------------- /Pods/Headers/Public/NSDictionary-ANDYSafeValue/NSDictionary+ANDYSafeValue.h: -------------------------------------------------------------------------------- 1 | ../../../NSDictionary-ANDYSafeValue/Source/NSDictionary+ANDYSafeValue.h -------------------------------------------------------------------------------- /Pods/Headers/Public/Toast/UIView+Toast.h: -------------------------------------------------------------------------------- 1 | ../../../Toast/Toast/Toast/UIView+Toast.h -------------------------------------------------------------------------------- /Pods/Headers/Public/libjingle_peerconnection/RTCAVFoundationVideoSource.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCAVFoundationVideoSource.h -------------------------------------------------------------------------------- /Pods/Headers/Public/libjingle_peerconnection/RTCAudioSource.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCAudioSource.h -------------------------------------------------------------------------------- /Pods/Headers/Public/libjingle_peerconnection/RTCAudioTrack.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCAudioTrack.h -------------------------------------------------------------------------------- /Pods/Headers/Public/libjingle_peerconnection/RTCDataChannel.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCDataChannel.h -------------------------------------------------------------------------------- /Pods/Headers/Public/libjingle_peerconnection/RTCEAGLVideoView.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCEAGLVideoView.h -------------------------------------------------------------------------------- /Pods/Headers/Public/libjingle_peerconnection/RTCFileLogger.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCFileLogger.h -------------------------------------------------------------------------------- /Pods/Headers/Public/libjingle_peerconnection/RTCI420Frame.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCI420Frame.h -------------------------------------------------------------------------------- /Pods/Headers/Public/libjingle_peerconnection/RTCICECandidate.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCICECandidate.h -------------------------------------------------------------------------------- /Pods/Headers/Public/libjingle_peerconnection/RTCICEServer.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCICEServer.h -------------------------------------------------------------------------------- /Pods/Headers/Public/libjingle_peerconnection/RTCLogging.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCLogging.h -------------------------------------------------------------------------------- /Pods/Headers/Public/libjingle_peerconnection/RTCMediaConstraints.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCMediaConstraints.h -------------------------------------------------------------------------------- /Pods/Headers/Public/libjingle_peerconnection/RTCMediaSource.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCMediaSource.h -------------------------------------------------------------------------------- /Pods/Headers/Public/libjingle_peerconnection/RTCMediaStream.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCMediaStream.h -------------------------------------------------------------------------------- /Pods/Headers/Public/libjingle_peerconnection/RTCMediaStreamTrack.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCMediaStreamTrack.h -------------------------------------------------------------------------------- /Pods/Headers/Public/libjingle_peerconnection/RTCNSGLVideoView.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCNSGLVideoView.h -------------------------------------------------------------------------------- /Pods/Headers/Public/libjingle_peerconnection/RTCOpenGLVideoRenderer.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCOpenGLVideoRenderer.h -------------------------------------------------------------------------------- /Pods/Headers/Public/libjingle_peerconnection/RTCPair.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCPair.h -------------------------------------------------------------------------------- /Pods/Headers/Public/libjingle_peerconnection/RTCPeerConnection.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCPeerConnection.h -------------------------------------------------------------------------------- /Pods/Headers/Public/libjingle_peerconnection/RTCPeerConnectionDelegate.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCPeerConnectionDelegate.h -------------------------------------------------------------------------------- /Pods/Headers/Public/libjingle_peerconnection/RTCPeerConnectionFactory.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCPeerConnectionFactory.h -------------------------------------------------------------------------------- /Pods/Headers/Public/libjingle_peerconnection/RTCPeerConnectionInterface.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCPeerConnectionInterface.h -------------------------------------------------------------------------------- /Pods/Headers/Public/libjingle_peerconnection/RTCSessionDescription.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCSessionDescription.h -------------------------------------------------------------------------------- /Pods/Headers/Public/libjingle_peerconnection/RTCSessionDescriptionDelegate.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCSessionDescriptionDelegate.h -------------------------------------------------------------------------------- /Pods/Headers/Public/libjingle_peerconnection/RTCStatsDelegate.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCStatsDelegate.h -------------------------------------------------------------------------------- /Pods/Headers/Public/libjingle_peerconnection/RTCStatsReport.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCStatsReport.h -------------------------------------------------------------------------------- /Pods/Headers/Public/libjingle_peerconnection/RTCTypes.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCTypes.h -------------------------------------------------------------------------------- /Pods/Headers/Public/libjingle_peerconnection/RTCVideoCapturer.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCVideoCapturer.h -------------------------------------------------------------------------------- /Pods/Headers/Public/libjingle_peerconnection/RTCVideoRenderer.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCVideoRenderer.h -------------------------------------------------------------------------------- /Pods/Headers/Public/libjingle_peerconnection/RTCVideoSource.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCVideoSource.h -------------------------------------------------------------------------------- /Pods/Headers/Public/libjingle_peerconnection/RTCVideoTrack.h: -------------------------------------------------------------------------------- 1 | ../../../libjingle_peerconnection/libjingle_peerconnection/Headers/RTCVideoTrack.h -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/Categories/IQNSArray+Sort.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSArray+Sort.h 3 | // https://github.com/hackiftekhar/IQKeyboardManager 4 | // Copyright (c) 2013-16 Iftekhar Qurashi. 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #import 25 | 26 | /** 27 | UIView.subviews sorting category. 28 | */ 29 | @interface NSArray (IQ_NSArray_Sort) 30 | 31 | ///-------------- 32 | /// @name Sorting 33 | ///-------------- 34 | 35 | /** 36 | Returns the array by sorting the UIView's by their tag property. 37 | */ 38 | @property (nonatomic, readonly, copy) NSArray * _Nonnull sortedArrayByTag; 39 | 40 | /** 41 | Returns the array by sorting the UIView's by their tag property. 42 | */ 43 | @property (nonatomic, readonly, copy) NSArray * _Nonnull sortedArrayByPosition; 44 | 45 | @end 46 | -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/Categories/IQNSArray+Sort.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSArray+Sort.m 3 | // https://github.com/hackiftekhar/IQKeyboardManager 4 | // Copyright (c) 2013-16 Iftekhar Qurashi. 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #import "IQNSArray+Sort.h" 25 | #import "IQUIView+Hierarchy.h" 26 | 27 | #import 28 | 29 | @implementation NSArray (IQ_NSArray_Sort) 30 | 31 | - (NSArray*)sortedArrayByTag 32 | { 33 | return [self sortedArrayUsingComparator:^NSComparisonResult(UIView *view1, UIView *view2) { 34 | 35 | if ([view1 respondsToSelector:@selector(tag)] && [view2 respondsToSelector:@selector(tag)]) 36 | { 37 | if ([view1 tag] < [view2 tag]) return NSOrderedAscending; 38 | 39 | else if ([view1 tag] > [view2 tag]) return NSOrderedDescending; 40 | 41 | else return NSOrderedSame; 42 | } 43 | else 44 | return NSOrderedSame; 45 | }]; 46 | } 47 | 48 | - (NSArray*)sortedArrayByPosition 49 | { 50 | return [self sortedArrayUsingComparator:^NSComparisonResult(UIView *view1, UIView *view2) { 51 | 52 | CGFloat x1 = CGRectGetMinX(view1.frame); 53 | CGFloat y1 = CGRectGetMinY(view1.frame); 54 | CGFloat x2 = CGRectGetMinX(view2.frame); 55 | CGFloat y2 = CGRectGetMinY(view2.frame); 56 | 57 | if (y1 < y2) return NSOrderedAscending; 58 | 59 | else if (y1 > y2) return NSOrderedDescending; 60 | 61 | //Else both y are same so checking for x positions 62 | else if (x1 < x2) return NSOrderedAscending; 63 | 64 | else if (x1 > x2) return NSOrderedDescending; 65 | 66 | else return NSOrderedSame; 67 | }]; 68 | } 69 | 70 | 71 | @end 72 | -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/Categories/IQUIScrollView+Additions.h: -------------------------------------------------------------------------------- 1 | // 2 | // IQUIScrollView+Additions.h 3 | // https://github.com/hackiftekhar/IQKeyboardManager 4 | // Copyright (c) 2013-16 Iftekhar Qurashi. 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #import 25 | 26 | 27 | @interface UIScrollView (Additions) 28 | 29 | /** 30 | Restore scrollViewContentOffset when resigning from scrollView. Default is NO. 31 | */ 32 | @property(nonatomic, assign) BOOL shouldRestoreScrollViewContentOffset; 33 | 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/Categories/IQUIScrollView+Additions.m: -------------------------------------------------------------------------------- 1 | // 2 | // IQUIScrollView+Additions.m 3 | // https://github.com/hackiftekhar/IQKeyboardManager 4 | // Copyright (c) 2013-16 Iftekhar Qurashi. 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #import "IQUIScrollView+Additions.h" 25 | #import 26 | 27 | @implementation UIScrollView (Additions) 28 | 29 | -(void)setShouldRestoreScrollViewContentOffset:(BOOL)shouldRestoreScrollViewContentOffset 30 | { 31 | objc_setAssociatedObject(self, @selector(shouldRestoreScrollViewContentOffset), @(shouldRestoreScrollViewContentOffset), OBJC_ASSOCIATION_RETAIN_NONATOMIC); 32 | } 33 | 34 | -(BOOL)shouldRestoreScrollViewContentOffset 35 | { 36 | NSNumber *shouldRestoreScrollViewContentOffset = objc_getAssociatedObject(self, @selector(shouldRestoreScrollViewContentOffset)); 37 | 38 | return [shouldRestoreScrollViewContentOffset boolValue]; 39 | } 40 | 41 | @end 42 | -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/Categories/IQUITextFieldView+Additions.h: -------------------------------------------------------------------------------- 1 | // 2 | // IQUITextFieldView+Additions.h 3 | // https://github.com/hackiftekhar/IQKeyboardManager 4 | // Copyright (c) 2013-16 Iftekhar Qurashi. 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #import 25 | 26 | /** 27 | UIView category for managing UITextField/UITextView 28 | */ 29 | 30 | @interface UIView (Additions) 31 | 32 | /** 33 | To set customized distance from keyboard for textField/textView. Can't be less than zero 34 | */ 35 | @property(nonatomic, assign) CGFloat keyboardDistanceFromTextField; 36 | 37 | @end 38 | 39 | ///------------------------------------------- 40 | /// @name Custom KeyboardDistanceFromTextField 41 | ///------------------------------------------- 42 | 43 | /** 44 | Uses default keyboard distance for textField. 45 | */ 46 | extern CGFloat const kIQUseDefaultKeyboardDistance; 47 | -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/Categories/IQUITextFieldView+Additions.m: -------------------------------------------------------------------------------- 1 | // 2 | // IQUITextFieldView+Additions.m 3 | // https://github.com/hackiftekhar/IQKeyboardManager 4 | // Copyright (c) 2013-16 Iftekhar Qurashi. 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #import "IQUITextFieldView+Additions.h" 25 | #import 26 | 27 | @implementation UIView (Additions) 28 | 29 | -(void)setKeyboardDistanceFromTextField:(CGFloat)keyboardDistanceFromTextField 30 | { 31 | //Can't be less than zero. Minimum is zero. 32 | keyboardDistanceFromTextField = MAX(keyboardDistanceFromTextField, 0); 33 | 34 | objc_setAssociatedObject(self, @selector(keyboardDistanceFromTextField), [NSNumber numberWithFloat:keyboardDistanceFromTextField], OBJC_ASSOCIATION_RETAIN_NONATOMIC); 35 | } 36 | 37 | -(CGFloat)keyboardDistanceFromTextField 38 | { 39 | NSNumber *keyboardDistanceFromTextField = objc_getAssociatedObject(self, @selector(keyboardDistanceFromTextField)); 40 | 41 | return (keyboardDistanceFromTextField)?[keyboardDistanceFromTextField floatValue]:kIQUseDefaultKeyboardDistance; 42 | } 43 | 44 | @end 45 | 46 | ///------------------------------------ 47 | /// @name keyboardDistanceFromTextField 48 | ///------------------------------------ 49 | 50 | /** 51 | Uses default keyboard distance for textField. 52 | */ 53 | CGFloat const kIQUseDefaultKeyboardDistance = CGFLOAT_MAX; 54 | 55 | -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/Categories/IQUIViewController+Additions.h: -------------------------------------------------------------------------------- 1 | // 2 | // IQUIViewController+Additions.h 3 | // https://github.com/hackiftekhar/IQKeyboardManager 4 | // Copyright (c) 2013-16 Iftekhar Qurashi. 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #import 25 | 26 | @interface UIViewController (Additions) 27 | 28 | /** 29 | Top/Bottom Layout constraint which help library to manage keyboardTextField distance 30 | */ 31 | @property(nullable, nonatomic, strong) IBOutlet NSLayoutConstraint *IQLayoutGuideConstraint; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/Categories/IQUIViewController+Additions.m: -------------------------------------------------------------------------------- 1 | // 2 | // IQUIViewController+Additions.m 3 | // https://github.com/hackiftekhar/IQKeyboardManager 4 | // Copyright (c) 2013-16 Iftekhar Qurashi. 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #import "IQUIViewController+Additions.h" 25 | #import 26 | 27 | @implementation UIViewController (Additions) 28 | 29 | -(void)setIQLayoutGuideConstraint:(NSLayoutConstraint *)IQLayoutGuideConstraint 30 | { 31 | objc_setAssociatedObject(self, @selector(IQLayoutGuideConstraint), IQLayoutGuideConstraint, OBJC_ASSOCIATION_RETAIN_NONATOMIC); 32 | } 33 | 34 | -(NSLayoutConstraint *)IQLayoutGuideConstraint 35 | { 36 | return objc_getAssociatedObject(self, @selector(IQLayoutGuideConstraint)); 37 | } 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/Categories/IQUIWindow+Hierarchy.h: -------------------------------------------------------------------------------- 1 | // 2 | // UIWindow+Hierarchy.h 3 | // https://github.com/hackiftekhar/IQKeyboardManager 4 | // Copyright (c) 2013-16 Iftekhar Qurashi. 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #import 25 | 26 | @class UIViewController; 27 | 28 | /** 29 | UIWindow hierarchy category. 30 | */ 31 | @interface UIWindow (IQ_UIWindow_Hierarchy) 32 | 33 | ///---------------------- 34 | /// @name viewControllers 35 | ///---------------------- 36 | 37 | /** 38 | Returns the current Top Most ViewController in hierarchy. 39 | */ 40 | @property (nullable, nonatomic, readonly, strong) UIViewController *topMostController; 41 | 42 | /** 43 | Returns the topViewController in stack of topMostController. 44 | */ 45 | @property (nullable, nonatomic, readonly, strong) UIViewController *currentViewController; 46 | 47 | 48 | @end 49 | -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/Categories/IQUIWindow+Hierarchy.m: -------------------------------------------------------------------------------- 1 | // 2 | // UIWindow+Hierarchy.m 3 | // https://github.com/hackiftekhar/IQKeyboardManager 4 | // Copyright (c) 2013-16 Iftekhar Qurashi. 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #import "IQUIWindow+Hierarchy.h" 25 | #import 26 | 27 | @implementation UIWindow (IQ_UIWindow_Hierarchy) 28 | 29 | - (UIViewController*)topMostController 30 | { 31 | UIViewController *topController = [self rootViewController]; 32 | 33 | // Getting topMost ViewController 34 | while ([topController presentedViewController]) topController = [topController presentedViewController]; 35 | 36 | // Returning topMost ViewController 37 | return topController; 38 | } 39 | 40 | - (UIViewController*)currentViewController; 41 | { 42 | UIViewController *currentViewController = [self topMostController]; 43 | 44 | while ([currentViewController isKindOfClass:[UINavigationController class]] && [(UINavigationController*)currentViewController topViewController]) 45 | currentViewController = [(UINavigationController*)currentViewController topViewController]; 46 | 47 | return currentViewController; 48 | } 49 | 50 | 51 | @end 52 | -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/Constants/IQKeyboardManagerConstantsInternal.h: -------------------------------------------------------------------------------- 1 | // 2 | // IQKeyboardManagerConstantsInternal.h 3 | // https://github.com/hackiftekhar/IQKeyboardManager 4 | // Copyright (c) 2013-16 Iftekhar Qurashi. 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #ifndef IQKeyboardManagerConstantsInternal_h 25 | #define IQKeyboardManagerConstantsInternal_h 26 | 27 | 28 | ///----------------------------------- 29 | /// @name IQLayoutGuidePosition 30 | ///----------------------------------- 31 | 32 | /** 33 | `IQLayoutGuidePositionNone` 34 | If there are no IQLayoutGuideConstraint associated with viewController 35 | 36 | `IQLayoutGuidePositionTop` 37 | If provided IQLayoutGuideConstraint is associated with with viewController topLayoutGuide 38 | 39 | `IQLayoutGuidePositionBottom` 40 | If provided IQLayoutGuideConstraint is associated with with viewController bottomLayoutGuide 41 | */ 42 | typedef NS_ENUM(NSInteger, IQLayoutGuidePosition) { 43 | IQLayoutGuidePositionNone, 44 | IQLayoutGuidePositionTop, 45 | IQLayoutGuidePositionBottom, 46 | }; 47 | 48 | //Xcode 8 compatibility check 49 | #ifdef NSFoundationVersionNumber_iOS_9_x_Max 50 | #define IQ_IS_IOS10_OR_GREATER (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_9_x_Max) 51 | #else 52 | #define IQ_IS_IOS10_OR_GREATER NO 53 | #endif 54 | 55 | 56 | #endif 57 | -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/IQTextView/IQTextView.h: -------------------------------------------------------------------------------- 1 | // 2 | // IQTextView.h 3 | // https://github.com/hackiftekhar/IQKeyboardManager 4 | // Copyright (c) 2013-16 Iftekhar Qurashi. 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #import "IQKeyboardManagerConstants.h" 25 | 26 | #import 27 | 28 | /** 29 | UITextView with placeholder support 30 | */ 31 | @interface IQTextView : UITextView 32 | 33 | /** 34 | Set textView's placeholder text. Default is nil. 35 | */ 36 | @property(nullable, nonatomic,copy) IBInspectable NSString *placeholder; 37 | 38 | @end 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/IQToolbar/IQBarButtonItem.h: -------------------------------------------------------------------------------- 1 | // 2 | // IQBarButtonItem.h 3 | // https://github.com/hackiftekhar/IQKeyboardManager 4 | // Copyright (c) 2013-16 Iftekhar Qurashi. 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | 25 | #import 26 | 27 | /** 28 | IQBarButtonItem used for IQToolbar. 29 | */ 30 | @interface IQBarButtonItem : UIBarButtonItem 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/IQToolbar/IQPreviousNextView.h: -------------------------------------------------------------------------------- 1 | // 2 | // IQPreviousNextView.h 3 | // https://github.com/hackiftekhar/IQKeyboardManager 4 | // Copyright (c) 2013-16 Iftekhar Qurashi. 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #import 25 | 26 | /** 27 | If you need to enable previous/next toolbar button with some complex hierarchy where your textFields are not in same view, then make the top view as IQPreviousNextView. 28 | */ 29 | @interface IQPreviousNextView : UIView 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/IQToolbar/IQPreviousNextView.m: -------------------------------------------------------------------------------- 1 | // 2 | // IQPreviousNextView.m 3 | // https://github.com/hackiftekhar/IQKeyboardManager 4 | // Copyright (c) 2013-16 Iftekhar Qurashi. 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #import "IQPreviousNextView.h" 25 | 26 | @implementation IQPreviousNextView 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/IQToolbar/IQTitleBarButtonItem.h: -------------------------------------------------------------------------------- 1 | // 2 | // IQTitleBarButtonItem.h 3 | // https://github.com/hackiftekhar/IQKeyboardManager 4 | // Copyright (c) 2013-16 Iftekhar Qurashi. 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #import 25 | #import "IQKeyboardManagerConstants.h" 26 | #import "IQBarButtonItem.h" 27 | 28 | /** 29 | BarButtonItem with title text. 30 | */ 31 | @interface IQTitleBarButtonItem : IQBarButtonItem 32 | 33 | /** 34 | Font to be used in bar button. Default is (system font 12.0 bold). 35 | */ 36 | @property(nullable, nonatomic, strong) UIFont *font; 37 | 38 | /** 39 | selectableTextColor to be used for displaying button text when button is enabled. 40 | */ 41 | @property(nullable, nonatomic, strong) UIColor *selectableTextColor; 42 | 43 | /** 44 | Initialize with frame and title. 45 | 46 | @param title Title of barButtonItem. 47 | */ 48 | -(nonnull instancetype)initWithTitle:(nullable NSString *)title NS_DESIGNATED_INITIALIZER; 49 | 50 | /** 51 | Optional target & action to behave toolbar title button as clickable button 52 | 53 | @param target Target object. 54 | @param action Target Selector. 55 | */ 56 | -(void)setTitleTarget:(nullable id)target action:(nullable SEL)action; 57 | 58 | /** 59 | Customized Invocation to be called on title button action. titleInvocation is internally created using setTitleTarget:action: method. 60 | */ 61 | @property (nullable, strong, nonatomic) NSInvocation *titleInvocation; 62 | 63 | /** 64 | Unavailable. Please use initWithFrame:title: method 65 | */ 66 | -(nonnull instancetype)init NS_UNAVAILABLE; 67 | 68 | /** 69 | Unavailable. Please use initWithFrame:title: method 70 | */ 71 | -(nonnull instancetype)initWithCoder:(nullable NSCoder *)aDecoder NS_UNAVAILABLE; 72 | 73 | /** 74 | Unavailable. Please use initWithFrame:title: method 75 | */ 76 | + (nonnull instancetype)new NS_UNAVAILABLE; 77 | 78 | @end 79 | -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/IQToolbar/IQToolbar.h: -------------------------------------------------------------------------------- 1 | // 2 | // IQToolbar.h 3 | // https://github.com/hackiftekhar/IQKeyboardManager 4 | // Copyright (c) 2013-16 Iftekhar Qurashi. 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy 7 | // of this software and associated documentation files (the "Software"), to deal 8 | // in the Software without restriction, including without limitation the rights 9 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | // copies of the Software, and to permit persons to whom the Software is 11 | // furnished to do so, subject to the following conditions: 12 | // 13 | // The above copyright notice and this permission notice shall be included in 14 | // all copies or substantial portions of the Software. 15 | // 16 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | // THE SOFTWARE. 23 | 24 | #import 25 | 26 | /** 27 | IQToolbar for IQKeyboardManager. 28 | */ 29 | @interface IQToolbar : UIToolbar 30 | 31 | /** 32 | Title font for toolbar. 33 | */ 34 | @property(nullable, nonatomic, strong) UIFont *titleFont; 35 | 36 | /** 37 | Toolbar done title 38 | */ 39 | @property(nullable, nonatomic, strong) NSString *doneTitle; 40 | 41 | /** 42 | Toolbar done image 43 | */ 44 | @property(nullable, nonatomic, strong) UIImage *doneImage; 45 | 46 | /** 47 | Toolbar title 48 | */ 49 | @property(nullable, nonatomic, strong) NSString *title; 50 | 51 | /** 52 | Optional target & action to behave toolbar title button as clickable button 53 | 54 | @param target Target object. 55 | @param action Target Selector. 56 | */ 57 | -(void)setTitleTarget:(nullable id)target action:(nullable SEL)action; 58 | 59 | /** 60 | Customized Invocation to be called on title button action. titleInvocation is internally created using setTitleTarget:action: method. 61 | */ 62 | @property (nullable, strong, nonatomic) NSInvocation *titleInvocation; 63 | 64 | @end 65 | 66 | -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.bundle/IQButtonBarArrowDown@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digixtechnology/iOSRTC/fa23141570eaacd1d1fbaf6f7ad592b0ad2862aa/Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.bundle/IQButtonBarArrowDown@2x.png -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.bundle/IQButtonBarArrowDown@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digixtechnology/iOSRTC/fa23141570eaacd1d1fbaf6f7ad592b0ad2862aa/Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.bundle/IQButtonBarArrowDown@3x.png -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.bundle/IQButtonBarArrowLeft@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digixtechnology/iOSRTC/fa23141570eaacd1d1fbaf6f7ad592b0ad2862aa/Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.bundle/IQButtonBarArrowLeft@2x.png -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.bundle/IQButtonBarArrowLeft@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digixtechnology/iOSRTC/fa23141570eaacd1d1fbaf6f7ad592b0ad2862aa/Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.bundle/IQButtonBarArrowLeft@3x.png -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.bundle/IQButtonBarArrowRight@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digixtechnology/iOSRTC/fa23141570eaacd1d1fbaf6f7ad592b0ad2862aa/Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.bundle/IQButtonBarArrowRight@2x.png -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.bundle/IQButtonBarArrowRight@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digixtechnology/iOSRTC/fa23141570eaacd1d1fbaf6f7ad592b0ad2862aa/Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.bundle/IQButtonBarArrowRight@3x.png -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.bundle/IQButtonBarArrowUp@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digixtechnology/iOSRTC/fa23141570eaacd1d1fbaf6f7ad592b0ad2862aa/Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.bundle/IQButtonBarArrowUp@2x.png -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.bundle/IQButtonBarArrowUp@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digixtechnology/iOSRTC/fa23141570eaacd1d1fbaf6f7ad592b0ad2862aa/Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.bundle/IQButtonBarArrowUp@3x.png -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.bundle/de.lproj/IQKeyboardManager.strings: -------------------------------------------------------------------------------- 1 | 2 | "enabled" = "aktiviert"; 3 | 4 | "disabled" = "deaktiviert"; 5 | 6 | "already disabled" = "bereits deaktiviert"; 7 | 8 | "already enabled" = "bereits aktiviert"; 9 | 10 | "You must set UIWindow.rootViewController in your AppDelegate to work with IQKeyboardManager" = "Sie müssen im AppDelegate UIWindow.rootViewController setzen um mit IQKeyboardManager zu arbeiten"; 11 | 12 | "Previous" = "Zurück"; 13 | "Next" = "Vor"; 14 | -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.bundle/en.lproj/IQKeyboardManager.strings: -------------------------------------------------------------------------------- 1 | 2 | "enabled" = "enabled"; 3 | 4 | "disabled" = "disabled"; 5 | 6 | "already disabled" = "already disabled"; 7 | 8 | "already enabled" = "already enabled"; 9 | 10 | "You must set UIWindow.rootViewController in your AppDelegate to work with IQKeyboardManager" = "You must set UIWindow.rootViewController in your AppDelegate to work with IQKeyboardManager"; 11 | 12 | "Previous" = "Previous"; 13 | "Next" = "Next"; 14 | -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.bundle/es.lproj/IQKeyboardManager.strings: -------------------------------------------------------------------------------- 1 | 2 | "enabled" = "activado"; 3 | 4 | "disabled" = "desactivado"; 5 | 6 | "already disabled" = "ya está desactivado"; 7 | 8 | "already enabled" = "ya está activado"; 9 | 10 | "You must set UIWindow.rootViewController in your AppDelegate to work with IQKeyboardManager" = "Debe establecer UIWindow.rootViewController en su AppDelegate para trabajar con IQKeyboardManager"; 11 | 12 | "Previous" = "Anterior"; 13 | 14 | "Next" = "Siguiente"; 15 | -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.bundle/fr.lproj/IQKeyboardManager.strings: -------------------------------------------------------------------------------- 1 | 2 | "enabled" = "activé"; 3 | 4 | "disabled" = "désactivé"; 5 | 6 | "already disabled" = "déjà désactivé"; 7 | 8 | "already enabled" = "déjà activé"; 9 | 10 | "You must set UIWindow.rootViewController in your AppDelegate to work with IQKeyboardManager" = "Vous devez définir UIWindow.rootViewController dans votre AppDelegate pour IQKeyboardManager fonctionne"; 11 | 12 | "Previous" = "Précédent"; 13 | "Next" = "Suivant"; 14 | -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.bundle/zh-Hans/IQKeyboardManager.strings: -------------------------------------------------------------------------------- 1 | 2 | "enabled" = "开启"; 3 | 4 | "disabled" = "关闭"; 5 | 6 | "already disabled" = "已经开启"; 7 | 8 | "already enabled" = "已经关闭"; 9 | 10 | "You must set UIWindow.rootViewController in your AppDelegate to work with IQKeyboardManager" = "为了使用IQKeyboardManager,必须在你的 AppDelegate 中设置 UIWindow.rootViewController。"; 11 | 12 | "Previous" = "前一个"; 13 | "Next" = "下一个"; 14 | -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/IQKeyboardManager/Resources/IQKeyboardManager.bundle/zh-Hant/IQKeyboardManager.strings: -------------------------------------------------------------------------------- 1 | 2 | "enabled" = "開啟"; 3 | 4 | "disabled" = "關閉"; 5 | 6 | "already disabled" = "已經開啟"; 7 | 8 | "already enabled" = "已經關閉"; 9 | 10 | "You must set UIWindow.rootViewController in your AppDelegate to work with IQKeyboardManager" = "為了使用IQKeyboardManager,必須在妳的 AppDelegate 中設置 UIWindow.rootViewController。"; 11 | 12 | "Previous" = "前一個"; 13 | "Next" = "下一個"; 14 | -------------------------------------------------------------------------------- /Pods/IQKeyboardManager/LICENSE.md: -------------------------------------------------------------------------------- 1 | IQKeyboardManager license 2 | ========================= 3 | 4 | The MIT License (MIT) 5 | 6 | Copyright (c) 2013-16 Iftekhar Qurashi 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy of 9 | this software and associated documentation files (the "Software"), to deal in 10 | the Software without restriction, including without limitation the rights to 11 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 12 | of the Software, and to permit persons to whom the Software is furnished to do 13 | so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in all 16 | copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 24 | SOFTWARE. 25 | -------------------------------------------------------------------------------- /Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - IQKeyboardManager (4.0.8) 3 | - libjingle_peerconnection (11177.2.0) 4 | - NSDictionary-ANDYSafeValue (0.3.1) 5 | - Toast (3.1.0) 6 | 7 | DEPENDENCIES: 8 | - IQKeyboardManager 9 | - libjingle_peerconnection 10 | - NSDictionary-ANDYSafeValue 11 | - Toast 12 | 13 | SPEC CHECKSUMS: 14 | IQKeyboardManager: 1a8189fa153bf09044355ee0ad36826f6767e7f7 15 | libjingle_peerconnection: 3458f646ddd61f08a9f3a0c43fb01fff5c165eb8 16 | NSDictionary-ANDYSafeValue: 2d7adf339b6e302d71fec5f1d71ae00aacda993e 17 | Toast: 14a93686d6c8bfe2727afd342414e35660a8a1f3 18 | 19 | PODFILE CHECKSUM: 78e589ae4a2cabf8a432513ed207db607a111502 20 | 21 | COCOAPODS: 1.2.0 22 | -------------------------------------------------------------------------------- /Pods/NSDictionary-ANDYSafeValue/LICENSE.md: -------------------------------------------------------------------------------- 1 | Licensed under the **MIT** license 2 | 3 | > Copyright (c) 2015 Elvis Nuñez 4 | > 5 | > Permission is hereby granted, free of charge, to any person obtaining 6 | > a copy of this software and associated documentation files (the 7 | > "Software"), to deal in the Software without restriction, including 8 | > without limitation the rights to use, copy, modify, merge, publish, 9 | > distribute, sublicense, and/or sell copies of the Software, and to 10 | > permit persons to whom the Software is furnished to do so, subject to 11 | > the following conditions: 12 | > 13 | > The above copyright notice and this permission notice shall be 14 | > included in all copies or substantial portions of the Software. 15 | > 16 | > THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | > EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | > MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | > IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | > CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | > TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | > SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /Pods/NSDictionary-ANDYSafeValue/README.md: -------------------------------------------------------------------------------- 1 | # NSDictionary-ANDYSafeValue 2 | 3 | [![CI Status](http://img.shields.io/travis/3lvis/NSDictionary-ANDYSafeValue.svg?style=flat)](https://travis-ci.org/3lvis/NSDictionary-ANDYSafeValue) 4 | [![Version](https://img.shields.io/cocoapods/v/NSDictionary-ANDYSafeValue.svg?style=flat)](http://cocoadocs.org/docsets/NSDictionary-ANDYSafeValue) 5 | [![License](https://img.shields.io/cocoapods/l/NSDictionary-ANDYSafeValue.svg?style=flat)](http://cocoadocs.org/docsets/NSDictionary-ANDYSafeValue) 6 | [![Platform](https://img.shields.io/cocoapods/p/NSDictionary-ANDYSafeValue.svg?style=flat)](http://cocoadocs.org/docsets/NSDictionary-ANDYSafeValue) 7 | 8 | Modify and retreieve values of an NSDictionary in the safest possible way :) 9 | 10 | ## Usage 11 | 12 | ```objc 13 | #import "NSDictionary+ANDYSafeValue.h" 14 | 15 | - (id)andy_valueForKey:(id)key; 16 | 17 | - (void)andy_setValue:(id)value forKey:(id)key; 18 | ``` 19 | 20 | ## Installation 21 | 22 | **NSDictionary-ANDYSafeValue** is available through [CocoaPods](http://cocoapods.org). To install 23 | it, simply add the following line to your Podfile: 24 | 25 | ```ruby 26 | pod 'NSDictionary-ANDYSafeValue' 27 | ``` 28 | 29 | ## Author 30 | 31 | Elvis Nuñez, [elvisnunez@me.com](mailto:elvisnunez@me.com) 32 | 33 | ## License 34 | 35 | **NSDictionary-ANDYSafeValue** is available under the MIT license. See the LICENSE file for more info. 36 | -------------------------------------------------------------------------------- /Pods/NSDictionary-ANDYSafeValue/Source/NSDictionary+ANDYSafeValue.h: -------------------------------------------------------------------------------- 1 | @import Foundation; 2 | 3 | @interface NSDictionary (ANDYSafeValue) 4 | 5 | - (id)andy_valueForKey:(id)key; 6 | 7 | - (void)andy_setValue:(id)value forKey:(id)key; 8 | 9 | @end 10 | -------------------------------------------------------------------------------- /Pods/NSDictionary-ANDYSafeValue/Source/NSDictionary+ANDYSafeValue.m: -------------------------------------------------------------------------------- 1 | #import "NSDictionary+ANDYSafeValue.h" 2 | 3 | @implementation NSDictionary (ANDYSafeValue) 4 | 5 | - (id)andy_valueForKey:(id)key 6 | { 7 | if (!key) return nil; 8 | 9 | id value = nil; 10 | 11 | @try { 12 | value = [self valueForKeyPath:key]; 13 | } 14 | @catch (NSException *exception) { 15 | if (exception) return nil; 16 | } 17 | 18 | if (!value) return nil; 19 | 20 | if (value != [NSNull null] && [value isKindOfClass:[NSString class]] && [value length] == 0) return nil; 21 | 22 | if (value == [NSNull null]) return nil; 23 | 24 | return value; 25 | } 26 | 27 | - (void)andy_setValue:(id)value forKey:(id)key 28 | { 29 | if (value && key && value != [NSNull null]) [self setValue:value forKey:key]; 30 | } 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/DisakulCG2.xcuserdatad/xcschemes/IQKeyboardManager.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/DisakulCG2.xcuserdatad/xcschemes/NSDictionary-ANDYSafeValue.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/DisakulCG2.xcuserdatad/xcschemes/Pods-webrtc-socketio-ios.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/DisakulCG2.xcuserdatad/xcschemes/Toast.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/DisakulCG2.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | IQKeyboardManager.xcscheme 8 | 9 | isShown 10 | 11 | 12 | NSDictionary-ANDYSafeValue.xcscheme 13 | 14 | isShown 15 | 16 | 17 | Pods-webrtc-socketio-ios.xcscheme 18 | 19 | isShown 20 | 21 | 22 | Toast.xcscheme 23 | 24 | isShown 25 | 26 | 27 | 28 | SuppressBuildableAutocreation 29 | 30 | 51BB988C4E445EB4DB3E3C2B3B9A3455 31 | 32 | primary 33 | 34 | 35 | 9650B5ADCE86F1A055FAFC635284BDB5 36 | 37 | primary 38 | 39 | 40 | A8989AC3B103B2082AC6DCCBA5CF681D 41 | 42 | primary 43 | 44 | 45 | BF592C4A418CB0E37D57091A7D11535C 46 | 47 | primary 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/pagornp.xcuserdatad/xcschemes/IQKeyboardManager.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/pagornp.xcuserdatad/xcschemes/NSDictionary-ANDYSafeValue.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/pagornp.xcuserdatad/xcschemes/Pods-webrtc-socketio-ios.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/pagornp.xcuserdatad/xcschemes/Toast.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Pods/Pods.xcodeproj/xcuserdata/pagornp.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | IQKeyboardManager.xcscheme 8 | 9 | isShown 10 | 11 | 12 | NSDictionary-ANDYSafeValue.xcscheme 13 | 14 | isShown 15 | 16 | 17 | Pods-webrtc-socketio-ios.xcscheme 18 | 19 | isShown 20 | 21 | 22 | Toast.xcscheme 23 | 24 | isShown 25 | 26 | 27 | 28 | SuppressBuildableAutocreation 29 | 30 | 51BB988C4E445EB4DB3E3C2B3B9A3455 31 | 32 | primary 33 | 34 | 35 | 9650B5ADCE86F1A055FAFC635284BDB5 36 | 37 | primary 38 | 39 | 40 | A8989AC3B103B2082AC6DCCBA5CF681D 41 | 42 | primary 43 | 44 | 45 | BF592C4A418CB0E37D57091A7D11535C 46 | 47 | primary 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /Pods/Target Support Files/IQKeyboardManager/IQKeyboardManager-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_IQKeyboardManager : NSObject 3 | @end 4 | @implementation PodsDummy_IQKeyboardManager 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/IQKeyboardManager/IQKeyboardManager-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /Pods/Target Support Files/IQKeyboardManager/IQKeyboardManager.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/IQKeyboardManager 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/IQKeyboardManager" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/IQKeyboardManager" "${PODS_ROOT}/Headers/Public/NSDictionary-ANDYSafeValue" "${PODS_ROOT}/Headers/Public/Toast" "${PODS_ROOT}/Headers/Public/libjingle_peerconnection" 4 | OTHER_LDFLAGS = -framework "CoreGraphics" -framework "Foundation" -framework "UIKit" 5 | PODS_BUILD_DIR = $BUILD_DIR 6 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 7 | PODS_ROOT = ${SRCROOT} 8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/IQKeyboardManager 9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 10 | SKIP_INSTALL = YES 11 | -------------------------------------------------------------------------------- /Pods/Target Support Files/NSDictionary-ANDYSafeValue/NSDictionary-ANDYSafeValue-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_NSDictionary_ANDYSafeValue : NSObject 3 | @end 4 | @implementation PodsDummy_NSDictionary_ANDYSafeValue 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/NSDictionary-ANDYSafeValue/NSDictionary-ANDYSafeValue-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /Pods/Target Support Files/NSDictionary-ANDYSafeValue/NSDictionary-ANDYSafeValue.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/NSDictionary-ANDYSafeValue 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/NSDictionary-ANDYSafeValue" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/IQKeyboardManager" "${PODS_ROOT}/Headers/Public/NSDictionary-ANDYSafeValue" "${PODS_ROOT}/Headers/Public/Toast" "${PODS_ROOT}/Headers/Public/libjingle_peerconnection" 4 | OTHER_LDFLAGS = -framework "Foundation" 5 | PODS_BUILD_DIR = $BUILD_DIR 6 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 7 | PODS_ROOT = ${SRCROOT} 8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/NSDictionary-ANDYSafeValue 9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 10 | SKIP_INSTALL = YES 11 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-webrtc-socketio-ios/Pods-webrtc-socketio-ios-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_webrtc_socketio_ios : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_webrtc_socketio_ios 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-webrtc-socketio-ios/Pods-webrtc-socketio-ios.debug.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/libjingle_peerconnection" $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/IQKeyboardManager" "${PODS_ROOT}/Headers/Public/NSDictionary-ANDYSafeValue" "${PODS_ROOT}/Headers/Public/Toast" "${PODS_ROOT}/Headers/Public/libjingle_peerconnection" 3 | LIBRARY_SEARCH_PATHS = $(inherited) "$(PODS_ROOT)/libjingle_peerconnection" "$PODS_CONFIGURATION_BUILD_DIR/IQKeyboardManager" "$PODS_CONFIGURATION_BUILD_DIR/NSDictionary-ANDYSafeValue" "$PODS_CONFIGURATION_BUILD_DIR/Toast" $(inherited) "${PODS_ROOT}/libjingle_peerconnection/libjingle_peerconnection" 4 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/IQKeyboardManager" -isystem "${PODS_ROOT}/Headers/Public/NSDictionary-ANDYSafeValue" -isystem "${PODS_ROOT}/Headers/Public/Toast" -isystem "${PODS_ROOT}/Headers/Public/libjingle_peerconnection" 5 | OTHER_LDFLAGS = $(inherited) -ObjC -l"IQKeyboardManager" -l"NSDictionary-ANDYSafeValue" -l"Toast" -l"WebRTC" -l"c" -l"sqlite3" -l"stdc++" -framework "AVFoundation" -framework "AudioToolbox" -framework "CoreGraphics" -framework "CoreMedia" -framework "Foundation" -framework "GLKit" -framework "QuartzCore" -framework "UIKit" -framework "VideoToolbox" 6 | PODS_BUILD_DIR = $BUILD_DIR 7 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_ROOT = ${SRCROOT}/Pods 9 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Pods-webrtc-socketio-ios/Pods-webrtc-socketio-ios.release.xcconfig: -------------------------------------------------------------------------------- 1 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 2 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/libjingle_peerconnection" $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/IQKeyboardManager" "${PODS_ROOT}/Headers/Public/NSDictionary-ANDYSafeValue" "${PODS_ROOT}/Headers/Public/Toast" "${PODS_ROOT}/Headers/Public/libjingle_peerconnection" 3 | LIBRARY_SEARCH_PATHS = $(inherited) "$(PODS_ROOT)/libjingle_peerconnection" "$PODS_CONFIGURATION_BUILD_DIR/IQKeyboardManager" "$PODS_CONFIGURATION_BUILD_DIR/NSDictionary-ANDYSafeValue" "$PODS_CONFIGURATION_BUILD_DIR/Toast" $(inherited) "${PODS_ROOT}/libjingle_peerconnection/libjingle_peerconnection" 4 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/IQKeyboardManager" -isystem "${PODS_ROOT}/Headers/Public/NSDictionary-ANDYSafeValue" -isystem "${PODS_ROOT}/Headers/Public/Toast" -isystem "${PODS_ROOT}/Headers/Public/libjingle_peerconnection" 5 | OTHER_LDFLAGS = $(inherited) -ObjC -l"IQKeyboardManager" -l"NSDictionary-ANDYSafeValue" -l"Toast" -l"WebRTC" -l"c" -l"sqlite3" -l"stdc++" -framework "AVFoundation" -framework "AudioToolbox" -framework "CoreGraphics" -framework "CoreMedia" -framework "Foundation" -framework "GLKit" -framework "QuartzCore" -framework "UIKit" -framework "VideoToolbox" 6 | PODS_BUILD_DIR = $BUILD_DIR 7 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 8 | PODS_ROOT = ${SRCROOT}/Pods 9 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Toast/Toast-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Toast : NSObject 3 | @end 4 | @implementation PodsDummy_Toast 5 | @end 6 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Toast/Toast-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /Pods/Target Support Files/Toast/Toast.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/Toast 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/Toast" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/IQKeyboardManager" "${PODS_ROOT}/Headers/Public/NSDictionary-ANDYSafeValue" "${PODS_ROOT}/Headers/Public/Toast" "${PODS_ROOT}/Headers/Public/libjingle_peerconnection" 4 | OTHER_LDFLAGS = -framework "QuartzCore" 5 | PODS_BUILD_DIR = $BUILD_DIR 6 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 7 | PODS_ROOT = ${SRCROOT} 8 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Toast 9 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 10 | SKIP_INSTALL = YES 11 | -------------------------------------------------------------------------------- /Pods/Toast/license: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011-2015 Charles Scalesse. 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a 4 | copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included 12 | in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 15 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 17 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 18 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 19 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 20 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Pods/libjingle_peerconnection/libjingle_peerconnection/Headers/RTCAVFoundationVideoSource.h: -------------------------------------------------------------------------------- 1 | /* 2 | * libjingle 3 | * Copyright 2015 Google Inc. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 19 | * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 | * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | #import "RTCVideoSource.h" 29 | 30 | @class AVCaptureSession; 31 | @class RTCMediaConstraints; 32 | @class RTCPeerConnectionFactory; 33 | 34 | // RTCAVFoundationVideoSource is a video source that uses 35 | // webrtc::AVFoundationVideoCapturer. We do not currently provide a wrapper for 36 | // that capturer because cricket::VideoCapturer is not ref counted and we cannot 37 | // guarantee its lifetime. Instead, we expose its properties through the ref 38 | // counted video source interface. 39 | @interface RTCAVFoundationVideoSource : RTCVideoSource 40 | 41 | - (instancetype)initWithFactory:(RTCPeerConnectionFactory*)factory 42 | constraints:(RTCMediaConstraints*)constraints; 43 | 44 | // Switches the camera being used (either front or back). 45 | @property(nonatomic, assign) BOOL useBackCamera; 46 | // Returns the active capture session. 47 | @property(nonatomic, readonly) AVCaptureSession* captureSession; 48 | 49 | @end 50 | -------------------------------------------------------------------------------- /Pods/libjingle_peerconnection/libjingle_peerconnection/Headers/RTCAudioSource.h: -------------------------------------------------------------------------------- 1 | /* 2 | * libjingle 3 | * Copyright 2013 Google Inc. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 19 | * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 | * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | #import "RTCMediaSource.h" 29 | 30 | // RTCAudioSource is an ObjectiveC wrapper for AudioSourceInterface. It is 31 | // used as the source for one or more RTCAudioTrack objects. 32 | @interface RTCAudioSource : RTCMediaSource 33 | 34 | #ifndef DOXYGEN_SHOULD_SKIP_THIS 35 | // Disallow init and don't add to documentation 36 | - (id)init __attribute__( 37 | (unavailable("init is not a supported initializer for this class."))); 38 | #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /Pods/libjingle_peerconnection/libjingle_peerconnection/Headers/RTCAudioTrack.h: -------------------------------------------------------------------------------- 1 | /* 2 | * libjingle 3 | * Copyright 2013 Google Inc. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 19 | * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 | * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | #import "RTCMediaStreamTrack.h" 29 | 30 | // RTCAudioTrack is an ObjectiveC wrapper for AudioTrackInterface. 31 | @interface RTCAudioTrack : RTCMediaStreamTrack 32 | 33 | #ifndef DOXYGEN_SHOULD_SKIP_THIS 34 | // Disallow init and don't add to documentation 35 | - (id)init __attribute__( 36 | (unavailable("init is not a supported initializer for this class."))); 37 | #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /Pods/libjingle_peerconnection/libjingle_peerconnection/Headers/RTCEAGLVideoView.h: -------------------------------------------------------------------------------- 1 | /* 2 | * libjingle 3 | * Copyright 2014 Google Inc. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 19 | * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 | * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | #import 29 | #import 30 | 31 | #import "RTCVideoRenderer.h" 32 | 33 | @class RTCEAGLVideoView; 34 | @protocol RTCEAGLVideoViewDelegate 35 | 36 | - (void)videoView:(RTCEAGLVideoView*)videoView didChangeVideoSize:(CGSize)size; 37 | 38 | @end 39 | 40 | // RTCEAGLVideoView is an RTCVideoRenderer which renders i420 frames in its 41 | // bounds using OpenGLES 2.0. 42 | @interface RTCEAGLVideoView : UIView 43 | 44 | @property(nonatomic, weak) id delegate; 45 | 46 | @end 47 | -------------------------------------------------------------------------------- /Pods/libjingle_peerconnection/libjingle_peerconnection/Headers/RTCI420Frame.h: -------------------------------------------------------------------------------- 1 | /* 2 | * libjingle 3 | * Copyright 2013 Google Inc. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 19 | * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 | * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | #import 29 | 30 | // RTCI420Frame is an ObjectiveC version of cricket::VideoFrame. 31 | @interface RTCI420Frame : NSObject 32 | 33 | @property(nonatomic, readonly) NSUInteger width; 34 | @property(nonatomic, readonly) NSUInteger height; 35 | @property(nonatomic, readonly) NSUInteger chromaWidth; 36 | @property(nonatomic, readonly) NSUInteger chromaHeight; 37 | @property(nonatomic, readonly) NSUInteger chromaSize; 38 | // These can return NULL if the object is not backed by a buffer. 39 | @property(nonatomic, readonly) const uint8_t* yPlane; 40 | @property(nonatomic, readonly) const uint8_t* uPlane; 41 | @property(nonatomic, readonly) const uint8_t* vPlane; 42 | @property(nonatomic, readonly) NSInteger yPitch; 43 | @property(nonatomic, readonly) NSInteger uPitch; 44 | @property(nonatomic, readonly) NSInteger vPitch; 45 | 46 | - (BOOL)makeExclusive; 47 | 48 | #ifndef DOXYGEN_SHOULD_SKIP_THIS 49 | // Disallow init and don't add to documentation 50 | - (id)init __attribute__(( 51 | unavailable("init is not a supported initializer for this class."))); 52 | #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 53 | 54 | @end 55 | 56 | -------------------------------------------------------------------------------- /Pods/libjingle_peerconnection/libjingle_peerconnection/Headers/RTCICECandidate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * libjingle 3 | * Copyright 2013 Google Inc. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 19 | * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 | * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | #import 29 | 30 | // RTCICECandidate contains an instance of ICECandidateInterface. 31 | @interface RTCICECandidate : NSObject 32 | 33 | // If present, this contains the identifier of the "media stream 34 | // identification" as defined in [RFC 3388] for m-line this candidate is 35 | // associated with. 36 | @property(nonatomic, copy, readonly) NSString* sdpMid; 37 | 38 | // This indicates the index (starting at zero) of m-line in the SDP this 39 | // candidate is associated with. 40 | @property(nonatomic, assign, readonly) NSInteger sdpMLineIndex; 41 | 42 | // Creates an SDP-ized form of this candidate. 43 | @property(nonatomic, copy, readonly) NSString* sdp; 44 | 45 | // Creates an ICECandidateInterface based on SDP string. 46 | - (id)initWithMid:(NSString*)sdpMid 47 | index:(NSInteger)sdpMLineIndex 48 | sdp:(NSString*)sdp; 49 | 50 | #ifndef DOXYGEN_SHOULD_SKIP_THIS 51 | // Disallow init and don't add to documentation 52 | - (id)init __attribute__(( 53 | unavailable("init is not a supported initializer for this class."))); 54 | #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 55 | 56 | @end 57 | -------------------------------------------------------------------------------- /Pods/libjingle_peerconnection/libjingle_peerconnection/Headers/RTCICEServer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * libjingle 3 | * Copyright 2013 Google Inc. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 19 | * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 | * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | #import 29 | 30 | // RTCICEServer allows for the creation of ICEServer structs. 31 | @interface RTCICEServer : NSObject 32 | 33 | // The server URI, username, and password. 34 | @property(nonatomic, strong, readonly) NSURL* URI; 35 | @property(nonatomic, copy, readonly) NSString* username; 36 | @property(nonatomic, copy, readonly) NSString* password; 37 | 38 | // Initializer for RTCICEServer taking uri, username, and password. 39 | - (id)initWithURI:(NSURL*)URI 40 | username:(NSString*)username 41 | password:(NSString*)password; 42 | 43 | #ifndef DOXYGEN_SHOULD_SKIP_THIS 44 | // Disallow init and don't add to documentation 45 | - (id)init __attribute__(( 46 | unavailable("init is not a supported initializer for this class."))); 47 | #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 48 | 49 | @end 50 | -------------------------------------------------------------------------------- /Pods/libjingle_peerconnection/libjingle_peerconnection/Headers/RTCMediaConstraints.h: -------------------------------------------------------------------------------- 1 | /* 2 | * libjingle 3 | * Copyright 2013 Google Inc. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 19 | * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 | * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | #import 29 | 30 | // RTCMediaConstraints contains the media constraints to be used in 31 | // RTCPeerConnection and RTCMediaStream. 32 | @interface RTCMediaConstraints : NSObject 33 | 34 | // Initializer for RTCMediaConstraints. The parameters mandatory and optional 35 | // contain RTCPair objects with key/value for each constrant. 36 | - (id)initWithMandatoryConstraints:(NSArray *)mandatory 37 | optionalConstraints:(NSArray *)optional; 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /Pods/libjingle_peerconnection/libjingle_peerconnection/Headers/RTCMediaSource.h: -------------------------------------------------------------------------------- 1 | /* 2 | * libjingle 3 | * Copyright 2013 Google Inc. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 19 | * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 | * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | #import 29 | 30 | #import "RTCTypes.h" 31 | 32 | // RTCMediaSource is an ObjectiveC wrapper for MediaSourceInterface 33 | @interface RTCMediaSource : NSObject 34 | 35 | // The current state of the RTCMediaSource. 36 | @property(nonatomic, assign, readonly) RTCSourceState state; 37 | 38 | #ifndef DOXYGEN_SHOULD_SKIP_THIS 39 | // Disallow init and don't add to documentation 40 | - (id)init __attribute__(( 41 | unavailable("init is not a supported initializer for this class."))); 42 | #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 43 | 44 | @end 45 | -------------------------------------------------------------------------------- /Pods/libjingle_peerconnection/libjingle_peerconnection/Headers/RTCMediaStream.h: -------------------------------------------------------------------------------- 1 | /* 2 | * libjingle 3 | * Copyright 2013 Google Inc. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 19 | * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 | * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | #import 29 | 30 | @class RTCAudioTrack; 31 | @class RTCVideoTrack; 32 | 33 | // RTCMediaStream is an ObjectiveC wrapper for MediaStreamInterface. 34 | @interface RTCMediaStream : NSObject 35 | 36 | @property(nonatomic, strong, readonly) NSArray *audioTracks; 37 | @property(nonatomic, strong, readonly) NSArray *videoTracks; 38 | @property(nonatomic, strong, readonly) NSString *label; 39 | 40 | - (BOOL)addAudioTrack:(RTCAudioTrack *)track; 41 | - (BOOL)addVideoTrack:(RTCVideoTrack *)track; 42 | - (BOOL)removeAudioTrack:(RTCAudioTrack *)track; 43 | - (BOOL)removeVideoTrack:(RTCVideoTrack *)track; 44 | 45 | #ifndef DOXYGEN_SHOULD_SKIP_THIS 46 | // Disallow init and don't add to documentation 47 | - (id)init __attribute__( 48 | (unavailable("init is not a supported initializer for this class."))); 49 | #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 50 | 51 | @end 52 | -------------------------------------------------------------------------------- /Pods/libjingle_peerconnection/libjingle_peerconnection/Headers/RTCMediaStreamTrack.h: -------------------------------------------------------------------------------- 1 | /* 2 | * libjingle 3 | * Copyright 2013 Google Inc. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 19 | * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 | * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | #import 29 | 30 | #import "RTCTypes.h" 31 | 32 | @class RTCMediaStreamTrack; 33 | @protocol RTCMediaStreamTrackDelegate 34 | 35 | - (void)mediaStreamTrackDidChange:(RTCMediaStreamTrack*)mediaStreamTrack; 36 | 37 | @end 38 | 39 | // RTCMediaStreamTrack implements the interface common to RTCAudioTrack and 40 | // RTCVideoTrack. Do not create an instance of this class, rather create one 41 | // of the derived classes. 42 | @interface RTCMediaStreamTrack : NSObject 43 | 44 | @property(nonatomic, readonly) NSString* kind; 45 | @property(nonatomic, readonly) NSString* label; 46 | @property(nonatomic, weak) id delegate; 47 | 48 | - (BOOL)isEnabled; 49 | - (BOOL)setEnabled:(BOOL)enabled; 50 | - (RTCTrackState)state; 51 | - (BOOL)setState:(RTCTrackState)state; 52 | 53 | #ifndef DOXYGEN_SHOULD_SKIP_THIS 54 | // Disallow init and don't add to documentation 55 | - (id)init __attribute__( 56 | (unavailable("init is not a supported initializer for this class."))); 57 | #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 58 | 59 | @end 60 | -------------------------------------------------------------------------------- /Pods/libjingle_peerconnection/libjingle_peerconnection/Headers/RTCNSGLVideoView.h: -------------------------------------------------------------------------------- 1 | /* 2 | * libjingle 3 | * Copyright 2014 Google Inc. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 19 | * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 | * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | #if TARGET_OS_IPHONE 29 | #error "This file targets OSX." 30 | #endif 31 | 32 | #import 33 | 34 | #import "RTCVideoRenderer.h" 35 | 36 | @class RTCNSGLVideoView; 37 | @protocol RTCNSGLVideoViewDelegate 38 | 39 | - (void)videoView:(RTCNSGLVideoView*)videoView didChangeVideoSize:(CGSize)size; 40 | 41 | @end 42 | 43 | @interface RTCNSGLVideoView : NSOpenGLView 44 | 45 | @property(nonatomic, weak) id delegate; 46 | 47 | @end 48 | -------------------------------------------------------------------------------- /Pods/libjingle_peerconnection/libjingle_peerconnection/Headers/RTCPair.h: -------------------------------------------------------------------------------- 1 | /* 2 | * libjingle 3 | * Copyright 2013 Google Inc. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 19 | * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 | * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | #import 29 | 30 | // A class to hold a key and value. 31 | @interface RTCPair : NSObject 32 | 33 | @property(nonatomic, strong, readonly) NSString *key; 34 | @property(nonatomic, strong, readonly) NSString *value; 35 | 36 | // Initialize a RTCPair object with a key and value. 37 | - (id)initWithKey:(NSString *)key value:(NSString *)value; 38 | 39 | #ifndef DOXYGEN_SHOULD_SKIP_THIS 40 | // Disallow init and don't add to documentation 41 | - (id)init __attribute__( 42 | (unavailable("init is not a supported initializer for this class."))); 43 | #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 44 | 45 | @end 46 | -------------------------------------------------------------------------------- /Pods/libjingle_peerconnection/libjingle_peerconnection/Headers/RTCSessionDescription.h: -------------------------------------------------------------------------------- 1 | /* 2 | * libjingle 3 | * Copyright 2013 Google Inc. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 19 | * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 | * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | #import 29 | 30 | // Description of an RFC 4566 Session. 31 | // RTCSessionDescription is an ObjectiveC wrapper for 32 | // SessionDescriptionInterface. 33 | @interface RTCSessionDescription : NSObject 34 | 35 | // The SDP description. 36 | @property(nonatomic, copy, readonly) NSString *description; 37 | 38 | // The session type. 39 | @property(nonatomic, copy, readonly) NSString *type; 40 | 41 | - (id)initWithType:(NSString *)type sdp:(NSString *)sdp; 42 | 43 | #ifndef DOXYGEN_SHOULD_SKIP_THIS 44 | // Disallow init and don't add to documentation 45 | - (id)init __attribute__( 46 | (unavailable("init is not a supported initializer for this class."))); 47 | #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 48 | 49 | @end 50 | 51 | -------------------------------------------------------------------------------- /Pods/libjingle_peerconnection/libjingle_peerconnection/Headers/RTCSessionDescriptionDelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * libjingle 3 | * Copyright 2013 Google Inc. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 19 | * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 | * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | #import 29 | 30 | @class RTCPeerConnection; 31 | @class RTCSessionDescription; 32 | 33 | extern NSString* const kRTCSessionDescriptionDelegateErrorDomain; 34 | extern int const kRTCSessionDescriptionDelegateErrorCode; 35 | 36 | // RTCSessionDescriptionDelegate is a protocol for listening to callback 37 | // messages when RTCSessionDescriptions are created or set. 38 | @protocol RTCSessionDescriptionDelegate 39 | 40 | // Called when creating a session. 41 | - (void)peerConnection:(RTCPeerConnection *)peerConnection 42 | didCreateSessionDescription:(RTCSessionDescription *)sdp 43 | error:(NSError *)error; 44 | 45 | // Called when setting a local or remote description. 46 | - (void)peerConnection:(RTCPeerConnection *)peerConnection 47 | didSetSessionDescriptionWithError:(NSError *)error; 48 | 49 | @end 50 | -------------------------------------------------------------------------------- /Pods/libjingle_peerconnection/libjingle_peerconnection/Headers/RTCStatsDelegate.h: -------------------------------------------------------------------------------- 1 | /* 2 | * libjingle 3 | * Copyright 2014 Google Inc. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 19 | * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 | * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | #import 29 | 30 | @class RTCPeerConnection; 31 | 32 | // RTCSessionDescriptionDelegate is a protocol for receiving statistic 33 | // reports from RTCPeerConnection. 34 | @protocol RTCStatsDelegate 35 | 36 | - (void)peerConnection:(RTCPeerConnection*)peerConnection 37 | didGetStats:(NSArray*)stats; // NSArray of RTCStatsReport*. 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /Pods/libjingle_peerconnection/libjingle_peerconnection/Headers/RTCStatsReport.h: -------------------------------------------------------------------------------- 1 | /* 2 | * libjingle 3 | * Copyright 2014 Google Inc. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 19 | * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 | * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | #import 29 | 30 | // ObjectiveC friendly wrapper around a StatsReport object. 31 | // See talk/app/webrtc/statsypes.h 32 | @interface RTCStatsReport : NSObject 33 | 34 | @property(nonatomic, readonly) NSString* reportId; 35 | @property(nonatomic, readonly) NSString* type; 36 | @property(nonatomic, readonly) CFTimeInterval timestamp; 37 | @property(nonatomic, readonly) NSArray* values; // NSArray of RTCPair*. 38 | 39 | #ifndef DOXYGEN_SHOULD_SKIP_THIS 40 | // Disallow init and don't add to documentation 41 | - (id)init __attribute__(( 42 | unavailable("init is not a supported initializer for this class."))); 43 | #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 44 | 45 | @end 46 | -------------------------------------------------------------------------------- /Pods/libjingle_peerconnection/libjingle_peerconnection/Headers/RTCVideoCapturer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * libjingle 3 | * Copyright 2013 Google Inc. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 19 | * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 | * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | #import 29 | 30 | // RTCVideoCapturer is an ObjectiveC wrapper for VideoCapturerInterface. 31 | @interface RTCVideoCapturer : NSObject 32 | 33 | // Create a new video capturer using the specified device. 34 | + (RTCVideoCapturer *)capturerWithDeviceName:(NSString *)deviceName; 35 | 36 | #ifndef DOXYGEN_SHOULD_SKIP_THIS 37 | // Disallow init and don't add to documentation 38 | - (id)init __attribute__( 39 | (unavailable("init is not a supported initializer for this class."))); 40 | #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 41 | 42 | @end 43 | -------------------------------------------------------------------------------- /Pods/libjingle_peerconnection/libjingle_peerconnection/Headers/RTCVideoRenderer.h: -------------------------------------------------------------------------------- 1 | /* 2 | * libjingle 3 | * Copyright 2013 Google Inc. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 19 | * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 | * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | #import 29 | #if TARGET_OS_IPHONE 30 | #import 31 | #endif 32 | 33 | @class RTCI420Frame; 34 | 35 | @protocol RTCVideoRenderer 36 | 37 | // The size of the frame. 38 | - (void)setSize:(CGSize)size; 39 | 40 | // The frame to be displayed. 41 | - (void)renderFrame:(RTCI420Frame*)frame; 42 | 43 | @end 44 | -------------------------------------------------------------------------------- /Pods/libjingle_peerconnection/libjingle_peerconnection/Headers/RTCVideoSource.h: -------------------------------------------------------------------------------- 1 | /* 2 | * libjingle 3 | * Copyright 2013 Google Inc. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 19 | * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 | * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | #import "RTCMediaSource.h" 29 | 30 | // RTCVideoSource is an ObjectiveC wrapper for VideoSourceInterface. 31 | @interface RTCVideoSource : RTCMediaSource 32 | 33 | #ifndef DOXYGEN_SHOULD_SKIP_THIS 34 | // Disallow init and don't add to documentation 35 | - (id)init __attribute__( 36 | (unavailable("init is not a supported initializer for this class."))); 37 | #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /Pods/libjingle_peerconnection/libjingle_peerconnection/Headers/RTCVideoTrack.h: -------------------------------------------------------------------------------- 1 | /* 2 | * libjingle 3 | * Copyright 2013 Google Inc. 4 | * 5 | * Redistribution and use in source and binary forms, with or without 6 | * modification, are permitted provided that the following conditions are met: 7 | * 8 | * 1. Redistributions of source code must retain the above copyright notice, 9 | * this list of conditions and the following disclaimer. 10 | * 2. Redistributions in binary form must reproduce the above copyright notice, 11 | * this list of conditions and the following disclaimer in the documentation 12 | * and/or other materials provided with the distribution. 13 | * 3. The name of the author may not be used to endorse or promote products 14 | * derived from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 17 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 19 | * EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 | * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 | * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 | * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | */ 27 | 28 | #import "RTCMediaStreamTrack.h" 29 | 30 | @protocol RTCVideoRenderer; 31 | @class RTCPeerConnectionFactory; 32 | @class RTCVideoSource; 33 | 34 | // RTCVideoTrack is an ObjectiveC wrapper for VideoTrackInterface. 35 | @interface RTCVideoTrack : RTCMediaStreamTrack 36 | 37 | @property(nonatomic, readonly) RTCVideoSource* source; 38 | 39 | - (instancetype)initWithFactory:(RTCPeerConnectionFactory*)factory 40 | source:(RTCVideoSource*)source 41 | trackId:(NSString*)trackId; 42 | 43 | // Register a renderer that will render all frames received on this track. 44 | - (void)addRenderer:(id)renderer; 45 | 46 | // Deregister a renderer. 47 | - (void)removeRenderer:(id)renderer; 48 | 49 | #ifndef DOXYGEN_SHOULD_SKIP_THIS 50 | // Disallow init and don't add to documentation 51 | - (id)init __attribute__( 52 | (unavailable("init is not a supported initializer for this class."))); 53 | #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 54 | 55 | @end 56 | -------------------------------------------------------------------------------- /Pods/libjingle_peerconnection/libjingle_peerconnection/libWebRTC.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digixtechnology/iOSRTC/fa23141570eaacd1d1fbaf6f7ad592b0ad2862aa/Pods/libjingle_peerconnection/libjingle_peerconnection/libWebRTC.a -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # iOSRTC 2 | Convert code from AndroidRTC for iOS (Objective-C) platform. You must use iOSRTC with ProjectRTC. 3 | 4 | Original WebRTC Server: 5 | https://github.com/pchab/ProjectRTC 6 | 7 | We implement code from AppRTC: 8 | https://github.com/ISBX/apprtc-ios 9 | 10 | -------------------------------------------------------------------------------- /SocketIO.framework/Headers/SocketIO.h: -------------------------------------------------------------------------------- 1 | // 2 | // SocketIO-iOS.h 3 | // SocketIO-iOS 4 | // 5 | // Created by Nacho Soto on 7/11/15. 6 | // 7 | // 8 | 9 | #import 10 | 11 | //! Project version number for SocketIO-iOS. 12 | FOUNDATION_EXPORT double SocketIO_iOSVersionNumber; 13 | 14 | //! Project version string for SocketIO-iOS. 15 | FOUNDATION_EXPORT const unsigned char SocketIO_iOSVersionString[]; 16 | 17 | // In this header, you should import all the public headers of your framework using statements like #import 18 | 19 | 20 | -------------------------------------------------------------------------------- /SocketIO.framework/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digixtechnology/iOSRTC/fa23141570eaacd1d1fbaf6f7ad592b0ad2862aa/SocketIO.framework/Info.plist -------------------------------------------------------------------------------- /SocketIO.framework/Modules/SocketIO.swiftmodule/arm.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digixtechnology/iOSRTC/fa23141570eaacd1d1fbaf6f7ad592b0ad2862aa/SocketIO.framework/Modules/SocketIO.swiftmodule/arm.swiftdoc -------------------------------------------------------------------------------- /SocketIO.framework/Modules/SocketIO.swiftmodule/arm.swiftmodule: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digixtechnology/iOSRTC/fa23141570eaacd1d1fbaf6f7ad592b0ad2862aa/SocketIO.framework/Modules/SocketIO.swiftmodule/arm.swiftmodule -------------------------------------------------------------------------------- /SocketIO.framework/Modules/SocketIO.swiftmodule/arm64.swiftdoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digixtechnology/iOSRTC/fa23141570eaacd1d1fbaf6f7ad592b0ad2862aa/SocketIO.framework/Modules/SocketIO.swiftmodule/arm64.swiftdoc -------------------------------------------------------------------------------- /SocketIO.framework/Modules/SocketIO.swiftmodule/arm64.swiftmodule: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digixtechnology/iOSRTC/fa23141570eaacd1d1fbaf6f7ad592b0ad2862aa/SocketIO.framework/Modules/SocketIO.swiftmodule/arm64.swiftmodule -------------------------------------------------------------------------------- /SocketIO.framework/Modules/module.modulemap: -------------------------------------------------------------------------------- 1 | framework module SocketIO { 2 | umbrella header "SocketIO.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | 8 | module SocketIO.Swift { 9 | header "SocketIO-Swift.h" 10 | } 11 | -------------------------------------------------------------------------------- /SocketIO.framework/SocketIO: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digixtechnology/iOSRTC/fa23141570eaacd1d1fbaf6f7ad592b0ad2862aa/SocketIO.framework/SocketIO -------------------------------------------------------------------------------- /socket.io-client-swift-master/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .AppleDouble 3 | .LSOverride 4 | *.xcodeproj 5 | .build/* 6 | Packages/* 7 | 8 | # Icon must end with two \r 9 | Icon 10 | 11 | 12 | # Thumbnails 13 | ._* 14 | 15 | # Files that might appear in the root of a volume 16 | .DocumentRevisions-V100 17 | .fseventsd 18 | .Spotlight-V100 19 | .TemporaryItems 20 | .Trashes 21 | .VolumeIcon.icns 22 | 23 | # Directories potentially created on remote AFP share 24 | .AppleDB 25 | .AppleDesktop 26 | Network Trash Folder 27 | Temporary Items 28 | .apdisk 29 | 30 | # Xcode 31 | build/ 32 | *.pbxuser 33 | !default.pbxuser 34 | *.mode1v3 35 | !default.mode1v3 36 | *.mode2v3 37 | !default.mode2v3 38 | *.perspectivev3 39 | !default.perspectivev3 40 | xcuserdata 41 | *.xccheckout 42 | *.moved-aside 43 | DerivedData 44 | *.hmap 45 | *.ipa 46 | *.xcuserstate 47 | 48 | Socket.IO-Test-Server/node_modules/* 49 | -------------------------------------------------------------------------------- /socket.io-client-swift-master/.swift-version: -------------------------------------------------------------------------------- 1 | 3.1 2 | -------------------------------------------------------------------------------- /socket.io-client-swift-master/.travis.yml: -------------------------------------------------------------------------------- 1 | language: objective-c 2 | xcode_project: Socket.IO-Client-Swift.xcodeproj # path to your xcodeproj folder 3 | xcode_scheme: SocketIO-iOS 4 | osx_image: xcode8.3 5 | branches: 6 | only: 7 | - master 8 | - development 9 | before_install: 10 | - brew update 11 | - brew outdated xctool || brew upgrade xctool 12 | # script: xctool -project Socket.IO-Client-Swift.xcodeproj -scheme SocketIO-Mac build test -parallelize 13 | script: xcodebuild -project Socket.IO-Client-Swift.xcodeproj -scheme SocketIO-Mac build test 14 | -------------------------------------------------------------------------------- /socket.io-client-swift-master/Package.swift: -------------------------------------------------------------------------------- 1 | import PackageDescription 2 | 3 | let package = Package( 4 | name: "SocketIO" 5 | ) 6 | -------------------------------------------------------------------------------- /socket.io-client-swift-master/Socket.IO-Client-Swift.podspec: -------------------------------------------------------------------------------- 1 | Pod::Spec.new do |s| 2 | s.name = "Socket.IO-Client-Swift" 3 | s.module_name = "SocketIO" 4 | s.version = "8.3.3" 5 | s.summary = "Socket.IO-client for iOS and OS X" 6 | s.description = <<-DESC 7 | Socket.IO-client for iOS and OS X. 8 | Supports ws/wss/polling connections and binary. 9 | For socket.io 1.0+ and Swift. 10 | DESC 11 | s.homepage = "https://github.com/socketio/socket.io-client-swift" 12 | s.license = { :type => 'MIT' } 13 | s.author = { "Erik" => "nuclear.ace@gmail.com" } 14 | s.ios.deployment_target = '8.0' 15 | s.osx.deployment_target = '10.10' 16 | s.tvos.deployment_target = '9.0' 17 | s.source = { :git => "https://github.com/socketio/socket.io-client-swift.git", :tag => 'v8.3.3' } 18 | s.source_files = "Source/**/*.swift" 19 | s.requires_arc = true 20 | s.pod_target_xcconfig = {'SWIFT_VERSION' => '3.1'} 21 | # s.dependency 'Starscream', '~> 0.9' # currently this repo includes Starscream swift files 22 | end 23 | -------------------------------------------------------------------------------- /socket.io-client-swift-master/SocketIO-iOS/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | $(CURRENT_PROJECT_VERSION) 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /socket.io-client-swift-master/SocketIO-iOS/SocketIO.h: -------------------------------------------------------------------------------- 1 | // 2 | // SocketIO-iOS.h 3 | // SocketIO-iOS 4 | // 5 | // Created by Nacho Soto on 7/11/15. 6 | // 7 | // 8 | 9 | #import 10 | 11 | //! Project version number for SocketIO-iOS. 12 | FOUNDATION_EXPORT double SocketIO_iOSVersionNumber; 13 | 14 | //! Project version string for SocketIO-iOS. 15 | FOUNDATION_EXPORT const unsigned char SocketIO_iOSVersionString[]; 16 | 17 | // In this header, you should import all the public headers of your framework using statements like #import 18 | 19 | 20 | -------------------------------------------------------------------------------- /socket.io-client-swift-master/Source/SocketAckManager.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SocketAckManager.swift 3 | // Socket.IO-Client-Swift 4 | // 5 | // Created by Erik Little on 4/3/15. 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a copy 8 | // of this software and associated documentation files (the "Software"), to deal 9 | // in the Software without restriction, including without limitation the rights 10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | // copies of the Software, and to permit persons to whom the Software is 12 | // furnished to do so, subject to the following conditions: 13 | // 14 | // The above copyright notice and this permission notice shall be included in 15 | // all copies or substantial portions of the Software. 16 | // 17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | // THE SOFTWARE. 24 | 25 | import Foundation 26 | 27 | private struct SocketAck : Hashable { 28 | let ack: Int 29 | var callback: AckCallback! 30 | var hashValue: Int { 31 | return ack.hashValue 32 | } 33 | 34 | init(ack: Int) { 35 | self.ack = ack 36 | } 37 | 38 | init(ack: Int, callback: @escaping AckCallback) { 39 | self.ack = ack 40 | self.callback = callback 41 | } 42 | } 43 | 44 | private func <(lhs: SocketAck, rhs: SocketAck) -> Bool { 45 | return lhs.ack < rhs.ack 46 | } 47 | 48 | private func ==(lhs: SocketAck, rhs: SocketAck) -> Bool { 49 | return lhs.ack == rhs.ack 50 | } 51 | 52 | struct SocketAckManager { 53 | private var acks = Set(minimumCapacity: 1) 54 | private let ackSemaphore = DispatchSemaphore(value: 1) 55 | 56 | mutating func addAck(_ ack: Int, callback: @escaping AckCallback) { 57 | acks.insert(SocketAck(ack: ack, callback: callback)) 58 | } 59 | 60 | /// Should be called on handle queue 61 | mutating func executeAck(_ ack: Int, with items: [Any], onQueue: DispatchQueue) { 62 | ackSemaphore.wait() 63 | defer { ackSemaphore.signal() } 64 | let ack = acks.remove(SocketAck(ack: ack)) 65 | 66 | onQueue.async() { ack?.callback(items) } 67 | } 68 | 69 | /// Should be called on handle queue 70 | mutating func timeoutAck(_ ack: Int, onQueue: DispatchQueue) { 71 | ackSemaphore.wait() 72 | defer { ackSemaphore.signal() } 73 | let ack = acks.remove(SocketAck(ack: ack)) 74 | 75 | onQueue.async() { 76 | ack?.callback?(["NO ACK"]) 77 | } 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /socket.io-client-swift-master/Source/SocketAnyEvent.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SocketAnyEvent.swift 3 | // Socket.IO-Client-Swift 4 | // 5 | // Created by Erik Little on 3/28/15. 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a copy 8 | // of this software and associated documentation files (the "Software"), to deal 9 | // in the Software without restriction, including without limitation the rights 10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | // copies of the Software, and to permit persons to whom the Software is 12 | // furnished to do so, subject to the following conditions: 13 | // 14 | // The above copyright notice and this permission notice shall be included in 15 | // all copies or substantial portions of the Software. 16 | // 17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | // THE SOFTWARE. 24 | 25 | import Foundation 26 | 27 | public final class SocketAnyEvent : NSObject { 28 | public let event: String 29 | public let items: [Any]? 30 | override public var description: String { 31 | return "SocketAnyEvent: Event: \(event) items: \(String(describing: items))" 32 | } 33 | 34 | init(event: String, items: [Any]?) { 35 | self.event = event 36 | self.items = items 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /socket.io-client-swift-master/Source/SocketClientManager.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SocketClientManager.swift 3 | // Socket.IO-Client-Swift 4 | // 5 | // Created by Erik Little on 6/11/16. 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a copy 8 | // of this software and associated documentation files (the "Software"), to deal 9 | // in the Software without restriction, including without limitation the rights 10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | // copies of the Software, and to permit persons to whom the Software is 12 | // furnished to do so, subject to the following conditions: 13 | // 14 | // The above copyright notice and this permission notice shall be included in 15 | // all copies or substantial portions of the Software. 16 | // 17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | // THE SOFTWARE. 24 | 25 | import Foundation 26 | 27 | /** 28 | Experimental socket manager. 29 | 30 | API subject to change. 31 | 32 | Can be used to persist sockets across ViewControllers. 33 | 34 | Sockets are strongly stored, so be sure to remove them once they are no 35 | longer needed. 36 | 37 | Example usage: 38 | ``` 39 | let manager = SocketClientManager.sharedManager 40 | manager["room1"] = socket1 41 | manager["room2"] = socket2 42 | manager.removeSocket(socket: socket2) 43 | manager["room1"]?.emit("hello") 44 | ``` 45 | */ 46 | open class SocketClientManager : NSObject { 47 | open static let sharedManager = SocketClientManager() 48 | 49 | private var sockets = [String: SocketIOClient]() 50 | 51 | open subscript(string: String) -> SocketIOClient? { 52 | get { 53 | return sockets[string] 54 | } 55 | 56 | set(socket) { 57 | sockets[string] = socket 58 | } 59 | } 60 | 61 | open func addSocket(_ socket: SocketIOClient, labeledAs label: String) { 62 | sockets[label] = socket 63 | } 64 | 65 | open func removeSocket(withLabel label: String) -> SocketIOClient? { 66 | return sockets.removeValue(forKey: label) 67 | } 68 | 69 | open func removeSocket(_ socket: SocketIOClient) -> SocketIOClient? { 70 | var returnSocket: SocketIOClient? 71 | 72 | for (label, dictSocket) in sockets where dictSocket === socket { 73 | returnSocket = sockets.removeValue(forKey: label) 74 | } 75 | 76 | return returnSocket 77 | } 78 | 79 | open func removeSockets() { 80 | sockets.removeAll() 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /socket.io-client-swift-master/Source/SocketEngineClient.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SocketEngineClient.swift 3 | // Socket.IO-Client-Swift 4 | // 5 | // Created by Erik Little on 3/19/15. 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a copy 8 | // of this software and associated documentation files (the "Software"), to deal 9 | // in the Software without restriction, including without limitation the rights 10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | // copies of the Software, and to permit persons to whom the Software is 12 | // furnished to do so, subject to the following conditions: 13 | // 14 | // The above copyright notice and this permission notice shall be included in 15 | // all copies or substantial portions of the Software. 16 | // 17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | // THE SOFTWARE. 24 | // 25 | 26 | import Foundation 27 | 28 | @objc public protocol SocketEngineClient { 29 | func engineDidError(reason: String) 30 | func engineDidClose(reason: String) 31 | func engineDidOpen(reason: String) 32 | func parseEngineMessage(_ msg: String) 33 | func parseEngineBinaryData(_ data: Data) 34 | } 35 | -------------------------------------------------------------------------------- /socket.io-client-swift-master/Source/SocketEnginePacketType.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SocketEnginePacketType.swift 3 | // Socket.IO-Client-Swift 4 | // 5 | // Created by Erik Little on 10/7/15. 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a copy 8 | // of this software and associated documentation files (the "Software"), to deal 9 | // in the Software without restriction, including without limitation the rights 10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | // copies of the Software, and to permit persons to whom the Software is 12 | // furnished to do so, subject to the following conditions: 13 | // 14 | // The above copyright notice and this permission notice shall be included in 15 | // all copies or substantial portions of the Software. 16 | // 17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | // THE SOFTWARE. 24 | // 25 | 26 | import Foundation 27 | 28 | @objc public enum SocketEnginePacketType : Int { 29 | case open, close, ping, pong, message, upgrade, noop 30 | } -------------------------------------------------------------------------------- /socket.io-client-swift-master/Source/SocketEngineWebsocket.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SocketEngineWebsocket.swift 3 | // Socket.IO-Client-Swift 4 | // 5 | // Created by Erik Little on 1/15/16. 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a copy 8 | // of this software and associated documentation files (the "Software"), to deal 9 | // in the Software without restriction, including without limitation the rights 10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | // copies of the Software, and to permit persons to whom the Software is 12 | // furnished to do so, subject to the following conditions: 13 | // 14 | // The above copyright notice and this permission notice shall be included in 15 | // all copies or substantial portions of the Software. 16 | // 17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | // THE SOFTWARE. 24 | // 25 | 26 | import Foundation 27 | 28 | /// Protocol that is used to implement socket.io WebSocket support 29 | public protocol SocketEngineWebsocket : SocketEngineSpec, WebSocketDelegate { 30 | func sendWebSocketMessage(_ str: String, withType type: SocketEnginePacketType, withData datas: [Data]) 31 | } 32 | 33 | // WebSocket methods 34 | extension SocketEngineWebsocket { 35 | func probeWebSocket() { 36 | if ws?.isConnected ?? false { 37 | sendWebSocketMessage("probe", withType: .ping, withData: []) 38 | } 39 | } 40 | 41 | /// Send message on WebSockets 42 | /// Only call on emitQueue 43 | public func sendWebSocketMessage(_ str: String, withType type: SocketEnginePacketType, withData datas: [Data]) { 44 | DefaultSocketLogger.Logger.log("Sending ws: %@ as type: %@", type: "SocketEngine", args: str, type.rawValue) 45 | 46 | ws?.write(string: "\(type.rawValue)\(str)") 47 | 48 | for data in datas { 49 | if case let .left(bin) = createBinaryDataForSend(using: data) { 50 | ws?.write(data: bin) 51 | } 52 | } 53 | } 54 | 55 | public func websocketDidReceiveMessage(socket: WebSocket, text: String) { 56 | parseEngineMessage(text, fromPolling: false) 57 | } 58 | 59 | public func websocketDidReceiveData(socket: WebSocket, data: Data) { 60 | parseEngineData(data) 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /socket.io-client-swift-master/Source/SocketEventHandler.swift: -------------------------------------------------------------------------------- 1 | // 2 | // EventHandler.swift 3 | // Socket.IO-Client-Swift 4 | // 5 | // Created by Erik Little on 1/18/15. 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a copy 8 | // of this software and associated documentation files (the "Software"), to deal 9 | // in the Software without restriction, including without limitation the rights 10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | // copies of the Software, and to permit persons to whom the Software is 12 | // furnished to do so, subject to the following conditions: 13 | // 14 | // The above copyright notice and this permission notice shall be included in 15 | // all copies or substantial portions of the Software. 16 | // 17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | // THE SOFTWARE. 24 | 25 | import Foundation 26 | 27 | struct SocketEventHandler { 28 | let event: String 29 | let id: UUID 30 | let callback: NormalCallback 31 | 32 | func executeCallback(with items: [Any], withAck ack: Int, withSocket socket: SocketIOClient) { 33 | callback(items, SocketAckEmitter(socket: socket, ackNum: ack)) 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /socket.io-client-swift-master/Source/SocketIOClientSpec.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SocketIOClientSpec.swift 3 | // Socket.IO-Client-Swift 4 | // 5 | // Created by Erik Little on 1/3/16. 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a copy 8 | // of this software and associated documentation files (the "Software"), to deal 9 | // in the Software without restriction, including without limitation the rights 10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | // copies of the Software, and to permit persons to whom the Software is 12 | // furnished to do so, subject to the following conditions: 13 | // 14 | // The above copyright notice and this permission notice shall be included in 15 | // all copies or substantial portions of the Software. 16 | // 17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | // THE SOFTWARE. 24 | 25 | protocol SocketIOClientSpec : class { 26 | var nsp: String { get set } 27 | var waitingPackets: [SocketPacket] { get set } 28 | 29 | func didConnect() 30 | func didDisconnect(reason: String) 31 | func didError(reason: String) 32 | func handleAck(_ ack: Int, data: [Any]) 33 | func handleEvent(_ event: String, data: [Any], isInternalMessage: Bool, withAck ack: Int) 34 | func joinNamespace(_ namespace: String) 35 | } 36 | 37 | extension SocketIOClientSpec { 38 | func didError(reason: String) { 39 | DefaultSocketLogger.Logger.error("%@", type: "SocketIOClient", args: reason) 40 | 41 | handleEvent("error", data: [reason], isInternalMessage: true, withAck: -1) 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /socket.io-client-swift-master/Source/SocketIOClientStatus.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SocketIOClientStatus.swift 3 | // Socket.IO-Client-Swift 4 | // 5 | // Created by Erik Little on 8/14/15. 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a copy 8 | // of this software and associated documentation files (the "Software"), to deal 9 | // in the Software without restriction, including without limitation the rights 10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | // copies of the Software, and to permit persons to whom the Software is 12 | // furnished to do so, subject to the following conditions: 13 | // 14 | // The above copyright notice and this permission notice shall be included in 15 | // all copies or substantial portions of the Software. 16 | // 17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | // THE SOFTWARE. 24 | 25 | import Foundation 26 | 27 | /// **NotConnected**: initial state 28 | /// 29 | /// **Disconnected**: connected before 30 | @objc public enum SocketIOClientStatus : Int { 31 | case notConnected, disconnected, connecting, connected 32 | } 33 | -------------------------------------------------------------------------------- /socket.io-client-swift-master/Source/SocketLogger.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SocketLogger.swift 3 | // Socket.IO-Client-Swift 4 | // 5 | // Created by Erik Little on 4/11/15. 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a copy 8 | // of this software and associated documentation files (the "Software"), to deal 9 | // in the Software without restriction, including without limitation the rights 10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | // copies of the Software, and to permit persons to whom the Software is 12 | // furnished to do so, subject to the following conditions: 13 | // 14 | // The above copyright notice and this permission notice shall be included in 15 | // all copies or substantial portions of the Software. 16 | // 17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | // THE SOFTWARE. 24 | 25 | import Foundation 26 | 27 | public protocol SocketLogger : class { 28 | /// Whether to log or not 29 | var log: Bool { get set } 30 | 31 | /// Normal log messages 32 | func log(_ message: String, type: String, args: Any...) 33 | 34 | /// Error Messages 35 | func error(_ message: String, type: String, args: Any...) 36 | } 37 | 38 | public extension SocketLogger { 39 | func log(_ message: String, type: String, args: Any...) { 40 | abstractLog("LOG", message: message, type: type, args: args) 41 | } 42 | 43 | func error(_ message: String, type: String, args: Any...) { 44 | abstractLog("ERROR", message: message, type: type, args: args) 45 | } 46 | 47 | private func abstractLog(_ logType: String, message: String, type: String, args: [Any]) { 48 | guard log else { return } 49 | 50 | let newArgs = args.map({arg -> CVarArg in String(describing: arg)}) 51 | let messageFormat = String(format: message, arguments: newArgs) 52 | 53 | NSLog("\(logType) \(type): %@", messageFormat) 54 | } 55 | } 56 | 57 | class DefaultSocketLogger : SocketLogger { 58 | static var Logger: SocketLogger = DefaultSocketLogger() 59 | 60 | var log = false 61 | } 62 | -------------------------------------------------------------------------------- /socket.io-client-swift-master/Source/SocketStringReader.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SocketStringReader.swift 3 | // Socket.IO-Client-Swift 4 | // 5 | // Created by Lukas Schmidt on 07.09.15. 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a copy 8 | // of this software and associated documentation files (the "Software"), to deal 9 | // in the Software without restriction, including without limitation the rights 10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | // copies of the Software, and to permit persons to whom the Software is 12 | // furnished to do so, subject to the following conditions: 13 | // 14 | // The above copyright notice and this permission notice shall be included in 15 | // all copies or substantial portions of the Software. 16 | // 17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | // THE SOFTWARE. 24 | 25 | struct SocketStringReader { 26 | let message: String 27 | var currentIndex: String.Index 28 | var hasNext: Bool { 29 | return currentIndex != message.endIndex 30 | } 31 | 32 | var currentCharacter: String { 33 | return String(message[currentIndex]) 34 | } 35 | 36 | init(message: String) { 37 | self.message = message 38 | currentIndex = message.startIndex 39 | } 40 | 41 | @discardableResult 42 | mutating func advance(by: Int) -> String.Index { 43 | currentIndex = message.characters.index(currentIndex, offsetBy: by) 44 | 45 | return currentIndex 46 | } 47 | 48 | mutating func read(count: Int) -> String { 49 | let readString = message[currentIndex.. String { 57 | let substring = message[currentIndex.. String { 71 | return read(count: message.characters.distance(from: currentIndex, to: message.endIndex)) 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /socket.io-client-swift-master/Source/SocketTypes.swift: -------------------------------------------------------------------------------- 1 | // 2 | // SocketTypes.swift 3 | // Socket.IO-Client-Swift 4 | // 5 | // Created by Erik Little on 4/8/15. 6 | // 7 | // Permission is hereby granted, free of charge, to any person obtaining a copy 8 | // of this software and associated documentation files (the "Software"), to deal 9 | // in the Software without restriction, including without limitation the rights 10 | // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | // copies of the Software, and to permit persons to whom the Software is 12 | // furnished to do so, subject to the following conditions: 13 | // 14 | // The above copyright notice and this permission notice shall be included in 15 | // all copies or substantial portions of the Software. 16 | // 17 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 23 | // THE SOFTWARE. 24 | 25 | import Foundation 26 | 27 | public protocol SocketData {} 28 | 29 | extension Array : SocketData {} 30 | extension Bool : SocketData {} 31 | extension Dictionary : SocketData {} 32 | extension Double : SocketData {} 33 | extension Int : SocketData {} 34 | extension NSArray : SocketData {} 35 | extension Data : SocketData {} 36 | extension NSData : SocketData {} 37 | extension NSDictionary : SocketData {} 38 | extension NSString : SocketData {} 39 | extension NSNull : SocketData {} 40 | extension String : SocketData {} 41 | 42 | public typealias AckCallback = ([Any]) -> Void 43 | public typealias NormalCallback = ([Any], SocketAckEmitter) -> Void 44 | 45 | typealias JSON = [String: Any] 46 | typealias Probe = (msg: String, type: SocketEnginePacketType, data: [Data]) 47 | typealias ProbeWaitQueue = [Probe] 48 | 49 | enum Either { 50 | case left(E) 51 | case right(V) 52 | } 53 | -------------------------------------------------------------------------------- /webrtc-socketio-ios.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /webrtc-socketio-ios.xcodeproj/xcuserdata/DisakulCG2.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | webrtc-socketio-ios.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 95E9E1891E4C516F004DCD5D 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /webrtc-socketio-ios.xcodeproj/xcuserdata/pagornp.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | webrtc-socketio-ios.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 95E9E1891E4C516F004DCD5D 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /webrtc-socketio-ios.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /webrtc-socketio-ios.xcworkspace/xcuserdata/pagornp.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digixtechnology/iOSRTC/fa23141570eaacd1d1fbaf6f7ad592b0ad2862aa/webrtc-socketio-ios.xcworkspace/xcuserdata/pagornp.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /webrtc-socketio-ios.xcworkspace/xcuserdata/pagornp.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /webrtc-socketio-ios/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // webrtc-socketio-ios 4 | // 5 | // Created by Disakul CG2 on 2/9/2560 BE. 6 | // Copyright © 2560 Digix Technology. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : UIResponder 12 | 13 | @property (strong, nonatomic) UIWindow *window; 14 | 15 | 16 | @end 17 | 18 | -------------------------------------------------------------------------------- /webrtc-socketio-ios/AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.m 3 | // webrtc-socketio-ios 4 | // 5 | // Created by Disakul CG2 on 2/9/2560 BE. 6 | // Copyright © 2560 Digix Technology. All rights reserved. 7 | // 8 | 9 | #import "AppDelegate.h" 10 | #import "RTCActivityViewController.h" 11 | 12 | @interface AppDelegate () 13 | 14 | @end 15 | 16 | @implementation AppDelegate 17 | 18 | 19 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 20 | // Override point for customization after application launch. 21 | 22 | RTCActivityViewController *newRTCVC = [[RTCActivityViewController alloc] initWithNibName:@"RTCActivityViewController" bundle:nil]; 23 | 24 | 25 | self.window.rootViewController = newRTCVC; 26 | 27 | return YES; 28 | } 29 | 30 | 31 | - (void)applicationWillResignActive:(UIApplication *)application { 32 | // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. 33 | // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. 34 | } 35 | 36 | 37 | - (void)applicationDidEnterBackground:(UIApplication *)application { 38 | // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 39 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. 40 | } 41 | 42 | 43 | - (void)applicationWillEnterForeground:(UIApplication *)application { 44 | // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. 45 | } 46 | 47 | 48 | - (void)applicationDidBecomeActive:(UIApplication *)application { 49 | // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. 50 | } 51 | 52 | 53 | - (void)applicationWillTerminate:(UIApplication *)application { 54 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. 55 | } 56 | 57 | 58 | @end 59 | -------------------------------------------------------------------------------- /webrtc-socketio-ios/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "20x20", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "20x20", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "29x29", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "29x29", 61 | "scale" : "2x" 62 | }, 63 | { 64 | "idiom" : "ipad", 65 | "size" : "40x40", 66 | "scale" : "1x" 67 | }, 68 | { 69 | "idiom" : "ipad", 70 | "size" : "40x40", 71 | "scale" : "2x" 72 | }, 73 | { 74 | "idiom" : "ipad", 75 | "size" : "76x76", 76 | "scale" : "1x" 77 | }, 78 | { 79 | "idiom" : "ipad", 80 | "size" : "76x76", 81 | "scale" : "2x" 82 | }, 83 | { 84 | "idiom" : "ipad", 85 | "size" : "83.5x83.5", 86 | "scale" : "2x" 87 | } 88 | ], 89 | "info" : { 90 | "version" : 1, 91 | "author" : "xcode" 92 | } 93 | } -------------------------------------------------------------------------------- /webrtc-socketio-ios/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /webrtc-socketio-ios/Assets.xcassets/camera switch.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Icon-App-40x40@1x.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "Icon-App-40x40@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "Icon-App-40x40@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /webrtc-socketio-ios/Assets.xcassets/camera switch.imageset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digixtechnology/iOSRTC/fa23141570eaacd1d1fbaf6f7ad592b0ad2862aa/webrtc-socketio-ios/Assets.xcassets/camera switch.imageset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /webrtc-socketio-ios/Assets.xcassets/camera switch.imageset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digixtechnology/iOSRTC/fa23141570eaacd1d1fbaf6f7ad592b0ad2862aa/webrtc-socketio-ios/Assets.xcassets/camera switch.imageset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /webrtc-socketio-ios/Assets.xcassets/camera switch.imageset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digixtechnology/iOSRTC/fa23141570eaacd1d1fbaf6f7ad592b0ad2862aa/webrtc-socketio-ios/Assets.xcassets/camera switch.imageset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /webrtc-socketio-ios/Assets.xcassets/hang up.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Icon-App-40x40@1x.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "Icon-App-40x40@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "Icon-App-40x40@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /webrtc-socketio-ios/Assets.xcassets/hang up.imageset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digixtechnology/iOSRTC/fa23141570eaacd1d1fbaf6f7ad592b0ad2862aa/webrtc-socketio-ios/Assets.xcassets/hang up.imageset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /webrtc-socketio-ios/Assets.xcassets/hang up.imageset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digixtechnology/iOSRTC/fa23141570eaacd1d1fbaf6f7ad592b0ad2862aa/webrtc-socketio-ios/Assets.xcassets/hang up.imageset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /webrtc-socketio-ios/Assets.xcassets/hang up.imageset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digixtechnology/iOSRTC/fa23141570eaacd1d1fbaf6f7ad592b0ad2862aa/webrtc-socketio-ios/Assets.xcassets/hang up.imageset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /webrtc-socketio-ios/Assets.xcassets/microphone-off.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Icon-App-40x40@1x.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "Icon-App-40x40@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "Icon-App-40x40@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | }, 23 | "properties" : { 24 | "template-rendering-intent" : "template" 25 | } 26 | } -------------------------------------------------------------------------------- /webrtc-socketio-ios/Assets.xcassets/microphone-off.imageset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digixtechnology/iOSRTC/fa23141570eaacd1d1fbaf6f7ad592b0ad2862aa/webrtc-socketio-ios/Assets.xcassets/microphone-off.imageset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /webrtc-socketio-ios/Assets.xcassets/microphone-off.imageset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digixtechnology/iOSRTC/fa23141570eaacd1d1fbaf6f7ad592b0ad2862aa/webrtc-socketio-ios/Assets.xcassets/microphone-off.imageset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /webrtc-socketio-ios/Assets.xcassets/microphone-off.imageset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digixtechnology/iOSRTC/fa23141570eaacd1d1fbaf6f7ad592b0ad2862aa/webrtc-socketio-ios/Assets.xcassets/microphone-off.imageset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /webrtc-socketio-ios/Assets.xcassets/microphone.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "Icon-App-40x40@1x.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "Icon-App-40x40@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "Icon-App-40x40@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } -------------------------------------------------------------------------------- /webrtc-socketio-ios/Assets.xcassets/microphone.imageset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digixtechnology/iOSRTC/fa23141570eaacd1d1fbaf6f7ad592b0ad2862aa/webrtc-socketio-ios/Assets.xcassets/microphone.imageset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /webrtc-socketio-ios/Assets.xcassets/microphone.imageset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digixtechnology/iOSRTC/fa23141570eaacd1d1fbaf6f7ad592b0ad2862aa/webrtc-socketio-ios/Assets.xcassets/microphone.imageset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /webrtc-socketio-ios/Assets.xcassets/microphone.imageset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digixtechnology/iOSRTC/fa23141570eaacd1d1fbaf6f7ad592b0ad2862aa/webrtc-socketio-ios/Assets.xcassets/microphone.imageset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /webrtc-socketio-ios/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /webrtc-socketio-ios/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /webrtc-socketio-ios/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | NSAppTransportSecurity 24 | 25 | NSAllowsArbitraryLoads 26 | 27 | 28 | NSCameraUsageDescription 29 | it's ok 30 | NSMicrophoneUsageDescription 31 | it's ok 32 | UILaunchStoryboardName 33 | LaunchScreen 34 | UIMainStoryboardFile 35 | Main 36 | UIRequiredDeviceCapabilities 37 | 38 | armv7 39 | 40 | UIRequiresFullScreen 41 | 42 | UISupportedInterfaceOrientations 43 | 44 | UIInterfaceOrientationPortrait 45 | 46 | UISupportedInterfaceOrientations~ipad 47 | 48 | UIInterfaceOrientationPortrait 49 | UIInterfaceOrientationPortraitUpsideDown 50 | UIInterfaceOrientationLandscapeLeft 51 | UIInterfaceOrientationLandscapeRight 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /webrtc-socketio-ios/NewRTC/Peer.h: -------------------------------------------------------------------------------- 1 | // 2 | // Peer.h 3 | // webrtc-socketio-ios 4 | // 5 | // Created by Disakul CG2 on 2/10/2560 BE. 6 | // Copyright © 2560 Digix Technology. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #import 12 | 13 | #import "WebRTCClient.h" 14 | 15 | @interface Peer : NSObject 16 | 17 | @property (nonatomic) RTCPeerConnection *pc; 18 | @property (nonatomic) NSString *ID; 19 | @property (nonatomic) NSInteger endPoint; 20 | 21 | @property (nonatomic, weak) WebRTCClient *webRTCClient; 22 | 23 | @property (nonatomic) RTCAudioTrack *defaultAudioTrack; 24 | 25 | -(instancetype) initWithWithId:(NSString *)ID 26 | endPoint:(NSInteger)endPoint 27 | andWebRTCClient:(WebRTCClient *)webRTCClient; 28 | 29 | 30 | 31 | - (void)muteAudioIn; 32 | - (void)unmuteAudioIn; 33 | 34 | - (void)swapCameraToFront; 35 | - (void)swapCameraToBack; 36 | 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /webrtc-socketio-ios/NewRTC/PeerConnectionParameters.h: -------------------------------------------------------------------------------- 1 | // 2 | // PeerConnectionParameters.h 3 | // webrtc-socketio-ios 4 | // 5 | // Created by Disakul CG2 on 2/10/2560 BE. 6 | // Copyright © 2560 Digix Technology. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface PeerConnectionParameters : NSObject 12 | 13 | @property (nonatomic) BOOL videoCallEnabled; 14 | @property (nonatomic) BOOL loopback; 15 | @property (nonatomic) NSInteger videoWidth; 16 | @property (nonatomic) NSInteger videoHeight; 17 | @property (nonatomic) NSInteger videoFps; 18 | @property (nonatomic) NSInteger videoStartBitrate; 19 | @property (nonatomic) NSString *videoCodec; 20 | @property (nonatomic) BOOL videoCodecHwAcceleration; 21 | @property (nonatomic) NSInteger audioStartBitrate; 22 | @property (nonatomic) NSString *audioCodec; 23 | @property (nonatomic) BOOL cpuOveruseDetection; 24 | 25 | -(instancetype) initWithParams:(BOOL)videoCallEnabled 26 | loopback:(BOOL)loopback 27 | videoWidth:(NSInteger)videoWidth 28 | videoHeight:(NSInteger)videoHeight 29 | videoFps:(NSInteger)videoFps 30 | videoStartBitrate:(NSInteger)videoStartBitrate 31 | videoCodec:(NSString *)videoCodec 32 | videoCodecHwAcceleration:(BOOL)videoCodecHwAcceleration 33 | audioStartBitrate:(NSInteger)audioStartBitrate 34 | audioCodec:(NSString*)audioCodec 35 | cpuOveruseDetection:(BOOL)cpuOveruseDetection; 36 | 37 | @end 38 | -------------------------------------------------------------------------------- /webrtc-socketio-ios/NewRTC/PeerConnectionParameters.m: -------------------------------------------------------------------------------- 1 | // 2 | // PeerConnectionParameters.m 3 | // webrtc-socketio-ios 4 | // 5 | // Created by Disakul CG2 on 2/10/2560 BE. 6 | // Copyright © 2560 Digix Technology. All rights reserved. 7 | // 8 | 9 | #import "PeerConnectionParameters.h" 10 | 11 | 12 | 13 | @implementation PeerConnectionParameters 14 | 15 | -(instancetype) initWithParams:(BOOL)videoCallEnabled 16 | loopback:(BOOL)loopback 17 | videoWidth:(NSInteger)videoWidth 18 | videoHeight:(NSInteger)videoHeight 19 | videoFps:(NSInteger)videoFps 20 | videoStartBitrate:(NSInteger)videoStartBitrate 21 | videoCodec:(NSString *)videoCodec 22 | videoCodecHwAcceleration:(BOOL)videoCodecHwAcceleration 23 | audioStartBitrate:(NSInteger)audioStartBitrate 24 | audioCodec:(NSString*)audioCodec 25 | cpuOveruseDetection:(BOOL)cpuOveruseDetection{ 26 | 27 | if( self = [super init]){ 28 | 29 | self.videoCallEnabled = videoCallEnabled; 30 | self.loopback = loopback; 31 | self.videoWidth = videoWidth; 32 | self.videoHeight = videoHeight; 33 | self.videoFps = videoFps; 34 | self.videoStartBitrate = videoStartBitrate; 35 | self.videoCodec = videoCodec; 36 | self.videoCodecHwAcceleration = videoCodecHwAcceleration; 37 | self.audioCodec = audioCodec; 38 | self.cpuOveruseDetection = cpuOveruseDetection; 39 | 40 | } 41 | 42 | 43 | 44 | 45 | return self; 46 | } 47 | 48 | @end 49 | -------------------------------------------------------------------------------- /webrtc-socketio-ios/NewRTC/SocketIOManagerCall.h: -------------------------------------------------------------------------------- 1 | // 2 | // SocketIOManager.h 3 | // webrtc-socketio-ios 4 | // 5 | // Created by Disakul CG2 on 2/9/2560 BE. 6 | // Copyright © 2560 Digix Technology. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @import SocketIO; 12 | 13 | static NSString * const socketIOURL = @"http://localhost:3000"; 14 | 15 | @interface SocketIOManagerCall : NSObject 16 | 17 | @property (nonatomic, retain) SocketIOClient *socket; 18 | 19 | 20 | + (instancetype)sharedManager; 21 | 22 | - (void)connect; 23 | 24 | - (void)emitMessage:(NSDictionary *)messageDict; 25 | - (void)emitReadyToStream:(NSDictionary *)messageDict; 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /webrtc-socketio-ios/ViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.h 3 | // webrtc-socketio-ios 4 | // 5 | // Created by Disakul CG2 on 2/9/2560 BE. 6 | // Copyright © 2560 Digix Technology. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ViewController : UIViewController 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /webrtc-socketio-ios/ViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // ViewController.m 3 | // webrtc-socketio-ios 4 | // 5 | // Created by Disakul CG2 on 2/9/2560 BE. 6 | // Copyright © 2560 Digix Technology. All rights reserved. 7 | // 8 | 9 | #import "ViewController.h" 10 | 11 | @interface ViewController () 12 | 13 | @end 14 | 15 | @implementation ViewController 16 | 17 | - (void)viewDidLoad { 18 | [super viewDidLoad]; 19 | // Do any additional setup after loading the view, typically from a nib. 20 | } 21 | 22 | 23 | - (void)didReceiveMemoryWarning { 24 | [super didReceiveMemoryWarning]; 25 | // Dispose of any resources that can be recreated. 26 | } 27 | 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /webrtc-socketio-ios/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // webrtc-socketio-ios 4 | // 5 | // Created by Disakul CG2 on 2/9/2560 BE. 6 | // Copyright © 2560 Digix Technology. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AppDelegate.h" 11 | 12 | int main(int argc, char * argv[]) { 13 | @autoreleasepool { 14 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 15 | } 16 | } 17 | --------------------------------------------------------------------------------