├── .gitignore
├── JSIMWebrtcOverMQTT.xcodeproj
├── project.pbxproj
└── project.xcworkspace
│ └── contents.xcworkspacedata
├── JSIMWebrtcOverMQTT.xcworkspace
└── contents.xcworkspacedata
├── JSIMWebrtcOverMQTT
├── AppDelegate.h
├── AppDelegate.m
├── Base.lproj
│ ├── LaunchScreen.xib
│ └── Main.storyboard
├── ConfigSet.h
├── Images.xcassets
│ └── AppIcon.appiconset
│ │ └── Contents.json
├── Info.plist
├── main.m
├── model
│ ├── ChatMessage.h
│ ├── ChatMessage.m
│ ├── ClientUser.h
│ ├── ClientUser.m
│ ├── ServerConfig.h
│ └── ServerConfig.m
├── other
│ ├── JSIMTool.h
│ ├── JSIMTool.m
│ ├── MQTTSessionTool.h
│ ├── MQTTSessionTool.m
│ ├── WebRTCTool.h
│ └── WebRTCTool.m
├── view
│ ├── RTCVideoView.h
│ └── RTCVideoView.m
└── viewController
│ ├── VideoChatViewController.h
│ ├── VideoChatViewController.m
│ ├── ViewController.h
│ └── ViewController.m
├── JSIMWebrtcOverMQTTTests
├── Info.plist
└── JSIMWebrtcOverMQTTTests.m
├── LICENSE
├── Podfile
├── Podfile.lock
├── Pods
├── Headers
│ ├── Private
│ │ ├── JSQMessagesViewController
│ │ │ ├── JSQLocationMediaItem.h
│ │ │ ├── JSQMediaItem.h
│ │ │ ├── JSQMessage.h
│ │ │ ├── JSQMessageAvatarImageDataSource.h
│ │ │ ├── JSQMessageBubbleImageDataSource.h
│ │ │ ├── JSQMessageData.h
│ │ │ ├── JSQMessageMediaData.h
│ │ │ ├── JSQMessages.h
│ │ │ ├── JSQMessagesAvatarImage.h
│ │ │ ├── JSQMessagesAvatarImageFactory.h
│ │ │ ├── JSQMessagesBubbleImage.h
│ │ │ ├── JSQMessagesBubbleImageFactory.h
│ │ │ ├── JSQMessagesBubbleSizeCalculating.h
│ │ │ ├── JSQMessagesBubblesSizeCalculator.h
│ │ │ ├── JSQMessagesCellTextView.h
│ │ │ ├── JSQMessagesCollectionView.h
│ │ │ ├── JSQMessagesCollectionViewCell.h
│ │ │ ├── JSQMessagesCollectionViewCellIncoming.h
│ │ │ ├── JSQMessagesCollectionViewCellOutgoing.h
│ │ │ ├── JSQMessagesCollectionViewDataSource.h
│ │ │ ├── JSQMessagesCollectionViewDelegateFlowLayout.h
│ │ │ ├── JSQMessagesCollectionViewFlowLayout.h
│ │ │ ├── JSQMessagesCollectionViewFlowLayoutInvalidationContext.h
│ │ │ ├── JSQMessagesCollectionViewLayoutAttributes.h
│ │ │ ├── JSQMessagesComposerTextView.h
│ │ │ ├── JSQMessagesInputToolbar.h
│ │ │ ├── JSQMessagesKeyboardController.h
│ │ │ ├── JSQMessagesLabel.h
│ │ │ ├── JSQMessagesLoadEarlierHeaderView.h
│ │ │ ├── JSQMessagesMediaPlaceholderView.h
│ │ │ ├── JSQMessagesMediaViewBubbleImageMasker.h
│ │ │ ├── JSQMessagesTimestampFormatter.h
│ │ │ ├── JSQMessagesToolbarButtonFactory.h
│ │ │ ├── JSQMessagesToolbarContentView.h
│ │ │ ├── JSQMessagesTypingIndicatorFooterView.h
│ │ │ ├── JSQMessagesViewController.h
│ │ │ ├── JSQPhotoMediaItem.h
│ │ │ ├── JSQSystemSoundPlayer+JSQMessages.h
│ │ │ ├── JSQVideoMediaItem.h
│ │ │ ├── NSBundle+JSQMessages.h
│ │ │ ├── NSString+JSQMessages.h
│ │ │ ├── UIColor+JSQMessages.h
│ │ │ ├── UIDevice+JSQMessages.h
│ │ │ ├── UIImage+JSQMessages.h
│ │ │ └── UIView+JSQMessages.h
│ │ ├── JSQSystemSoundPlayer
│ │ │ └── JSQSystemSoundPlayer.h
│ │ ├── MQTTClient
│ │ │ ├── MQTTClient.h
│ │ │ ├── MQTTDecoder.h
│ │ │ ├── MQTTEncoder.h
│ │ │ ├── MQTTMessage.h
│ │ │ ├── MQTTPersistence.h
│ │ │ ├── MQTTSSLSecurityPolicy.h
│ │ │ ├── MQTTSession.h
│ │ │ └── MQTTSessionManager.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
│ │ ├── JSQMessagesViewController
│ │ ├── JSQLocationMediaItem.h
│ │ ├── JSQMediaItem.h
│ │ ├── JSQMessage.h
│ │ ├── JSQMessageAvatarImageDataSource.h
│ │ ├── JSQMessageBubbleImageDataSource.h
│ │ ├── JSQMessageData.h
│ │ ├── JSQMessageMediaData.h
│ │ ├── JSQMessages.h
│ │ ├── JSQMessagesAvatarImage.h
│ │ ├── JSQMessagesAvatarImageFactory.h
│ │ ├── JSQMessagesBubbleImage.h
│ │ ├── JSQMessagesBubbleImageFactory.h
│ │ ├── JSQMessagesBubbleSizeCalculating.h
│ │ ├── JSQMessagesBubblesSizeCalculator.h
│ │ ├── JSQMessagesCellTextView.h
│ │ ├── JSQMessagesCollectionView.h
│ │ ├── JSQMessagesCollectionViewCell.h
│ │ ├── JSQMessagesCollectionViewCellIncoming.h
│ │ ├── JSQMessagesCollectionViewCellOutgoing.h
│ │ ├── JSQMessagesCollectionViewDataSource.h
│ │ ├── JSQMessagesCollectionViewDelegateFlowLayout.h
│ │ ├── JSQMessagesCollectionViewFlowLayout.h
│ │ ├── JSQMessagesCollectionViewFlowLayoutInvalidationContext.h
│ │ ├── JSQMessagesCollectionViewLayoutAttributes.h
│ │ ├── JSQMessagesComposerTextView.h
│ │ ├── JSQMessagesInputToolbar.h
│ │ ├── JSQMessagesKeyboardController.h
│ │ ├── JSQMessagesLabel.h
│ │ ├── JSQMessagesLoadEarlierHeaderView.h
│ │ ├── JSQMessagesMediaPlaceholderView.h
│ │ ├── JSQMessagesMediaViewBubbleImageMasker.h
│ │ ├── JSQMessagesTimestampFormatter.h
│ │ ├── JSQMessagesToolbarButtonFactory.h
│ │ ├── JSQMessagesToolbarContentView.h
│ │ ├── JSQMessagesTypingIndicatorFooterView.h
│ │ ├── JSQMessagesViewController.h
│ │ ├── JSQPhotoMediaItem.h
│ │ ├── JSQSystemSoundPlayer+JSQMessages.h
│ │ ├── JSQVideoMediaItem.h
│ │ ├── NSBundle+JSQMessages.h
│ │ ├── NSString+JSQMessages.h
│ │ ├── UIColor+JSQMessages.h
│ │ ├── UIDevice+JSQMessages.h
│ │ ├── UIImage+JSQMessages.h
│ │ └── UIView+JSQMessages.h
│ │ ├── JSQSystemSoundPlayer
│ │ └── JSQSystemSoundPlayer.h
│ │ ├── MQTTClient
│ │ ├── MQTTClient.h
│ │ ├── MQTTDecoder.h
│ │ ├── MQTTEncoder.h
│ │ ├── MQTTMessage.h
│ │ ├── MQTTPersistence.h
│ │ ├── MQTTSSLSecurityPolicy.h
│ │ ├── MQTTSession.h
│ │ └── MQTTSessionManager.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
├── JSQMessagesViewController
│ ├── JSQMessagesViewController
│ │ ├── Assets
│ │ │ └── JSQMessagesAssets.bundle
│ │ │ │ ├── Base.lproj
│ │ │ │ └── JSQMessages.strings
│ │ │ │ ├── Images
│ │ │ │ ├── bubble_min.png
│ │ │ │ ├── bubble_min@2x.png
│ │ │ │ ├── bubble_min@3x.png
│ │ │ │ ├── bubble_min_tailless.png
│ │ │ │ ├── bubble_min_tailless@2x.png
│ │ │ │ ├── bubble_min_tailless@3x.png
│ │ │ │ ├── bubble_regular.png
│ │ │ │ ├── bubble_regular@2x.png
│ │ │ │ ├── bubble_regular@3x.png
│ │ │ │ ├── bubble_stroked.png
│ │ │ │ ├── bubble_stroked@2x.png
│ │ │ │ ├── bubble_stroked@3x.png
│ │ │ │ ├── bubble_stroked_tailless.png
│ │ │ │ ├── bubble_stroked_tailless@2x.png
│ │ │ │ ├── bubble_stroked_tailless@3x.png
│ │ │ │ ├── bubble_tailless.png
│ │ │ │ ├── bubble_tailless@2x.png
│ │ │ │ ├── bubble_tailless@3x.png
│ │ │ │ ├── clip.png
│ │ │ │ ├── clip@2x.png
│ │ │ │ ├── clip@3x.png
│ │ │ │ ├── play.png
│ │ │ │ ├── play@2x.png
│ │ │ │ ├── play@3x.png
│ │ │ │ ├── typing.png
│ │ │ │ ├── typing@2x.png
│ │ │ │ └── typing@3x.png
│ │ │ │ ├── Sounds
│ │ │ │ ├── message_received.aiff
│ │ │ │ └── message_sent.aiff
│ │ │ │ ├── ar.lproj
│ │ │ │ └── JSQMessages.strings
│ │ │ │ ├── de.lproj
│ │ │ │ └── JSQMessages.strings
│ │ │ │ ├── en.lproj
│ │ │ │ └── JSQMessages.strings
│ │ │ │ ├── es.lproj
│ │ │ │ └── JSQMessages.strings
│ │ │ │ ├── fr.lproj
│ │ │ │ └── JSQMessages.strings
│ │ │ │ ├── he.lproj
│ │ │ │ └── JSQMessages.strings
│ │ │ │ ├── it.lproj
│ │ │ │ └── JSQMessages.strings
│ │ │ │ ├── ja.lproj
│ │ │ │ └── JSQMessages.strings
│ │ │ │ ├── ko.lproj
│ │ │ │ └── JSQMessages.strings
│ │ │ │ ├── nl.lproj
│ │ │ │ └── JSQMessages.strings
│ │ │ │ ├── pl.lproj
│ │ │ │ └── JSQMessages.strings
│ │ │ │ ├── pt.lproj
│ │ │ │ └── JSQMessages.strings
│ │ │ │ ├── ro.lproj
│ │ │ │ └── JSQMessages.strings
│ │ │ │ ├── ru.lproj
│ │ │ │ └── JSQMessages.strings
│ │ │ │ ├── tr.lproj
│ │ │ │ └── JSQMessages.strings
│ │ │ │ ├── zh-Hans.lproj
│ │ │ │ └── JSQMessages.strings
│ │ │ │ └── zh-Hant.lproj
│ │ │ │ └── JSQMessages.strings
│ │ ├── Categories
│ │ │ ├── JSQSystemSoundPlayer+JSQMessages.h
│ │ │ ├── JSQSystemSoundPlayer+JSQMessages.m
│ │ │ ├── NSBundle+JSQMessages.h
│ │ │ ├── NSBundle+JSQMessages.m
│ │ │ ├── NSString+JSQMessages.h
│ │ │ ├── NSString+JSQMessages.m
│ │ │ ├── UIColor+JSQMessages.h
│ │ │ ├── UIColor+JSQMessages.m
│ │ │ ├── UIDevice+JSQMessages.h
│ │ │ ├── UIDevice+JSQMessages.m
│ │ │ ├── UIImage+JSQMessages.h
│ │ │ ├── UIImage+JSQMessages.m
│ │ │ ├── UIView+JSQMessages.h
│ │ │ └── UIView+JSQMessages.m
│ │ ├── Controllers
│ │ │ ├── JSQMessagesKeyboardController.h
│ │ │ ├── JSQMessagesKeyboardController.m
│ │ │ ├── JSQMessagesViewController.h
│ │ │ ├── JSQMessagesViewController.m
│ │ │ └── JSQMessagesViewController.xib
│ │ ├── Factories
│ │ │ ├── JSQMessagesAvatarImageFactory.h
│ │ │ ├── JSQMessagesAvatarImageFactory.m
│ │ │ ├── JSQMessagesBubbleImageFactory.h
│ │ │ ├── JSQMessagesBubbleImageFactory.m
│ │ │ ├── JSQMessagesMediaViewBubbleImageMasker.h
│ │ │ ├── JSQMessagesMediaViewBubbleImageMasker.m
│ │ │ ├── JSQMessagesTimestampFormatter.h
│ │ │ ├── JSQMessagesTimestampFormatter.m
│ │ │ ├── JSQMessagesToolbarButtonFactory.h
│ │ │ └── JSQMessagesToolbarButtonFactory.m
│ │ ├── JSQMessages.h
│ │ ├── Layout
│ │ │ ├── JSQMessagesBubbleSizeCalculating.h
│ │ │ ├── JSQMessagesBubblesSizeCalculator.h
│ │ │ ├── JSQMessagesBubblesSizeCalculator.m
│ │ │ ├── JSQMessagesCollectionViewFlowLayout.h
│ │ │ ├── JSQMessagesCollectionViewFlowLayout.m
│ │ │ ├── JSQMessagesCollectionViewFlowLayoutInvalidationContext.h
│ │ │ ├── JSQMessagesCollectionViewFlowLayoutInvalidationContext.m
│ │ │ ├── JSQMessagesCollectionViewLayoutAttributes.h
│ │ │ └── JSQMessagesCollectionViewLayoutAttributes.m
│ │ ├── Model
│ │ │ ├── JSQLocationMediaItem.h
│ │ │ ├── JSQLocationMediaItem.m
│ │ │ ├── JSQMediaItem.h
│ │ │ ├── JSQMediaItem.m
│ │ │ ├── JSQMessage.h
│ │ │ ├── JSQMessage.m
│ │ │ ├── JSQMessageAvatarImageDataSource.h
│ │ │ ├── JSQMessageBubbleImageDataSource.h
│ │ │ ├── JSQMessageData.h
│ │ │ ├── JSQMessageMediaData.h
│ │ │ ├── JSQMessagesAvatarImage.h
│ │ │ ├── JSQMessagesAvatarImage.m
│ │ │ ├── JSQMessagesBubbleImage.h
│ │ │ ├── JSQMessagesBubbleImage.m
│ │ │ ├── JSQMessagesCollectionViewDataSource.h
│ │ │ ├── JSQMessagesCollectionViewDelegateFlowLayout.h
│ │ │ ├── JSQPhotoMediaItem.h
│ │ │ ├── JSQPhotoMediaItem.m
│ │ │ ├── JSQVideoMediaItem.h
│ │ │ └── JSQVideoMediaItem.m
│ │ └── Views
│ │ │ ├── JSQMessagesCellTextView.h
│ │ │ ├── JSQMessagesCellTextView.m
│ │ │ ├── JSQMessagesCollectionView.h
│ │ │ ├── JSQMessagesCollectionView.m
│ │ │ ├── JSQMessagesCollectionViewCell.h
│ │ │ ├── JSQMessagesCollectionViewCell.m
│ │ │ ├── JSQMessagesCollectionViewCellIncoming.h
│ │ │ ├── JSQMessagesCollectionViewCellIncoming.m
│ │ │ ├── JSQMessagesCollectionViewCellIncoming.xib
│ │ │ ├── JSQMessagesCollectionViewCellOutgoing.h
│ │ │ ├── JSQMessagesCollectionViewCellOutgoing.m
│ │ │ ├── JSQMessagesCollectionViewCellOutgoing.xib
│ │ │ ├── JSQMessagesComposerTextView.h
│ │ │ ├── JSQMessagesComposerTextView.m
│ │ │ ├── JSQMessagesInputToolbar.h
│ │ │ ├── JSQMessagesInputToolbar.m
│ │ │ ├── JSQMessagesLabel.h
│ │ │ ├── JSQMessagesLabel.m
│ │ │ ├── JSQMessagesLoadEarlierHeaderView.h
│ │ │ ├── JSQMessagesLoadEarlierHeaderView.m
│ │ │ ├── JSQMessagesLoadEarlierHeaderView.xib
│ │ │ ├── JSQMessagesMediaPlaceholderView.h
│ │ │ ├── JSQMessagesMediaPlaceholderView.m
│ │ │ ├── JSQMessagesToolbarContentView.h
│ │ │ ├── JSQMessagesToolbarContentView.m
│ │ │ ├── JSQMessagesToolbarContentView.xib
│ │ │ ├── JSQMessagesTypingIndicatorFooterView.h
│ │ │ ├── JSQMessagesTypingIndicatorFooterView.m
│ │ │ └── JSQMessagesTypingIndicatorFooterView.xib
│ ├── LICENSE
│ └── README.md
├── JSQSystemSoundPlayer
│ ├── JSQSystemSoundPlayer
│ │ └── Classes
│ │ │ ├── JSQSystemSoundPlayer.h
│ │ │ └── JSQSystemSoundPlayer.m
│ ├── LICENSE
│ └── README.md
├── MQTTClient
│ ├── LICENSE
│ ├── MQTTClient
│ │ └── MQTTClient
│ │ │ ├── MQTTClient.h
│ │ │ ├── MQTTDecoder.h
│ │ │ ├── MQTTDecoder.m
│ │ │ ├── MQTTEncoder.h
│ │ │ ├── MQTTEncoder.m
│ │ │ ├── MQTTMessage.h
│ │ │ ├── MQTTMessage.m
│ │ │ ├── MQTTPersistence.h
│ │ │ ├── MQTTPersistence.m
│ │ │ ├── MQTTSSLSecurityPolicy.h
│ │ │ ├── MQTTSSLSecurityPolicy.m
│ │ │ ├── MQTTSession.h
│ │ │ ├── MQTTSession.m
│ │ │ ├── MQTTSessionManager.h
│ │ │ └── MQTTSessionManager.m
│ └── README.md
├── Manifest.lock
├── Pods.xcodeproj
│ └── project.pbxproj
├── Target Support Files
│ ├── JSQMessagesViewController
│ │ ├── JSQMessagesViewController-Private.xcconfig
│ │ ├── JSQMessagesViewController-dummy.m
│ │ ├── JSQMessagesViewController-prefix.pch
│ │ └── JSQMessagesViewController.xcconfig
│ ├── JSQSystemSoundPlayer
│ │ ├── JSQSystemSoundPlayer-Private.xcconfig
│ │ ├── JSQSystemSoundPlayer-dummy.m
│ │ ├── JSQSystemSoundPlayer-prefix.pch
│ │ └── JSQSystemSoundPlayer.xcconfig
│ ├── MQTTClient
│ │ ├── MQTTClient-Private.xcconfig
│ │ ├── MQTTClient-dummy.m
│ │ ├── MQTTClient-prefix.pch
│ │ └── MQTTClient.xcconfig
│ └── Pods
│ │ ├── Pods-acknowledgements.markdown
│ │ ├── Pods-acknowledgements.plist
│ │ ├── Pods-dummy.m
│ │ ├── Pods-resources.sh
│ │ ├── Pods.debug.xcconfig
│ │ └── Pods.release.xcconfig
└── 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
/.gitignore:
--------------------------------------------------------------------------------
1 | # Xcode
2 | #
3 | build/
4 | *.pbxuser
5 | !default.pbxuser
6 | *.mode1v3
7 | !default.mode1v3
8 | *.mode2v3
9 | !default.mode2v3
10 | *.perspectivev3
11 | !default.perspectivev3
12 | xcuserdata
13 | *.xccheckout
14 | *.moved-aside
15 | DerivedData
16 | *.hmap
17 | *.ipa
18 | *.xcuserstate
19 |
20 | # CocoaPods
21 | #
22 | # We recommend against adding the Pods directory to your .gitignore. However
23 | # you should judge for yourself, the pros and cons are mentioned at:
24 | # http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
25 | #
26 | #Pods/
27 |
--------------------------------------------------------------------------------
/JSIMWebrtcOverMQTT.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/JSIMWebrtcOverMQTT.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/JSIMWebrtcOverMQTT/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // JSIMWebrtcOverMQTT
4 | //
5 | // Created by WHC on 15/9/17.
6 | // Copyright (c) 2015年 weaver software. 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 |
--------------------------------------------------------------------------------
/JSIMWebrtcOverMQTT/AppDelegate.m:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.m
3 | // JSIMWebrtcOverMQTT
4 | //
5 | // Created by WHC on 15/9/17.
6 | // Copyright (c) 2015年 weaver software. All rights reserved.
7 | //
8 |
9 | #import "AppDelegate.h"
10 |
11 | @interface AppDelegate ()
12 |
13 | @end
14 |
15 | @implementation AppDelegate
16 |
17 |
18 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
19 | // Override point for customization after application launch.
20 | return YES;
21 | }
22 |
23 | - (void)applicationWillResignActive:(UIApplication *)application {
24 | // 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.
25 | // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
26 | }
27 |
28 | - (void)applicationDidEnterBackground:(UIApplication *)application {
29 | // 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.
30 | // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
31 | }
32 |
33 | - (void)applicationWillEnterForeground:(UIApplication *)application {
34 | // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
35 | }
36 |
37 | - (void)applicationDidBecomeActive:(UIApplication *)application {
38 | // 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.
39 | }
40 |
41 | - (void)applicationWillTerminate:(UIApplication *)application {
42 | // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
43 | }
44 |
45 | @end
46 |
--------------------------------------------------------------------------------
/JSIMWebrtcOverMQTT/ConfigSet.h:
--------------------------------------------------------------------------------
1 | //
2 | // ConfigSet.h
3 | // JSIMWebrtcOverMQTT
4 | //
5 | // Created by WHC on 15/9/18.
6 | // Copyright (c) 2015年 weaver software. All rights reserved.
7 | //
8 |
9 | #ifndef JSIMWebrtcOverMQTT_ConfigSet_h
10 | #define JSIMWebrtcOverMQTT_ConfigSet_h
11 |
12 |
13 | #endif
14 |
15 | #define UserAliceName @"JSIMUser/Alice"
16 | #define UserBobName @"JSIMUser/Bob"
17 |
18 | //server name
19 | #define SERVERNAME_IPTEL @"iptel server"
20 | #define SERVERNAME_SOFTJOYS @"softjoys server"
21 | #define SERVERNAME_IBM @"ibm server"
22 | #define SERVERNAME_MOSQUITTOR @"mosquitto server"
23 | #define SERVERNAME_OTHER @"other server"
24 |
25 |
26 | //mqtt server config
27 |
28 | #define MQTTSERVER_IBMHOST @"messagesight.demos.ibm.com"
29 | #define MQTTSERVER_IBMPORT @"1883"
30 |
31 | #define MQTTSERVER_MOSQUITTOHOST @"test.mosquitto.org"
32 | #define MQTTSERVER_MOSQUITTOPORT @"1883"
33 |
34 |
35 | //ice
36 | #define ICESERVER_IPTEL_STUN_HOST @"stun:stun.iptel.org"
37 | #define ICESERVER_IPTEL_STUN_PORT @""
38 |
39 | #define ICESERVER_IPTEL_TURN_HOST @"stun:stun.iptel.org"
40 | #define ICESERVER_IPTEL_TURN_PORT @""
41 | #define ICESERVER_IPTEL_TURN_USERNAME @""
42 | #define ICESERVER_IPTEL_TURN_CREDENTIAL @""
43 |
44 | #define ICESERVER_SOFTJOYS_STUN_HOST @"stun:stun.softjoys.com"
45 | #define ICESERVER_SOFTJOYS_STUN_PORT @""
46 |
47 | #define ICESERVER_SOFTJOYS_TURN_HOST @"stun:stun.softjoys.com"
48 | #define ICESERVER_SOFTJOYS_TURN_PORT @""
49 | #define ICESERVER_SOFTJOYS_TURN_USERNAME @""
50 | #define ICESERVER_SOFTJOYS_TURN_CREDENTIAL @""
51 |
52 |
53 | #define JSIMRTCLOG
54 |
55 | #ifdef JSIMRTCLOG
56 | #define JSIMRTCLOG(format, ...) NSLog(format, ## __VA_ARGS__)
57 | #else
58 | #define JSIMRTCLOG(format, ...)
59 | #endif
60 |
--------------------------------------------------------------------------------
/JSIMWebrtcOverMQTT/Images.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "29x29",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "29x29",
11 | "scale" : "3x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "40x40",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "40x40",
21 | "scale" : "3x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "60x60",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "60x60",
31 | "scale" : "3x"
32 | }
33 | ],
34 | "info" : {
35 | "version" : 1,
36 | "author" : "xcode"
37 | }
38 | }
--------------------------------------------------------------------------------
/JSIMWebrtcOverMQTT/main.m:
--------------------------------------------------------------------------------
1 | //
2 | // main.m
3 | // JSIMWebrtcOverMQTT
4 | //
5 | // Created by WHC on 15/9/17.
6 | // Copyright (c) 2015年 weaver software. 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 |
--------------------------------------------------------------------------------
/JSIMWebrtcOverMQTT/model/ChatMessage.h:
--------------------------------------------------------------------------------
1 | //
2 | // ChatMessage.h
3 | // JSIMWebrtcOverMQTT
4 | //
5 | // Created by WHC on 15/9/18.
6 | // Copyright (c) 2015年 weaver software. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "ClientUser.h"
11 |
12 |
13 | @interface ChatMessage : NSObject
14 |
15 |
16 |
17 | @property (assign ,nonatomic)NSInteger mesID;
18 |
19 | @property (strong ,nonatomic)ClientUser *fromUser;
20 |
21 | @property (strong ,nonatomic)ClientUser *toUser;
22 |
23 | @property (copy ,nonatomic)NSString *content;
24 |
25 |
26 | @end
27 |
--------------------------------------------------------------------------------
/JSIMWebrtcOverMQTT/model/ChatMessage.m:
--------------------------------------------------------------------------------
1 | //
2 | // ChatMessage.m
3 | // JSIMWebrtcOverMQTT
4 | //
5 | // Created by WHC on 15/9/18.
6 | // Copyright (c) 2015年 weaver software. All rights reserved.
7 | //
8 |
9 | #import "ChatMessage.h"
10 |
11 | @implementation ChatMessage
12 |
13 | - (id)initWithCoder:(NSCoder *)aDecoder {
14 |
15 | self = [super init];
16 | if (self) {
17 | self.fromUser = [aDecoder decodeObjectForKey:@"formUser"];
18 | self.toUser = [aDecoder decodeObjectForKey:@"toUser"];
19 | self.mesID = [aDecoder decodeIntegerForKey:@"mesID"];
20 | self.content = [aDecoder decodeObjectForKey:@"content"];
21 | }
22 |
23 | return self;
24 | }
25 |
26 | - (void)encodeWithCoder:(NSCoder *)aCoder {
27 |
28 | [aCoder encodeObject:self.fromUser forKey:@"formUser"];
29 | [aCoder encodeObject:self.toUser forKey:@"toUser"];
30 | [aCoder encodeInteger:self.mesID forKey:@"mesID"];
31 | [aCoder encodeObject:self.content forKey:@"content"];
32 |
33 | }
34 |
35 | @end
36 |
--------------------------------------------------------------------------------
/JSIMWebrtcOverMQTT/model/ClientUser.h:
--------------------------------------------------------------------------------
1 | //
2 | // ClientUser.h
3 | // JSIMWebrtcOverMQTT
4 | //
5 | // Created by WHC on 15/9/18.
6 | // Copyright (c) 2015年 weaver software. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface ClientUser : NSObject
12 |
13 | @property (assign ,nonatomic)NSInteger userID;
14 | @property (copy ,nonatomic)NSString *userName;
15 | @property (copy ,nonatomic)NSString *userPassword;
16 | @property (copy ,nonatomic)NSString *iceServerUrl;
17 | @property (copy ,nonatomic)NSString *mqttServerUrl;
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/JSIMWebrtcOverMQTT/model/ClientUser.m:
--------------------------------------------------------------------------------
1 | //
2 | // ClientUser.m
3 | // JSIMWebrtcOverMQTT
4 | //
5 | // Created by WHC on 15/9/18.
6 | // Copyright (c) 2015年 weaver software. All rights reserved.
7 | //
8 |
9 | #import "ClientUser.h"
10 |
11 | @implementation ClientUser
12 |
13 | - (id)initWithCoder:(NSCoder *)aDecoder {
14 |
15 | self = [super init];
16 | if (self) {
17 | self.userID = [aDecoder decodeIntegerForKey:@"userID"];
18 | self.userName = [aDecoder decodeObjectForKey:@"userName"];
19 | self.userPassword = [aDecoder decodeObjectForKey:@"userPassword"];
20 | self.iceServerUrl = [aDecoder decodeObjectForKey:@"iceServerUrl"];
21 | self.mqttServerUrl = [aDecoder decodeObjectForKey:@"mqttServerUrl"];
22 | }
23 |
24 | return self;
25 | }
26 |
27 | - (void)encodeWithCoder:(NSCoder *)aCoder {
28 |
29 | [aCoder encodeObject:self.userPassword forKey:@"userPassword"];
30 | [aCoder encodeObject:self.userName forKey:@"userName"];
31 | [aCoder encodeInteger:self.userID forKey:@"userID"];
32 | [aCoder encodeObject:self.iceServerUrl forKey:@"iceServerUrl"];
33 | [aCoder encodeObject:self.mqttServerUrl forKey:@"mqttServerUrl"];
34 |
35 | }
36 |
37 | @end
38 |
--------------------------------------------------------------------------------
/JSIMWebrtcOverMQTT/model/ServerConfig.h:
--------------------------------------------------------------------------------
1 | //
2 | // ServerConfig.h
3 | // JSIMWebrtcOverMQTT
4 | //
5 | // Created by WHC on 15/9/18.
6 | // Copyright (c) 2015年 weaver software. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface ServerConfig : NSObject
12 |
13 | @property (copy ,nonatomic)NSString *url;
14 | @property (copy ,nonatomic)NSString *port;
15 |
16 | @property (copy ,nonatomic)NSString *serverName;
17 |
18 | @property (copy ,nonatomic)NSString *username;
19 | @property (copy ,nonatomic)NSString *credential;
20 |
21 | @end
22 |
--------------------------------------------------------------------------------
/JSIMWebrtcOverMQTT/model/ServerConfig.m:
--------------------------------------------------------------------------------
1 | //
2 | // ServerConfig.m
3 | // JSIMWebrtcOverMQTT
4 | //
5 | // Created by WHC on 15/9/18.
6 | // Copyright (c) 2015年 weaver software. All rights reserved.
7 | //
8 |
9 | #import "ServerConfig.h"
10 |
11 | @implementation ServerConfig
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/JSIMWebrtcOverMQTT/other/JSIMTool.h:
--------------------------------------------------------------------------------
1 | //
2 | // JSIMTool.h
3 | // JSIMWebrtcOverMQTT
4 | //
5 | // Created by WHC on 15/9/18.
6 | // Copyright (c) 2015年 weaver software. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "ConfigSet.h"
11 |
12 | @interface JSIMTool : NSObject
13 |
14 |
15 | /**
16 | * 按步骤打印log
17 | *
18 | * @param setp <#setp description#>
19 | * @param content <#content description#>
20 | */
21 | + (void)logOutWithStep:(NSInteger)setp Content:(NSString *)content;
22 |
23 | + (void)logOutContent:(NSString *)content;
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/JSIMWebrtcOverMQTT/other/JSIMTool.m:
--------------------------------------------------------------------------------
1 | //
2 | // JSIMTool.m
3 | // JSIMWebrtcOverMQTT
4 | //
5 | // Created by WHC on 15/9/18.
6 | // Copyright (c) 2015年 weaver software. All rights reserved.
7 | //
8 |
9 | #import "JSIMTool.h"
10 |
11 | @implementation JSIMTool
12 |
13 |
14 |
15 | + (void)logOutWithStep:(NSInteger)setp Content:(NSString *)content
16 | {
17 | JSIMRTCLOG(@"第%d步-%@",setp,content);
18 | }
19 |
20 | + (void)logOutContent:(NSString *)content{
21 |
22 | JSIMRTCLOG(@"-%@",content);
23 | }
24 | @end
25 |
--------------------------------------------------------------------------------
/JSIMWebrtcOverMQTT/other/MQTTSessionTool.h:
--------------------------------------------------------------------------------
1 | //
2 | // MQTTSessionManager.h
3 | // JSIMWebrtcOverMQTT
4 | //
5 | // Created by WHC on 15/9/21.
6 | // Copyright © 2015年 weaver software. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 | #import "ChatMessage.h"
12 | #import "JSIMTool.h"
13 |
14 | @interface MQTTSessionTool : NSObject
15 |
16 | @property (strong ,nonatomic)MQTTSession *mqttSession;
17 | @property (copy ,nonatomic)NSString *subTopic;
18 | @property (copy ,nonatomic)NSString *pubTopic;
19 |
20 | + (instancetype)sharedInstance;
21 |
22 | - (void)sessionConnectToHost:(NSString *)host Port:(NSInteger )port;
23 | /**
24 | * 订阅主题
25 | */
26 | - (void)subscriberTopic;
27 | /**
28 | * 订阅多个主题
29 | *
30 | * @param topics 主题数组
31 | */
32 | - (void)subscriberTopicsWithDic:(NSArray *)topics;
33 | /**
34 | * 取消订阅
35 | */
36 | - (void)unSubscriberTopic;
37 | /**
38 | * 取消订阅多个主题
39 | *
40 | * @param topics 主题数组
41 | */
42 | - (void)unSubscriberTopicsWithArray:(NSArray *)topics;
43 | /**
44 | * 取消所有订阅
45 | */
46 | - (void)unSubscriberAllTopic;
47 |
48 | /**
49 | * 发送二进制消息
50 | *
51 | * @param data <#data description#>
52 | */
53 | - (void)sendMessageWithData:(NSData *)data;
54 | /**
55 | * 发送字典消息(传送的仍然是二进制)
56 | *
57 | * @param dic <#dic description#>
58 | */
59 | - (void)sendMessageWithDic:(NSDictionary *)dic;
60 | /**
61 | * 发送字符串消息(传送的仍然是二进制)
62 | *
63 | * @param string <#string description#>
64 | */
65 | - (void)sendMessageWithString:(NSString *)string;
66 | /**
67 | * 发送自定义消息(传送的仍然是二进制)
68 | *
69 | * @param chatMessage <#chatMessage description#>
70 | */
71 | - (void)sendChatMessage:(ChatMessage*)chatMessage;
72 | @end
73 |
--------------------------------------------------------------------------------
/JSIMWebrtcOverMQTT/view/RTCVideoView.h:
--------------------------------------------------------------------------------
1 | //
2 | // RTCVideoView.h
3 | // JSIMWebrtcOverMQTT
4 | //
5 | // Created by WHC on 15/9/22.
6 | // Copyright © 2015年 weaver software. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 | #import
12 |
13 |
14 | @interface RTCVideoView : UIView
15 |
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/JSIMWebrtcOverMQTT/view/RTCVideoView.m:
--------------------------------------------------------------------------------
1 | //
2 | // RTCVideoView.m
3 | // JSIMWebrtcOverMQTT
4 | //
5 | // Created by WHC on 15/9/22.
6 | // Copyright © 2015年 weaver software. All rights reserved.
7 | //
8 |
9 | #import "RTCVideoView.h"
10 |
11 |
12 | @implementation RTCVideoView
13 |
14 | - (void)setSize:(CGSize)size {
15 |
16 | // self.frame = CGRectMake(self.frame.origin.x, self.frame.origin.y, size.width, size.height);
17 |
18 | }
19 |
20 | - (void)renderFrame:(RTCI420Frame *)frame {
21 |
22 | }
23 |
24 | @end
25 |
--------------------------------------------------------------------------------
/JSIMWebrtcOverMQTT/viewController/VideoChatViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // VideoChatViewController.h
3 | // JSIMWebrtcOverMQTT
4 | //
5 | // Created by WHC on 15/9/18.
6 | // Copyright (c) 2015年 weaver software. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface VideoChatViewController : UIViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/JSIMWebrtcOverMQTT/viewController/VideoChatViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // VideoChatViewController.m
3 | // JSIMWebrtcOverMQTT
4 | //
5 | // Created by WHC on 15/9/18.
6 | // Copyright (c) 2015年 weaver software. All rights reserved.
7 | //
8 |
9 | #import "VideoChatViewController.h"
10 |
11 | @interface VideoChatViewController ()
12 |
13 | @end
14 |
15 | @implementation VideoChatViewController
16 |
17 | - (void)viewDidLoad {
18 | [super viewDidLoad];
19 | // Do any additional setup after loading the view.
20 | }
21 |
22 | - (void)didReceiveMemoryWarning {
23 | [super didReceiveMemoryWarning];
24 | // Dispose of any resources that can be recreated.
25 | }
26 |
27 | /*
28 | #pragma mark - Navigation
29 |
30 | // In a storyboard-based application, you will often want to do a little preparation before navigation
31 | - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
32 | // Get the new view controller using [segue destinationViewController].
33 | // Pass the selected object to the new view controller.
34 | }
35 | */
36 |
37 | @end
38 |
--------------------------------------------------------------------------------
/JSIMWebrtcOverMQTT/viewController/ViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.h
3 | // JSIMWebrtcOverMQTT
4 | //
5 | // Created by WHC on 15/9/17.
6 | // Copyright (c) 2015年 weaver software. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "ClientUser.h"
11 | #import "ChatMessage.h"
12 | #import "ServerConfig.h"
13 | #import "ConfigSet.h"
14 |
15 | #import "JSIMTool.h"
16 | #import "MQTTSessionTool.h"
17 | #import "WebRTCTool.h"
18 |
19 |
20 | #import "RTCVideoView.h"
21 |
22 |
23 | @interface ViewController : UIViewController
24 |
25 |
26 | @property (strong ,nonatomic)ClientUser *mySelf;
27 |
28 |
29 | @property (strong ,nonatomic)ClientUser *otherUser;
30 |
31 |
32 |
33 | @property (weak, nonatomic) IBOutlet UISegmentedControl *chooseUserSeg;
34 |
35 | @property (weak, nonatomic) IBOutlet UITextField *myIDTextField;
36 | @property (weak, nonatomic) IBOutlet UITextField *otherIDTextField;
37 |
38 | @property (weak, nonatomic) IBOutlet UITextField *iceServerTextField;
39 |
40 | @property (weak, nonatomic) IBOutlet UITextField *mqttServerTextField;
41 |
42 | @property (weak, nonatomic) IBOutlet UILabel *mqttStateLabel;
43 |
44 | @property (strong ,nonatomic)RTCVideoView *rtcVideoView;
45 |
46 | @property (strong ,nonatomic)RTCEAGLVideoView *remoteVideoView;
47 |
48 |
49 | - (IBAction)chooseMyID:(id)sender;
50 | - (IBAction)chooseUID:(id)sender;
51 |
52 | - (IBAction)chooseICEServer:(id)sender;
53 | - (IBAction)chooseMqttServer:(id)sender;
54 | - (IBAction)chooseUser:(id)sender;
55 |
56 | /**
57 | * 连接前发布消息
58 | *
59 | */
60 | - (IBAction)warmUpAction:(id)sender;
61 | /**
62 | * 发起连接
63 | *
64 | */
65 | - (IBAction)connectAction:(id)sender;
66 | @end
67 |
68 |
--------------------------------------------------------------------------------
/JSIMWebrtcOverMQTTTests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | com.weaver..$(PRODUCT_NAME:rfc1034identifier)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | BNDL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 |
24 |
25 |
--------------------------------------------------------------------------------
/JSIMWebrtcOverMQTTTests/JSIMWebrtcOverMQTTTests.m:
--------------------------------------------------------------------------------
1 | //
2 | // JSIMWebrtcOverMQTTTests.m
3 | // JSIMWebrtcOverMQTTTests
4 | //
5 | // Created by WHC on 15/9/17.
6 | // Copyright (c) 2015年 weaver software. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 |
12 | @interface JSIMWebrtcOverMQTTTests : XCTestCase
13 |
14 | @end
15 |
16 | @implementation JSIMWebrtcOverMQTTTests
17 |
18 | - (void)setUp {
19 | [super setUp];
20 | // Put setup code here. This method is called before the invocation of each test method in the class.
21 | }
22 |
23 | - (void)tearDown {
24 | // Put teardown code here. This method is called after the invocation of each test method in the class.
25 | [super tearDown];
26 | }
27 |
28 | - (void)testExample {
29 | // This is an example of a functional test case.
30 | XCTAssert(YES, @"Pass");
31 | }
32 |
33 | - (void)testPerformanceExample {
34 | // This is an example of a performance test case.
35 | [self measureBlock:^{
36 | // Put the code you want to measure the time of here.
37 | }];
38 | }
39 |
40 | @end
41 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015 wenghengcong
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
23 |
--------------------------------------------------------------------------------
/Podfile:
--------------------------------------------------------------------------------
1 | platform :ios, '7.0'
2 |
3 | pod 'MQTTClient'
4 | pod 'libjingle_peerconnection'
5 | pod 'JSQMessagesViewController'
--------------------------------------------------------------------------------
/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - JSQMessagesViewController (7.2.0):
3 | - JSQSystemSoundPlayer (~> 2.0.1)
4 | - JSQSystemSoundPlayer (2.0.1)
5 | - libjingle_peerconnection (9814.2.0)
6 | - MQTTClient (0.2.6)
7 |
8 | DEPENDENCIES:
9 | - JSQMessagesViewController
10 | - libjingle_peerconnection
11 | - MQTTClient
12 |
13 | SPEC CHECKSUMS:
14 | JSQMessagesViewController: 73cab48aa92fc2d512f3b6724f3425cc47a19eb5
15 | JSQSystemSoundPlayer: c5850e77a4363ffd374cd851154b9af93264ed8d
16 | libjingle_peerconnection: f03d6c0532595e8b9b233eccea68ad344e0395ac
17 | MQTTClient: f3af97fd4e26e0644364cb24e809b9646afce202
18 |
19 | COCOAPODS: 0.38.2
20 |
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQLocationMediaItem.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Model/JSQLocationMediaItem.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMediaItem.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Model/JSQMediaItem.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessage.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Model/JSQMessage.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessageAvatarImageDataSource.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Model/JSQMessageAvatarImageDataSource.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessageBubbleImageDataSource.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Model/JSQMessageBubbleImageDataSource.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessageData.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Model/JSQMessageData.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessageMediaData.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Model/JSQMessageMediaData.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessages.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/JSQMessages.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessagesAvatarImage.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Model/JSQMessagesAvatarImage.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessagesAvatarImageFactory.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Factories/JSQMessagesAvatarImageFactory.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessagesBubbleImage.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Model/JSQMessagesBubbleImage.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessagesBubbleImageFactory.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Factories/JSQMessagesBubbleImageFactory.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessagesBubbleSizeCalculating.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Layout/JSQMessagesBubbleSizeCalculating.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessagesBubblesSizeCalculator.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Layout/JSQMessagesBubblesSizeCalculator.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessagesCellTextView.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesCellTextView.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessagesCollectionView.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesCollectionView.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessagesCollectionViewCell.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesCollectionViewCell.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessagesCollectionViewCellIncoming.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesCollectionViewCellIncoming.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessagesCollectionViewCellOutgoing.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesCollectionViewCellOutgoing.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessagesCollectionViewDataSource.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Model/JSQMessagesCollectionViewDataSource.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessagesCollectionViewDelegateFlowLayout.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Model/JSQMessagesCollectionViewDelegateFlowLayout.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessagesCollectionViewFlowLayout.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Layout/JSQMessagesCollectionViewFlowLayout.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessagesCollectionViewFlowLayoutInvalidationContext.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Layout/JSQMessagesCollectionViewFlowLayoutInvalidationContext.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessagesCollectionViewLayoutAttributes.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Layout/JSQMessagesCollectionViewLayoutAttributes.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessagesComposerTextView.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesComposerTextView.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessagesInputToolbar.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesInputToolbar.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessagesKeyboardController.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Controllers/JSQMessagesKeyboardController.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessagesLabel.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesLabel.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessagesLoadEarlierHeaderView.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesLoadEarlierHeaderView.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessagesMediaPlaceholderView.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesMediaPlaceholderView.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessagesMediaViewBubbleImageMasker.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Factories/JSQMessagesMediaViewBubbleImageMasker.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessagesTimestampFormatter.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Factories/JSQMessagesTimestampFormatter.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessagesToolbarButtonFactory.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Factories/JSQMessagesToolbarButtonFactory.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessagesToolbarContentView.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesToolbarContentView.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessagesTypingIndicatorFooterView.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesTypingIndicatorFooterView.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQMessagesViewController.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Controllers/JSQMessagesViewController.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQPhotoMediaItem.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Model/JSQPhotoMediaItem.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQSystemSoundPlayer+JSQMessages.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Categories/JSQSystemSoundPlayer+JSQMessages.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/JSQVideoMediaItem.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Model/JSQVideoMediaItem.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/NSBundle+JSQMessages.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Categories/NSBundle+JSQMessages.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/NSString+JSQMessages.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Categories/NSString+JSQMessages.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/UIColor+JSQMessages.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Categories/UIColor+JSQMessages.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/UIDevice+JSQMessages.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Categories/UIDevice+JSQMessages.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/UIImage+JSQMessages.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Categories/UIImage+JSQMessages.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQMessagesViewController/UIView+JSQMessages.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Categories/UIView+JSQMessages.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/JSQSystemSoundPlayer/JSQSystemSoundPlayer.h:
--------------------------------------------------------------------------------
1 | ../../../JSQSystemSoundPlayer/JSQSystemSoundPlayer/Classes/JSQSystemSoundPlayer.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/MQTTClient/MQTTClient.h:
--------------------------------------------------------------------------------
1 | ../../../MQTTClient/MQTTClient/MQTTClient/MQTTClient.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/MQTTClient/MQTTDecoder.h:
--------------------------------------------------------------------------------
1 | ../../../MQTTClient/MQTTClient/MQTTClient/MQTTDecoder.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/MQTTClient/MQTTEncoder.h:
--------------------------------------------------------------------------------
1 | ../../../MQTTClient/MQTTClient/MQTTClient/MQTTEncoder.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/MQTTClient/MQTTMessage.h:
--------------------------------------------------------------------------------
1 | ../../../MQTTClient/MQTTClient/MQTTClient/MQTTMessage.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/MQTTClient/MQTTPersistence.h:
--------------------------------------------------------------------------------
1 | ../../../MQTTClient/MQTTClient/MQTTClient/MQTTPersistence.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/MQTTClient/MQTTSSLSecurityPolicy.h:
--------------------------------------------------------------------------------
1 | ../../../MQTTClient/MQTTClient/MQTTClient/MQTTSSLSecurityPolicy.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/MQTTClient/MQTTSession.h:
--------------------------------------------------------------------------------
1 | ../../../MQTTClient/MQTTClient/MQTTClient/MQTTSession.h
--------------------------------------------------------------------------------
/Pods/Headers/Private/MQTTClient/MQTTSessionManager.h:
--------------------------------------------------------------------------------
1 | ../../../MQTTClient/MQTTClient/MQTTClient/MQTTSessionManager.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/JSQMessagesViewController/JSQLocationMediaItem.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Model/JSQLocationMediaItem.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMediaItem.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Model/JSQMediaItem.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessage.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Model/JSQMessage.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessageAvatarImageDataSource.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Model/JSQMessageAvatarImageDataSource.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessageBubbleImageDataSource.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Model/JSQMessageBubbleImageDataSource.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessageData.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Model/JSQMessageData.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessageMediaData.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Model/JSQMessageMediaData.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessages.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/JSQMessages.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessagesAvatarImage.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Model/JSQMessagesAvatarImage.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessagesAvatarImageFactory.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Factories/JSQMessagesAvatarImageFactory.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessagesBubbleImage.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Model/JSQMessagesBubbleImage.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessagesBubbleImageFactory.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Factories/JSQMessagesBubbleImageFactory.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessagesBubbleSizeCalculating.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Layout/JSQMessagesBubbleSizeCalculating.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessagesBubblesSizeCalculator.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Layout/JSQMessagesBubblesSizeCalculator.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessagesCellTextView.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesCellTextView.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessagesCollectionView.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesCollectionView.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessagesCollectionViewCell.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesCollectionViewCell.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessagesCollectionViewCellIncoming.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesCollectionViewCellIncoming.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessagesCollectionViewCellOutgoing.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesCollectionViewCellOutgoing.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessagesCollectionViewDataSource.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Model/JSQMessagesCollectionViewDataSource.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessagesCollectionViewDelegateFlowLayout.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Model/JSQMessagesCollectionViewDelegateFlowLayout.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessagesCollectionViewFlowLayout.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Layout/JSQMessagesCollectionViewFlowLayout.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessagesCollectionViewFlowLayoutInvalidationContext.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Layout/JSQMessagesCollectionViewFlowLayoutInvalidationContext.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessagesCollectionViewLayoutAttributes.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Layout/JSQMessagesCollectionViewLayoutAttributes.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessagesComposerTextView.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesComposerTextView.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessagesInputToolbar.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesInputToolbar.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessagesKeyboardController.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Controllers/JSQMessagesKeyboardController.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessagesLabel.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesLabel.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessagesLoadEarlierHeaderView.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesLoadEarlierHeaderView.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessagesMediaPlaceholderView.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesMediaPlaceholderView.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessagesMediaViewBubbleImageMasker.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Factories/JSQMessagesMediaViewBubbleImageMasker.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessagesTimestampFormatter.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Factories/JSQMessagesTimestampFormatter.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessagesToolbarButtonFactory.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Factories/JSQMessagesToolbarButtonFactory.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessagesToolbarContentView.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesToolbarContentView.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessagesTypingIndicatorFooterView.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesTypingIndicatorFooterView.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQMessagesViewController.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Controllers/JSQMessagesViewController.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQPhotoMediaItem.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Model/JSQPhotoMediaItem.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQSystemSoundPlayer+JSQMessages.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Categories/JSQSystemSoundPlayer+JSQMessages.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/JSQVideoMediaItem.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Model/JSQVideoMediaItem.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/NSBundle+JSQMessages.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Categories/NSBundle+JSQMessages.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/NSString+JSQMessages.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Categories/NSString+JSQMessages.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/UIColor+JSQMessages.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Categories/UIColor+JSQMessages.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/UIDevice+JSQMessages.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Categories/UIDevice+JSQMessages.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/UIImage+JSQMessages.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Categories/UIImage+JSQMessages.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQMessagesViewController/UIView+JSQMessages.h:
--------------------------------------------------------------------------------
1 | ../../../JSQMessagesViewController/JSQMessagesViewController/Categories/UIView+JSQMessages.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/JSQSystemSoundPlayer/JSQSystemSoundPlayer.h:
--------------------------------------------------------------------------------
1 | ../../../JSQSystemSoundPlayer/JSQSystemSoundPlayer/Classes/JSQSystemSoundPlayer.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/MQTTClient/MQTTClient.h:
--------------------------------------------------------------------------------
1 | ../../../MQTTClient/MQTTClient/MQTTClient/MQTTClient.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/MQTTClient/MQTTDecoder.h:
--------------------------------------------------------------------------------
1 | ../../../MQTTClient/MQTTClient/MQTTClient/MQTTDecoder.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/MQTTClient/MQTTEncoder.h:
--------------------------------------------------------------------------------
1 | ../../../MQTTClient/MQTTClient/MQTTClient/MQTTEncoder.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/MQTTClient/MQTTMessage.h:
--------------------------------------------------------------------------------
1 | ../../../MQTTClient/MQTTClient/MQTTClient/MQTTMessage.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/MQTTClient/MQTTPersistence.h:
--------------------------------------------------------------------------------
1 | ../../../MQTTClient/MQTTClient/MQTTClient/MQTTPersistence.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/MQTTClient/MQTTSSLSecurityPolicy.h:
--------------------------------------------------------------------------------
1 | ../../../MQTTClient/MQTTClient/MQTTClient/MQTTSSLSecurityPolicy.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/MQTTClient/MQTTSession.h:
--------------------------------------------------------------------------------
1 | ../../../MQTTClient/MQTTClient/MQTTClient/MQTTSession.h
--------------------------------------------------------------------------------
/Pods/Headers/Public/MQTTClient/MQTTSessionManager.h:
--------------------------------------------------------------------------------
1 | ../../../MQTTClient/MQTTClient/MQTTClient/MQTTSessionManager.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/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Base.lproj/JSQMessages.strings:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | // ********************************
20 | // Special thanks to the localization contributors!
21 | //
22 | // https://github.com/jessesquires/JSQMessagesViewController/issues/237
23 | // ********************************
24 |
25 | "load_earlier_messages" = "Load Earlier Messages";
26 |
27 | "send" = "Send";
28 |
29 | "new_message" = "New Message";
30 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_min.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_min.png
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_min@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_min@2x.png
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_min@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_min@3x.png
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_min_tailless.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_min_tailless.png
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_min_tailless@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_min_tailless@2x.png
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_min_tailless@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_min_tailless@3x.png
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_regular.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_regular.png
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_regular@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_regular@2x.png
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_regular@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_regular@3x.png
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_stroked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_stroked.png
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_stroked@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_stroked@2x.png
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_stroked@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_stroked@3x.png
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_stroked_tailless.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_stroked_tailless.png
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_stroked_tailless@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_stroked_tailless@2x.png
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_stroked_tailless@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_stroked_tailless@3x.png
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_tailless.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_tailless.png
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_tailless@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_tailless@2x.png
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_tailless@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/bubble_tailless@3x.png
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/clip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/clip.png
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/clip@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/clip@2x.png
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/clip@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/clip@3x.png
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/play.png
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/play@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/play@2x.png
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/play@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/play@3x.png
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/typing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/typing.png
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/typing@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/typing@2x.png
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/typing@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Images/typing@3x.png
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Sounds/message_received.aiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Sounds/message_received.aiff
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Sounds/message_sent.aiff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/Sounds/message_sent.aiff
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/ar.lproj/JSQMessages.strings:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | // ********************************
20 | // Special thanks to the localization contributors!
21 | //
22 | // https://github.com/jessesquires/JSQMessagesViewController/issues/237
23 | // ********************************
24 |
25 | "load_earlier_messages" = "تحميل الرسائل السابقة";
26 |
27 | "send" = "أرسال";
28 |
29 | "new_message" = "رسالة جديدة";
30 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/de.lproj/JSQMessages.strings:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | // ********************************
20 | // Special thanks to the localization contributors!
21 | //
22 | // https://github.com/jessesquires/JSQMessagesViewController/issues/237
23 | // ********************************
24 |
25 | "load_earlier_messages" = "Ältere Nachrichten laden";
26 |
27 | "send" = "Senden";
28 |
29 | "new_message" = "Neue Nachricht";
30 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/en.lproj/JSQMessages.strings:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | // ********************************
20 | // Special thanks to the localization contributors!
21 | //
22 | // https://github.com/jessesquires/JSQMessagesViewController/issues/237
23 | // ********************************
24 |
25 | "load_earlier_messages" = "Load Earlier Messages";
26 |
27 | "send" = "Send";
28 |
29 | "new_message" = "New Message";
30 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/es.lproj/JSQMessages.strings:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | // ********************************
20 | // Special thanks to the localization contributors!
21 | //
22 | // https://github.com/jessesquires/JSQMessagesViewController/issues/237
23 | // ********************************
24 |
25 | "load_earlier_messages" = "Cargar mensajes anteriores";
26 |
27 | "send" = "Enviar";
28 |
29 | "new_message" = "Nuevo mensaje";
30 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/fr.lproj/JSQMessages.strings:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | // ********************************
20 | // Special thanks to the localization contributors!
21 | //
22 | // https://github.com/jessesquires/JSQMessagesViewController/issues/237
23 | // ********************************
24 |
25 | "load_earlier_messages" = "Messages précedents";
26 |
27 | "send" = "Envoi";
28 |
29 | "new_message" = "Nouveau message";
30 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/he.lproj/JSQMessages.strings:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | // ********************************
20 | // Special thanks to the localization contributors!
21 | //
22 | // https://github.com/jessesquires/JSQMessagesViewController/issues/237
23 | // ********************************
24 |
25 | "load_earlier_messages" = "טען הודעות קודמות";
26 |
27 | "send" = "שלח";
28 |
29 | "new_message" = "הודעה חדשה";
30 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/it.lproj/JSQMessages.strings:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | // ********************************
20 | // Special thanks to the localization contributors!
21 | //
22 | // https://github.com/jessesquires/JSQMessagesViewController/issues/237
23 | // ********************************
24 |
25 | "load_earlier_messages" = "Carica messaggi precedenti";
26 |
27 | "send" = "Invia";
28 |
29 | "new_message" = "Nuovo Messaggio";
30 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/ja.lproj/JSQMessages.strings:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | // ********************************
20 | // Special thanks to the localization contributors!
21 | //
22 | // https://github.com/jessesquires/JSQMessagesViewController/issues/237
23 | // ********************************
24 |
25 | "load_earlier_messages" = "古いメッセージを読み込む";
26 |
27 | "send" = "送信";
28 |
29 | "new_message" = "新しいメッセージ";
30 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/ko.lproj/JSQMessages.strings:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | // ********************************
20 | // Special thanks to the localization contributors!
21 | //
22 | // https://github.com/jessesquires/JSQMessagesViewController/issues/237
23 | // ********************************
24 |
25 | "load_earlier_messages" = "이전 메시지 불러오기";
26 |
27 | "send" = "전송";
28 |
29 | "new_message" = "새로운 메시지";
30 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/nl.lproj/JSQMessages.strings:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | // ********************************
20 | // Special thanks to the localization contributors!
21 | //
22 | // https://github.com/jessesquires/JSQMessagesViewController/issues/237
23 | // ********************************
24 |
25 | "load_earlier_messages" = "Laad eerdere berichten";
26 |
27 | "send" = "Stuur";
28 |
29 | "new_message" = "Nieuw bericht";
30 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/pl.lproj/JSQMessages.strings:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | // ********************************
20 | // Special thanks to the localization contributors!
21 | //
22 | // https://github.com/jessesquires/JSQMessagesViewController/issues/237
23 | // ********************************
24 |
25 | "load_earlier_messages" = "Otwórz wcześniejsze wiadomości";
26 |
27 | "send" = "Wyślij";
28 |
29 | "new_message" = "Nowa wiadomość";
30 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/pt.lproj/JSQMessages.strings:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | // ********************************
20 | // Special thanks to the localization contributors!
21 | //
22 | // https://github.com/jessesquires/JSQMessagesViewController/issues/237
23 | // ********************************
24 |
25 | "load_earlier_messages" = "Carregar mensagens anteriores";
26 |
27 | "send" = "Enviar";
28 |
29 | "new_message" = "Nova Mensagem";
30 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/ro.lproj/JSQMessages.strings:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | // ********************************
20 | // Special thanks to the localization contributors!
21 | //
22 | // https://github.com/jessesquires/JSQMessagesViewController/issues/237
23 | // ********************************
24 |
25 | "load_earlier_messages" = "Încărcați mesajele anterioare";
26 |
27 | "send" = "Trimiteți";
28 |
29 | "new_message" = "Mesaj nou";
30 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/ru.lproj/JSQMessages.strings:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | // ********************************
20 | // Special thanks to the localization contributors!
21 | //
22 | // https://github.com/jessesquires/JSQMessagesViewController/issues/237
23 | // ********************************
24 |
25 | "load_earlier_messages" = "Предыдущие сообщения";
26 |
27 | "send" = "Отпр";
28 |
29 | "new_message" = "Сообщение";
30 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/tr.lproj/JSQMessages.strings:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | // ********************************
20 | // Special thanks to the localization contributors!
21 | //
22 | // https://github.com/jessesquires/JSQMessagesViewController/issues/237
23 | // ********************************
24 |
25 | "load_earlier_messages" = "Eski mesajları yükle";
26 |
27 | "send" = "Gönder";
28 |
29 | "new_message" = "Yeni Mesaj";
30 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/zh-Hans.lproj/JSQMessages.strings:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | // ********************************
20 | // Special thanks to the localization contributors!
21 | //
22 | // https://github.com/jessesquires/JSQMessagesViewController/issues/237
23 | // ********************************
24 |
25 | "load_earlier_messages" = "载入较早的信息";
26 |
27 | "send" = "发送";
28 |
29 | "new_message" = "新信息";
30 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Assets/JSQMessagesAssets.bundle/zh-Hant.lproj/JSQMessages.strings:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | // ********************************
20 | // Special thanks to the localization contributors!
21 | //
22 | // https://github.com/jessesquires/JSQMessagesViewController/issues/237
23 | // ********************************
24 |
25 | "load_earlier_messages" = "載入之前的訊息";
26 |
27 | "send" = "傳送";
28 |
29 | "new_message" = "新信息";
30 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Categories/JSQSystemSoundPlayer+JSQMessages.h:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import
20 |
21 | @interface JSQSystemSoundPlayer (JSQMessages)
22 |
23 | /**
24 | * Plays the default sound for received messages.
25 | */
26 | + (void)jsq_playMessageReceivedSound;
27 |
28 | /**
29 | * Plays the default sound for received messages *as an alert*, invoking device vibration if available.
30 | */
31 | + (void)jsq_playMessageReceivedAlert;
32 |
33 | /**
34 | * Plays the default sound for sent messages.
35 | */
36 | + (void)jsq_playMessageSentSound;
37 |
38 | /**
39 | * Plays the default sound for sent messages *as an alert*, invoking device vibration if available.
40 | */
41 | + (void)jsq_playMessageSentAlert;
42 |
43 | @end
44 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Categories/JSQSystemSoundPlayer+JSQMessages.m:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import "JSQSystemSoundPlayer+JSQMessages.h"
20 |
21 | #import "NSBundle+JSQMessages.h"
22 |
23 |
24 | static NSString * const kJSQMessageReceivedSoundName = @"message_received";
25 | static NSString * const kJSQMessageSentSoundName = @"message_sent";
26 |
27 |
28 | @implementation JSQSystemSoundPlayer (JSQMessages)
29 |
30 | #pragma mark - Public
31 |
32 | + (void)jsq_playMessageReceivedSound
33 | {
34 | [self jsq_playSoundFromJSQMessagesBundleWithName:kJSQMessageReceivedSoundName asAlert:NO];
35 | }
36 |
37 | + (void)jsq_playMessageReceivedAlert
38 | {
39 | [self jsq_playSoundFromJSQMessagesBundleWithName:kJSQMessageReceivedSoundName asAlert:YES];
40 | }
41 |
42 | + (void)jsq_playMessageSentSound
43 | {
44 | [self jsq_playSoundFromJSQMessagesBundleWithName:kJSQMessageSentSoundName asAlert:NO];
45 | }
46 |
47 | + (void)jsq_playMessageSentAlert
48 | {
49 | [self jsq_playSoundFromJSQMessagesBundleWithName:kJSQMessageSentSoundName asAlert:YES];
50 | }
51 |
52 | #pragma mark - Private
53 |
54 | + (void)jsq_playSoundFromJSQMessagesBundleWithName:(NSString *)soundName asAlert:(BOOL)asAlert
55 | {
56 | // save sound player original bundle
57 | NSString *originalPlayerBundleIdentifier = [JSQSystemSoundPlayer sharedPlayer].bundle.bundleIdentifier;
58 |
59 | // search for sounds in this library's bundle
60 | [JSQSystemSoundPlayer sharedPlayer].bundle = [NSBundle jsq_messagesBundle];
61 |
62 | NSString *fileName = [NSString stringWithFormat:@"JSQMessagesAssets.bundle/Sounds/%@", soundName];
63 |
64 | if (asAlert) {
65 | [[JSQSystemSoundPlayer sharedPlayer] playAlertSoundWithFilename:fileName fileExtension:kJSQSystemSoundTypeAIFF];
66 | }
67 | else {
68 | [[JSQSystemSoundPlayer sharedPlayer] playSoundWithFilename:fileName fileExtension:kJSQSystemSoundTypeAIFF];
69 | }
70 |
71 | // restore original bundle
72 | [JSQSystemSoundPlayer sharedPlayer].bundle = [NSBundle bundleWithIdentifier:originalPlayerBundleIdentifier];
73 | }
74 |
75 | @end
76 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Categories/NSBundle+JSQMessages.h:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import
20 |
21 | @interface NSBundle (JSQMessages)
22 |
23 | /**
24 | * @return The bundle for JSQMessagesViewController.
25 | */
26 | + (NSBundle *)jsq_messagesBundle;
27 |
28 | /**
29 | * @return The bundle for assets in JSQMessagesViewController.
30 | */
31 | + (NSBundle *)jsq_messagesAssetBundle;
32 |
33 | /**
34 | * Returns a localized version of the string designated by the specified key and residing in the JSQMessages table.
35 | *
36 | * @param key The key for a string in the JSQMessages table.
37 | *
38 | * @return A localized version of the string designated by key in the JSQMessages table.
39 | */
40 | + (NSString *)jsq_localizedStringForKey:(NSString *)key;
41 |
42 | @end
43 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Categories/NSBundle+JSQMessages.m:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import "NSBundle+JSQMessages.h"
20 |
21 | #import "JSQMessagesViewController.h"
22 |
23 | @implementation NSBundle (JSQMessages)
24 |
25 | + (NSBundle *)jsq_messagesBundle
26 | {
27 | return [NSBundle bundleForClass:[JSQMessagesViewController class]];
28 | }
29 |
30 | + (NSBundle *)jsq_messagesAssetBundle
31 | {
32 | NSString *bundleResourcePath = [NSBundle jsq_messagesBundle].resourcePath;
33 | NSString *assetPath = [bundleResourcePath stringByAppendingPathComponent:@"JSQMessagesAssets.bundle"];
34 | return [NSBundle bundleWithPath:assetPath];
35 | }
36 |
37 | + (NSString *)jsq_localizedStringForKey:(NSString *)key
38 | {
39 | return NSLocalizedStringFromTableInBundle(key, @"JSQMessages", [NSBundle jsq_messagesAssetBundle], nil);
40 | }
41 |
42 | @end
43 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Categories/NSString+JSQMessages.h:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import
20 |
21 | @interface NSString (JSQMessages)
22 |
23 | /**
24 | * @return A copy of the receiver with all leading and trailing whitespace removed.
25 | */
26 | - (NSString *)jsq_stringByTrimingWhitespace;
27 |
28 | @end
29 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Categories/NSString+JSQMessages.m:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import "NSString+JSQMessages.h"
20 |
21 | @implementation NSString (JSQMessages)
22 |
23 | - (NSString *)jsq_stringByTrimingWhitespace
24 | {
25 | return [self stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
26 | }
27 |
28 | @end
29 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Categories/UIColor+JSQMessages.h:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import
20 |
21 | @interface UIColor (JSQMessages)
22 |
23 | #pragma mark - Message bubble colors
24 |
25 | /**
26 | * @return A color object containing HSB values similar to the iOS 7 messages app green bubble color.
27 | */
28 | + (UIColor *)jsq_messageBubbleGreenColor;
29 |
30 | /**
31 | * @return A color object containing HSB values similar to the iOS 7 messages app blue bubble color.
32 | */
33 | + (UIColor *)jsq_messageBubbleBlueColor;
34 |
35 | /**
36 | * @return A color object containing HSB values similar to the iOS 7 red color.
37 | */
38 | + (UIColor *)jsq_messageBubbleRedColor;
39 |
40 | /**
41 | * @return A color object containing HSB values similar to the iOS 7 messages app light gray bubble color.
42 | */
43 | + (UIColor *)jsq_messageBubbleLightGrayColor;
44 |
45 | #pragma mark - Utilities
46 |
47 | /**
48 | * Creates and returns a new color object whose brightness component is decreased by the given value, using the initial color values of the receiver.
49 | *
50 | * @param value A floating point value describing the amount by which to decrease the brightness of the receiver.
51 | *
52 | * @return A new color object whose brightness is decreased by the given values. The other color values remain the same as the receiver.
53 | */
54 | - (UIColor *)jsq_colorByDarkeningColorWithValue:(CGFloat)value;
55 |
56 | @end
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Categories/UIDevice+JSQMessages.h:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import
20 |
21 | @interface UIDevice (JSQMessages)
22 |
23 | /**
24 | * @return Whether or not the current device is running a version of iOS before 8.0.
25 | */
26 | + (BOOL)jsq_isCurrentDeviceBeforeiOS8;
27 |
28 | @end
29 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Categories/UIDevice+JSQMessages.m:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import "UIDevice+JSQMessages.h"
20 |
21 | @implementation UIDevice (JSQMessages)
22 |
23 | + (BOOL)jsq_isCurrentDeviceBeforeiOS8
24 | {
25 | // iOS < 8.0
26 | return [[UIDevice currentDevice].systemVersion compare:@"8.0" options:NSNumericSearch] == NSOrderedAscending;
27 | }
28 |
29 | @end
30 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Categories/UIImage+JSQMessages.h:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import
20 |
21 | @interface UIImage (JSQMessages)
22 |
23 | /**
24 | * Creates and returns a new image object that is masked with the specified mask color.
25 | *
26 | * @param maskColor The color value for the mask. This value must not be `nil`.
27 | *
28 | * @return A new image object masked with the specified color.
29 | */
30 | - (UIImage *)jsq_imageMaskedWithColor:(UIColor *)maskColor;
31 |
32 | /**
33 | * @return The regular message bubble image.
34 | */
35 | + (UIImage *)jsq_bubbleRegularImage;
36 |
37 | /**
38 | * @return The regular message bubble image without a tail.
39 | */
40 | + (UIImage *)jsq_bubbleRegularTaillessImage;
41 |
42 | /**
43 | * @return The regular message bubble image stroked, not filled.
44 | */
45 | + (UIImage *)jsq_bubbleRegularStrokedImage;
46 |
47 | /**
48 | * @return The regular message bubble image stroked, not filled and without a tail.
49 | */
50 | + (UIImage *)jsq_bubbleRegularStrokedTaillessImage;
51 |
52 | /**
53 | * @return The compact message bubble image.
54 | *
55 | * @disscussion This is the default bubble image used by `JSQMessagesBubbleImageFactory`.
56 | */
57 | + (UIImage *)jsq_bubbleCompactImage;
58 |
59 | /**
60 | * @return The compact message bubble image without a tail.
61 | */
62 | + (UIImage *)jsq_bubbleCompactTaillessImage;
63 |
64 | /**
65 | * @return The default input toolbar accessory image.
66 | */
67 | + (UIImage *)jsq_defaultAccessoryImage;
68 |
69 | /**
70 | * @return The default typing indicator image.
71 | */
72 | + (UIImage *)jsq_defaultTypingIndicatorImage;
73 |
74 | /**
75 | * @return The default play icon image.
76 | */
77 | + (UIImage *)jsq_defaultPlayImage;
78 |
79 | @end
80 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Categories/UIView+JSQMessages.h:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import
20 |
21 | @interface UIView (JSQMessages)
22 |
23 | /**
24 | * Pins the subview of the receiver to the edge of its frame, as specified by the given attribute, by adding a layout constraint.
25 | *
26 | * @param subview The subview to which the receiver will be pinned.
27 | * @param attribute The layout constraint attribute specifying one of `NSLayoutAttributeBottom`, `NSLayoutAttributeTop`, `NSLayoutAttributeLeading`, `NSLayoutAttributeTrailing`.
28 | */
29 | - (void)jsq_pinSubview:(UIView *)subview toEdge:(NSLayoutAttribute)attribute;
30 |
31 | /**
32 | * Pins all edges of the specified subview to the receiver.
33 | *
34 | * @param subview The subview to which the receiver will be pinned.
35 | */
36 | - (void)jsq_pinAllEdgesOfSubview:(UIView *)subview;
37 |
38 | @end
39 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Categories/UIView+JSQMessages.m:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import "UIView+JSQMessages.h"
20 |
21 | @implementation UIView (JSQMessages)
22 |
23 | - (void)jsq_pinSubview:(UIView *)subview toEdge:(NSLayoutAttribute)attribute
24 | {
25 | [self addConstraint:[NSLayoutConstraint constraintWithItem:self
26 | attribute:attribute
27 | relatedBy:NSLayoutRelationEqual
28 | toItem:subview
29 | attribute:attribute
30 | multiplier:1.0f
31 | constant:0.0f]];
32 | }
33 |
34 | - (void)jsq_pinAllEdgesOfSubview:(UIView *)subview
35 | {
36 | [self jsq_pinSubview:subview toEdge:NSLayoutAttributeBottom];
37 | [self jsq_pinSubview:subview toEdge:NSLayoutAttributeTop];
38 | [self jsq_pinSubview:subview toEdge:NSLayoutAttributeLeading];
39 | [self jsq_pinSubview:subview toEdge:NSLayoutAttributeTrailing];
40 | }
41 |
42 | @end
43 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Factories/JSQMessagesToolbarButtonFactory.h:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import
20 | #import
21 |
22 | /**
23 | * `JSQMessagesToolbarButtonFactory` is a factory that provides a means for creating the default
24 | * toolbar button items to be displayed in the content view of a `JSQMessagesInputToolbar`.
25 | */
26 | @interface JSQMessagesToolbarButtonFactory : NSObject
27 |
28 | /**
29 | * Creates and returns a new button that is styled as the default accessory button.
30 | * The button has a paper clip icon image and no text.
31 | *
32 | * @return A newly created button.
33 | */
34 | + (UIButton *)defaultAccessoryButtonItem;
35 |
36 | /**
37 | * Creates and returns a new button that is styled as the default send button.
38 | * The button has title text `@"Send"` and no image.
39 | *
40 | * @return A newly created button.
41 | */
42 | + (UIButton *)defaultSendButtonItem;
43 |
44 | @end
45 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/JSQMessages.h:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #ifndef JSQMessages_JSQMessages_h
20 | #define JSQMessages_JSQMessages_h
21 |
22 | #import "JSQMessagesViewController.h"
23 |
24 | // Views
25 | #import "JSQMessagesCollectionView.h"
26 | #import "JSQMessagesCollectionViewCellIncoming.h"
27 | #import "JSQMessagesCollectionViewCellOutgoing.h"
28 | #import "JSQMessagesTypingIndicatorFooterView.h"
29 | #import "JSQMessagesLoadEarlierHeaderView.h"
30 |
31 | // Layout
32 | #import "JSQMessagesBubbleSizeCalculating.h"
33 | #import "JSQMessagesBubblesSizeCalculator.h"
34 | #import "JSQMessagesCollectionViewFlowLayout.h"
35 | #import "JSQMessagesCollectionViewLayoutAttributes.h"
36 | #import "JSQMessagesCollectionViewFlowLayoutInvalidationContext.h"
37 |
38 | // Toolbar
39 | #import "JSQMessagesComposerTextView.h"
40 | #import "JSQMessagesInputToolbar.h"
41 | #import "JSQMessagesToolbarContentView.h"
42 |
43 | // Model
44 | #import "JSQMessage.h"
45 |
46 | #import "JSQMediaItem.h"
47 | #import "JSQPhotoMediaItem.h"
48 | #import "JSQLocationMediaItem.h"
49 | #import "JSQVideoMediaItem.h"
50 |
51 | #import "JSQMessagesBubbleImage.h"
52 | #import "JSQMessagesAvatarImage.h"
53 |
54 | // Protocols
55 | #import "JSQMessageData.h"
56 | #import "JSQMessageMediaData.h"
57 | #import "JSQMessageAvatarImageDataSource.h"
58 | #import "JSQMessageBubbleImageDataSource.h"
59 | #import "JSQMessagesCollectionViewDataSource.h"
60 | #import "JSQMessagesCollectionViewDelegateFlowLayout.h"
61 |
62 | // Factories
63 | #import "JSQMessagesAvatarImageFactory.h"
64 | #import "JSQMessagesBubbleImageFactory.h"
65 | #import "JSQMessagesMediaViewBubbleImageMasker.h"
66 | #import "JSQMessagesTimestampFormatter.h"
67 | #import "JSQMessagesToolbarButtonFactory.h"
68 |
69 | // Categories
70 | #import "JSQSystemSoundPlayer+JSQMessages.h"
71 | #import "NSString+JSQMessages.h"
72 | #import "UIColor+JSQMessages.h"
73 | #import "UIImage+JSQMessages.h"
74 | #import "UIView+JSQMessages.h"
75 | #import "NSBundle+JSQMessages.h"
76 |
77 | #endif
78 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Layout/JSQMessagesBubbleSizeCalculating.h:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import
20 | #import
21 |
22 | @class JSQMessagesCollectionViewFlowLayout;
23 | @protocol JSQMessageData;
24 |
25 | /**
26 | * The `JSQMessagesBubbleSizeCalculating` protocol defines the common interface through which
27 | * an object provides layout information to an instance of `JSQMessagesCollectionViewFlowLayout`.
28 | *
29 | * A concrete class that conforms to this protocol is provided in the library.
30 | * See `JSQMessagesBubbleSizeCalculator`.
31 | */
32 | @protocol JSQMessagesBubbleSizeCalculating
33 |
34 | /**
35 | * Computes and returns the size of the `messageBubbleImageView` property
36 | * of a `JSQMessagesCollectionViewCell` for the specified messageData at indexPath.
37 | *
38 | * @param messageData A message data object.
39 | * @param indexPath The index path at which messageData is located.
40 | * @param layout The layout object asking for this information.
41 | *
42 | * @return A sizes that specifies the required dimensions to display the entire message contents.
43 | * Note, this is *not* the entire cell, but only its message bubble.
44 | */
45 | - (CGSize)messageBubbleSizeForMessageData:(id)messageData
46 | atIndexPath:(NSIndexPath *)indexPath
47 | withLayout:(JSQMessagesCollectionViewFlowLayout *)layout;
48 |
49 | /**
50 | * Notifies the receiver that the layout will be reset.
51 | * Use this method to clear any cached layout information, if necessary.
52 | *
53 | * @param layout The layout object notifying the receiver.
54 | */
55 | - (void)prepareForResettingLayout:(JSQMessagesCollectionViewFlowLayout *)layout;
56 |
57 | @end
58 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Layout/JSQMessagesBubblesSizeCalculator.h:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import
20 |
21 | #import "JSQMessagesBubbleSizeCalculating.h"
22 |
23 | /**
24 | * An instance of `JSQMessagesBubblesSizeCalculator` is responsible for calculating
25 | * message bubble sizes for an instance of `JSQMessagesCollectionViewFlowLayout`.
26 | */
27 | @interface JSQMessagesBubblesSizeCalculator : NSObject
28 |
29 | /**
30 | * Initializes and returns a bubble size calculator with the given cache and minimumBubbleWidth.
31 | *
32 | * @param cache A cache object used to store layout information.
33 | * @param minimumBubbleWidth The minimum width for any given message bubble.
34 | * @param usesFixedWidthBubbles Specifies whether or not to use fixed-width bubbles.
35 | * If `NO` (the default), then bubbles will resize when rotating to landscape.
36 | *
37 | * @return An initialized `JSQMessagesBubblesSizeCalculator` object if successful, `nil` otherwise.
38 | */
39 | - (instancetype)initWithCache:(NSCache *)cache
40 | minimumBubbleWidth:(NSUInteger)minimumBubbleWidth
41 | usesFixedWidthBubbles:(BOOL)usesFixedWidthBubbles NS_DESIGNATED_INITIALIZER;
42 |
43 | @end
44 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Layout/JSQMessagesCollectionViewFlowLayoutInvalidationContext.h:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import
20 |
21 | /**
22 | * A `JSQMessagesCollectionViewFlowLayoutInvalidationContext` object specifies properties for
23 | * determining whether to recompute the size of items or their position in the layout.
24 | * The flow layout object creates instances of this class when it needs to invalidate its contents
25 | * in response to changes. You can also create instances when invalidating the flow layout manually.
26 | *
27 | */
28 | @interface JSQMessagesCollectionViewFlowLayoutInvalidationContext : UICollectionViewFlowLayoutInvalidationContext
29 |
30 | /**
31 | * A boolean indicating whether to empty the messages layout information cache for items and views in the layout.
32 | * The default value is `NO`.
33 | */
34 | @property (nonatomic, assign) BOOL invalidateFlowLayoutMessagesCache;
35 |
36 | /**
37 | * Creates and returns a new `JSQMessagesCollectionViewFlowLayoutInvalidationContext` object.
38 | *
39 | * @discussion When you need to invalidate the `JSQMessagesCollectionViewFlowLayout` object for your
40 | * `JSQMessagesViewController` subclass, you should use this method to instantiate a new invalidation
41 | * context and pass this object to `invalidateLayoutWithContext:`.
42 | *
43 | * @return An initialized invalidation context object if successful, otherwise `nil`.
44 | */
45 | + (instancetype)context;
46 |
47 | @end
48 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Layout/JSQMessagesCollectionViewFlowLayoutInvalidationContext.m:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import "JSQMessagesCollectionViewFlowLayoutInvalidationContext.h"
20 |
21 | @implementation JSQMessagesCollectionViewFlowLayoutInvalidationContext
22 |
23 | #pragma mark - Initialization
24 |
25 | - (instancetype)init
26 | {
27 | self = [super init];
28 | if (self) {
29 | self.invalidateFlowLayoutDelegateMetrics = NO;
30 | self.invalidateFlowLayoutAttributes = NO;
31 | _invalidateFlowLayoutMessagesCache = NO;
32 | }
33 | return self;
34 | }
35 |
36 | + (instancetype)context
37 | {
38 | JSQMessagesCollectionViewFlowLayoutInvalidationContext *context = [[JSQMessagesCollectionViewFlowLayoutInvalidationContext alloc] init];
39 | context.invalidateFlowLayoutDelegateMetrics = YES;
40 | context.invalidateFlowLayoutAttributes = YES;
41 | return context;
42 | }
43 |
44 | #pragma mark - NSObject
45 |
46 | - (NSString *)description
47 | {
48 | return [NSString stringWithFormat:@"<%@: invalidateFlowLayoutDelegateMetrics=%@, invalidateFlowLayoutAttributes=%@, invalidateDataSourceCounts=%@, invalidateFlowLayoutMessagesCache=%@>",
49 | [self class], @(self.invalidateFlowLayoutDelegateMetrics), @(self.invalidateFlowLayoutAttributes), @(self.invalidateDataSourceCounts), @(self.invalidateFlowLayoutMessagesCache)];
50 | }
51 |
52 | @end
53 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Model/JSQMediaItem.h:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import "JSQMessageMediaData.h"
20 |
21 | /**
22 | * The `JSQMediaItem` class is an abstract base class for media item model objects that represents
23 | * a single media attachment for a user message. It provides some default behavior for media items,
24 | * including a default mediaViewDisplaySize, a default mediaPlaceholderView, and view masking as
25 | * specified by appliesMediaViewMaskAsOutgoing.
26 | *
27 | * @warning This class is intended to be subclassed. You should not use it directly.
28 | *
29 | * @see JSQLocationMediaItem.
30 | * @see JSQPhotoMediaItem.
31 | * @see JSQVideoMediaItem.
32 | */
33 | @interface JSQMediaItem : NSObject
34 |
35 | /**
36 | * A boolean value indicating whether this media item should apply
37 | * an outgoing or incoming bubble image mask to its media views.
38 | * Specify `YES` for an outgoing mask, and `NO` for an incoming mask.
39 | * The default value is `YES`.
40 | */
41 | @property (assign, nonatomic) BOOL appliesMediaViewMaskAsOutgoing;
42 |
43 | /**
44 | * Initializes and returns a media item with the specified value for maskAsOutgoing.
45 | *
46 | * @param maskAsOutgoing A boolean value indicating whether this media item should apply
47 | * an outgoing or incoming bubble image mask to its media views.
48 | *
49 | * @return An initialized `JSQMediaItem` object if successful, `nil` otherwise.
50 | */
51 | - (instancetype)initWithMaskAsOutgoing:(BOOL)maskAsOutgoing;
52 |
53 | /**
54 | * Clears any media view or media placeholder view that the item has cached.
55 | */
56 | - (void)clearCachedMediaViews;
57 |
58 | @end
59 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Model/JSQMessageAvatarImageDataSource.h:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import
20 | #import
21 |
22 | /**
23 | * The `JSQMessageAvatarImageDataSource` protocol defines the common interface through which
24 | * a `JSQMessagesViewController` and `JSQMessagesCollectionView` interact with avatar image model objects.
25 | *
26 | * It declares the required and optional methods that a class must implement so that instances
27 | * of that class can be display properly within a `JSQMessagesCollectionViewCell`.
28 | *
29 | * A concrete class that conforms to this protocol is provided in the library. See `JSQMessagesAvatarImage`.
30 | *
31 | * @see JSQMessagesAvatarImage.
32 | */
33 | @protocol JSQMessageAvatarImageDataSource
34 |
35 | @required
36 |
37 | /**
38 | * @return The avatar image for a regular display state.
39 | *
40 | * @discussion You may return `nil` from this method while the image is being downloaded.
41 | */
42 | - (UIImage *)avatarImage;
43 |
44 | /**
45 | * @return The avatar image for a highlighted display state.
46 | *
47 | * @discussion You may return `nil` from this method if this does not apply.
48 | */
49 | - (UIImage *)avatarHighlightedImage;
50 |
51 | /**
52 | * @return A placeholder avatar image to be displayed if avatarImage is not yet available, or `nil`.
53 | * For example, if avatarImage needs to be downloaded, this placeholder image
54 | * will be used until avatarImage is not `nil`.
55 | *
56 | * @discussion If you do not need support for a placeholder image, that is, your images
57 | * are stored locally on the device, then you may simply return the same value as avatarImage here.
58 | *
59 | * @warning You must not return `nil` from this method.
60 | */
61 | - (UIImage *)avatarPlaceholderImage;
62 |
63 | @end
64 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Model/JSQMessageBubbleImageDataSource.h:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import
20 | #import
21 |
22 | /**
23 | * The `JSQMessageBubbleImageDataSource` protocol defines the common interface through which
24 | * a `JSQMessagesViewController` and `JSQMessagesCollectionView` interact with
25 | * message bubble image model objects.
26 | *
27 | * It declares the required and optional methods that a class must implement so that instances
28 | * of that class can be display properly within a `JSQMessagesCollectionViewCell`.
29 | *
30 | * A concrete class that conforms to this protocol is provided in the library. See `JSQMessagesBubbleImage`.
31 | *
32 | * @see JSQMessagesBubbleImage.
33 | */
34 | @protocol JSQMessageBubbleImageDataSource
35 |
36 | @required
37 |
38 | /**
39 | * @return The message bubble image for a regular display state.
40 | *
41 | * @warning You must not return `nil` from this method.
42 | */
43 | - (UIImage *)messageBubbleImage;
44 |
45 | /**
46 | * @return The message bubble image for a highlighted display state.
47 | *
48 | * @warning You must not return `nil` from this method.
49 | */
50 | - (UIImage *)messageBubbleHighlightedImage;
51 |
52 | @end
53 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Model/JSQMessagesBubbleImage.h:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import
20 | #import
21 |
22 | #import "JSQMessageBubbleImageDataSource.h"
23 |
24 | /**
25 | * A `JSQMessagesBubbleImage` model object represents a message bubble image, and is immutable.
26 | * This is a concrete class that implements the `JSQMessageBubbleImageDataSource` protocol.
27 | * It contains a regular message bubble image and a highlighted message bubble image.
28 | *
29 | * @see JSQMessagesBubbleImageFactory.
30 | */
31 | @interface JSQMessagesBubbleImage : NSObject
32 |
33 | /**
34 | * Returns the message bubble image for a regular display state.
35 | */
36 | @property (strong, nonatomic, readonly) UIImage *messageBubbleImage;
37 |
38 | /**
39 | * Returns the message bubble image for a highlighted display state.
40 | */
41 | @property (strong, nonatomic, readonly) UIImage *messageBubbleHighlightedImage;
42 |
43 | /**
44 | * Initializes and returns a message bubble image object having the specified regular image and highlighted image.
45 | *
46 | * @param image The regular message bubble image. This value must not be `nil`.
47 | * @param highlightedImage The highlighted message bubble image. This value must not be `nil`.
48 | *
49 | * @return An initialized `JSQMessagesBubbleImage` object if successful, `nil` otherwise.
50 | *
51 | * @see JSQMessagesBubbleImageFactory.
52 | */
53 | - (instancetype)initWithMessageBubbleImage:(UIImage *)image highlightedImage:(UIImage *)highlightedImage;
54 |
55 | @end
56 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Model/JSQMessagesBubbleImage.m:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import "JSQMessagesBubbleImage.h"
20 |
21 | @implementation JSQMessagesBubbleImage
22 |
23 | #pragma mark - Initialization
24 |
25 | - (instancetype)initWithMessageBubbleImage:(UIImage *)image highlightedImage:(UIImage *)highlightedImage
26 | {
27 | NSParameterAssert(image != nil);
28 | NSParameterAssert(highlightedImage != nil);
29 |
30 | self = [super init];
31 | if (self) {
32 | _messageBubbleImage = image;
33 | _messageBubbleHighlightedImage = highlightedImage;
34 | }
35 | return self;
36 | }
37 |
38 | - (id)init
39 | {
40 | NSAssert(NO, @"%s is not a valid initializer for %@. Use %@ instead.",
41 | __PRETTY_FUNCTION__, [self class], NSStringFromSelector(@selector(initWithMessageBubbleImage:highlightedImage:)));
42 | return nil;
43 | }
44 |
45 | #pragma mark - NSObject
46 |
47 | - (NSString *)description
48 | {
49 | return [NSString stringWithFormat:@"<%@: messageBubbleImage=%@, messageBubbleHighlightedImage=%@>",
50 | [self class], self.messageBubbleImage, self.messageBubbleHighlightedImage];
51 | }
52 |
53 | - (id)debugQuickLookObject
54 | {
55 | return [[UIImageView alloc] initWithImage:self.messageBubbleImage highlightedImage:self.messageBubbleHighlightedImage];
56 | }
57 |
58 | #pragma mark - NSCopying
59 |
60 | - (instancetype)copyWithZone:(NSZone *)zone
61 | {
62 | return [[[self class] allocWithZone:zone] initWithMessageBubbleImage:[UIImage imageWithCGImage:self.messageBubbleImage.CGImage]
63 | highlightedImage:[UIImage imageWithCGImage:self.messageBubbleHighlightedImage.CGImage]];
64 | }
65 |
66 | @end
67 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Model/JSQPhotoMediaItem.h:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import "JSQMediaItem.h"
20 |
21 | /**
22 | * The `JSQPhotoMediaItem` class is a concrete `JSQMediaItem` subclass that implements the `JSQMessageMediaData` protocol
23 | * and represents a photo media message. An initialized `JSQPhotoMediaItem` object can be passed
24 | * to a `JSQMediaMessage` object during its initialization to construct a valid media message object.
25 | * You may wish to subclass `JSQPhotoMediaItem` to provide additional functionality or behavior.
26 | */
27 | @interface JSQPhotoMediaItem : JSQMediaItem
28 |
29 | /**
30 | * The image for the photo media item. The default value is `nil`.
31 | */
32 | @property (copy, nonatomic) UIImage *image;
33 |
34 | /**
35 | * Initializes and returns a photo media item object having the given image.
36 | *
37 | * @param image The image for the photo media item. This value may be `nil`.
38 | *
39 | * @return An initialized `JSQPhotoMediaItem` if successful, `nil` otherwise.
40 | *
41 | * @discussion If the image must be dowloaded from the network,
42 | * you may initialize a `JSQPhotoMediaItem` object with a `nil` image.
43 | * Once the image has been retrieved, you can then set the image property.
44 | */
45 | - (instancetype)initWithImage:(UIImage *)image;
46 |
47 | @end
48 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Model/JSQVideoMediaItem.h:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import "JSQMediaItem.h"
20 |
21 | /**
22 | * The `JSQVideoMediaItem` class is a concrete `JSQMediaItem` subclass that implements the `JSQMessageMediaData` protocol
23 | * and represents a video media message. An initialized `JSQVideoMediaItem` object can be passed
24 | * to a `JSQMediaMessage` object during its initialization to construct a valid media message object.
25 | * You may wish to subclass `JSQVideoMediaItem` to provide additional functionality or behavior.
26 | */
27 | @interface JSQVideoMediaItem : JSQMediaItem
28 |
29 | /**
30 | * The URL that identifies a video resource.
31 | */
32 | @property (nonatomic, strong) NSURL *fileURL;
33 |
34 | /**
35 | * A boolean value that specifies whether or not the video is ready to be played.
36 | *
37 | * @discussion When set to `YES`, the video is ready. When set to `NO` it is not ready.
38 | */
39 | @property (nonatomic, assign) BOOL isReadyToPlay;
40 |
41 | /**
42 | * Initializes and returns a video media item having the given fileURL.
43 | *
44 | * @param fileURL The URL that identifies the video resource.
45 | * @param isReadyToPlay A boolean value that specifies if the video is ready to play.
46 | *
47 | * @return An initialized `JSQVideoMediaItem` if successful, `nil` otherwise.
48 | *
49 | * @discussion If the video must be downloaded from the network,
50 | * you may initialize a `JSQVideoMediaItem` with a `nil` fileURL or specify `NO` for
51 | * isReadyToPlay. Once the video has been saved to disk, or is ready to stream, you can
52 | * set the fileURL property or isReadyToPlay property, respectively.
53 | */
54 | - (instancetype)initWithFileURL:(NSURL *)fileURL isReadyToPlay:(BOOL)isReadyToPlay;
55 |
56 | @end
57 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesCellTextView.h:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import
20 |
21 | /**
22 | * `JSQMessagesCellTextView` is a subclass of `UITextView` that is used to display text
23 | * in a `JSQMessagesCollectionViewCell`.
24 | */
25 | @interface JSQMessagesCellTextView : UITextView
26 |
27 | @end
28 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesCollectionViewCellIncoming.h:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import "JSQMessagesCollectionViewCell.h"
20 |
21 | /**
22 | * A `JSQMessagesCollectionViewCellIncoming` object is a concrete instance
23 | * of `JSQMessagesCollectionViewCell` that represents an incoming message data item.
24 | */
25 | @interface JSQMessagesCollectionViewCellIncoming : JSQMessagesCollectionViewCell
26 |
27 | @end
28 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesCollectionViewCellIncoming.m:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import "JSQMessagesCollectionViewCellIncoming.h"
20 |
21 | @implementation JSQMessagesCollectionViewCellIncoming
22 |
23 | #pragma mark - Overrides
24 |
25 | - (void)awakeFromNib
26 | {
27 | [super awakeFromNib];
28 | self.messageBubbleTopLabel.textAlignment = NSTextAlignmentLeft;
29 | self.cellBottomLabel.textAlignment = NSTextAlignmentLeft;
30 | }
31 |
32 | @end
33 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesCollectionViewCellOutgoing.h:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import "JSQMessagesCollectionViewCell.h"
20 |
21 | /**
22 | * A `JSQMessagesCollectionViewCellOutgoing` object is a concrete instance
23 | * of `JSQMessagesCollectionViewCell` that represents an outgoing message data item.
24 | */
25 | @interface JSQMessagesCollectionViewCellOutgoing : JSQMessagesCollectionViewCell
26 |
27 | @end
28 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesCollectionViewCellOutgoing.m:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import "JSQMessagesCollectionViewCellOutgoing.h"
20 |
21 | @implementation JSQMessagesCollectionViewCellOutgoing
22 |
23 | #pragma mark - Overrides
24 |
25 | - (void)awakeFromNib
26 | {
27 | [super awakeFromNib];
28 | self.messageBubbleTopLabel.textAlignment = NSTextAlignmentRight;
29 | self.cellBottomLabel.textAlignment = NSTextAlignmentRight;
30 | }
31 |
32 | @end
33 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesComposerTextView.h:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import
20 |
21 | @class JSQMessagesComposerTextView;
22 |
23 | /**
24 | * A delegate object used to notify the receiver of paste events from a `JSQMessagesComposerTextView`.
25 | */
26 | @protocol JSQMessagesComposerTextViewPasteDelegate
27 |
28 | /**
29 | * Asks the delegate whether or not the `textView` should use the original implementation of `-[UITextView paste]`.
30 | *
31 | * @discussion Use this delegate method to implement custom pasting behavior.
32 | * You should return `NO` when you want to handle pasting.
33 | * Return `YES` to defer functionality to the `textView`.
34 | */
35 | - (BOOL)composerTextView:(JSQMessagesComposerTextView *)textView shouldPasteWithSender:(id)sender;
36 |
37 | @end
38 |
39 | /**
40 | * An instance of `JSQMessagesComposerTextView` is a subclass of `UITextView` that is styled and used
41 | * for composing messages in a `JSQMessagesViewController`. It is a subview of a `JSQMessagesToolbarContentView`.
42 | */
43 | @interface JSQMessagesComposerTextView : UITextView
44 |
45 | /**
46 | * The text to be displayed when the text view is empty. The default value is `nil`.
47 | */
48 | @property (copy, nonatomic) NSString *placeHolder;
49 |
50 | /**
51 | * The color of the place holder text. The default value is `[UIColor lightGrayColor]`.
52 | */
53 | @property (strong, nonatomic) UIColor *placeHolderTextColor;
54 |
55 | /**
56 | * The object that acts as the paste delegate of the text view.
57 | */
58 | @property (weak, nonatomic) id pasteDelegate;
59 |
60 | /**
61 | * Determines whether or not the text view contains text after trimming white space
62 | * from the front and back of its string.
63 | *
64 | * @return `YES` if the text view contains text, `NO` otherwise.
65 | */
66 | - (BOOL)hasText;
67 |
68 | @end
69 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesLabel.h:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import
20 |
21 | /**
22 | * `JSQMessagesLabel` is a subclass of `UILabel` that adds support for a `textInsets` property,
23 | * which is similar to the `textContainerInset` property of `UITextView`.
24 | */
25 | @interface JSQMessagesLabel : UILabel
26 |
27 | /**
28 | * The inset of the text layout area within the label's content area. The default value is `UIEdgeInsetsZero`.
29 | *
30 | * @discussion This property provides text margins for the text laid out in the label.
31 | * The inset values provided must be greater than or equal to `0.0f`.
32 | */
33 | @property (assign, nonatomic) UIEdgeInsets textInsets;
34 |
35 | @end
36 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesLabel.m:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import "JSQMessagesLabel.h"
20 |
21 |
22 | @interface JSQMessagesLabel ()
23 |
24 | - (void)jsq_configureLabel;
25 |
26 | @end
27 |
28 |
29 | @implementation JSQMessagesLabel
30 |
31 | #pragma mark - Initialization
32 |
33 | - (void)jsq_configureLabel
34 | {
35 | [self setTranslatesAutoresizingMaskIntoConstraints:NO];
36 | self.textInsets = UIEdgeInsetsZero;
37 | }
38 |
39 | - (instancetype)initWithFrame:(CGRect)frame
40 | {
41 | self = [super initWithFrame:frame];
42 | if (self) {
43 | [self jsq_configureLabel];
44 | }
45 | return self;
46 | }
47 |
48 | - (void)awakeFromNib
49 | {
50 | [super awakeFromNib];
51 | [self jsq_configureLabel];
52 | }
53 |
54 | #pragma mark - Setters
55 |
56 | - (void)setTextInsets:(UIEdgeInsets)textInsets
57 | {
58 | if (UIEdgeInsetsEqualToEdgeInsets(_textInsets, textInsets)) {
59 | return;
60 | }
61 |
62 | _textInsets = textInsets;
63 | [self setNeedsDisplay];
64 | }
65 |
66 | #pragma mark - Drawing
67 |
68 | - (void)drawTextInRect:(CGRect)rect
69 | {
70 | [super drawTextInRect:CGRectMake(CGRectGetMinX(rect) + self.textInsets.left,
71 | CGRectGetMinY(rect) + self.textInsets.top,
72 | CGRectGetWidth(rect) - self.textInsets.right,
73 | CGRectGetHeight(rect) - self.textInsets.bottom)];
74 | }
75 |
76 | @end
77 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesLoadEarlierHeaderView.h:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 | #import
20 |
21 | @class JSQMessagesLoadEarlierHeaderView;
22 |
23 | /**
24 | * A constant defining the default height of a `JSQMessagesLoadEarlierHeaderView`.
25 | */
26 | FOUNDATION_EXPORT const CGFloat kJSQMessagesLoadEarlierHeaderViewHeight;
27 |
28 | /**
29 | * The `JSQMessagesLoadEarlierHeaderViewDelegate` defines methods that allow you to
30 | * respond to interactions within the header view.
31 | */
32 | @protocol JSQMessagesLoadEarlierHeaderViewDelegate
33 |
34 | @required
35 |
36 | /**
37 | * Tells the delegate that the loadButton has received a touch event.
38 | *
39 | * @param headerView The header view that contains the sender.
40 | * @param sender The button that received the touch.
41 | */
42 | - (void)headerView:(JSQMessagesLoadEarlierHeaderView *)headerView didPressLoadButton:(UIButton *)sender;
43 |
44 | @end
45 |
46 |
47 | /**
48 | * The `JSQMessagesLoadEarlierHeaderView` class implements a reusable view that can be placed
49 | * at the top of a `JSQMessagesCollectionView`. This view contains a "load earlier messages" button
50 | * and can be used as a way for the user to load previously sent messages.
51 | */
52 | @interface JSQMessagesLoadEarlierHeaderView : UICollectionReusableView
53 |
54 | /**
55 | * The object that acts as the delegate of the header view.
56 | */
57 | @property (weak, nonatomic) id delegate;
58 |
59 | /**
60 | * Returns the load button of the header view.
61 | */
62 | @property (weak, nonatomic, readonly) UIButton *loadButton;
63 |
64 | #pragma mark - Class methods
65 |
66 | /**
67 | * Returns the `UINib` object initialized for the collection reusable view.
68 | *
69 | * @return The initialized `UINib` object or `nil` if there were errors during
70 | * initialization or the nib file could not be located.
71 | */
72 | + (UINib *)nib;
73 |
74 | /**
75 | * Returns the default string used to identify the reusable header view.
76 | *
77 | * @return The string used to identify the reusable header view.
78 | */
79 | + (NSString *)headerReuseIdentifier;
80 |
81 | @end
82 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/JSQMessagesViewController/Views/JSQMessagesLoadEarlierHeaderView.m:
--------------------------------------------------------------------------------
1 | //
2 | // Created by Jesse Squires
3 | // http://www.jessesquires.com
4 | //
5 | //
6 | // Documentation
7 | // http://cocoadocs.org/docsets/JSQMessagesViewController
8 | //
9 | //
10 | // GitHub
11 | // https://github.com/jessesquires/JSQMessagesViewController
12 | //
13 | //
14 | // License
15 | // Copyright (c) 2014 Jesse Squires
16 | // Released under an MIT license: http://opensource.org/licenses/MIT
17 | //
18 |
19 |
20 | #import "JSQMessagesLoadEarlierHeaderView.h"
21 |
22 | #import "NSBundle+JSQMessages.h"
23 |
24 |
25 | const CGFloat kJSQMessagesLoadEarlierHeaderViewHeight = 32.0f;
26 |
27 |
28 | @interface JSQMessagesLoadEarlierHeaderView ()
29 |
30 | @property (weak, nonatomic) IBOutlet UIButton *loadButton;
31 |
32 | - (IBAction)loadButtonPressed:(UIButton *)sender;
33 |
34 | @end
35 |
36 |
37 |
38 | @implementation JSQMessagesLoadEarlierHeaderView
39 |
40 | #pragma mark - Class methods
41 |
42 | + (UINib *)nib
43 | {
44 | return [UINib nibWithNibName:NSStringFromClass([JSQMessagesLoadEarlierHeaderView class])
45 | bundle:[NSBundle bundleForClass:[JSQMessagesLoadEarlierHeaderView class]]];
46 | }
47 |
48 | + (NSString *)headerReuseIdentifier
49 | {
50 | return NSStringFromClass([JSQMessagesLoadEarlierHeaderView class]);
51 | }
52 |
53 | #pragma mark - Initialization
54 |
55 | - (void)awakeFromNib
56 | {
57 | [super awakeFromNib];
58 | [self setTranslatesAutoresizingMaskIntoConstraints:NO];
59 |
60 | self.backgroundColor = [UIColor clearColor];
61 |
62 | [self.loadButton setTitle:[NSBundle jsq_localizedStringForKey:@"load_earlier_messages"] forState:UIControlStateNormal];
63 | self.loadButton.titleLabel.font = [UIFont preferredFontForTextStyle:UIFontTextStyleBody];
64 | }
65 |
66 | - (void)dealloc
67 | {
68 | _loadButton = nil;
69 | _delegate = nil;
70 | }
71 |
72 | #pragma mark - Reusable view
73 |
74 | - (void)setBackgroundColor:(UIColor *)backgroundColor
75 | {
76 | [super setBackgroundColor:backgroundColor];
77 | self.loadButton.backgroundColor = backgroundColor;
78 | }
79 |
80 | #pragma mark - Actions
81 |
82 | - (IBAction)loadButtonPressed:(UIButton *)sender
83 | {
84 | [self.delegate headerView:self didPressLoadButton:sender];
85 | }
86 |
87 | @end
88 |
--------------------------------------------------------------------------------
/Pods/JSQMessagesViewController/LICENSE:
--------------------------------------------------------------------------------
1 |
2 | MIT License
3 | Copyright (c) 2013-present Jesse Squires
4 |
5 | http://www.hexedbits.com
6 |
7 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
8 | associated documentation files (the "Software"), to deal in the Software without restriction, including
9 | without limitation the rights 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 furnished to do so, subject to the
11 | 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 IMPLIED, INCLUDING BUT NOT
17 | LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
20 | OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 |
--------------------------------------------------------------------------------
/Pods/JSQSystemSoundPlayer/LICENSE:
--------------------------------------------------------------------------------
1 |
2 | MIT License
3 | Copyright (c) 2013 Jesse Squires
4 |
5 | http://www.hexedbits.com
6 |
7 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
8 | associated documentation files (the "Software"), to deal in the Software without restriction, including
9 | without limitation the rights 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 furnished to do so, subject to the
11 | 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 IMPLIED, INCLUDING BUT NOT
17 | LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
20 | OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 |
--------------------------------------------------------------------------------
/Pods/MQTTClient/MQTTClient/MQTTClient/MQTTClient.h:
--------------------------------------------------------------------------------
1 | //
2 | // MQTTClient.h
3 | // MQTTClient
4 | //
5 | // Created by Christoph Krey on 13.01.14.
6 | // Copyright (c) 2013-2015 Christoph Krey. All rights reserved.
7 | //
8 |
9 | /**
10 | Include this file to use MQTTClient classes in your application
11 |
12 | @author Christoph Krey krey.christoph@gmail.com
13 | @see http://mqtt.org
14 | */
15 |
16 | #import
17 |
18 | #import
19 | #import
20 | #import
21 |
--------------------------------------------------------------------------------
/Pods/MQTTClient/MQTTClient/MQTTClient/MQTTEncoder.h:
--------------------------------------------------------------------------------
1 | //
2 | // MQTTEncoder.h
3 | // MQTTClient.framework
4 | //
5 | // Copyright (c) 2013-2015, Christoph Krey
6 | //
7 | // based on
8 | //
9 | // Copyright (c) 2011, 2013, 2lemetry LLC
10 | //
11 | // All rights reserved. This program and the accompanying materials
12 | // are made available under the terms of the Eclipse Public License v1.0
13 | // which accompanies this distribution, and is available at
14 | // http://www.eclipse.org/legal/epl-v10.html
15 | //
16 | // Contributors:
17 | // Kyle Roche - initial API and implementation and/or initial documentation
18 | //
19 |
20 | #import
21 | #import "MQTTMessage.h"
22 | #import "MQTTSSLSecurityPolicy.h"
23 |
24 | typedef enum {
25 | MQTTEncoderEventReady,
26 | MQTTEncoderEventErrorOccurred
27 | } MQTTEncoderEvent;
28 |
29 | typedef enum {
30 | MQTTEncoderStatusInitializing,
31 | MQTTEncoderStatusReady,
32 | MQTTEncoderStatusSending,
33 | MQTTEncoderStatusEndEncountered,
34 | MQTTEncoderStatusError
35 | } MQTTEncoderStatus;
36 |
37 | @class MQTTEncoder;
38 |
39 | @protocol MQTTEncoderDelegate
40 | - (void)encoder:(MQTTEncoder*)sender handleEvent:(MQTTEncoderEvent)eventCode error:(NSError *)error;
41 | - (void)encoder:(MQTTEncoder*)sender sending:(int)type qos:(int)qos retained:(BOOL)retained duped:(BOOL)duped mid:(UInt16)mid data:(NSData *)data;
42 | @end
43 |
44 |
45 | @interface MQTTEncoder : NSObject
46 | @property (nonatomic) MQTTEncoderStatus status;
47 | @property (strong, nonatomic) NSOutputStream* stream;
48 | @property (strong, nonatomic) NSRunLoop* runLoop;
49 | @property (strong, nonatomic) NSString* runLoopMode;
50 | @property (strong, nonatomic) NSMutableData* buffer;
51 | @property (nonatomic) NSInteger byteIndex;
52 | @property (weak, nonatomic) id delegate;
53 |
54 | - (id)initWithStream:(NSOutputStream *)stream
55 | runLoop:(NSRunLoop *)runLoop
56 | runLoopMode:(NSString *)mode;
57 |
58 | - (id)initWithStream:(NSOutputStream *)stream
59 | runLoop:(NSRunLoop *)runLoop
60 | runLoopMode:(NSString *)mode
61 | securityPolicy:(MQTTSSLSecurityPolicy *)securityPolicy
62 | securityDomain:(NSString *)securityDomain;
63 |
64 | - (void)open;
65 | - (void)close;
66 | - (MQTTEncoderStatus)status;
67 | - (void)stream:(NSStream*)sender handleEvent:(NSStreamEvent)eventCode;
68 | - (void)encodeMessage:(MQTTMessage*)msg;
69 |
70 | @end
71 |
72 |
--------------------------------------------------------------------------------
/Pods/MQTTClient/MQTTClient/MQTTClient/MQTTPersistence.h:
--------------------------------------------------------------------------------
1 | //
2 | // MQTTPersistence.h
3 | // MQTTClient
4 | //
5 | // Created by Christoph Krey on 22.03.15.
6 | // Copyright (c) 2015 Christoph Krey. All rights reserved.
7 | //
8 |
9 | #import
10 | #import
11 | #import "MQTTMessage.h"
12 |
13 | @interface MQTTFlow : NSManagedObject
14 | @property (strong, nonatomic) NSString *clientId;
15 | @property (strong, nonatomic) NSNumber *incomingFlag;
16 | @property (strong, nonatomic) NSNumber *retainedFlag;
17 | @property (strong, nonatomic) NSNumber *commandType;
18 | @property (strong, nonatomic) NSNumber *qosLevel;
19 | @property (strong, nonatomic) NSNumber *messageId;
20 | @property (strong, nonatomic) NSString *topic;
21 | @property (strong, nonatomic) NSData *data;
22 | @property (strong, nonatomic) NSDate *deadline;
23 |
24 | @end
25 |
26 | @interface MQTTPersistence : NSObject
27 | @property (nonatomic) BOOL persistent;
28 | @property (nonatomic) NSUInteger maxWindowSize;
29 | @property (nonatomic) NSUInteger maxMessages;
30 | @property (nonatomic) NSUInteger maxSize;
31 |
32 | - (NSUInteger)windowSize:(NSString *)clientId;
33 | - (MQTTFlow *)storeMessageForClientId:(NSString *)clientId
34 | topic:(NSString *)topic
35 | data:(NSData *)data
36 | retainFlag:(BOOL)retainFlag
37 | qos:(MQTTQosLevel)qos
38 | msgId:(UInt16)msgId
39 | incomingFlag:(BOOL)incomingFlag;
40 |
41 | - (void)deleteFlow:(MQTTFlow *)flow;
42 | - (void)deleteAllFlowsForClientId:(NSString *)clientId;
43 | - (NSArray *)allFlowsforClientId:(NSString *)clientId
44 | incomingFlag:(BOOL)incomingFlag;
45 | - (MQTTFlow *)flowforClientId:(NSString *)clientId
46 | incomingFlag:(BOOL)incomingFlag
47 | messageId:(UInt16)messageId;
48 |
49 | - (MQTTFlow *)createFlowforClientId:(NSString *)clientId
50 | incomingFlag:(BOOL)incomingFlag
51 | messageId:(UInt16)messageId;
52 | - (void)sync;
53 |
54 | @end
55 |
--------------------------------------------------------------------------------
/Pods/MQTTClient/README.md:
--------------------------------------------------------------------------------
1 | MQTT-Client-Framework
2 | =====================
3 |
4 | an Objective-C native MQTT Framework http://mqtt.org
5 |
6 | ### Tested with
7 |
8 | * mosquitto
9 | * paho
10 | * rabbitmq
11 | * hivemq
12 | * rsmb
13 | * mosca
14 | * vernemq
15 | * emqtt
16 | * moquette
17 | * ActiveMQ
18 | * Apollo
19 | * CloudMQTT
20 |
21 | ### Howto
22 |
23 | Add MQTTClient.framework from the dist directory to your IOS project
24 | or use the CocoaPod MQTTClient
25 |
26 | [Documentation](MQTTClient/dist/documentation/html/index.html)
27 |
28 | ### Usage
29 |
30 | Create a new client and connect to a broker:
31 |
32 | ```objective-c
33 | MQTTSession *session = [[MQTTSession alloc]initWithClientId:@"client_id"]
34 |
35 | // Set delegate appropriately to receive various events
36 | // See MQTTSession.h for information on various handlers
37 | // you can subscribe to.
38 | [session setDelegate:self];
39 |
40 | [session connectAndWaitToHost:@"host" port:1883 usingSSL:NO];
41 |
42 | ```
43 |
44 | Subscribe to a topic:
45 |
46 | ```objective-c
47 | [session subscribeToTopic:topic atLevel:MQTTQosLevelAtLeastOnce];
48 | ```
49 |
50 | Publish a message to a topic:
51 |
52 | ```objective-c
53 | [session publishAndWaitData:data
54 | onTopic:@"topic"
55 | retain:NO
56 | qos:MQTTQosLevelAtLeastOnce]
57 | ```
58 |
59 | #### Framework
60 |
61 | Framework build using instructions and scripts by Jeff Verkoeyen https://github.com/jverkoey/iOS-Framework
62 |
63 | #### docs
64 |
65 | Documentation generated with doxygen http://doxygen.org
66 |
67 | #### Comparison MQTT Clients for iOS (incomplete)
68 |
69 | |Wrapper|---|----|MQTTKit |Marquette|Moscapsule|Musqueteer|MQTT-Client|MqttSDK|CocoaMQTT|
70 | |-------|---|----|---------|---------|----------|----------|-----------|-------|---------|
71 | | | | |Obj-C |Obj-C |Swift |Obj-C |Obj-C |Obj-C |Swift |
72 | |Library|IBM|Paho|Mosquitto|Mosquitto|Mosquitto |Mosquitto |native |native |native |
73 |
--------------------------------------------------------------------------------
/Pods/Manifest.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - JSQMessagesViewController (7.2.0):
3 | - JSQSystemSoundPlayer (~> 2.0.1)
4 | - JSQSystemSoundPlayer (2.0.1)
5 | - libjingle_peerconnection (9814.2.0)
6 | - MQTTClient (0.2.6)
7 |
8 | DEPENDENCIES:
9 | - JSQMessagesViewController
10 | - libjingle_peerconnection
11 | - MQTTClient
12 |
13 | SPEC CHECKSUMS:
14 | JSQMessagesViewController: 73cab48aa92fc2d512f3b6724f3425cc47a19eb5
15 | JSQSystemSoundPlayer: c5850e77a4363ffd374cd851154b9af93264ed8d
16 | libjingle_peerconnection: f03d6c0532595e8b9b233eccea68ad344e0395ac
17 | MQTTClient: f3af97fd4e26e0644364cb24e809b9646afce202
18 |
19 | COCOAPODS: 0.38.2
20 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/JSQMessagesViewController/JSQMessagesViewController-Private.xcconfig:
--------------------------------------------------------------------------------
1 | #include "JSQMessagesViewController.xcconfig"
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/JSQMessagesViewController" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/JSQMessagesViewController" "${PODS_ROOT}/Headers/Public/JSQSystemSoundPlayer" "${PODS_ROOT}/Headers/Public/MQTTClient" "${PODS_ROOT}/Headers/Public/libjingle_peerconnection"
4 | OTHER_LDFLAGS = ${JSQMESSAGESVIEWCONTROLLER_OTHER_LDFLAGS}
5 | PODS_ROOT = ${SRCROOT}
6 | SKIP_INSTALL = YES
--------------------------------------------------------------------------------
/Pods/Target Support Files/JSQMessagesViewController/JSQMessagesViewController-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_JSQMessagesViewController : NSObject
3 | @end
4 | @implementation PodsDummy_JSQMessagesViewController
5 | @end
6 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/JSQMessagesViewController/JSQMessagesViewController-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/JSQMessagesViewController/JSQMessagesViewController.xcconfig:
--------------------------------------------------------------------------------
1 | JSQMESSAGESVIEWCONTROLLER_OTHER_LDFLAGS = -framework "CoreGraphics" -framework "CoreLocation" -framework "Foundation" -framework "MapKit" -framework "QuartzCore" -framework "UIKit"
--------------------------------------------------------------------------------
/Pods/Target Support Files/JSQSystemSoundPlayer/JSQSystemSoundPlayer-Private.xcconfig:
--------------------------------------------------------------------------------
1 | #include "JSQSystemSoundPlayer.xcconfig"
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/JSQSystemSoundPlayer" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/JSQMessagesViewController" "${PODS_ROOT}/Headers/Public/JSQSystemSoundPlayer" "${PODS_ROOT}/Headers/Public/MQTTClient" "${PODS_ROOT}/Headers/Public/libjingle_peerconnection"
4 | OTHER_LDFLAGS = ${JSQSYSTEMSOUNDPLAYER_OTHER_LDFLAGS}
5 | PODS_ROOT = ${SRCROOT}
6 | SKIP_INSTALL = YES
--------------------------------------------------------------------------------
/Pods/Target Support Files/JSQSystemSoundPlayer/JSQSystemSoundPlayer-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_JSQSystemSoundPlayer : NSObject
3 | @end
4 | @implementation PodsDummy_JSQSystemSoundPlayer
5 | @end
6 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/JSQSystemSoundPlayer/JSQSystemSoundPlayer-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/JSQSystemSoundPlayer/JSQSystemSoundPlayer.xcconfig:
--------------------------------------------------------------------------------
1 | JSQSYSTEMSOUNDPLAYER_OTHER_LDFLAGS = -framework "AudioToolbox" -framework "Foundation" -framework "UIKit"
--------------------------------------------------------------------------------
/Pods/Target Support Files/MQTTClient/MQTTClient-Private.xcconfig:
--------------------------------------------------------------------------------
1 | #include "MQTTClient.xcconfig"
2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Private/MQTTClient" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/JSQMessagesViewController" "${PODS_ROOT}/Headers/Public/JSQSystemSoundPlayer" "${PODS_ROOT}/Headers/Public/MQTTClient" "${PODS_ROOT}/Headers/Public/libjingle_peerconnection"
4 | PODS_ROOT = ${SRCROOT}
5 | SKIP_INSTALL = YES
--------------------------------------------------------------------------------
/Pods/Target Support Files/MQTTClient/MQTTClient-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_MQTTClient : NSObject
3 | @end
4 | @implementation PodsDummy_MQTTClient
5 | @end
6 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/MQTTClient/MQTTClient-prefix.pch:
--------------------------------------------------------------------------------
1 | #ifdef __OBJC__
2 | #import
3 | #endif
4 |
5 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/MQTTClient/MQTTClient.xcconfig:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/Target Support Files/MQTTClient/MQTTClient.xcconfig
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods/Pods-dummy.m:
--------------------------------------------------------------------------------
1 | #import
2 | @interface PodsDummy_Pods : NSObject
3 | @end
4 | @implementation PodsDummy_Pods
5 | @end
6 |
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods/Pods.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/JSQMessagesViewController" "${PODS_ROOT}/Headers/Public/JSQSystemSoundPlayer" "${PODS_ROOT}/Headers/Public/MQTTClient" "${PODS_ROOT}/Headers/Public/libjingle_peerconnection" "${PODS_ROOT}/Headers/libjingle_peerconnection"
3 | LIBRARY_SEARCH_PATHS = "$(PODS_ROOT)/libjingle_peerconnection" "$(PODS_ROOT)/libjingle_peerconnection" "$(PODS_ROOT)/libjingle_peerconnection/libjingle_peerconnection"
4 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/JSQMessagesViewController" -isystem "${PODS_ROOT}/Headers/Public/JSQSystemSoundPlayer" -isystem "${PODS_ROOT}/Headers/Public/MQTTClient" -isystem "${PODS_ROOT}/Headers/Public/libjingle_peerconnection"
5 | OTHER_LDFLAGS = $(inherited) -ObjC -l"JSQMessagesViewController" -l"JSQSystemSoundPlayer" -l"MQTTClient" -l"WebRTC" -l"c" -l"sqlite3" -l"stdc++" -framework "AVFoundation" -framework "AudioToolbox" -framework "CoreGraphics" -framework "CoreLocation" -framework "CoreMedia" -framework "Foundation" -framework "GLKit" -framework "MapKit" -framework "QuartzCore" -framework "UIKit" -framework "VideoToolbox"
6 | PODS_ROOT = ${SRCROOT}/Pods
--------------------------------------------------------------------------------
/Pods/Target Support Files/Pods/Pods.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/JSQMessagesViewController" "${PODS_ROOT}/Headers/Public/JSQSystemSoundPlayer" "${PODS_ROOT}/Headers/Public/MQTTClient" "${PODS_ROOT}/Headers/Public/libjingle_peerconnection" "${PODS_ROOT}/Headers/libjingle_peerconnection"
3 | LIBRARY_SEARCH_PATHS = "$(PODS_ROOT)/libjingle_peerconnection" "$(PODS_ROOT)/libjingle_peerconnection" "$(PODS_ROOT)/libjingle_peerconnection/libjingle_peerconnection"
4 | OTHER_CFLAGS = $(inherited) -isystem "${PODS_ROOT}/Headers/Public" -isystem "${PODS_ROOT}/Headers/Public/JSQMessagesViewController" -isystem "${PODS_ROOT}/Headers/Public/JSQSystemSoundPlayer" -isystem "${PODS_ROOT}/Headers/Public/MQTTClient" -isystem "${PODS_ROOT}/Headers/Public/libjingle_peerconnection"
5 | OTHER_LDFLAGS = $(inherited) -ObjC -l"JSQMessagesViewController" -l"JSQSystemSoundPlayer" -l"MQTTClient" -l"WebRTC" -l"c" -l"sqlite3" -l"stdc++" -framework "AVFoundation" -framework "AudioToolbox" -framework "CoreGraphics" -framework "CoreLocation" -framework "CoreMedia" -framework "Foundation" -framework "GLKit" -framework "MapKit" -framework "QuartzCore" -framework "UIKit" -framework "VideoToolbox"
6 | PODS_ROOT = ${SRCROOT}/Pods
--------------------------------------------------------------------------------
/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/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/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/wenghengcong/JSIMWebrtcOverMQTT/0ddda324d8851d1e4a949e40012c4874342d1254/Pods/libjingle_peerconnection/libjingle_peerconnection/libWebRTC.a
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # JSIMWebrtcOverMQTT
2 | 利用MQTT当做信令通道,实现Webrtc的视频通话。
3 |
--------------------------------------------------------------------------------