├── .gitmodules ├── .swift-version ├── include └── XMPPFramework │ ├── XMPP.h │ ├── XMPPIQ.h │ ├── XMPPJID.h │ ├── DDList.h │ ├── XMPPModule.h │ ├── XMPPParser.h │ ├── XMPPStream.h │ ├── XMPPConstants.h │ ├── XMPPElement.h │ ├── XMPPFramework.h │ ├── XMPPInternal.h │ ├── XMPPLogging.h │ ├── XMPPMessage.h │ ├── XMPPPresence.h │ ├── XMPPTimer.h │ ├── NSData+XMPP.h │ ├── XEP_0223.h │ ├── XMPPIDTracker.h │ ├── XMPPMUC.h │ ├── XMPPPing.h │ ├── XMPPRoom.h │ ├── XMPPSlot.h │ ├── XMPPTime.h │ ├── XMPPURI.h │ ├── XMPPUser.h │ ├── NSNumber+XMPP.h │ ├── OMEMOBundle.h │ ├── OMEMOKeyData.h │ ├── OMEMOModule.h │ ├── OMEMOPreKey.h │ ├── TURNSocket.h │ ├── XMPPIQ+OMEMO.h │ ├── XMPPPubSub.h │ ├── XMPPRoster.h │ ├── XMPPSRVResolver.h │ ├── XMPPStringPrep.h │ ├── NSXMLElement+XMPP.h │ ├── XMPPAutoPing.h │ ├── XMPPAutoTime.h │ ├── XMPPBlocking.h │ ├── XMPPBookmark.h │ ├── XMPPPrivacy.h │ ├── XMPPResource.h │ ├── XMPPResultSet.h │ ├── XMPPvCardTemp.h │ ├── GCDMulticastDelegate.h │ ├── OMEMOSignedPreKey.h │ ├── XMPPCustomBinding.h │ ├── XMPPIQ+XEP_0060.h │ ├── XMPPIQ+XEP_0066.h │ ├── XMPPIQ+XEP_0357.h │ ├── XMPPMUCLight.h │ ├── XMPPMessage+OMEMO.h │ ├── XMPPProcessOne.h │ ├── XMPPPushModule.h │ ├── XMPPReconnect.h │ ├── XMPPRoomLight.h │ ├── XMPPRoomMessage.h │ ├── XMPPRoomPrivate.h │ ├── XMPPTransports.h │ ├── NSString+XEP_0106.h │ ├── NSXMLElement+OMEMO.h │ ├── XMPPCapabilities.h │ ├── XMPPFileTransfer.h │ ├── XMPPHTTPFileUpload.h │ ├── XMPPIQ+JabberRPC.h │ ├── XMPPLastActivity.h │ ├── XMPPMessageCarbons.h │ ├── XMPPOneToOneChat.h │ ├── XMPPRegistration.h │ ├── XMPPRoomOccupant.h │ ├── XMPPRosterPrivate.h │ ├── XMPPStanzaIdModule.h │ ├── XMPPvCardTempAdr.h │ ├── XMPPvCardTempBase.h │ ├── XMPPvCardTempEmail.h │ ├── XMPPvCardTempLabel.h │ ├── XMPPvCardTempTel.h │ ├── RFImageToDataTransformer.h │ ├── XMPPAttentionModule.h │ ├── XMPPDateTimeProfiles.h │ ├── XMPPDelayedDelivery.h │ ├── XMPPIQ+LastActivity.h │ ├── XMPPJabberRPCModule.h │ ├── XMPPMessage+XEP0045.h │ ├── XMPPMessage+XEP_0066.h │ ├── XMPPMessage+XEP_0085.h │ ├── XMPPMessage+XEP_0172.h │ ├── XMPPMessage+XEP_0184.h │ ├── XMPPMessage+XEP_0224.h │ ├── XMPPMessage+XEP_0280.h │ ├── XMPPMessage+XEP_0308.h │ ├── XMPPMessage+XEP_0313.h │ ├── XMPPMessage+XEP_0333.h │ ├── XMPPMessage+XEP_0334.h │ ├── XMPPMessage+XEP_0359.h │ ├── XMPPMessageArchiving.h │ ├── XMPPSASLAuthentication.h │ ├── XMPPSoftwareVersion.h │ ├── XMPPStreamManagement.h │ ├── XMPPvCardTempModule.h │ ├── NSXMLElement+XEP_0048.h │ ├── NSXMLElement+XEP_0059.h │ ├── NSXMLElement+XEP_0203.h │ ├── NSXMLElement+XEP_0297.h │ ├── NSXMLElement+XEP_0335.h │ ├── NSXMLElement+XEP_0352.h │ ├── NSXMLElement+XEP_0359.h │ ├── XMPPCoreDataStorage.h │ ├── XMPPIQ+JabberRPCResonse.h │ ├── XMPPPresence+XEP_0172.h │ ├── XMPPXOAuth2Google.h │ ├── XMPPvCardAvatarModule.h │ ├── XMPPvCardTempAdrTypes.h │ ├── XMPPBandwidthMonitor.h │ ├── XMPPCapabilities+XEP_0359.h │ ├── XMPPPlainAuthentication.h │ ├── NSDate+XMPPDateTimeProfiles.h │ ├── XMPPBookmarksStorageElement.h │ ├── XMPPGoogleSharedStatus.h │ ├── XMPPIncomingFileTransfer.h │ ├── XMPPMessageArchiveManagement.h │ ├── XMPPMessageDeliveryReceipts.h │ ├── XMPPOutgoingFileTransfer.h │ ├── XMPPRoomHybridStorage.h │ ├── XMPPRoomMemoryStorage.h │ ├── XMPPAnonymousAuthentication.h │ ├── XMPPDigestMD5Authentication.h │ ├── XMPPManagedMessaging.h │ ├── XMPPOutOfBandResourceMessaging.h │ ├── XMPPRosterMemoryStorage.h │ ├── XMPPSCRAMSHA1Authentication.h │ ├── XMPPCoreDataStorageProtected.h │ ├── XMPPRoomCoreDataStorage.h │ ├── XMPPRosterCoreDataStorage.h │ ├── XMPPStreamManagementStanzas.h │ ├── XMPPUserMemoryStorageObject.h │ ├── XMPPvCardCoreDataStorage.h │ ├── XMPPCapsCoreDataStorageObject.h │ ├── XMPPGroupCoreDataStorageObject.h │ ├── XMPPResourceMemoryStorageObject.h │ ├── XMPPRoomHybridStorageProtected.h │ ├── XMPPRoomLightCoreDataStorage+XEP_0313.h │ ├── XMPPRoomLightCoreDataStorage.h │ ├── XMPPRosterMemoryStoragePrivate.h │ ├── XMPPUserCoreDataStorageObject.h │ ├── XMPPvCardCoreDataStorageObject.h │ ├── XMPPCapabilitiesCoreDataStorage.h │ ├── XMPPDeprecatedDigestAuthentication.h │ ├── XMPPDeprecatedPlainAuthentication.h │ ├── XMPPResourceCoreDataStorageObject.h │ ├── XMPPStreamManagementMemoryStorage.h │ ├── XMPPSystemInputActivityMonitor.h │ ├── XMPPMessageArchivingCoreDataStorage.h │ ├── XMPPRoomMessageMemoryStorageObject.h │ ├── XMPPRoomOccupantMemoryStorageObject.h │ ├── XMPPvCardTempCoreDataStorageObject.h │ ├── XMPPCapsResourceCoreDataStorageObject.h │ ├── XMPPRoomMessageCoreDataStorageObject.h │ ├── XMPPRoomOccupantCoreDataStorageObject.h │ ├── XMPPvCardAvatarCoreDataStorageObject.h │ ├── XMPPRoomLightCoreDataStorageProtected.h │ ├── XMPPRoomOccupantHybridMemoryStorageObject.h │ ├── XMPPRoomMessageHybridCoreDataStorageObject.h │ ├── XMPPMessageArchiving_Contact_CoreDataObject.h │ ├── XMPPMessageArchiving_Message_CoreDataObject.h │ └── XMPPRoomLightMessageCoreDataStorageObject.h ├── Xcode ├── Gemfile ├── Examples │ ├── Tests │ │ ├── MUCTesting │ │ │ └── MUCTesting │ │ │ │ ├── en.lproj │ │ │ │ ├── InfoPlist.strings │ │ │ │ └── Credits.rtf │ │ │ │ ├── MUCTesting-Prefix.pch │ │ │ │ ├── main.m │ │ │ │ └── MUCTestingAppDelegate.h │ │ ├── ParserTestMac │ │ │ ├── English.lproj │ │ │ │ └── InfoPlist.strings │ │ │ ├── ParserTestMac_Prefix.pch │ │ │ ├── main.m │ │ │ ├── ParserTestMacAppDelegate.h │ │ │ └── ParserTestMac-Info.plist │ │ ├── TestDDList │ │ │ └── TestDDList │ │ │ │ ├── en.lproj │ │ │ │ ├── InfoPlist.strings │ │ │ │ └── Credits.rtf │ │ │ │ ├── AppDelegate.h │ │ │ │ ├── TestDDList-Prefix.pch │ │ │ │ └── main.m │ │ ├── TestJID │ │ │ ├── Mobile │ │ │ │ └── TestJID │ │ │ │ │ ├── en.lproj │ │ │ │ │ └── InfoPlist.strings │ │ │ │ │ ├── AppDelegate.h │ │ │ │ │ ├── TestJID-Prefix.pch │ │ │ │ │ └── main.m │ │ │ └── Desktop │ │ │ │ └── TestJID │ │ │ │ ├── en.lproj │ │ │ │ ├── InfoPlist.strings │ │ │ │ └── Credits.rtf │ │ │ │ ├── AppDelegate.h │ │ │ │ ├── TestJID-Prefix.pch │ │ │ │ └── main.m │ │ ├── TestSRVResolver │ │ │ ├── English.lproj │ │ │ │ └── InfoPlist.strings │ │ │ ├── TestSRVResolver_Prefix.pch │ │ │ ├── main.m │ │ │ ├── TestSRVResolverAppDelegate.h │ │ │ └── TestSRVResolver-Info.plist │ │ ├── TestXEP82 │ │ │ ├── Mac │ │ │ │ ├── English.lproj │ │ │ │ │ └── InfoPlist.strings │ │ │ │ ├── TestXEP82_Prefix.pch │ │ │ │ ├── TestXEP82AppDelegate.h │ │ │ │ ├── TestXEP82AppDelegate.m │ │ │ │ ├── main.m │ │ │ │ └── TestXEP82-Info.plist │ │ │ ├── iOS │ │ │ │ └── TestXEP82 │ │ │ │ │ ├── en.lproj │ │ │ │ │ └── InfoPlist.strings │ │ │ │ │ ├── TestXEP82ViewController.m │ │ │ │ │ ├── TestXEP82ViewController.h │ │ │ │ │ ├── TestXEP82AppDelegate.h │ │ │ │ │ ├── TestXEP82-Prefix.pch │ │ │ │ │ ├── main.m │ │ │ │ │ └── TestXEP82AppDelegate.m │ │ │ └── TestXEP82.h │ │ ├── TestIDTracker │ │ │ └── TestIDTracker │ │ │ │ ├── en.lproj │ │ │ │ ├── InfoPlist.strings │ │ │ │ └── Credits.rtf │ │ │ │ ├── TestIDTracker-Prefix.pch │ │ │ │ ├── main.m │ │ │ │ └── TestIDTrackerAppDelegate.h │ │ ├── AutoPingTest │ │ │ ├── Mobile │ │ │ │ └── AutoPingTest │ │ │ │ │ ├── en.lproj │ │ │ │ │ └── InfoPlist.strings │ │ │ │ │ ├── AutoPingTestViewController.h │ │ │ │ │ ├── AutoPingTest-Prefix.pch │ │ │ │ │ ├── AutoPingTestAppDelegate.h │ │ │ │ │ ├── main.m │ │ │ │ │ └── AutoPingTestViewController.m │ │ │ └── Desktop │ │ │ │ └── AutoPingTest │ │ │ │ ├── en.lproj │ │ │ │ ├── InfoPlist.strings │ │ │ │ └── Credits.rtf │ │ │ │ ├── AutoPingTest-Prefix.pch │ │ │ │ ├── main.m │ │ │ │ ├── AutoPingTestAppDelegate.h │ │ │ │ └── AutoPingTest-Info.plist │ │ ├── AutoTimeTest │ │ │ ├── Mobile │ │ │ │ └── AutoTimeTest │ │ │ │ │ ├── en.lproj │ │ │ │ │ └── InfoPlist.strings │ │ │ │ │ ├── AutoTimeTestViewController.h │ │ │ │ │ ├── AutoTimeTest-Prefix.pch │ │ │ │ │ ├── AutoTimeTestAppDelegate.h │ │ │ │ │ ├── main.m │ │ │ │ │ └── AutoTimeTestViewController.m │ │ │ ├── Desktop │ │ │ │ └── AutoTimeTest │ │ │ │ │ ├── en.lproj │ │ │ │ │ ├── InfoPlist.strings │ │ │ │ │ └── Credits.rtf │ │ │ │ │ ├── AutoTimeTest-Prefix.pch │ │ │ │ │ ├── main.m │ │ │ │ │ └── AutoTimeTestAppDelegate.h │ │ │ └── XMPPFramework.h │ │ ├── TestElementReceipt │ │ │ └── TestElementReceipt │ │ │ │ ├── en.lproj │ │ │ │ ├── InfoPlist.strings │ │ │ │ └── Credits.rtf │ │ │ │ ├── TestElementReceipt-Prefix.pch │ │ │ │ ├── main.m │ │ │ │ └── TestElementReceiptAppDelegate.h │ │ ├── EncodeDecodeTest │ │ │ ├── Desktop │ │ │ │ └── EncodeDecodeTest │ │ │ │ │ ├── en.lproj │ │ │ │ │ ├── InfoPlist.strings │ │ │ │ │ └── Credits.rtf │ │ │ │ │ ├── AppDelegate.h │ │ │ │ │ ├── EncodeDecodeTest-Prefix.pch │ │ │ │ │ └── main.m │ │ │ └── Mobile │ │ │ │ └── EncodeDecodeTest │ │ │ │ ├── en.lproj │ │ │ │ └── InfoPlist.strings │ │ │ │ ├── ViewController.m │ │ │ │ ├── ViewController.h │ │ │ │ ├── AppDelegate.h │ │ │ │ ├── EncodeDecodeTest-Prefix.pch │ │ │ │ └── main.m │ │ ├── MulticastDelegateTest │ │ │ ├── Desktop │ │ │ │ └── MulticastDelegateTest │ │ │ │ │ ├── en.lproj │ │ │ │ │ ├── InfoPlist.strings │ │ │ │ │ └── Credits.rtf │ │ │ │ │ ├── AppDelegate.h │ │ │ │ │ ├── MulticastDelegateTest-Prefix.pch │ │ │ │ │ ├── AppDelegate.m │ │ │ │ │ └── main.m │ │ │ ├── Mobile │ │ │ │ ├── MulticastDelegateTest │ │ │ │ │ ├── en.lproj │ │ │ │ │ │ └── InfoPlist.strings │ │ │ │ │ ├── AppDelegate.h │ │ │ │ │ ├── MulticastDelegateTest-Prefix.pch │ │ │ │ │ ├── main.m │ │ │ │ │ └── AppDelegate.m │ │ │ │ └── Default-568h@2x.png │ │ │ └── Shared │ │ │ │ ├── MulticastDelegateTest.h │ │ │ │ ├── DelegateTesters.h │ │ │ │ └── MyProtocol.h │ │ ├── TestCapabilitiesHashing │ │ │ ├── Mac │ │ │ │ └── TestCapabilitiesHashing │ │ │ │ │ ├── English.lproj │ │ │ │ │ └── InfoPlist.strings │ │ │ │ │ ├── TestCapabilitiesHashing_Prefix.pch │ │ │ │ │ ├── main.m │ │ │ │ │ └── TestCapabilitiesHashing-Info.plist │ │ │ └── iPhone │ │ │ │ └── TestCapabilitiesHashing │ │ │ │ ├── TestCapabilitiesHashing_Prefix.pch │ │ │ │ ├── Classes │ │ │ │ └── TestCapabilitiesHashingViewController.h │ │ │ │ ├── main.m │ │ │ │ └── TestCapabilitiesHashing-Info.plist │ │ └── ParserTestPhone │ │ │ ├── Default-568h@2x.png │ │ │ ├── ParserTestPhone_Prefix.pch │ │ │ ├── Classes │ │ │ └── ParserTestPhoneAppDelegate.h │ │ │ ├── main.m │ │ │ └── ParserTestPhone-Info.plist │ ├── iPhoneXMPP │ │ ├── defaultPerson.png │ │ ├── Default-568h@2x.png │ │ ├── Classes │ │ │ ├── RootViewController.h │ │ │ └── SettingsViewController.h │ │ ├── main.m │ │ ├── iPhoneXMPP_Prefix.pch │ │ └── iPhoneXMPP-Info.plist │ ├── ServerlessDemo │ │ ├── Default-568h@2x.png │ │ ├── Images │ │ │ ├── BlueBubble.png │ │ │ ├── GreenBubble.png │ │ │ └── UnreadIndicator.png │ │ ├── DDString.h │ │ ├── ServerlessDemo.xcdatamodel │ │ │ ├── layout │ │ │ └── elements │ │ ├── DDString.m │ │ ├── Classes │ │ │ ├── RootViewController.h │ │ │ ├── BonjourClient.h │ │ │ ├── ChatViewController.h │ │ │ └── ServerlessDemoAppDelegate.h │ │ ├── main.m │ │ ├── StreamController.h │ │ ├── ServerlessDemo_Prefix.pch │ │ ├── Message.h │ │ ├── Message.m │ │ └── ServerlessDemo-Info.plist │ └── DesktopXMPP │ │ ├── English.lproj │ │ ├── InfoPlist.strings │ │ ├── MainMenu.nib │ │ │ └── keyedobjects.nib │ │ └── ChatWindow.nib │ │ │ └── keyedobjects.nib │ │ ├── XMPPStream_Prefix.pch │ │ ├── main.m │ │ ├── RequestController.h │ │ ├── WindowManager.h │ │ ├── ChatController.h │ │ ├── Info.plist │ │ ├── AppDelegate.h │ │ └── SSKeychain │ │ └── LICENSE ├── Testing-iOS │ ├── XMPPFrameworkTests │ │ ├── XMPPFrameworkTests-Bridging-Header.h │ │ └── Info.plist │ ├── XMPPFrameworkTests.xcworkspace │ │ ├── xcshareddata │ │ │ └── IDEWorkspaceChecks.plist │ │ └── contents.xcworkspacedata │ ├── Podfile │ ├── XMPPFrameworkSwiftTests │ │ └── Info.plist │ └── .gitignore ├── Testing-macOS │ ├── XMPPFrameworkTests │ │ ├── XMPPFrameworkTests-Bridging-Header.h │ │ └── Info.plist │ ├── XMPPFrameworkTests.xcworkspace │ │ └── contents.xcworkspacedata │ ├── Podfile │ └── XMPPFrameworkSwiftTests │ │ └── Info.plist ├── Testing-Swift │ └── XMPPFrameworkTests-Bridging-Header.h └── Testing-Shared │ ├── OMEMOTestStorage.h │ ├── Info.plist │ ├── XMPPMockStream.h │ └── XMPPMockStream.m ├── xmppframework.png ├── .hgignore ├── Swift ├── XMPPFramework.swift ├── XMPPFrameworkSwift.h ├── XMPPFrameworkSwift-Info.plist ├── Core │ ├── XMLElement.swift │ ├── XMPPIQ.swift │ └── XMPPMessage.swift └── XEP-0085 │ └── XMPPMessage+XEP_0085.swift ├── Extensions ├── Roster │ ├── CoreDataStorage │ │ ├── XMPPRoster.xcdatamodel │ │ │ ├── layout │ │ │ └── elements │ │ └── XMPPGroupCoreDataStorageObject.h │ ├── XMPPResource.h │ ├── MemoryStorage │ │ └── XMPPResourceMemoryStorageObject.h │ ├── XMPPRosterPrivate.h │ └── XMPPUser.h ├── XEP-0115 │ └── CoreDataStorage │ │ ├── XMPPCapabilities.xcdatamodel │ │ ├── elements │ │ └── layout │ │ ├── XMPPCapsCoreDataStorageObject.m │ │ ├── XMPPCapsResourceCoreDataStorageObject.m │ │ ├── XMPPCapsResourceCoreDataStorageObject.h │ │ └── XMPPCapsCoreDataStorageObject.h ├── XEP-0054 │ ├── CoreDataStorage │ │ ├── XMPPvCard.xcdatamodeld │ │ │ ├── XMPPvCard.xcdatamodel │ │ │ │ ├── layout │ │ │ │ └── elements │ │ │ ├── XMPPvCard2.xcdatamodel │ │ │ │ ├── layout │ │ │ │ └── elements │ │ │ └── .xccurrentversion │ │ ├── XMPPvCardTempCoreDataStorageObject.m │ │ ├── XMPPvCardAvatarCoreDataStorageObject.m │ │ ├── XMPPvCardTransformer.h │ │ ├── XMPPvCardAvatarCoreDataStorageObject.h │ │ ├── XMPPvCardTransformer.m │ │ └── XMPPvCardTempCoreDataStorageObject.h │ ├── XMPPvCardTempLabel.h │ ├── XMPPvCardTempAdrTypes.h │ ├── XMPPvCardTempEmail.h │ └── XMPPvCardTempAdr.h ├── FileTransfer │ └── XMPPFileTransfer.m ├── XEP-0352 │ ├── NSXMLElement+XEP_0352.h │ └── NSXMLElement+XEP_0352.m ├── XEP-0106 │ └── NSString+XEP_0106.h ├── XEP-0172 │ ├── XMPPMessage+XEP_0172.h │ ├── XMPPPresence+XEP_0172.h │ ├── XMPPPresence+XEP_0172.m │ └── XMPPMessage+XEP_0172.m ├── XEP-0045 │ ├── CoreDataStorage │ │ └── XMPPRoom.xcdatamodeld │ │ │ └── .xccurrentversion │ ├── HybridStorage │ │ └── XMPPRoomHybrid.xcdatamodeld │ │ │ └── .xccurrentversion │ ├── XMPPMessage+XEP0045.h │ ├── XMPPMessage+XEP0045.m │ ├── XMPPRoomPrivate.h │ └── MemoryStorage │ │ └── XMPPRoomOccupantMemoryStorageObject.h ├── XEP-0136 │ └── CoreDataStorage │ │ └── XMPPMessageArchiving.xcdatamodeld │ │ └── .xccurrentversion ├── XEP-0224 │ ├── XMPPMessage+XEP_0224.h │ ├── XMPPMessage+XEP_0224.m │ └── XMPPAttentionModule.h ├── XEP-0059 │ ├── NSXMLElement+XEP_0059.h │ └── NSXMLElement+XEP_0059.m ├── XEP-0203 │ ├── NSXMLElement+XEP_0203.h │ └── XMPPDelayedDelivery.h ├── XEP-0313 │ ├── XMPPMessage+XEP_0313.h │ ├── XMPPMessage+XEP_0313.m │ └── XMPPRoomLightCoreDataStorage+XEP_0313.h ├── XEP-0184 │ └── XMPPMessage+XEP_0184.h ├── XMPPMUCLight │ └── CoreDataStorage │ │ ├── XMPPRoomLightCoreDataStorageProtected.h │ │ └── XMPPRoomLightCoreDataStorage.h ├── BandwidthMonitor │ └── XMPPBandwidthMonitor.h ├── XEP-0066 │ ├── XMPPMessage+XEP_0066.h │ └── XMPPOutOfBandResourceMessaging.h ├── XEP-0308 │ └── XMPPMessage+XEP_0308.h ├── XEP-0223 │ ├── XEP_0223.m │ └── XEP_0223.h ├── XEP-0198 │ ├── Memory Storage │ │ └── XMPPStreamManagementMemoryStorage.h │ └── Private │ │ └── XMPPStreamManagementStanzas.h ├── XEP-0082 │ ├── XMPPDateTimeProfiles.h │ └── NSDate+XMPPDateTimeProfiles.h ├── XEP-0092 │ └── XMPPSoftwareVersion.h ├── XEP-0100 │ └── XMPPTransports.h ├── XEP-0280 │ └── XMPPMessage+XEP_0280.h ├── XEP-0335 │ └── NSXMLElement+XEP_0335.h ├── XEP-0060 │ └── XMPPIQ+XEP_0060.m ├── OMEMO │ ├── OMEMOPreKey.h │ ├── OMEMOKeyData.m │ ├── OMEMOSignedPreKey.h │ ├── OMEMOPreKey.m │ └── OMEMOKeyData.h ├── XEP-0359 │ ├── NSXMLElement+XEP_0359.m │ └── XMPPCapabilities+XEP_0359.h ├── OneToOneChat │ ├── XMPPOneToOneChat.h │ └── XMPPOneToOneChat.m ├── XEP-0048 │ └── XMPPBookmarksStorageElement.h ├── XEP-0297 │ └── NSXMLElement+XEP_0297.h └── XEP-0085 │ └── XMPPMessage+XEP_0085.h ├── Cartfile ├── Cartfile.resolved ├── .gitignore ├── Utilities ├── RFImageToDataTransformer.h ├── XMPPStringPrep.m └── RFImageToDataTransformer.m ├── Authentication ├── SCRAM-SHA-1 │ └── XMPPSCRAMSHA1Authentication.h ├── Plain │ └── XMPPPlainAuthentication.h ├── X-OAuth2-Google │ └── XMPPXOAuth2Google.h ├── Digest-MD5 │ └── XMPPDigestMD5Authentication.h ├── Deprecated-Plain │ └── XMPPDeprecatedPlainAuthentication.h └── Deprecated-Digest │ └── XMPPDeprecatedDigestAuthentication.h └── Core ├── XMPPConstants.m ├── XMPP.h ├── XMPPConstants.h └── Info.plist /.gitmodules: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.swift-version: -------------------------------------------------------------------------------- 1 | 4.0 2 | -------------------------------------------------------------------------------- /include/XMPPFramework/XMPP.h: -------------------------------------------------------------------------------- 1 | ../../Core/XMPP.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPIQ.h: -------------------------------------------------------------------------------- 1 | ../../Core/XMPPIQ.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPJID.h: -------------------------------------------------------------------------------- 1 | ../../Core/XMPPJID.h -------------------------------------------------------------------------------- /include/XMPPFramework/DDList.h: -------------------------------------------------------------------------------- 1 | ../../Utilities/DDList.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPModule.h: -------------------------------------------------------------------------------- 1 | ../../Core/XMPPModule.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPParser.h: -------------------------------------------------------------------------------- 1 | ../../Core/XMPPParser.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPStream.h: -------------------------------------------------------------------------------- 1 | ../../Core/XMPPStream.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPConstants.h: -------------------------------------------------------------------------------- 1 | ../../Core/XMPPConstants.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPElement.h: -------------------------------------------------------------------------------- 1 | ../../Core/XMPPElement.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPFramework.h: -------------------------------------------------------------------------------- 1 | ../../Core/XMPPFramework.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPInternal.h: -------------------------------------------------------------------------------- 1 | ../../Core/XMPPInternal.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPLogging.h: -------------------------------------------------------------------------------- 1 | ../../Core/XMPPLogging.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPMessage.h: -------------------------------------------------------------------------------- 1 | ../../Core/XMPPMessage.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPPresence.h: -------------------------------------------------------------------------------- 1 | ../../Core/XMPPPresence.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPTimer.h: -------------------------------------------------------------------------------- 1 | ../../Utilities/XMPPTimer.h -------------------------------------------------------------------------------- /include/XMPPFramework/NSData+XMPP.h: -------------------------------------------------------------------------------- 1 | ../../Categories/NSData+XMPP.h -------------------------------------------------------------------------------- /include/XMPPFramework/XEP_0223.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0223/XEP_0223.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPIDTracker.h: -------------------------------------------------------------------------------- 1 | ../../Utilities/XMPPIDTracker.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPMUC.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0045/XMPPMUC.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPPing.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0199/XMPPPing.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPRoom.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0045/XMPPRoom.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPSlot.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0363/XMPPSlot.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPTime.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0202/XMPPTime.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPURI.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0147/XMPPURI.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPUser.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/Roster/XMPPUser.h -------------------------------------------------------------------------------- /include/XMPPFramework/NSNumber+XMPP.h: -------------------------------------------------------------------------------- 1 | ../../Categories/NSNumber+XMPP.h -------------------------------------------------------------------------------- /include/XMPPFramework/OMEMOBundle.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/OMEMO/OMEMOBundle.h -------------------------------------------------------------------------------- /include/XMPPFramework/OMEMOKeyData.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/OMEMO/OMEMOKeyData.h -------------------------------------------------------------------------------- /include/XMPPFramework/OMEMOModule.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/OMEMO/OMEMOModule.h -------------------------------------------------------------------------------- /include/XMPPFramework/OMEMOPreKey.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/OMEMO/OMEMOPreKey.h -------------------------------------------------------------------------------- /include/XMPPFramework/TURNSocket.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0065/TURNSocket.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPIQ+OMEMO.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/OMEMO/XMPPIQ+OMEMO.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPPubSub.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0060/XMPPPubSub.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPRoster.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/Roster/XMPPRoster.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPSRVResolver.h: -------------------------------------------------------------------------------- 1 | ../../Utilities/XMPPSRVResolver.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPStringPrep.h: -------------------------------------------------------------------------------- 1 | ../../Utilities/XMPPStringPrep.h -------------------------------------------------------------------------------- /include/XMPPFramework/NSXMLElement+XMPP.h: -------------------------------------------------------------------------------- 1 | ../../Categories/NSXMLElement+XMPP.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPAutoPing.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0199/XMPPAutoPing.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPAutoTime.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0202/XMPPAutoTime.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPBlocking.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0191/XMPPBlocking.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPBookmark.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0048/XMPPBookmark.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPPrivacy.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0016/XMPPPrivacy.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPResource.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/Roster/XMPPResource.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPResultSet.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0059/XMPPResultSet.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPvCardTemp.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0054/XMPPvCardTemp.h -------------------------------------------------------------------------------- /include/XMPPFramework/GCDMulticastDelegate.h: -------------------------------------------------------------------------------- 1 | ../../Utilities/GCDMulticastDelegate.h -------------------------------------------------------------------------------- /include/XMPPFramework/OMEMOSignedPreKey.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/OMEMO/OMEMOSignedPreKey.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPCustomBinding.h: -------------------------------------------------------------------------------- 1 | ../../Authentication/XMPPCustomBinding.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPIQ+XEP_0060.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0060/XMPPIQ+XEP_0060.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPIQ+XEP_0066.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0066/XMPPIQ+XEP_0066.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPIQ+XEP_0357.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0357/XMPPIQ+XEP_0357.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPMUCLight.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XMPPMUCLight/XMPPMUCLight.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPMessage+OMEMO.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/OMEMO/XMPPMessage+OMEMO.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPProcessOne.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/ProcessOne/XMPPProcessOne.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPPushModule.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0357/XMPPPushModule.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPReconnect.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/Reconnect/XMPPReconnect.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPRoomLight.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XMPPMUCLight/XMPPRoomLight.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPRoomMessage.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0045/XMPPRoomMessage.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPRoomPrivate.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0045/XMPPRoomPrivate.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPTransports.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0100/XMPPTransports.h -------------------------------------------------------------------------------- /Xcode/Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | 3 | gem "cocoapods", "~> 1.5.0" 4 | -------------------------------------------------------------------------------- /include/XMPPFramework/NSString+XEP_0106.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0106/NSString+XEP_0106.h -------------------------------------------------------------------------------- /include/XMPPFramework/NSXMLElement+OMEMO.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/OMEMO/NSXMLElement+OMEMO.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPCapabilities.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0115/XMPPCapabilities.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPFileTransfer.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/FileTransfer/XMPPFileTransfer.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPHTTPFileUpload.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0363/XMPPHTTPFileUpload.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPIQ+JabberRPC.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0009/XMPPIQ+JabberRPC.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPLastActivity.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0012/XMPPLastActivity.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPMessageCarbons.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0280/XMPPMessageCarbons.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPOneToOneChat.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/OneToOneChat/XMPPOneToOneChat.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPRegistration.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0077/XMPPRegistration.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPRoomOccupant.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0045/XMPPRoomOccupant.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPRosterPrivate.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/Roster/XMPPRosterPrivate.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPStanzaIdModule.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0359/XMPPStanzaIdModule.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPvCardTempAdr.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0054/XMPPvCardTempAdr.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPvCardTempBase.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0054/XMPPvCardTempBase.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPvCardTempEmail.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0054/XMPPvCardTempEmail.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPvCardTempLabel.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0054/XMPPvCardTempLabel.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPvCardTempTel.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0054/XMPPvCardTempTel.h -------------------------------------------------------------------------------- /include/XMPPFramework/RFImageToDataTransformer.h: -------------------------------------------------------------------------------- 1 | ../../Utilities/RFImageToDataTransformer.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPAttentionModule.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0224/XMPPAttentionModule.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPDateTimeProfiles.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0082/XMPPDateTimeProfiles.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPDelayedDelivery.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0203/XMPPDelayedDelivery.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPIQ+LastActivity.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0012/XMPPIQ+LastActivity.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPJabberRPCModule.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0009/XMPPJabberRPCModule.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPMessage+XEP0045.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0045/XMPPMessage+XEP0045.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPMessage+XEP_0066.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0066/XMPPMessage+XEP_0066.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPMessage+XEP_0085.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0085/XMPPMessage+XEP_0085.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPMessage+XEP_0172.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0172/XMPPMessage+XEP_0172.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPMessage+XEP_0184.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0184/XMPPMessage+XEP_0184.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPMessage+XEP_0224.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0224/XMPPMessage+XEP_0224.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPMessage+XEP_0280.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0280/XMPPMessage+XEP_0280.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPMessage+XEP_0308.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0308/XMPPMessage+XEP_0308.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPMessage+XEP_0313.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0313/XMPPMessage+XEP_0313.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPMessage+XEP_0333.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0333/XMPPMessage+XEP_0333.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPMessage+XEP_0334.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0334/XMPPMessage+XEP_0334.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPMessage+XEP_0359.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0359/XMPPMessage+XEP_0359.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPMessageArchiving.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0136/XMPPMessageArchiving.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPSASLAuthentication.h: -------------------------------------------------------------------------------- 1 | ../../Authentication/XMPPSASLAuthentication.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPSoftwareVersion.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0092/XMPPSoftwareVersion.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPStreamManagement.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0198/XMPPStreamManagement.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPvCardTempModule.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0054/XMPPvCardTempModule.h -------------------------------------------------------------------------------- /include/XMPPFramework/NSXMLElement+XEP_0048.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0048/NSXMLElement+XEP_0048.h -------------------------------------------------------------------------------- /include/XMPPFramework/NSXMLElement+XEP_0059.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0059/NSXMLElement+XEP_0059.h -------------------------------------------------------------------------------- /include/XMPPFramework/NSXMLElement+XEP_0203.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0203/NSXMLElement+XEP_0203.h -------------------------------------------------------------------------------- /include/XMPPFramework/NSXMLElement+XEP_0297.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0297/NSXMLElement+XEP_0297.h -------------------------------------------------------------------------------- /include/XMPPFramework/NSXMLElement+XEP_0335.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0335/NSXMLElement+XEP_0335.h -------------------------------------------------------------------------------- /include/XMPPFramework/NSXMLElement+XEP_0352.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0352/NSXMLElement+XEP_0352.h -------------------------------------------------------------------------------- /include/XMPPFramework/NSXMLElement+XEP_0359.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0359/NSXMLElement+XEP_0359.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPCoreDataStorage.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/CoreDataStorage/XMPPCoreDataStorage.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPIQ+JabberRPCResonse.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0009/XMPPIQ+JabberRPCResonse.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPPresence+XEP_0172.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0172/XMPPPresence+XEP_0172.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPXOAuth2Google.h: -------------------------------------------------------------------------------- 1 | ../../Authentication/X-OAuth2-Google/XMPPXOAuth2Google.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPvCardAvatarModule.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0153/XMPPvCardAvatarModule.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPvCardTempAdrTypes.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0054/XMPPvCardTempAdrTypes.h -------------------------------------------------------------------------------- /xmppframework.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robbiehanson/XMPPFramework/HEAD/xmppframework.png -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPBandwidthMonitor.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/BandwidthMonitor/XMPPBandwidthMonitor.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPCapabilities+XEP_0359.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0359/XMPPCapabilities+XEP_0359.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPPlainAuthentication.h: -------------------------------------------------------------------------------- 1 | ../../Authentication/Plain/XMPPPlainAuthentication.h -------------------------------------------------------------------------------- /include/XMPPFramework/NSDate+XMPPDateTimeProfiles.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0082/NSDate+XMPPDateTimeProfiles.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPBookmarksStorageElement.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0048/XMPPBookmarksStorageElement.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPGoogleSharedStatus.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/GoogleSharedStatus/XMPPGoogleSharedStatus.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPIncomingFileTransfer.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/FileTransfer/XMPPIncomingFileTransfer.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPMessageArchiveManagement.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0313/XMPPMessageArchiveManagement.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPMessageDeliveryReceipts.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0184/XMPPMessageDeliveryReceipts.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPOutgoingFileTransfer.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/FileTransfer/XMPPOutgoingFileTransfer.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPRoomHybridStorage.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0045/HybridStorage/XMPPRoomHybridStorage.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPRoomMemoryStorage.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0045/MemoryStorage/XMPPRoomMemoryStorage.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPAnonymousAuthentication.h: -------------------------------------------------------------------------------- 1 | ../../Authentication/Anonymous/XMPPAnonymousAuthentication.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPDigestMD5Authentication.h: -------------------------------------------------------------------------------- 1 | ../../Authentication/Digest-MD5/XMPPDigestMD5Authentication.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPManagedMessaging.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0198/Managed Messaging/XMPPManagedMessaging.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPOutOfBandResourceMessaging.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0066/XMPPOutOfBandResourceMessaging.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPRosterMemoryStorage.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/Roster/MemoryStorage/XMPPRosterMemoryStorage.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPSCRAMSHA1Authentication.h: -------------------------------------------------------------------------------- 1 | ../../Authentication/SCRAM-SHA-1/XMPPSCRAMSHA1Authentication.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPCoreDataStorageProtected.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/CoreDataStorage/XMPPCoreDataStorageProtected.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPRoomCoreDataStorage.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0045/CoreDataStorage/XMPPRoomCoreDataStorage.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPRosterCoreDataStorage.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/Roster/CoreDataStorage/XMPPRosterCoreDataStorage.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPStreamManagementStanzas.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0198/Private/XMPPStreamManagementStanzas.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPUserMemoryStorageObject.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/Roster/MemoryStorage/XMPPUserMemoryStorageObject.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPvCardCoreDataStorage.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0054/CoreDataStorage/XMPPvCardCoreDataStorage.h -------------------------------------------------------------------------------- /.hgignore: -------------------------------------------------------------------------------- 1 | syntax: glob 2 | 3 | Xcode/*/build 4 | Xcode/Testing/*/build 5 | *.pbxuser 6 | *.mode1v3 7 | *.xcuserdatad 8 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/MUCTesting/MUCTesting/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/ParserTestMac/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestDDList/TestDDList/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestJID/Mobile/TestJID/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestSRVResolver/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestXEP82/Mac/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestIDTracker/TestIDTracker/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestJID/Desktop/TestJID/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestXEP82/iOS/TestXEP82/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPCapsCoreDataStorageObject.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0115/CoreDataStorage/XMPPCapsCoreDataStorageObject.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPGroupCoreDataStorageObject.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/Roster/CoreDataStorage/XMPPGroupCoreDataStorageObject.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPResourceMemoryStorageObject.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/Roster/MemoryStorage/XMPPResourceMemoryStorageObject.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPRoomHybridStorageProtected.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0045/HybridStorage/XMPPRoomHybridStorageProtected.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPRoomLightCoreDataStorage+XEP_0313.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0313/XMPPRoomLightCoreDataStorage+XEP_0313.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPRoomLightCoreDataStorage.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XMPPMUCLight/CoreDataStorage/XMPPRoomLightCoreDataStorage.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPRosterMemoryStoragePrivate.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/Roster/MemoryStorage/XMPPRosterMemoryStoragePrivate.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPUserCoreDataStorageObject.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/Roster/CoreDataStorage/XMPPUserCoreDataStorageObject.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPvCardCoreDataStorageObject.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0054/CoreDataStorage/XMPPvCardCoreDataStorageObject.h -------------------------------------------------------------------------------- /Xcode/Examples/Tests/AutoPingTest/Mobile/AutoPingTest/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/AutoTimeTest/Mobile/AutoTimeTest/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPCapabilitiesCoreDataStorage.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0115/CoreDataStorage/XMPPCapabilitiesCoreDataStorage.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPDeprecatedDigestAuthentication.h: -------------------------------------------------------------------------------- 1 | ../../Authentication/Deprecated-Digest/XMPPDeprecatedDigestAuthentication.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPDeprecatedPlainAuthentication.h: -------------------------------------------------------------------------------- 1 | ../../Authentication/Deprecated-Plain/XMPPDeprecatedPlainAuthentication.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPResourceCoreDataStorageObject.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/Roster/CoreDataStorage/XMPPResourceCoreDataStorageObject.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPStreamManagementMemoryStorage.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0198/Memory Storage/XMPPStreamManagementMemoryStorage.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPSystemInputActivityMonitor.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/SystemInputActivityMonitor/XMPPSystemInputActivityMonitor.h -------------------------------------------------------------------------------- /Xcode/Examples/Tests/AutoPingTest/Desktop/AutoPingTest/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/AutoTimeTest/Desktop/AutoTimeTest/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestElementReceipt/TestElementReceipt/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPMessageArchivingCoreDataStorage.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0136/CoreDataStorage/XMPPMessageArchivingCoreDataStorage.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPRoomMessageMemoryStorageObject.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0045/MemoryStorage/XMPPRoomMessageMemoryStorageObject.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPRoomOccupantMemoryStorageObject.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0045/MemoryStorage/XMPPRoomOccupantMemoryStorageObject.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPvCardTempCoreDataStorageObject.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0054/CoreDataStorage/XMPPvCardTempCoreDataStorageObject.h -------------------------------------------------------------------------------- /Xcode/Examples/Tests/EncodeDecodeTest/Desktop/EncodeDecodeTest/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/EncodeDecodeTest/Mobile/EncodeDecodeTest/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPCapsResourceCoreDataStorageObject.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0115/CoreDataStorage/XMPPCapsResourceCoreDataStorageObject.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPRoomMessageCoreDataStorageObject.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0045/CoreDataStorage/XMPPRoomMessageCoreDataStorageObject.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPRoomOccupantCoreDataStorageObject.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0045/CoreDataStorage/XMPPRoomOccupantCoreDataStorageObject.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPvCardAvatarCoreDataStorageObject.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0054/CoreDataStorage/XMPPvCardAvatarCoreDataStorageObject.h -------------------------------------------------------------------------------- /Xcode/Examples/iPhoneXMPP/defaultPerson.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robbiehanson/XMPPFramework/HEAD/Xcode/Examples/iPhoneXMPP/defaultPerson.png -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPRoomLightCoreDataStorageProtected.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XMPPMUCLight/CoreDataStorage/XMPPRoomLightCoreDataStorageProtected.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPRoomOccupantHybridMemoryStorageObject.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0045/HybridStorage/XMPPRoomOccupantHybridMemoryStorageObject.h -------------------------------------------------------------------------------- /Xcode/Examples/Tests/MulticastDelegateTest/Desktop/MulticastDelegateTest/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/MulticastDelegateTest/Mobile/MulticastDelegateTest/en.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /Xcode/Examples/iPhoneXMPP/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robbiehanson/XMPPFramework/HEAD/Xcode/Examples/iPhoneXMPP/Default-568h@2x.png -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPRoomMessageHybridCoreDataStorageObject.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0045/HybridStorage/XMPPRoomMessageHybridCoreDataStorageObject.h -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestCapabilitiesHashing/Mac/TestCapabilitiesHashing/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- 1 | /* Localized versions of Info.plist keys */ 2 | 3 | -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPMessageArchiving_Contact_CoreDataObject.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0136/CoreDataStorage/XMPPMessageArchiving_Contact_CoreDataObject.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPMessageArchiving_Message_CoreDataObject.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XEP-0136/CoreDataStorage/XMPPMessageArchiving_Message_CoreDataObject.h -------------------------------------------------------------------------------- /include/XMPPFramework/XMPPRoomLightMessageCoreDataStorageObject.h: -------------------------------------------------------------------------------- 1 | ../../Extensions/XMPPMUCLight/CoreDataStorage/XMPPRoomLightMessageCoreDataStorageObject.h -------------------------------------------------------------------------------- /Xcode/Examples/ServerlessDemo/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robbiehanson/XMPPFramework/HEAD/Xcode/Examples/ServerlessDemo/Default-568h@2x.png -------------------------------------------------------------------------------- /Xcode/Examples/ServerlessDemo/Images/BlueBubble.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robbiehanson/XMPPFramework/HEAD/Xcode/Examples/ServerlessDemo/Images/BlueBubble.png -------------------------------------------------------------------------------- /Xcode/Examples/ServerlessDemo/Images/GreenBubble.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robbiehanson/XMPPFramework/HEAD/Xcode/Examples/ServerlessDemo/Images/GreenBubble.png -------------------------------------------------------------------------------- /Xcode/Examples/Tests/EncodeDecodeTest/Mobile/EncodeDecodeTest/ViewController.m: -------------------------------------------------------------------------------- 1 | #import "ViewController.h" 2 | 3 | 4 | @implementation ViewController 5 | 6 | @end 7 | -------------------------------------------------------------------------------- /Swift/XMPPFramework.swift: -------------------------------------------------------------------------------- 1 | // 2 | // XMPPFramework.swift 3 | // XMPPFramework 4 | // 5 | // Created by Chris Ballinger on 11/12/17. 6 | // 7 | 8 | import Foundation 9 | -------------------------------------------------------------------------------- /Xcode/Examples/DesktopXMPP/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robbiehanson/XMPPFramework/HEAD/Xcode/Examples/DesktopXMPP/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /Xcode/Examples/ServerlessDemo/Images/UnreadIndicator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robbiehanson/XMPPFramework/HEAD/Xcode/Examples/ServerlessDemo/Images/UnreadIndicator.png -------------------------------------------------------------------------------- /Xcode/Examples/Tests/ParserTestPhone/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robbiehanson/XMPPFramework/HEAD/Xcode/Examples/Tests/ParserTestPhone/Default-568h@2x.png -------------------------------------------------------------------------------- /Xcode/Examples/Tests/EncodeDecodeTest/Mobile/EncodeDecodeTest/ViewController.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | 4 | @interface ViewController : UIViewController 5 | 6 | @end 7 | -------------------------------------------------------------------------------- /Extensions/Roster/CoreDataStorage/XMPPRoster.xcdatamodel/layout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robbiehanson/XMPPFramework/HEAD/Extensions/Roster/CoreDataStorage/XMPPRoster.xcdatamodel/layout -------------------------------------------------------------------------------- /Xcode/Examples/ServerlessDemo/DDString.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | 4 | @interface NSString (DDString) 5 | 6 | + (id)stringWithUTF8Data:(NSData *)data; 7 | 8 | @end 9 | -------------------------------------------------------------------------------- /Xcode/Examples/ServerlessDemo/ServerlessDemo.xcdatamodel/layout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robbiehanson/XMPPFramework/HEAD/Xcode/Examples/ServerlessDemo/ServerlessDemo.xcdatamodel/layout -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestXEP82/iOS/TestXEP82/TestXEP82ViewController.m: -------------------------------------------------------------------------------- 1 | #import "TestXEP82ViewController.h" 2 | 3 | 4 | @implementation TestXEP82ViewController 5 | 6 | 7 | 8 | @end 9 | -------------------------------------------------------------------------------- /Extensions/Roster/CoreDataStorage/XMPPRoster.xcdatamodel/elements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robbiehanson/XMPPFramework/HEAD/Extensions/Roster/CoreDataStorage/XMPPRoster.xcdatamodel/elements -------------------------------------------------------------------------------- /Xcode/Examples/ServerlessDemo/ServerlessDemo.xcdatamodel/elements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robbiehanson/XMPPFramework/HEAD/Xcode/Examples/ServerlessDemo/ServerlessDemo.xcdatamodel/elements -------------------------------------------------------------------------------- /Xcode/Testing-iOS/XMPPFrameworkTests/XMPPFrameworkTests-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | // 2 | // Use this file to import your target's public headers that you would like to expose to Swift. 3 | // 4 | 5 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestXEP82/iOS/TestXEP82/TestXEP82ViewController.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | 4 | @interface TestXEP82ViewController : UIViewController { 5 | 6 | } 7 | 8 | @end 9 | -------------------------------------------------------------------------------- /Xcode/Testing-macOS/XMPPFrameworkTests/XMPPFrameworkTests-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | // 2 | // Use this file to import your target's public headers that you would like to expose to Swift. 3 | // 4 | 5 | -------------------------------------------------------------------------------- /Xcode/Examples/DesktopXMPP/English.lproj/MainMenu.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robbiehanson/XMPPFramework/HEAD/Xcode/Examples/DesktopXMPP/English.lproj/MainMenu.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Xcode/Examples/Tests/MulticastDelegateTest/Mobile/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robbiehanson/XMPPFramework/HEAD/Xcode/Examples/Tests/MulticastDelegateTest/Mobile/Default-568h@2x.png -------------------------------------------------------------------------------- /Extensions/XEP-0115/CoreDataStorage/XMPPCapabilities.xcdatamodel/elements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robbiehanson/XMPPFramework/HEAD/Extensions/XEP-0115/CoreDataStorage/XMPPCapabilities.xcdatamodel/elements -------------------------------------------------------------------------------- /Extensions/XEP-0115/CoreDataStorage/XMPPCapabilities.xcdatamodel/layout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robbiehanson/XMPPFramework/HEAD/Extensions/XEP-0115/CoreDataStorage/XMPPCapabilities.xcdatamodel/layout -------------------------------------------------------------------------------- /Xcode/Examples/DesktopXMPP/English.lproj/ChatWindow.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robbiehanson/XMPPFramework/HEAD/Xcode/Examples/DesktopXMPP/English.lproj/ChatWindow.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Xcode/Testing-Swift/XMPPFrameworkTests-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | // 2 | // Use this file to import your target's public headers that you would like to expose to Swift. 3 | // 4 | 5 | #import "XMPPMockStream.h" 6 | -------------------------------------------------------------------------------- /Cartfile: -------------------------------------------------------------------------------- 1 | github "CocoaLumberjack/CocoaLumberjack" ~> 3.3.0 2 | github "robbiehanson/CocoaAsyncSocket" ~> 7.6.2 3 | github "robbiehanson/KissXML" ~> 5.2.1 4 | github "chrisballinger/libidn-framework" ~> 1.33.1 5 | -------------------------------------------------------------------------------- /Cartfile.resolved: -------------------------------------------------------------------------------- 1 | github "CocoaLumberjack/CocoaLumberjack" "3.4.2" 2 | github "chrisballinger/libidn-framework" "1.35" 3 | github "robbiehanson/CocoaAsyncSocket" "7.6.3" 4 | github "robbiehanson/KissXML" "5.2.3" 5 | -------------------------------------------------------------------------------- /Swift/XMPPFrameworkSwift.h: -------------------------------------------------------------------------------- 1 | @import Foundation; 2 | @import XMPPFramework; 3 | 4 | FOUNDATION_EXPORT double XMPPFrameworkSwiftVersionNumber; 5 | FOUNDATION_EXPORT const unsigned char XMPPFrameworkSwiftVersionString[]; 6 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestDDList/TestDDList/AppDelegate.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface AppDelegate : NSObject 4 | 5 | @property (assign) IBOutlet NSWindow *window; 6 | 7 | @end 8 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestJID/Desktop/TestJID/AppDelegate.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface AppDelegate : NSObject 4 | 5 | @property (assign) IBOutlet NSWindow *window; 6 | 7 | @end 8 | -------------------------------------------------------------------------------- /Xcode/Examples/DesktopXMPP/XMPPStream_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'XMPPStream' target in the 'XMPPStream' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestJID/Mobile/TestJID/AppDelegate.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface AppDelegate : UIResponder 4 | 5 | @property (strong, nonatomic) UIWindow *window; 6 | 7 | @end 8 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestJID/Desktop/TestJID/TestJID-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'TestJID' target in the 'TestJID' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestXEP82/Mac/TestXEP82_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'TestXEP82' target in the 'TestXEP82' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /Extensions/XEP-0054/CoreDataStorage/XMPPvCard.xcdatamodeld/XMPPvCard.xcdatamodel/layout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robbiehanson/XMPPFramework/HEAD/Extensions/XEP-0054/CoreDataStorage/XMPPvCard.xcdatamodeld/XMPPvCard.xcdatamodel/layout -------------------------------------------------------------------------------- /Extensions/XEP-0054/CoreDataStorage/XMPPvCard.xcdatamodeld/XMPPvCard2.xcdatamodel/layout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robbiehanson/XMPPFramework/HEAD/Extensions/XEP-0054/CoreDataStorage/XMPPvCard.xcdatamodeld/XMPPvCard2.xcdatamodel/layout -------------------------------------------------------------------------------- /Extensions/XEP-0054/CoreDataStorage/XMPPvCard.xcdatamodeld/XMPPvCard.xcdatamodel/elements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robbiehanson/XMPPFramework/HEAD/Extensions/XEP-0054/CoreDataStorage/XMPPvCard.xcdatamodeld/XMPPvCard.xcdatamodel/elements -------------------------------------------------------------------------------- /Extensions/XEP-0054/CoreDataStorage/XMPPvCard.xcdatamodeld/XMPPvCard2.xcdatamodel/elements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/robbiehanson/XMPPFramework/HEAD/Extensions/XEP-0054/CoreDataStorage/XMPPvCard.xcdatamodeld/XMPPvCard2.xcdatamodel/elements -------------------------------------------------------------------------------- /Xcode/Examples/Tests/MUCTesting/MUCTesting/MUCTesting-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'MUCTesting' target in the 'MUCTesting' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestDDList/TestDDList/TestDDList-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'TestDDList' target in the 'TestDDList' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/ParserTestMac/ParserTestMac_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'ParserTestMac' target in the 'ParserTestMac' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestSRVResolver/TestSRVResolver_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'TestSRVResolver' target in the 'TestSRVResolver' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/AutoPingTest/Desktop/AutoPingTest/AutoPingTest-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'AutoPingTest' target in the 'AutoPingTest' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/AutoTimeTest/Desktop/AutoTimeTest/AutoTimeTest-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'AutoTimeTest' target in the 'AutoTimeTest' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/EncodeDecodeTest/Desktop/EncodeDecodeTest/AppDelegate.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | 4 | @interface AppDelegate : NSObject 5 | 6 | @property (unsafe_unretained) IBOutlet NSWindow *window; 7 | 8 | @end 9 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/MulticastDelegateTest/Desktop/MulticastDelegateTest/AppDelegate.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | 4 | @interface AppDelegate : NSObject 5 | 6 | @property (assign) IBOutlet NSWindow *window; 7 | 8 | @end 9 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestIDTracker/TestIDTracker/TestIDTracker-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'TestIDTracker' target in the 'TestIDTracker' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/MulticastDelegateTest/Mobile/MulticastDelegateTest/AppDelegate.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | 4 | @interface AppDelegate : UIResponder 5 | 6 | @property (strong, nonatomic) UIWindow *window; 7 | 8 | @end 9 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | build 3 | *.mode1v3 4 | *.pbxuser 5 | project.xcworkspace 6 | xcuserdata 7 | .svn 8 | DerivedData 9 | *.orig 10 | *.xccheckout 11 | *.xcscmblueprint 12 | XMPPFramework*.zip 13 | 14 | Pods/ 15 | Carthage/ 16 | /.build 17 | /.swiftpm/ 18 | -------------------------------------------------------------------------------- /Extensions/FileTransfer/XMPPFileTransfer.m: -------------------------------------------------------------------------------- 1 | // 2 | // Created by Jonathon Staff on 10/21/14. 3 | // Copyright (c) 2014 nplexity, LLC. All rights reserved. 4 | // 5 | 6 | #import "XMPPFileTransfer.h" 7 | 8 | 9 | @implementation XMPPFileTransfer 10 | 11 | @end -------------------------------------------------------------------------------- /Xcode/Examples/Tests/MulticastDelegateTest/Shared/MulticastDelegateTest.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | 4 | @interface MulticastDelegateTest : NSObject 5 | 6 | + (MulticastDelegateTest *)sharedInstance; 7 | 8 | - (void)test; 9 | 10 | @end 11 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/EncodeDecodeTest/Desktop/EncodeDecodeTest/EncodeDecodeTest-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'EncodeDecodeTest' target in the 'EncodeDecodeTest' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /Xcode/Examples/ServerlessDemo/DDString.m: -------------------------------------------------------------------------------- 1 | #import "DDString.h" 2 | 3 | 4 | @implementation NSString (DDString) 5 | 6 | + (id)stringWithUTF8Data:(NSData *)data 7 | { 8 | return [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 9 | } 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestElementReceipt/TestElementReceipt/TestElementReceipt-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'TestElementReceipt' target in the 'TestElementReceipt' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /Extensions/XEP-0352/NSXMLElement+XEP_0352.h: -------------------------------------------------------------------------------- 1 | 2 | #import "NSXMLElement+XMPP.h" 3 | 4 | NS_ASSUME_NONNULL_BEGIN 5 | @interface NSXMLElement (XEP0352) 6 | 7 | + (instancetype)indicateInactiveElement; 8 | + (instancetype)indicateActiveElement; 9 | 10 | @end 11 | NS_ASSUME_NONNULL_END 12 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/ParserTestPhone/ParserTestPhone_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'ParserTestPhone' target in the 'ParserTestPhone' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #import 8 | #endif 9 | -------------------------------------------------------------------------------- /Extensions/XEP-0106/NSString+XEP_0106.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface NSString (XEP_0106) 4 | 5 | @property (nonatomic, readonly, nullable) NSString * jidEscapedString; 6 | 7 | @property (nonatomic, readonly, nullable) NSString * jidUnescapedString; 8 | 9 | @end 10 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/MulticastDelegateTest/Desktop/MulticastDelegateTest/MulticastDelegateTest-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'MulticastDelegateTest' target in the 'MulticastDelegateTest' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/MulticastDelegateTest/Shared/DelegateTesters.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | 4 | @interface DelegateTester1 : NSObject 5 | 6 | @end 7 | 8 | @interface DelegateTester2 : NSObject 9 | 10 | @end 11 | 12 | @interface DelegateTester3 : NSObject 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestXEP82/Mac/TestXEP82AppDelegate.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface TestXEP82AppDelegate : NSObject 4 | { 5 | __unsafe_unretained NSWindow *window; 6 | } 7 | 8 | @property (unsafe_unretained) IBOutlet NSWindow *window; 9 | 10 | @end 11 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestCapabilitiesHashing/Mac/TestCapabilitiesHashing/TestCapabilitiesHashing_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'TestCapabilitiesHashing' target in the 'TestCapabilitiesHashing' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/ParserTestPhone/Classes/ParserTestPhoneAppDelegate.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface ParserTestPhoneAppDelegate : NSObject 4 | { 5 | UIWindow *window; 6 | } 7 | 8 | @property (nonatomic, retain) IBOutlet UIWindow *window; 9 | 10 | @end 11 | 12 | -------------------------------------------------------------------------------- /Extensions/XEP-0172/XMPPMessage+XEP_0172.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "XMPPMessage.h" 3 | 4 | NS_ASSUME_NONNULL_BEGIN 5 | @interface XMPPMessage (XEP_0172) 6 | 7 | @property (nonatomic, readonly, nullable) NSString *nick; 8 | 9 | - (void)addNick:(NSString *)nick; 10 | 11 | @end 12 | NS_ASSUME_NONNULL_END 13 | -------------------------------------------------------------------------------- /Extensions/XEP-0172/XMPPPresence+XEP_0172.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "XMPPPresence.h" 3 | 4 | NS_ASSUME_NONNULL_BEGIN 5 | @interface XMPPPresence (XEP_0172) 6 | 7 | @property (nonatomic, readonly, nullable) NSString *nick; 8 | 9 | - (void)addNick:(NSString *)nick; 10 | 11 | @end 12 | NS_ASSUME_NONNULL_END 13 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestXEP82/Mac/TestXEP82AppDelegate.m: -------------------------------------------------------------------------------- 1 | #import "TestXEP82AppDelegate.h" 2 | #import "TestXEP82.h" 3 | 4 | 5 | @implementation TestXEP82AppDelegate 6 | 7 | @synthesize window; 8 | 9 | - (void)applicationDidFinishLaunching:(NSNotification *)aNotification 10 | { 11 | [TestXEP82 runTests]; 12 | } 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestXEP82/TestXEP82.h: -------------------------------------------------------------------------------- 1 | // 2 | // TestXEP82.h 3 | // TestXEP82 4 | // 5 | // Created by Robbie Hanson on 4/12/11. 6 | // Copyright 2011 Deusty, LLC. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @interface TestXEP82 : NSObject 13 | 14 | + (void)runTests; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestCapabilitiesHashing/iPhone/TestCapabilitiesHashing/TestCapabilitiesHashing_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'TestCapabilitiesHashing' target in the 'TestCapabilitiesHashing' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #import 8 | #endif 9 | -------------------------------------------------------------------------------- /Xcode/Testing-iOS/XMPPFrameworkTests.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Xcode/Examples/DesktopXMPP/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // XMPPStream 4 | // 5 | // Created by Robert Hanson on 4/22/07. 6 | // Copyright __MyCompanyName__ 2007. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, char *argv[]) 12 | { 13 | return NSApplicationMain(argc, (const char **) argv); 14 | } 15 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/EncodeDecodeTest/Mobile/EncodeDecodeTest/AppDelegate.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @class ViewController; 4 | 5 | 6 | @interface AppDelegate : UIResponder 7 | 8 | @property (strong, nonatomic) UIWindow *window; 9 | @property (strong, nonatomic) ViewController *viewController; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Xcode/Examples/iPhoneXMPP/Classes/RootViewController.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | 4 | 5 | @interface RootViewController : UITableViewController 6 | { 7 | NSFetchedResultsController *fetchedResultsController; 8 | } 9 | 10 | - (IBAction)settings:(id)sender; 11 | 12 | @end 13 | -------------------------------------------------------------------------------- /Xcode/Testing-iOS/XMPPFrameworkTests.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Xcode/Testing-macOS/XMPPFrameworkTests.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Extensions/XEP-0045/CoreDataStorage/XMPPRoom.xcdatamodeld/.xccurrentversion: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | _XCCurrentVersionName 6 | XMPPRoom.xcdatamodel 7 | 8 | 9 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestSRVResolver/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // TestSRVResolver 4 | // 5 | // Created by Robbie Hanson on 1/30/11. 6 | // Copyright 2011 Voalte. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, char *argv[]) 12 | { 13 | return NSApplicationMain(argc, (const char **) argv); 14 | } 15 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestXEP82/Mac/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // TestXEP82 4 | // 5 | // Created by Robbie Hanson on 9/17/10. 6 | // Copyright 2010 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, char *argv[]) 12 | { 13 | return NSApplicationMain(argc, (const char **) argv); 14 | } 15 | -------------------------------------------------------------------------------- /Extensions/XEP-0054/CoreDataStorage/XMPPvCard.xcdatamodeld/.xccurrentversion: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | _XCCurrentVersionName 6 | XMPPvCard2.xcdatamodel 7 | 8 | 9 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/MUCTesting/MUCTesting/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // MUCTesting 4 | // 5 | // Created by Robbie Hanson on 8/4/11. 6 | // Copyright 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, char *argv[]) 12 | { 13 | return NSApplicationMain(argc, (const char **)argv); 14 | } 15 | -------------------------------------------------------------------------------- /Extensions/XEP-0045/HybridStorage/XMPPRoomHybrid.xcdatamodeld/.xccurrentversion: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | _XCCurrentVersionName 6 | XMPPRoomHybrid.xcdatamodel 7 | 8 | 9 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/ParserTestMac/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // ParserTestMac 4 | // 5 | // Created by Robbie Hanson on 11/22/09. 6 | // Copyright 2009 Deusty Designs, LLC.. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, char *argv[]) 12 | { 13 | return NSApplicationMain(argc, (const char **) argv); 14 | } 15 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestDDList/TestDDList/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // TestDDList 4 | // 5 | // Created by Robbie Hanson on 4/1/12. 6 | // Copyright (c) 2012 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, char *argv[]) 12 | { 13 | return NSApplicationMain(argc, (const char **)argv); 14 | } 15 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestJID/Desktop/TestJID/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // TestJID 4 | // 5 | // Created by Robbie Hanson on 4/25/12. 6 | // Copyright (c) 2012 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, char *argv[]) 12 | { 13 | return NSApplicationMain(argc, (const char **)argv); 14 | } 15 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestIDTracker/TestIDTracker/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // TestIDTracker 4 | // 5 | // Created by Robbie Hanson on 8/1/11. 6 | // Copyright 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, char *argv[]) 12 | { 13 | return NSApplicationMain(argc, (const char **)argv); 14 | } 15 | -------------------------------------------------------------------------------- /Extensions/XEP-0045/XMPPMessage+XEP0045.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "XMPPMessage.h" 3 | 4 | 5 | @interface XMPPMessage(XEP0045) 6 | 7 | @property (nonatomic, readonly) BOOL isGroupChatMessage; 8 | @property (nonatomic, readonly) BOOL isGroupChatMessageWithBody; 9 | @property (nonatomic, readonly) BOOL isGroupChatMessageWithSubject; 10 | 11 | @end 12 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/AutoPingTest/Desktop/AutoPingTest/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // AutoPingTest 4 | // 5 | // Created by Robbie Hanson on 4/13/11. 6 | // Copyright 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, char *argv[]) 12 | { 13 | return NSApplicationMain(argc, (const char **)argv); 14 | } 15 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/AutoTimeTest/Desktop/AutoTimeTest/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // AutoTimeTest 4 | // 5 | // Created by Robbie Hanson on 8/9/11. 6 | // Copyright 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, char *argv[]) 12 | { 13 | return NSApplicationMain(argc, (const char **)argv); 14 | } 15 | -------------------------------------------------------------------------------- /Extensions/XEP-0136/CoreDataStorage/XMPPMessageArchiving.xcdatamodeld/.xccurrentversion: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | _XCCurrentVersionName 6 | XMPPMessageArchiving.xcdatamodel 7 | 8 | 9 | -------------------------------------------------------------------------------- /Xcode/Examples/DesktopXMPP/RequestController.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | 4 | @interface RequestController : NSObject 5 | { 6 | NSMutableArray *jids; 7 | int jidIndex; 8 | 9 | IBOutlet id jidField; 10 | IBOutlet id window; 11 | IBOutlet id xofyField; 12 | } 13 | 14 | - (IBAction)accept:(id)sender; 15 | - (IBAction)reject:(id)sender; 16 | 17 | @end 18 | 19 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/AutoPingTest/Mobile/AutoPingTest/AutoPingTestViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // AutoPingTestViewController.h 3 | // AutoPingTest 4 | // 5 | // Created by Robbie Hanson on 9/1/11. 6 | // Copyright 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AutoPingTestViewController : UIViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/AutoTimeTest/Mobile/AutoTimeTest/AutoTimeTestViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // AutoTimeTestViewController.h 3 | // AutoTimeTest 4 | // 5 | // Created by Robbie Hanson on 9/1/11. 6 | // Copyright 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AutoTimeTestViewController : UIViewController 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestElementReceipt/TestElementReceipt/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // TestElementReceipt 4 | // 5 | // Created by Robbie Hanson on 8/5/11. 6 | // Copyright 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, char *argv[]) 12 | { 13 | return NSApplicationMain(argc, (const char **)argv); 14 | } 15 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestSRVResolver/TestSRVResolverAppDelegate.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @class XMPPSRVResolver; 4 | 5 | 6 | @interface TestSRVResolverAppDelegate : NSObject 7 | { 8 | XMPPSRVResolver *srvResolver; 9 | __unsafe_unretained NSWindow *window; 10 | } 11 | 12 | @property (unsafe_unretained) IBOutlet NSWindow *window; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/EncodeDecodeTest/Desktop/EncodeDecodeTest/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // EncodeDecodeTest 4 | // 5 | // Created by Robbie Hanson on 12/1/11. 6 | // Copyright (c) 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, char *argv[]) 12 | { 13 | return NSApplicationMain(argc, (const char **)argv); 14 | } 15 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/MulticastDelegateTest/Desktop/MulticastDelegateTest/AppDelegate.m: -------------------------------------------------------------------------------- 1 | #import "AppDelegate.h" 2 | #import "MulticastDelegateTest.h" 3 | 4 | 5 | @implementation AppDelegate 6 | 7 | @synthesize window = _window; 8 | 9 | - (void)applicationDidFinishLaunching:(NSNotification *)aNotification 10 | { 11 | [[MulticastDelegateTest sharedInstance] test]; 12 | } 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestXEP82/iOS/TestXEP82/TestXEP82AppDelegate.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @class TestXEP82ViewController; 4 | 5 | 6 | @interface TestXEP82AppDelegate : NSObject { 7 | 8 | } 9 | 10 | @property (nonatomic, retain) IBOutlet UIWindow *window; 11 | @property (nonatomic, retain) IBOutlet TestXEP82ViewController *viewController; 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Extensions/XEP-0224/XMPPMessage+XEP_0224.h: -------------------------------------------------------------------------------- 1 | #import "XMPPMessage.h" 2 | 3 | /** "urn:xmpp:attention:0" */ 4 | FOUNDATION_EXPORT NSString *const XMLNS_ATTENTION; 5 | 6 | @interface XMPPMessage (XEP_0224) 7 | @property (nonatomic, readonly) BOOL isHeadLineMessage; 8 | @property (nonatomic, readonly) BOOL isAttentionMessage; 9 | @property (nonatomic, readonly) BOOL isAttentionMessageWithBody; 10 | @end 11 | -------------------------------------------------------------------------------- /Xcode/Examples/ServerlessDemo/Classes/RootViewController.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | 4 | @interface RootViewController : UITableViewController 5 | { 6 | NSFetchedResultsController *fetchedResultsController; 7 | NSManagedObjectContext *managedObjectContext; 8 | } 9 | 10 | @property (nonatomic) NSManagedObjectContext *managedObjectContext; 11 | 12 | @end 13 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/MulticastDelegateTest/Desktop/MulticastDelegateTest/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // MulticastDelegateTest 4 | // 5 | // Created by Robbie Hanson on 4/27/12. 6 | // Copyright (c) 2012 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, char *argv[]) 12 | { 13 | return NSApplicationMain(argc, (const char **)argv); 14 | } 15 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestCapabilitiesHashing/Mac/TestCapabilitiesHashing/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // TestCapabilitiesHashing 4 | // 5 | // Created by Robbie Hanson on 5/12/10. 6 | // Copyright 2010 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, char *argv[]) 12 | { 13 | return NSApplicationMain(argc, (const char **) argv); 14 | } 15 | -------------------------------------------------------------------------------- /Xcode/Testing-macOS/Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment this line to define a global platform for your project 2 | platform :osx, '10.10' 3 | # Uncomment this line if you're using Swift 4 | use_frameworks! 5 | 6 | target 'XMPPFrameworkTests' do 7 | 8 | pod "XMPPFramework", :path => "../../" 9 | 10 | end 11 | 12 | target 'XMPPFrameworkSwiftTests' do 13 | 14 | pod "XMPPFramework/Swift", :path => "../../" 15 | 16 | end 17 | -------------------------------------------------------------------------------- /Xcode/Examples/iPhoneXMPP/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // iPhoneXMPP 4 | // 5 | // Created by Robbie Hanson on 3/18/10. 6 | // Copyright Deusty, LLC 2012. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, char *argv[]) { 12 | 13 | @autoreleasepool { 14 | int retVal = UIApplicationMain(argc, argv, nil, nil); 15 | return retVal; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Xcode/Testing-iOS/Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment this line to define a global platform for your project 2 | platform :ios, '9.0' 3 | # Uncomment this line if you're using Swift 4 | use_frameworks! 5 | 6 | target 'XMPPFrameworkTests' do 7 | 8 | pod "XMPPFramework", :path => "../../" 9 | 10 | end 11 | 12 | target 'XMPPFrameworkSwiftTests' do 13 | 14 | pod "XMPPFramework/Swift", :path => "../../" 15 | 16 | end 17 | 18 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/MulticastDelegateTest/Shared/MyProtocol.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @protocol MyProtocol 4 | @optional 5 | 6 | - (void)didSomething; 7 | - (void)didSomethingElse:(BOOL)flag; 8 | 9 | - (void)foundString:(NSString *)str; 10 | - (void)foundString:(NSString *)str andNumber:(NSNumber *)num; 11 | 12 | - (BOOL)shouldSing; 13 | - (BOOL)shouldDance; 14 | 15 | - (void)fastTrack; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Xcode/Examples/ServerlessDemo/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // ServerlessDemo 4 | // 5 | // Created by Robbie Hanson on 1/8/10. 6 | // Copyright Deusty Designs, LLC. 2010. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, char *argv[]) { 12 | 13 | @autoreleasepool { 14 | int retVal = UIApplicationMain(argc, argv, nil, nil); 15 | return retVal; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestJID/Mobile/TestJID/TestJID-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'TestJID' target in the 'TestJID' project 3 | // 4 | 5 | #import 6 | 7 | #ifndef __IPHONE_3_0 8 | #warning "This project uses features only available in iOS SDK 3.0 and later." 9 | #endif 10 | 11 | #ifdef __OBJC__ 12 | #import 13 | #import 14 | #endif 15 | -------------------------------------------------------------------------------- /Xcode/Examples/iPhoneXMPP/iPhoneXMPP_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'iPhoneXMPP' target in the 'iPhoneXMPP' project 3 | // 4 | #import 5 | 6 | #ifndef __IPHONE_3_0 7 | #warning "This project uses features only available in iPhone SDK 3.0 and later." 8 | #endif 9 | 10 | 11 | #ifdef __OBJC__ 12 | #import 13 | #import 14 | #endif 15 | -------------------------------------------------------------------------------- /Extensions/XEP-0059/NSXMLElement+XEP_0059.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @import KissXML; 4 | 5 | @class XMPPResultSet; 6 | 7 | NS_ASSUME_NONNULL_BEGIN 8 | @interface NSXMLElement (XEP_0059) 9 | 10 | @property (nonatomic, readonly) BOOL isResultSet; 11 | @property (nonatomic, readonly) BOOL hasResultSet; 12 | @property (nonatomic, readonly, nullable) XMPPResultSet *resultSet; 13 | 14 | @end 15 | NS_ASSUME_NONNULL_END 16 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/AutoTimeTest/Desktop/AutoTimeTest/AutoTimeTestAppDelegate.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "XMPPFramework.h" 3 | 4 | 5 | @interface AutoTimeTestAppDelegate : NSObject { 6 | @private 7 | XMPPStream *xmppStream; 8 | XMPPAutoTime *xmppAutoTime; 9 | 10 | __unsafe_unretained NSWindow *window; 11 | } 12 | 13 | @property (unsafe_unretained) IBOutlet NSWindow *window; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/MUCTesting/MUCTesting/MUCTestingAppDelegate.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "XMPP.h" 3 | #import "XMPPRoom.h" 4 | 5 | 6 | @interface MUCTestingAppDelegate : NSObject 7 | { 8 | XMPPStream *xmppStream; 9 | XMPPRoom *xmppRoom; 10 | 11 | __unsafe_unretained NSWindow *window; 12 | } 13 | 14 | @property (unsafe_unretained) IBOutlet NSWindow *window; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestXEP82/iOS/TestXEP82/TestXEP82-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'TestXEP82' target in the 'TestXEP82' project 3 | // 4 | 5 | #import 6 | 7 | #ifndef __IPHONE_3_0 8 | #warning "This project uses features only available in iPhone SDK 3.0 and later." 9 | #endif 10 | 11 | #ifdef __OBJC__ 12 | #import 13 | #import 14 | #endif 15 | -------------------------------------------------------------------------------- /Extensions/Roster/XMPPResource.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "XMPP.h" 3 | 4 | NS_ASSUME_NONNULL_BEGIN 5 | @protocol XMPPResource 6 | @required 7 | 8 | @property (nonatomic, readonly) XMPPJID *jid; 9 | @property (nonatomic, readonly) XMPPPresence *presence; 10 | 11 | @property (nonatomic, readonly) NSDate *presenceDate; 12 | 13 | - (NSComparisonResult)compare:(id )another; 14 | 15 | @end 16 | NS_ASSUME_NONNULL_END 17 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/AutoPingTest/Mobile/AutoPingTest/AutoPingTest-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'AutoPingTest' target in the 'AutoPingTest' project 3 | // 4 | 5 | #import 6 | 7 | #ifndef __IPHONE_3_0 8 | #warning "This project uses features only available in iPhone SDK 3.0 and later." 9 | #endif 10 | 11 | #ifdef __OBJC__ 12 | #import 13 | #import 14 | #endif 15 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/AutoTimeTest/Mobile/AutoTimeTest/AutoTimeTest-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'AutoTimeTest' target in the 'AutoTimeTest' project 3 | // 4 | 5 | #import 6 | 7 | #ifndef __IPHONE_3_0 8 | #warning "This project uses features only available in iPhone SDK 3.0 and later." 9 | #endif 10 | 11 | #ifdef __OBJC__ 12 | #import 13 | #import 14 | #endif 15 | -------------------------------------------------------------------------------- /Extensions/XEP-0054/CoreDataStorage/XMPPvCardTempCoreDataStorageObject.m: -------------------------------------------------------------------------------- 1 | // 2 | // XMPPvCardTempCoreDataStorageObject.m 3 | // XEP-0054 vCard-temp 4 | // 5 | // Originally created by Eric Chamberlain on 3/18/11. 6 | // 7 | 8 | #import "XMPPvCardTempCoreDataStorageObject.h" 9 | #import "XMPPvCardCoreDataStorageObject.h" 10 | 11 | 12 | @implementation XMPPvCardTempCoreDataStorageObject 13 | 14 | @dynamic vCardTemp; 15 | @dynamic vCard; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestJID/Mobile/TestJID/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // TestJID 4 | // 5 | // Created by Robbie Hanson on 4/26/12. 6 | // Copyright (c) 2012 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #import "AppDelegate.h" 12 | 13 | int main(int argc, char *argv[]) 14 | { 15 | @autoreleasepool { 16 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Extensions/XEP-0054/CoreDataStorage/XMPPvCardAvatarCoreDataStorageObject.m: -------------------------------------------------------------------------------- 1 | // 2 | // XMPPvCardAvatarCoreDataStorageObject.m 3 | // XEP-0054 vCard-temp 4 | // 5 | // Originally created by Eric Chamberlain on 3/18/11. 6 | // 7 | 8 | #import "XMPPvCardAvatarCoreDataStorageObject.h" 9 | #import "XMPPvCardCoreDataStorageObject.h" 10 | 11 | 12 | @implementation XMPPvCardAvatarCoreDataStorageObject 13 | 14 | @dynamic photoData; 15 | @dynamic vCard; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Xcode/Examples/ServerlessDemo/StreamController.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @class GCDAsyncSocket; 4 | @class Service; 5 | 6 | @interface StreamController : NSObject 7 | { 8 | GCDAsyncSocket *listeningSocket; 9 | NSMutableArray *xmppStreams; 10 | NSMutableDictionary *serviceDict; 11 | } 12 | 13 | + (StreamController *)sharedInstance; 14 | 15 | - (void)startListening; 16 | - (void)stopListening; 17 | 18 | - (UInt16)listeningPort; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestXEP82/iOS/TestXEP82/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // TestXEP82 4 | // 5 | // Created by Robbie Hanson on 4/12/11. 6 | // Copyright 2011 Voalte. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "TestXEP82AppDelegate.h" 11 | 12 | int main(int argc, char *argv[]) 13 | { 14 | @autoreleasepool { 15 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([TestXEP82AppDelegate class])); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/EncodeDecodeTest/Mobile/EncodeDecodeTest/EncodeDecodeTest-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'EncodeDecodeTest' target in the 'EncodeDecodeTest' project 3 | // 4 | 5 | #import 6 | 7 | #ifndef __IPHONE_4_0 8 | #warning "This project uses features only available in iOS SDK 4.0 and later." 9 | #endif 10 | 11 | #ifdef __OBJC__ 12 | #import 13 | #import 14 | #endif 15 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestCapabilitiesHashing/iPhone/TestCapabilitiesHashing/Classes/TestCapabilitiesHashingViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // TestCapabilitiesHashingViewController.h 3 | // TestCapabilitiesHashing 4 | // 5 | // Created by Robbie Hanson on 5/12/10. 6 | // Copyright __MyCompanyName__ 2010. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface TestCapabilitiesHashingViewController : UIViewController { 12 | 13 | } 14 | 15 | @end 16 | 17 | -------------------------------------------------------------------------------- /Extensions/XEP-0203/NSXMLElement+XEP_0203.h: -------------------------------------------------------------------------------- 1 | #import 2 | @import KissXML; 3 | 4 | @class XMPPJID; 5 | 6 | @interface NSXMLElement (XEP_0203) 7 | 8 | @property (nonatomic, readonly) BOOL wasDelayed; 9 | @property (nonatomic, readonly, nullable) NSDate *delayedDeliveryDate; 10 | @property (nonatomic, readonly, nullable) XMPPJID *delayedDeliveryFrom; 11 | @property (nonatomic, readonly, nullable) NSString *delayedDeliveryReasonDescription; 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Extensions/XEP-0313/XMPPMessage+XEP_0313.h: -------------------------------------------------------------------------------- 1 | // 2 | // XMPPMessage+XEP_0313.h 3 | // XMPPFramework 4 | // 5 | // Created by Chris Ballinger on 10/23/17. 6 | // Copyright © 2017 Chris Ballinger. All rights reserved. 7 | // 8 | 9 | #import "XMPPMessage.h" 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | @interface XMPPMessage (XEP_0313) 13 | /** XEP-0313: MAM element */ 14 | @property (nonatomic, nullable, readonly) NSXMLElement *mamResult; 15 | @end 16 | NS_ASSUME_NONNULL_END 17 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/AutoPingTest/Mobile/AutoPingTest/AutoPingTestAppDelegate.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "XMPPFramework.h" 3 | 4 | @class AutoPingTestViewController; 5 | 6 | @interface AutoPingTestAppDelegate : NSObject 7 | { 8 | XMPPStream *xmppStream; 9 | XMPPAutoPing *xmppAutoPing; 10 | } 11 | 12 | @property (nonatomic) IBOutlet UIWindow *window; 13 | @property (nonatomic) IBOutlet AutoPingTestViewController *viewController; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/EncodeDecodeTest/Mobile/EncodeDecodeTest/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // EncodeDecodeTest 4 | // 5 | // Created by Robbie Hanson on 12/1/11. 6 | // Copyright (c) 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #import "AppDelegate.h" 12 | 13 | int main(int argc, char *argv[]) 14 | { 15 | @autoreleasepool { 16 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Xcode/Examples/ServerlessDemo/Classes/BonjourClient.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | 4 | @interface BonjourClient : NSObject 5 | { 6 | NSNetServiceBrowser *serviceBrowser; 7 | NSMutableArray *services; 8 | 9 | NSNetService *localService; 10 | } 11 | 12 | + (BonjourClient *)sharedInstance; 13 | 14 | - (void)startBrowsing; 15 | - (void)stopBrowsing; 16 | 17 | - (void)publishServiceOnPort:(UInt16)port; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /Xcode/Examples/ServerlessDemo/ServerlessDemo_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'ServerlessDemo' target in the 'ServerlessDemo' project 3 | // 4 | 5 | #import 6 | 7 | #ifndef __IPHONE_3_0 8 | #warning "This project uses features only available in iPhone SDK 3.0 and later." 9 | #endif 10 | 11 | 12 | #ifdef __OBJC__ 13 | #import 14 | #import 15 | #import 16 | #endif 17 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/AutoTimeTest/Mobile/AutoTimeTest/AutoTimeTestAppDelegate.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "XMPPFramework.h" 3 | 4 | @class AutoTimeTestViewController; 5 | 6 | 7 | @interface AutoTimeTestAppDelegate : NSObject 8 | { 9 | XMPPStream *xmppStream; 10 | XMPPAutoTime *xmppAutoTime; 11 | } 12 | 13 | @property (nonatomic) IBOutlet UIWindow *window; 14 | @property (nonatomic) IBOutlet AutoTimeTestViewController *viewController; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/AutoPingTest/Mobile/AutoPingTest/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // AutoPingTest 4 | // 5 | // Created by Robbie Hanson on 9/1/11. 6 | // Copyright 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AutoPingTestAppDelegate.h" 11 | 12 | int main(int argc, char *argv[]) 13 | { 14 | @autoreleasepool { 15 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AutoPingTestAppDelegate class])); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/AutoTimeTest/Mobile/AutoTimeTest/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // AutoTimeTest 4 | // 5 | // Created by Robbie Hanson on 9/1/11. 6 | // Copyright 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "AutoTimeTestAppDelegate.h" 11 | 12 | int main(int argc, char *argv[]) 13 | { 14 | @autoreleasepool { 15 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AutoTimeTestAppDelegate class])); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/MulticastDelegateTest/Mobile/MulticastDelegateTest/MulticastDelegateTest-Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'MulticastDelegateTest' target in the 'MulticastDelegateTest' project 3 | // 4 | 5 | #import 6 | 7 | #ifndef __IPHONE_3_0 8 | #warning "This project uses features only available in iOS SDK 3.0 and later." 9 | #endif 10 | 11 | #ifdef __OBJC__ 12 | #import 13 | #import 14 | #endif 15 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/MulticastDelegateTest/Mobile/MulticastDelegateTest/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // MulticastDelegateTest 4 | // 5 | // Created by Robbie Hanson on 4/27/12. 6 | // Copyright (c) 2012 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #import "AppDelegate.h" 12 | 13 | int main(int argc, char *argv[]) 14 | { 15 | @autoreleasepool { 16 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/ParserTestPhone/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // ParserTestPhone 4 | // 5 | // Created by Robbie Hanson on 11/22/09. 6 | // Copyright Deusty Designs, LLC. 2009. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "ParserTestPhoneAppDelegate.h" 11 | 12 | int main(int argc, char *argv[]) { 13 | 14 | @autoreleasepool { 15 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([ParserTestPhoneAppDelegate class])); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Extensions/XEP-0054/CoreDataStorage/XMPPvCardTransformer.h: -------------------------------------------------------------------------------- 1 | // 2 | // XMPPvCardTransformer.h 3 | // XMPPFramework 4 | // 5 | // Created by Tobias Ottenweller on 26.10.20. 6 | // Copyright © 2020 XMPPFramework. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | 13 | API_AVAILABLE(ios(12.0), tvos(12.0), macos(10.14)) 14 | @interface XMPPvCardTransformer : NSSecureUnarchiveFromDataTransformer 15 | 16 | @end 17 | 18 | NS_ASSUME_NONNULL_END 19 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/ParserTestMac/ParserTestMacAppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // ParserTestMacAppDelegate.h 3 | // ParserTestMac 4 | // 5 | // Created by Robbie Hanson on 11/22/09. 6 | // Copyright 2009 Deusty Designs, LLC.. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ParserTestMacAppDelegate : NSObject 12 | { 13 | __unsafe_unretained NSWindow *window; 14 | } 15 | 16 | @property (unsafe_unretained) IBOutlet NSWindow *window; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Utilities/RFImageToDataTransformer.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | File: RFImageToDataTransformer.h 4 | Abstract: A value transformer, which transforms a UIImage or NSImage object into an NSData object. 5 | 6 | Based on Apple's UIImageToDataTransformer 7 | 8 | Copyright (C) 2010 Apple Inc. All Rights Reserved. 9 | Copyright (C) 2011 RF.com All Rights Reserved. 10 | */ 11 | 12 | #import 13 | 14 | 15 | @interface RFImageToDataTransformer : NSValueTransformer { 16 | 17 | } 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestElementReceipt/TestElementReceipt/TestElementReceiptAppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // TestElementReceiptAppDelegate.h 3 | // TestElementReceipt 4 | // 5 | // Created by Robbie Hanson on 8/5/11. 6 | // Copyright 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface TestElementReceiptAppDelegate : NSObject { 12 | __unsafe_unretained NSWindow *window; 13 | } 14 | 15 | @property (unsafe_unretained) IBOutlet NSWindow *window; 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Extensions/XEP-0184/XMPPMessage+XEP_0184.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "XMPPMessage.h" 3 | 4 | NS_ASSUME_NONNULL_BEGIN 5 | @interface XMPPMessage (XEP_0184) 6 | 7 | @property (nonatomic, readonly) BOOL hasReceiptRequest; 8 | @property (nonatomic, readonly) BOOL hasReceiptResponse; 9 | @property (nonatomic, readonly, nullable) NSString *receiptResponseID; 10 | @property (nonatomic, readonly, nullable) XMPPMessage *generateReceiptResponse; 11 | 12 | - (void)addReceiptRequest; 13 | 14 | @end 15 | NS_ASSUME_NONNULL_END 16 | -------------------------------------------------------------------------------- /Extensions/XEP-0352/NSXMLElement+XEP_0352.m: -------------------------------------------------------------------------------- 1 | 2 | #import "NSXMLElement+XEP_0352.h" 3 | 4 | #define XMLNS_XMPP_CLIENT_STATE_INDICATION @"urn:xmpp:csi:0" 5 | 6 | @implementation NSXMLElement (XEP0352) 7 | 8 | + (instancetype)indicateActiveElement 9 | { 10 | return [NSXMLElement elementWithName:@"active" xmlns:XMLNS_XMPP_CLIENT_STATE_INDICATION]; 11 | } 12 | 13 | + (instancetype)indicateInactiveElement 14 | { 15 | return [NSXMLElement elementWithName:@"inactive" xmlns:XMLNS_XMPP_CLIENT_STATE_INDICATION]; 16 | } 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestCapabilitiesHashing/iPhone/TestCapabilitiesHashing/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // TestCapabilitiesHashing 4 | // 5 | // Created by Robbie Hanson on 5/12/10. 6 | // Copyright __MyCompanyName__ 2010. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "TestCapabilitiesHashingAppDelegate.h" 11 | 12 | int main(int argc, char *argv[]) { 13 | 14 | @autoreleasepool { 15 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([TestCapabilitiesHashingAppDelegate class])); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Extensions/XEP-0313/XMPPMessage+XEP_0313.m: -------------------------------------------------------------------------------- 1 | // 2 | // XMPPMessage+XEP_0313.m 3 | // XMPPFramework 4 | // 5 | // Created by Chris Ballinger on 10/23/17. 6 | // Copyright © 2017 Chris Ballinger. All rights reserved. 7 | // 8 | 9 | #import "XMPPMessage+XEP_0313.h" 10 | #import "XMPPMessageArchiveManagement.h" 11 | #import "NSXMLElement+XMPP.h" 12 | 13 | @implementation XMPPMessage (XEP_0313) 14 | 15 | - (NSXMLElement*) mamResult { 16 | NSXMLElement *result = [self elementForName:@"result" xmlns:XMLNS_XMPP_MAM]; 17 | return result; 18 | } 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /Extensions/XMPPMUCLight/CoreDataStorage/XMPPRoomLightCoreDataStorageProtected.h: -------------------------------------------------------------------------------- 1 | #import "XMPPRoomLightCoreDataStorage.h" 2 | #import "XMPPCoreDataStorageProtected.h" 3 | 4 | @interface XMPPRoomLightCoreDataStorage (Protected) 5 | 6 | - (NSEntityDescription *)messageEntity:(NSManagedObjectContext *)moc; 7 | 8 | - (void)insertMessage:(XMPPMessage *)message 9 | outgoing:(BOOL)isOutgoing 10 | remoteTimestamp:(NSDate *)remoteTimestamp 11 | forRoom:(XMPPRoomLight *)room 12 | stream:(XMPPStream *)xmppStream; 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestIDTracker/TestIDTracker/TestIDTrackerAppDelegate.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @class XMPPIDTracker; 4 | 5 | 6 | @interface TestIDTrackerAppDelegate : NSObject 7 | { 8 | XMPPIDTracker *idTracker; 9 | 10 | NSString *fetch1; 11 | NSString *fetch2; 12 | NSString *fetch3; 13 | NSString *fetch4; 14 | NSString *fetch5; 15 | NSString *fetch6; 16 | NSString *fetch7; 17 | NSString *fetch8; 18 | 19 | __unsafe_unretained NSWindow *window; 20 | } 21 | 22 | @property (unsafe_unretained) IBOutlet NSWindow *window; 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /Extensions/XEP-0172/XMPPPresence+XEP_0172.m: -------------------------------------------------------------------------------- 1 | #import "XMPPPresence+XEP_0172.h" 2 | #import "NSXMLElement+XMPP.h" 3 | 4 | #define XMLNS_NICK @"http://jabber.org/protocol/nick" 5 | 6 | @implementation XMPPPresence (XEP_0172) 7 | 8 | - (NSString *)nick{ 9 | return [[self elementForName:@"nick" xmlns:XMLNS_NICK] stringValue]; 10 | } 11 | 12 | - (void)addNick:(NSString *)nick 13 | { 14 | NSXMLElement *nickElement = [NSXMLElement elementWithName:@"nick" xmlns:XMLNS_NICK]; 15 | [nickElement addChild:[NSXMLNode textWithStringValue:nick]]; 16 | [self addChild:nickElement]; 17 | } 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /Xcode/Examples/DesktopXMPP/WindowManager.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "XMPPFramework.h" 3 | 4 | @class ChatController; 5 | @class MucController; 6 | 7 | 8 | @interface WindowManager : NSObject 9 | 10 | + (void)openChatWindowWithStream:(XMPPStream *)xmppStream forUser:(id )user; 11 | + (void)closeChatWindow:(ChatController *)cc; 12 | 13 | + (void)openMucWindowWithStream:(XMPPStream *)xmppStream forRoom:(XMPPJID *)roomJid; 14 | + (void)closeMucWindow:(MucController *)mc; 15 | 16 | + (void)handleMessage:(XMPPMessage *)message withStream:(XMPPStream *)xmppStream; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Xcode/Examples/ServerlessDemo/Message.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @class Service; 4 | 5 | 6 | @interface Message : NSManagedObject 7 | 8 | // Properties 9 | 10 | @property (nonatomic) NSString * content; 11 | @property (nonatomic) NSNumber * outbound; 12 | @property (nonatomic) NSNumber * read; 13 | @property (nonatomic) NSDate * timeStamp; 14 | 15 | // Relationships 16 | 17 | @property (nonatomic) Service * service; 18 | 19 | // Convenience Properties 20 | 21 | @property (nonatomic, assign) BOOL isOutbound; 22 | @property (nonatomic, assign) BOOL hasBeenRead; 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestXEP82/iOS/TestXEP82/TestXEP82AppDelegate.m: -------------------------------------------------------------------------------- 1 | #import "TestXEP82AppDelegate.h" 2 | #import "TestXEP82ViewController.h" 3 | #import "TestXEP82.h" 4 | 5 | 6 | @implementation TestXEP82AppDelegate 7 | 8 | @synthesize window=_window; 9 | @synthesize viewController=_viewController; 10 | 11 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 12 | { 13 | [TestXEP82 runTests]; 14 | 15 | self.window.rootViewController = self.viewController; 16 | [self.window makeKeyAndVisible]; 17 | return YES; 18 | } 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /Authentication/SCRAM-SHA-1/XMPPSCRAMSHA1Authentication.h: -------------------------------------------------------------------------------- 1 | // 2 | // XMPPSCRAMSHA1Authentication.h 3 | // iPhoneXMPP 4 | // 5 | // Created by David Chiles on 3/21/14. 6 | // 7 | // 8 | 9 | #import 10 | #import "XMPPSASLAuthentication.h" 11 | #import "XMPPStream.h" 12 | 13 | NS_ASSUME_NONNULL_BEGIN 14 | @interface XMPPSCRAMSHA1Authentication : NSObject 15 | 16 | @end 17 | 18 | @interface XMPPStream (XMPPSCRAMSHA1Authentication) 19 | 20 | @property (nonatomic, readonly) BOOL supportsSCRAMSHA1Authentication; 21 | 22 | @end 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /Extensions/XEP-0172/XMPPMessage+XEP_0172.m: -------------------------------------------------------------------------------- 1 | #import "XMPPMessage+XEP_0172.h" 2 | #import "NSXMLElement+XMPP.h" 3 | 4 | #define XMLNS_NICK @"http://jabber.org/protocol/nick" 5 | 6 | @implementation XMPPMessage (XEP_0172) 7 | 8 | - (NSString *)nick 9 | { 10 | return [[self elementForName:@"nick" xmlns:XMLNS_NICK] stringValue]; 11 | } 12 | 13 | - (void)addNick:(NSString *)nick 14 | { 15 | NSXMLElement *nickElement = [NSXMLElement elementWithName:@"nick" xmlns:XMLNS_NICK]; 16 | [nickElement addChild:[NSXMLNode textWithStringValue:nick]]; 17 | [self addChild:nickElement]; 18 | } 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /Extensions/BandwidthMonitor/XMPPBandwidthMonitor.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Simple XMPP module that tracks average bandwidth of the xmpp stream. 3 | * 4 | * For now, this is a really simple module. 5 | * But perhaps in the future, as developers adapt this module, 6 | * they will open source their additions and improvements. 7 | **/ 8 | 9 | #import 10 | #import "XMPP.h" 11 | 12 | #define _XMPP_BANDWIDTH_MONITOR_H 13 | 14 | @interface XMPPBandwidthMonitor : XMPPModule 15 | 16 | @property (readonly) double outgoingBandwidth; 17 | @property (readonly) double incomingBandwidth; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /Extensions/XEP-0066/XMPPMessage+XEP_0066.h: -------------------------------------------------------------------------------- 1 | #import "XMPPMessage.h" 2 | 3 | NS_ASSUME_NONNULL_BEGIN 4 | @interface XMPPMessage (XEP_0066) 5 | 6 | - (void)addOutOfBandURL:(NSURL *)URL desc:(nullable NSString *)desc; 7 | - (void)addOutOfBandURI:(NSString *)URI desc:(nullable NSString *)desc; 8 | 9 | @property (nonatomic, readonly) BOOL hasOutOfBandData; 10 | 11 | @property (nonatomic, readonly, nullable) NSURL *outOfBandURL; 12 | @property (nonatomic, readonly, nullable) NSString *outOfBandURI; 13 | @property (nonatomic, readonly, nullable) NSString *outOfBandDesc; 14 | 15 | @end 16 | NS_ASSUME_NONNULL_END 17 | -------------------------------------------------------------------------------- /Extensions/XEP-0308/XMPPMessage+XEP_0308.h: -------------------------------------------------------------------------------- 1 | #import "XMPPMessage.h" 2 | 3 | NS_ASSUME_NONNULL_BEGIN 4 | @interface XMPPMessage (XEP_0308) 5 | 6 | @property (nonatomic, readonly) BOOL isMessageCorrection; 7 | 8 | @property (nonatomic, readonly, nullable) NSString *correctedMessageID; 9 | 10 | - (void)addMessageCorrectionWithID:(NSString *)messageCorrectionID; 11 | 12 | - (nullable XMPPMessage *)generateCorrectionMessageWithID:(nullable NSString *)elementID; 13 | - (nullable XMPPMessage *)generateCorrectionMessageWithID:(nullable NSString *)elementID body:(NSString *)body; 14 | 15 | @end 16 | NS_ASSUME_NONNULL_END 17 | -------------------------------------------------------------------------------- /Extensions/XMPPMUCLight/CoreDataStorage/XMPPRoomLightCoreDataStorage.h: -------------------------------------------------------------------------------- 1 | // 2 | // XMPPRoomLightCoreDataStorage.h 3 | // Mangosta 4 | // 5 | // Created by Andres Canal on 6/8/16. 6 | // Copyright © 2016 Inaka. All rights reserved. 7 | // 8 | 9 | #import "XMPP.h" 10 | #import "XMPPCoreDataStorage.h" 11 | #import "XMPPRoomLight.h" 12 | 13 | @interface XMPPRoomLightCoreDataStorage : XMPPCoreDataStorage 14 | 15 | - (void)handleIncomingMessage:(XMPPMessage *)message room:(XMPPRoomLight *)room; 16 | - (void)handleOutgoingMessage:(XMPPMessage *)message room:(XMPPRoomLight *)room; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /Extensions/XEP-0223/XEP_0223.m: -------------------------------------------------------------------------------- 1 | /** 2 | * XEP-0223 : Persistent Storage of Private Data via PubSub 3 | * 4 | * This specification defines best practices for using the XMPP publish-subscribe extension to 5 | * persistently store private information such as bookmarks and client configuration options. 6 | * 7 | * http://xmpp.org/extensions/xep-0223.html 8 | **/ 9 | 10 | #import "XEP_0223.h" 11 | 12 | @implementation XEP_0223 13 | 14 | + (NSDictionary *)privateStoragePubSubOptions 15 | { 16 | return @{ @"pubsub#persist_items" : @(YES), 17 | @"pubsub#access_model" : @"whitelist" }; 18 | } 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/MUCTesting/MUCTesting/en.lproj/Credits.rtf: -------------------------------------------------------------------------------- 1 | {\rtf0\ansi{\fonttbl\f0\fswiss Helvetica;} 2 | {\colortbl;\red255\green255\blue255;} 3 | \paperw9840\paperh8400 4 | \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural 5 | 6 | \f0\b\fs24 \cf0 Engineering: 7 | \b0 \ 8 | Some people\ 9 | \ 10 | 11 | \b Human Interface Design: 12 | \b0 \ 13 | Some other people\ 14 | \ 15 | 16 | \b Testing: 17 | \b0 \ 18 | Hopefully not nobody\ 19 | \ 20 | 21 | \b Documentation: 22 | \b0 \ 23 | Whoever\ 24 | \ 25 | 26 | \b With special thanks to: 27 | \b0 \ 28 | Mom\ 29 | } 30 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestDDList/TestDDList/en.lproj/Credits.rtf: -------------------------------------------------------------------------------- 1 | {\rtf0\ansi{\fonttbl\f0\fswiss Helvetica;} 2 | {\colortbl;\red255\green255\blue255;} 3 | \paperw9840\paperh8400 4 | \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural 5 | 6 | \f0\b\fs24 \cf0 Engineering: 7 | \b0 \ 8 | Some people\ 9 | \ 10 | 11 | \b Human Interface Design: 12 | \b0 \ 13 | Some other people\ 14 | \ 15 | 16 | \b Testing: 17 | \b0 \ 18 | Hopefully not nobody\ 19 | \ 20 | 21 | \b Documentation: 22 | \b0 \ 23 | Whoever\ 24 | \ 25 | 26 | \b With special thanks to: 27 | \b0 \ 28 | Mom\ 29 | } 30 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestJID/Desktop/TestJID/en.lproj/Credits.rtf: -------------------------------------------------------------------------------- 1 | {\rtf0\ansi{\fonttbl\f0\fswiss Helvetica;} 2 | {\colortbl;\red255\green255\blue255;} 3 | \paperw9840\paperh8400 4 | \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural 5 | 6 | \f0\b\fs24 \cf0 Engineering: 7 | \b0 \ 8 | Some people\ 9 | \ 10 | 11 | \b Human Interface Design: 12 | \b0 \ 13 | Some other people\ 14 | \ 15 | 16 | \b Testing: 17 | \b0 \ 18 | Hopefully not nobody\ 19 | \ 20 | 21 | \b Documentation: 22 | \b0 \ 23 | Whoever\ 24 | \ 25 | 26 | \b With special thanks to: 27 | \b0 \ 28 | Mom\ 29 | } 30 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestIDTracker/TestIDTracker/en.lproj/Credits.rtf: -------------------------------------------------------------------------------- 1 | {\rtf0\ansi{\fonttbl\f0\fswiss Helvetica;} 2 | {\colortbl;\red255\green255\blue255;} 3 | \paperw9840\paperh8400 4 | \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural 5 | 6 | \f0\b\fs24 \cf0 Engineering: 7 | \b0 \ 8 | Some people\ 9 | \ 10 | 11 | \b Human Interface Design: 12 | \b0 \ 13 | Some other people\ 14 | \ 15 | 16 | \b Testing: 17 | \b0 \ 18 | Hopefully not nobody\ 19 | \ 20 | 21 | \b Documentation: 22 | \b0 \ 23 | Whoever\ 24 | \ 25 | 26 | \b With special thanks to: 27 | \b0 \ 28 | Mom\ 29 | } 30 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/AutoPingTest/Desktop/AutoPingTest/en.lproj/Credits.rtf: -------------------------------------------------------------------------------- 1 | {\rtf0\ansi{\fonttbl\f0\fswiss Helvetica;} 2 | {\colortbl;\red255\green255\blue255;} 3 | \paperw9840\paperh8400 4 | \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural 5 | 6 | \f0\b\fs24 \cf0 Engineering: 7 | \b0 \ 8 | Some people\ 9 | \ 10 | 11 | \b Human Interface Design: 12 | \b0 \ 13 | Some other people\ 14 | \ 15 | 16 | \b Testing: 17 | \b0 \ 18 | Hopefully not nobody\ 19 | \ 20 | 21 | \b Documentation: 22 | \b0 \ 23 | Whoever\ 24 | \ 25 | 26 | \b With special thanks to: 27 | \b0 \ 28 | Mom\ 29 | } 30 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/AutoTimeTest/Desktop/AutoTimeTest/en.lproj/Credits.rtf: -------------------------------------------------------------------------------- 1 | {\rtf0\ansi{\fonttbl\f0\fswiss Helvetica;} 2 | {\colortbl;\red255\green255\blue255;} 3 | \paperw9840\paperh8400 4 | \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural 5 | 6 | \f0\b\fs24 \cf0 Engineering: 7 | \b0 \ 8 | Some people\ 9 | \ 10 | 11 | \b Human Interface Design: 12 | \b0 \ 13 | Some other people\ 14 | \ 15 | 16 | \b Testing: 17 | \b0 \ 18 | Hopefully not nobody\ 19 | \ 20 | 21 | \b Documentation: 22 | \b0 \ 23 | Whoever\ 24 | \ 25 | 26 | \b With special thanks to: 27 | \b0 \ 28 | Mom\ 29 | } 30 | -------------------------------------------------------------------------------- /Extensions/Roster/MemoryStorage/XMPPResourceMemoryStorageObject.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "XMPPResource.h" 3 | 4 | @class XMPPJID; 5 | @class XMPPIQ; 6 | @class XMPPPresence; 7 | 8 | 9 | @interface XMPPResourceMemoryStorageObject : NSObject 10 | { 11 | XMPPJID *jid; 12 | XMPPPresence *presence; 13 | 14 | NSDate *presenceDate; 15 | } 16 | 17 | /* From the XMPPResource protocol 18 | 19 | - (XMPPJID *)jid; 20 | - (XMPPPresence *)presence; 21 | 22 | - (NSDate *)presenceDate; 23 | 24 | - (NSComparisonResult)compare:(id )another; 25 | 26 | */ 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/AutoPingTest/Desktop/AutoPingTest/AutoPingTestAppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AutoPingTestAppDelegate.h 3 | // AutoPingTest 4 | // 5 | // Created by Robbie Hanson on 4/13/11. 6 | // Copyright 2011 Deusty, LLC. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "XMPP.h" 11 | #import "XMPPAutoPing.h" 12 | 13 | 14 | @interface AutoPingTestAppDelegate : NSObject { 15 | @private 16 | XMPPStream *xmppStream; 17 | XMPPAutoPing *xmppAutoPing; 18 | 19 | __unsafe_unretained NSWindow *window; 20 | } 21 | 22 | @property (unsafe_unretained) IBOutlet NSWindow *window; 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestElementReceipt/TestElementReceipt/en.lproj/Credits.rtf: -------------------------------------------------------------------------------- 1 | {\rtf0\ansi{\fonttbl\f0\fswiss Helvetica;} 2 | {\colortbl;\red255\green255\blue255;} 3 | \paperw9840\paperh8400 4 | \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural 5 | 6 | \f0\b\fs24 \cf0 Engineering: 7 | \b0 \ 8 | Some people\ 9 | \ 10 | 11 | \b Human Interface Design: 12 | \b0 \ 13 | Some other people\ 14 | \ 15 | 16 | \b Testing: 17 | \b0 \ 18 | Hopefully not nobody\ 19 | \ 20 | 21 | \b Documentation: 22 | \b0 \ 23 | Whoever\ 24 | \ 25 | 26 | \b With special thanks to: 27 | \b0 \ 28 | Mom\ 29 | } 30 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/EncodeDecodeTest/Desktop/EncodeDecodeTest/en.lproj/Credits.rtf: -------------------------------------------------------------------------------- 1 | {\rtf0\ansi{\fonttbl\f0\fswiss Helvetica;} 2 | {\colortbl;\red255\green255\blue255;} 3 | \paperw9840\paperh8400 4 | \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural 5 | 6 | \f0\b\fs24 \cf0 Engineering: 7 | \b0 \ 8 | Some people\ 9 | \ 10 | 11 | \b Human Interface Design: 12 | \b0 \ 13 | Some other people\ 14 | \ 15 | 16 | \b Testing: 17 | \b0 \ 18 | Hopefully not nobody\ 19 | \ 20 | 21 | \b Documentation: 22 | \b0 \ 23 | Whoever\ 24 | \ 25 | 26 | \b With special thanks to: 27 | \b0 \ 28 | Mom\ 29 | } 30 | -------------------------------------------------------------------------------- /Extensions/XEP-0198/Memory Storage/XMPPStreamManagementMemoryStorage.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "XMPPStreamManagement.h" 3 | 4 | /** 5 | * This class provides an in-memory only storage system for XMPPStreamManagement. 6 | * As such, it will only support stream resumption so long as the application doesn't terminate. 7 | * 8 | * This class should be considered primarily for testing. 9 | * An application making use of stream management should likely transition 10 | * to a persistent storage layer before distribution. 11 | **/ 12 | @interface XMPPStreamManagementMemoryStorage : NSObject 13 | 14 | @end 15 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/MulticastDelegateTest/Desktop/MulticastDelegateTest/en.lproj/Credits.rtf: -------------------------------------------------------------------------------- 1 | {\rtf0\ansi{\fonttbl\f0\fswiss Helvetica;} 2 | {\colortbl;\red255\green255\blue255;} 3 | \paperw9840\paperh8400 4 | \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural 5 | 6 | \f0\b\fs24 \cf0 Engineering: 7 | \b0 \ 8 | Some people\ 9 | \ 10 | 11 | \b Human Interface Design: 12 | \b0 \ 13 | Some other people\ 14 | \ 15 | 16 | \b Testing: 17 | \b0 \ 18 | Hopefully not nobody\ 19 | \ 20 | 21 | \b Documentation: 22 | \b0 \ 23 | Whoever\ 24 | \ 25 | 26 | \b With special thanks to: 27 | \b0 \ 28 | Mom\ 29 | } 30 | -------------------------------------------------------------------------------- /Xcode/Testing-Shared/OMEMOTestStorage.h: -------------------------------------------------------------------------------- 1 | // 2 | // OMEMOTestStorage.h 3 | // XMPPFrameworkTests 4 | // 5 | // Created by Christopher Ballinger on 9/23/16. 6 | // 7 | // 8 | 9 | #import 10 | @import XMPPFramework; 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | @interface OMEMOTestStorage : NSObject 14 | 15 | @property (nonatomic, strong, readonly) OMEMOBundle *myBundle; 16 | @property (nonatomic, weak, readonly) OMEMOModule *omemoModule; 17 | 18 | - (instancetype) initWithMyBundle:(OMEMOBundle*)myBundle; 19 | 20 | + (OMEMOBundle*) testBundle:(OMEMOModuleNamespace)ns; 21 | 22 | @end 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /Core/XMPPConstants.m: -------------------------------------------------------------------------------- 1 | #import "XMPPConstants.h" 2 | 3 | NSString *const XMPPSINamespace = @"http://jabber.org/protocol/si"; 4 | NSString *const XMPPSIProfileFileTransferNamespace = 5 | @"http://jabber.org/protocol/si/profile/file-transfer"; 6 | NSString *const XMPPFeatureNegNamespace = @"http://jabber.org/protocol/feature-neg"; 7 | NSString *const XMPPBytestreamsNamespace = @"http://jabber.org/protocol/bytestreams"; 8 | NSString *const XMPPIBBNamespace = @"http://jabber.org/protocol/ibb"; 9 | NSString *const XMPPDiscoItemsNamespace = @"http://jabber.org/protocol/disco#items"; 10 | NSString *const XMPPDiscoInfoNamespace = @"http://jabber.org/protocol/disco#info"; 11 | -------------------------------------------------------------------------------- /Extensions/XEP-0082/XMPPDateTimeProfiles.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "NSDate+XMPPDateTimeProfiles.h" 3 | 4 | NS_ASSUME_NONNULL_BEGIN 5 | @interface XMPPDateTimeProfiles : NSObject 6 | 7 | /** 8 | * The following methods attempt to parse the given string following XEP-0082. 9 | * They return nil if the given string doesn't follow the spec. 10 | **/ 11 | 12 | + (nullable NSDate *)parseDate:(NSString *)dateStr; 13 | + (nullable NSDate *)parseTime:(NSString *)timeStr; 14 | + (nullable NSDate *)parseDateTime:(NSString *)dateTimeStr; 15 | 16 | + (nullable NSTimeZone *)parseTimeZoneOffset:(NSString *)tzo; 17 | 18 | @end 19 | NS_ASSUME_NONNULL_END 20 | -------------------------------------------------------------------------------- /Extensions/XEP-0054/XMPPvCardTempLabel.h: -------------------------------------------------------------------------------- 1 | // 2 | // XMPPvCardTempLabel.h 3 | // XEP-0054 vCard-temp 4 | // 5 | // Created by Eric Chamberlain on 3/9/11. 6 | // Copyright 2011 RF.com. All rights reserved. 7 | // Copyright 2010 Martin Morrison. All rights reserved. 8 | // 9 | 10 | 11 | #import 12 | 13 | #import "XMPPvCardTempAdrTypes.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | @interface XMPPvCardTempLabel : XMPPvCardTempAdrTypes 17 | 18 | 19 | @property (nonatomic, strong, nullable) NSArray *lines; 20 | 21 | 22 | + (XMPPvCardTempLabel *)vCardLabelFromElement:(NSXMLElement *)elem; 23 | 24 | 25 | @end 26 | NS_ASSUME_NONNULL_END 27 | -------------------------------------------------------------------------------- /Extensions/Roster/XMPPRosterPrivate.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "XMPPRoster.h" 3 | 4 | @interface XMPPRoster (PrivateInternalAPI) 5 | 6 | /** 7 | * XMPPRosterStorage classes may optionally use the same delegate(s) as their parent XMPPRoster. 8 | * This method allows such storage classes to access the delegate(s). 9 | * 10 | * Note: If the storage class operates on a different queue than its parent, 11 | * it MUST dispatch all calls to the multicastDelegate onto its parent's queue. 12 | * The parent's dispatch queue is passed in the configureWithParent:queue: method. 13 | **/ 14 | - (GCDMulticastDelegate *)multicastDelegate; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /Extensions/Roster/XMPPUser.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "XMPP.h" 3 | 4 | @protocol XMPPResource; 5 | 6 | NS_ASSUME_NONNULL_BEGIN 7 | @protocol XMPPUser 8 | @required 9 | 10 | @property (nonatomic, readonly) XMPPJID *jid; 11 | @property (nonatomic, readonly) NSString *nickname; 12 | 13 | @property (nonatomic, readonly) BOOL isOnline; 14 | @property (nonatomic, readonly) BOOL isPendingApproval; 15 | 16 | @property (nonatomic, readonly, nullable) id primaryResource; 17 | - (nullable id )resourceForJID:(XMPPJID *)jid; 18 | 19 | @property (nonatomic, readonly) NSArray> *allResources; 20 | 21 | @end 22 | NS_ASSUME_NONNULL_END 23 | -------------------------------------------------------------------------------- /Extensions/XEP-0224/XMPPMessage+XEP_0224.m: -------------------------------------------------------------------------------- 1 | #import "XMPPMessage+XEP_0224.h" 2 | #import "NSXMLElement+XMPP.h" 3 | 4 | NSString *const XMLNS_ATTENTION = @"urn:xmpp:attention:0"; 5 | 6 | @implementation XMPPMessage (XEP_0224) 7 | 8 | - (BOOL)isHeadLineMessage { 9 | return [[[self attributeForName:@"type"] stringValue] isEqualToString:@"headline"]; 10 | } 11 | 12 | - (BOOL)isAttentionMessage 13 | { 14 | return [self isHeadLineMessage] && [self elementForName:@"attention" xmlns:XMLNS_ATTENTION]; 15 | } 16 | 17 | - (BOOL)isAttentionMessageWithBody 18 | { 19 | if([self isAttentionMessage]) 20 | { 21 | return [self isMessageWithBody]; 22 | } 23 | return NO; 24 | } 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /Extensions/XEP-0054/CoreDataStorage/XMPPvCardAvatarCoreDataStorageObject.h: -------------------------------------------------------------------------------- 1 | // 2 | // XMPPvCardAvatarCoreDataStorageObject.h 3 | // XEP-0054 vCard-temp 4 | // 5 | // Originally created by Eric Chamberlain on 3/18/11. 6 | // 7 | // This class is so that we don't load the photoData each time we need to touch the XMPPvCardCoreDataStorageObject. 8 | 9 | #import 10 | #import 11 | 12 | @class XMPPvCardCoreDataStorageObject; 13 | 14 | 15 | @interface XMPPvCardAvatarCoreDataStorageObject : NSManagedObject 16 | 17 | @property (nonatomic, strong) NSData * photoData; 18 | @property (nonatomic, strong) XMPPvCardCoreDataStorageObject * vCard; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /Core/XMPP.h: -------------------------------------------------------------------------------- 1 | // 2 | // Core classes 3 | // 4 | 5 | #import "XMPPJID.h" 6 | #import "XMPPStream.h" 7 | #import "XMPPElement.h" 8 | #import "XMPPIQ.h" 9 | #import "XMPPMessage.h" 10 | #import "XMPPPresence.h" 11 | #import "XMPPModule.h" 12 | 13 | // 14 | // Authentication 15 | // 16 | 17 | #import "XMPPSASLAuthentication.h" 18 | #import "XMPPCustomBinding.h" 19 | #import "XMPPDigestMD5Authentication.h" 20 | #import "XMPPSCRAMSHA1Authentication.h" 21 | #import "XMPPPlainAuthentication.h" 22 | #import "XMPPAnonymousAuthentication.h" 23 | #import "XMPPDeprecatedPlainAuthentication.h" 24 | #import "XMPPDeprecatedDigestAuthentication.h" 25 | 26 | // 27 | // Categories 28 | // 29 | 30 | #import "NSXMLElement+XMPP.h" 31 | -------------------------------------------------------------------------------- /Extensions/XEP-0092/XMPPSoftwareVersion.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | #if TARGET_OS_IPHONE 4 | #import 5 | #else 6 | #import 7 | #endif 8 | 9 | #import "XMPPModule.h" 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | @interface XMPPSoftwareVersion : XMPPModule 13 | 14 | @property (copy,readonly) NSString *name; 15 | @property (copy,readonly) NSString *version; 16 | @property (copy,readonly) NSString *os; 17 | 18 | - (instancetype)initWithName:(NSString *)name 19 | version:(NSString *)version 20 | os:(NSString *)os 21 | dispatchQueue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER; 22 | 23 | @end 24 | NS_ASSUME_NONNULL_END 25 | -------------------------------------------------------------------------------- /Extensions/XEP-0313/XMPPRoomLightCoreDataStorage+XEP_0313.h: -------------------------------------------------------------------------------- 1 | #import "XMPPRoomLightCoreDataStorage.h" 2 | 3 | NS_ASSUME_NONNULL_BEGIN 4 | @interface XMPPRoomLightCoreDataStorage (XEP_0313) 5 | 6 | /** 7 | A helper method to use when synchronizing with a remote message store. 8 | - Infers whether the message is incoming or outgoing 9 | - Will not store a message it considers a duplicate of another message stored earlier 10 | */ 11 | - (void)importRemoteArchiveMessage:(XMPPMessage *)message 12 | withTimestamp:(nullable NSDate *)archiveTimestamp 13 | inRoom:(XMPPRoomLight *)room 14 | fromStream:(XMPPStream *)stream; 15 | 16 | @end 17 | NS_ASSUME_NONNULL_END 18 | -------------------------------------------------------------------------------- /Xcode/Examples/iPhoneXMPP/Classes/SettingsViewController.h: -------------------------------------------------------------------------------- 1 | // 2 | // SettingsViewController.h 3 | // iPhoneXMPP 4 | // 5 | // Created by Eric Chamberlain on 3/18/11. 6 | // Copyright 2011 RF.com. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | extern NSString *const kXMPPmyJID; 13 | extern NSString *const kXMPPmyPassword; 14 | 15 | 16 | @interface SettingsViewController : UIViewController 17 | { 18 | UITextField *jidField; 19 | UITextField *passwordField; 20 | } 21 | 22 | @property (nonatomic,strong) IBOutlet UITextField *jidField; 23 | @property (nonatomic,strong) IBOutlet UITextField *passwordField; 24 | 25 | - (IBAction)done:(id)sender; 26 | - (IBAction)hideKeyboard:(id)sender; 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /Xcode/Examples/DesktopXMPP/ChatController.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @class XMPPStream; 4 | @class XMPPMessage; 5 | @class XMPPJID; 6 | 7 | 8 | @interface ChatController : NSWindowController 9 | { 10 | __strong XMPPStream *xmppStream; 11 | __strong XMPPJID *jid; 12 | __strong XMPPMessage *firstMessage; 13 | 14 | IBOutlet id messageField; 15 | IBOutlet id messageView; 16 | } 17 | 18 | - (id)initWithStream:(XMPPStream *)xmppStream jid:(XMPPJID *)jid; 19 | - (id)initWithStream:(XMPPStream *)xmppStream jid:(XMPPJID *)jid message:(XMPPMessage *)message; 20 | 21 | @property (nonatomic, readonly) XMPPStream *xmppStream; 22 | @property (nonatomic, readonly) XMPPJID *jid; 23 | 24 | - (IBAction)sendMessage:(id)sender; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /Extensions/XEP-0100/XMPPTransports.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | #define _XMPP_TRANSPORTS_H 4 | 5 | @class XMPPStream; 6 | 7 | NS_ASSUME_NONNULL_BEGIN 8 | @interface XMPPTransports : NSObject 9 | 10 | - (instancetype)initWithStream:(XMPPStream *)xmppStream; 11 | 12 | @property (nonatomic, strong, readonly) XMPPStream *xmppStream; 13 | 14 | - (void)queryGatewayDiscoveryIdentityForLegacyService:(NSString *)service; 15 | - (void)queryGatewayAgentInfo; 16 | - (void)queryRegistrationRequirementsForLegacyService:(NSString *)service; 17 | - (void)registerLegacyService:(NSString *)service username:(NSString *)username password:(NSString *)password; 18 | - (void)unregisterLegacyService:(NSString *)service; 19 | 20 | @end 21 | NS_ASSUME_NONNULL_END 22 | -------------------------------------------------------------------------------- /Utilities/XMPPStringPrep.m: -------------------------------------------------------------------------------- 1 | #import "XMPPStringPrep.h" 2 | @import libidn; 3 | 4 | 5 | @implementation XMPPStringPrep 6 | 7 | + (NSString *)prepNode:(NSString *)node 8 | { 9 | if (!node) { return nil; } 10 | return [NSString idn_prepNode:node]; 11 | } 12 | 13 | + (NSString *)prepDomain:(NSString *)domain 14 | { 15 | if (!domain) { return nil; } 16 | return [NSString idn_prepDomain:domain]; 17 | } 18 | 19 | + (NSString *)prepResource:(NSString *)resource 20 | { 21 | if (!resource) { return nil; } 22 | return [NSString idn_prepResource:resource]; 23 | } 24 | 25 | + (NSString *)prepPassword:(NSString *)password 26 | { 27 | if (!password) { return nil; } 28 | return [NSString idn_prepPassword:password]; 29 | } 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /Core/XMPPConstants.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | /** 4 | * This class is provided to house various namespaces that are reused throughout 5 | * the project. Feel free to add to the constants as you see necessary. If a 6 | * particular namespace is only applicable to a particular extension, then it 7 | * should be inside that extension rather than here. 8 | */ 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | extern NSString *const XMPPSINamespace; 12 | extern NSString *const XMPPSIProfileFileTransferNamespace; 13 | extern NSString *const XMPPFeatureNegNamespace; 14 | extern NSString *const XMPPBytestreamsNamespace; 15 | extern NSString *const XMPPIBBNamespace; 16 | extern NSString *const XMPPDiscoItemsNamespace; 17 | extern NSString *const XMPPDiscoInfoNamespace; 18 | NS_ASSUME_NONNULL_END 19 | -------------------------------------------------------------------------------- /Extensions/XEP-0223/XEP_0223.h: -------------------------------------------------------------------------------- 1 | /** 2 | * XEP-0223 : Persistent Storage of Private Data via PubSub 3 | * 4 | * This specification defines best practices for using the XMPP publish-subscribe extension to 5 | * persistently store private information such as bookmarks and client configuration options. 6 | * 7 | * http://xmpp.org/extensions/xep-0223.html 8 | **/ 9 | 10 | #import 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | @interface XEP_0223 : NSObject 14 | 15 | /** 16 | * This method returns the recommended configuration options to configure a pubsub node for storing private data. 17 | * It may be passed directly to the publishToNoe:::: method of XMPPPubSub. 18 | **/ 19 | + (NSDictionary *)privateStoragePubSubOptions; 20 | 21 | @end 22 | NS_ASSUME_NONNULL_END 23 | -------------------------------------------------------------------------------- /Extensions/XEP-0280/XMPPMessage+XEP_0280.h: -------------------------------------------------------------------------------- 1 | #import "XMPPMessage.h" 2 | @class XMPPJID; 3 | 4 | NS_ASSUME_NONNULL_BEGIN 5 | @interface XMPPMessage (XEP_0280) 6 | 7 | @property (nonatomic, readonly, nullable) NSXMLElement *receivedMessageCarbon; 8 | @property (nonatomic, readonly, nullable) NSXMLElement *sentMessageCarbon; 9 | 10 | @property (nonatomic, readonly) BOOL isMessageCarbon; 11 | @property (nonatomic, readonly) BOOL isReceivedMessageCarbon; 12 | @property (nonatomic, readonly) BOOL isSentMessageCarbon; 13 | @property (nonatomic, readonly) BOOL isTrustedMessageCarbon; 14 | - (BOOL)isTrustedMessageCarbonForMyJID:(XMPPJID *)jid; 15 | 16 | @property (nonatomic, readonly, nullable) XMPPMessage *messageCarbonForwardedMessage; 17 | 18 | - (void)addPrivateMessageCarbons; 19 | 20 | @end 21 | NS_ASSUME_NONNULL_END 22 | -------------------------------------------------------------------------------- /Extensions/XEP-0335/NSXMLElement+XEP_0335.h: -------------------------------------------------------------------------------- 1 | #import 2 | @import KissXML; 3 | 4 | NS_ASSUME_NONNULL_BEGIN 5 | @interface NSXMLElement (XEP_0335) 6 | 7 | @property (nonatomic, readonly) NSXMLElement *JSONContainer; 8 | 9 | @property (nonatomic, readonly) BOOL isJSONContainer; 10 | @property (nonatomic, readonly) BOOL hasJSONContainer; 11 | 12 | @property (nonatomic, readonly) NSString *JSONContainerString; 13 | @property (nonatomic, readonly) NSData *JSONContainerData; 14 | @property (nonatomic, readonly, nullable) id JSONContainerObject; 15 | 16 | - (void)addJSONContainerWithString:(NSString *)JSONContainerString; 17 | - (void)addJSONContainerWithData:(NSData *)JSONContainerData; 18 | - (void)addJSONContainerWithObject:(id)JSONContainerObject; 19 | 20 | @end 21 | NS_ASSUME_NONNULL_END 22 | -------------------------------------------------------------------------------- /Extensions/XEP-0115/CoreDataStorage/XMPPCapsCoreDataStorageObject.m: -------------------------------------------------------------------------------- 1 | #import "XMPPCapsCoreDataStorageObject.h" 2 | #import "XMPPCapsResourceCoreDataStorageObject.h" 3 | #import "XMPP.h" 4 | 5 | #if ! __has_feature(objc_arc) 6 | #warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC). 7 | #endif 8 | 9 | 10 | @implementation XMPPCapsCoreDataStorageObject 11 | 12 | @dynamic capabilities; 13 | 14 | @dynamic hashStr; 15 | @dynamic hashAlgorithm; 16 | @dynamic capabilitiesStr; 17 | 18 | @dynamic resources; 19 | 20 | - (NSXMLElement *)capabilities 21 | { 22 | return [[NSXMLElement alloc] initWithXMLString:[self capabilitiesStr] error:nil]; 23 | } 24 | 25 | - (void)setCapabilities:(NSXMLElement *)caps 26 | { 27 | self.capabilitiesStr = [caps compactXMLString]; 28 | } 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /Extensions/XEP-0045/XMPPMessage+XEP0045.m: -------------------------------------------------------------------------------- 1 | #import "XMPPMessage+XEP0045.h" 2 | #import "NSXMLElement+XMPP.h" 3 | 4 | 5 | @implementation XMPPMessage(XEP0045) 6 | 7 | - (BOOL)isGroupChatMessage 8 | { 9 | return [[[self attributeForName:@"type"] stringValue] isEqualToString:@"groupchat"]; 10 | } 11 | 12 | - (BOOL)isGroupChatMessageWithBody 13 | { 14 | if ([self isGroupChatMessage]) 15 | { 16 | NSString *body = [[self elementForName:@"body"] stringValue]; 17 | 18 | return ([body length] > 0); 19 | } 20 | 21 | return NO; 22 | } 23 | 24 | - (BOOL)isGroupChatMessageWithSubject 25 | { 26 | if ([self isGroupChatMessage]) 27 | { 28 | NSString *subject = [[self elementForName:@"subject"] stringValue]; 29 | 30 | return ([subject length] > 0); 31 | } 32 | 33 | return NO; 34 | } 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /Extensions/XEP-0115/CoreDataStorage/XMPPCapsResourceCoreDataStorageObject.m: -------------------------------------------------------------------------------- 1 | #import "XMPPCapsResourceCoreDataStorageObject.h" 2 | #import "XMPPCapsCoreDataStorageObject.h" 3 | 4 | #if ! __has_feature(objc_arc) 5 | #warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC). 6 | #endif 7 | 8 | 9 | @implementation XMPPCapsResourceCoreDataStorageObject 10 | 11 | @dynamic jidStr; 12 | @dynamic streamBareJidStr; 13 | 14 | @dynamic haveFailed; 15 | @dynamic failed; 16 | 17 | @dynamic node; 18 | @dynamic ver; 19 | @dynamic ext; 20 | 21 | @dynamic hashStr; 22 | @dynamic hashAlgorithm; 23 | 24 | @dynamic caps; 25 | 26 | - (BOOL)haveFailed 27 | { 28 | return [[self failed] boolValue]; 29 | } 30 | 31 | - (void)setHaveFailed:(BOOL)flag 32 | { 33 | self.failed = @(flag); 34 | } 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /Extensions/XEP-0054/CoreDataStorage/XMPPvCardTransformer.m: -------------------------------------------------------------------------------- 1 | // 2 | // XMPPvCardTransformer.m 3 | // XMPPFramework 4 | // 5 | // Created by Tobias Ottenweller on 26.10.20. 6 | // Copyright © 2020 XMPPFramework. All rights reserved. 7 | // 8 | 9 | #import "XMPPvCardTransformer.h" 10 | #import "XMPPvCardTemp.h" 11 | 12 | @implementation XMPPvCardTransformer 13 | 14 | + (void)initialize 15 | { 16 | [XMPPvCardTransformer registerTransformer]; 17 | } 18 | 19 | + (NSArray *)allowedTopLevelClasses 20 | { 21 | return @[[XMPPvCardTemp class]]; 22 | } 23 | 24 | + (void)registerTransformer { 25 | NSString* name = @"XMPPvCardTransformer"; 26 | XMPPvCardTransformer* transformer = [[XMPPvCardTransformer alloc] init]; 27 | [NSValueTransformer setValueTransformer:transformer forName:name]; 28 | } 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /Extensions/XEP-0115/CoreDataStorage/XMPPCapsResourceCoreDataStorageObject.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @class XMPPCapsCoreDataStorageObject; 4 | 5 | 6 | @interface XMPPCapsResourceCoreDataStorageObject : NSManagedObject 7 | 8 | @property (nonatomic, strong) NSString * jidStr; 9 | @property (nonatomic, strong) NSString * streamBareJidStr; 10 | 11 | @property (nonatomic, assign) BOOL haveFailed; 12 | @property (nonatomic, strong) NSNumber * failed; 13 | 14 | @property (nonatomic, strong) NSString * node; 15 | @property (nonatomic, strong) NSString * ver; 16 | @property (nonatomic, strong) NSString * ext; 17 | 18 | @property (nonatomic, strong) NSString * hashStr; 19 | @property (nonatomic, strong) NSString * hashAlgorithm; 20 | 21 | @property (nonatomic, strong) XMPPCapsCoreDataStorageObject * caps; 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /Extensions/XEP-0224/XMPPAttentionModule.h: -------------------------------------------------------------------------------- 1 | #import "XMPPModule.h" 2 | #import "XMPPMessage+XEP_0224.h" 3 | 4 | #define _XMPP_ATTENTION_MODULE_H 5 | 6 | NS_ASSUME_NONNULL_BEGIN 7 | @interface XMPPAttentionModule : XMPPModule 8 | 9 | /** 10 | * Whether or not the module should respond to incoming attention request queries. 11 | * It you create multiple instances of this module, only one instance should respond to queries. 12 | * 13 | * It is recommended you set this (if needed) before you activate the module. 14 | * The default value is YES. 15 | **/ 16 | @property (readwrite) BOOL respondsToQueries; 17 | 18 | @end 19 | 20 | @protocol XMPPAttentionDelegate 21 | @optional 22 | - (void)xmppAttention:(XMPPAttentionModule *)sender didReceiveAttentionHeadlineMessage:(XMPPMessage *)attentionRequest; 23 | @end 24 | NS_ASSUME_NONNULL_END 25 | -------------------------------------------------------------------------------- /Xcode/Testing-iOS/XMPPFrameworkSwiftTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /Xcode/Testing-macOS/XMPPFrameworkSwiftTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /Xcode/Testing-iOS/.gitignore: -------------------------------------------------------------------------------- 1 | #### joe made this: http://goel.io/joe 2 | 3 | #####=== OSX ===##### 4 | .DS_Store 5 | .AppleDouble 6 | .LSOverride 7 | 8 | # Icon must end with two \r 9 | Icon 10 | 11 | # Thumbnails 12 | ._* 13 | 14 | # Files that might appear on external disk 15 | .Spotlight-V100 16 | .Trashes 17 | 18 | # Directories potentially created on remote AFP share 19 | .AppleDB 20 | .AppleDesktop 21 | Network Trash Folder 22 | Temporary Items 23 | .apdisk 24 | 25 | #####=== Objective-C ===##### 26 | 27 | # Xcode 28 | # 29 | build/ 30 | *.pbxuser 31 | !default.pbxuser 32 | *.mode1v3 33 | !default.mode1v3 34 | *.mode2v3 35 | !default.mode2v3 36 | *.perspectivev3 37 | !default.perspectivev3 38 | xcuserdata 39 | *.xccheckout 40 | *.moved-aside 41 | DerivedData 42 | *.hmap 43 | *.ipa 44 | *.xcuserstate 45 | 46 | # CocoaPods 47 | Pods/ 48 | -------------------------------------------------------------------------------- /Extensions/XEP-0054/CoreDataStorage/XMPPvCardTempCoreDataStorageObject.h: -------------------------------------------------------------------------------- 1 | // 2 | // XMPPvCardTempCoreDataStorageObject.h 3 | // XEP-0054 vCard-temp 4 | // 5 | // Oringally created by Eric Chamberlain on 3/18/11. 6 | // 7 | // This class is so that we don't load the vCardTemp each time we need to touch the XMPPvCardCoreDataStorageObject. 8 | // The vCardTemp abstraction also makes it easier to eventually add support for vCard4 over XMPP (XEP-0292). 9 | 10 | #import 11 | #import 12 | 13 | #import "XMPPvCardTemp.h" 14 | 15 | @class XMPPvCardCoreDataStorageObject; 16 | 17 | 18 | @interface XMPPvCardTempCoreDataStorageObject : NSManagedObject 19 | 20 | @property (nonatomic, strong) XMPPvCardTemp * vCardTemp; 21 | @property (nonatomic, strong) XMPPvCardCoreDataStorageObject * vCard; 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /Authentication/Plain/XMPPPlainAuthentication.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "XMPPSASLAuthentication.h" 3 | #import "XMPPStream.h" 4 | 5 | NS_ASSUME_NONNULL_BEGIN 6 | @interface XMPPPlainAuthentication : NSObject 7 | 8 | // This class implements the XMPPSASLAuthentication protocol. 9 | // 10 | // See XMPPSASLAuthentication.h for more information. 11 | 12 | @end 13 | 14 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 15 | #pragma mark - 16 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 17 | 18 | @interface XMPPStream (XMPPPlainAuthentication) 19 | 20 | @property (nonatomic, readonly) BOOL supportsPlainAuthentication; 21 | 22 | @end 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /Extensions/XEP-0045/XMPPRoomPrivate.h: -------------------------------------------------------------------------------- 1 | #import "XMPPRoom.h" 2 | 3 | NS_ASSUME_NONNULL_BEGIN 4 | @interface XMPPRoom (PrivateInternalAPI) 5 | 6 | /** 7 | * XMPPRoomStorage classes may optionally use the same delegate(s) as their parent XMPPRoom. 8 | * This method allows such storage classes to access the delegate(s). 9 | * 10 | * Note: If the storage class operates on a different queue than its parent, 11 | * it MUST dispatch all calls to the multicastDelegate onto its parent's queue. 12 | * The parent's dispatch queue is passed in the configureWithParent:queue: method, 13 | * or may be obtained via the moduleQueue method below. 14 | **/ 15 | @property (nonatomic, readonly) GCDMulticastDelegate *multicastDelegate; 16 | 17 | @property (nonatomic, readonly) dispatch_queue_t moduleQueue; 18 | 19 | @end 20 | NS_ASSUME_NONNULL_END 21 | -------------------------------------------------------------------------------- /Extensions/XEP-0060/XMPPIQ+XEP_0060.m: -------------------------------------------------------------------------------- 1 | #import "XMPPIQ+XEP_0060.h" 2 | #import "NSXMLElement+XMPP.h" 3 | 4 | 5 | @implementation XMPPIQ (XEP_0060) 6 | 7 | - (NSString *)pubsubid 8 | { 9 | // 10 | // 11 | // 16 | // 17 | // 18 | 19 | NSXMLElement *pubsub = [self elementForName:@"pubsub" xmlns:XMLNS_PUBSUB]; 20 | NSXMLElement *subscription = [pubsub elementForName:@"subscription"]; 21 | 22 | return [subscription attributeStringValueForName:@"subid"]; 23 | } 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /Xcode/Testing-Shared/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /Core/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | $(CURRENT_PROJECT_VERSION) 21 | NSPrincipalClass 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /Authentication/X-OAuth2-Google/XMPPXOAuth2Google.h: -------------------------------------------------------------------------------- 1 | // 2 | // XMPPXOAuth2Google.h 3 | // Off the Record 4 | // 5 | // Created by David Chiles on 9/13/13. 6 | // Copyright (c) 2013 Chris Ballinger. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "XMPPSASLAuthentication.h" 11 | #import "XMPPStream.h" 12 | 13 | NS_ASSUME_NONNULL_BEGIN 14 | @interface XMPPXOAuth2Google : NSObject 15 | 16 | -(instancetype)initWithStream:(XMPPStream *)stream 17 | accessToken:(NSString *)accessToken; 18 | 19 | @end 20 | 21 | 22 | 23 | @interface XMPPStream (XMPPXOAuth2Google) 24 | 25 | 26 | @property (nonatomic, readonly) BOOL supportsXOAuth2GoogleAuthentication; 27 | 28 | - (BOOL)authenticateWithGoogleAccessToken:(NSString *)accessToken error:(NSError **)errPtr; 29 | 30 | @end 31 | NS_ASSUME_NONNULL_END 32 | -------------------------------------------------------------------------------- /Extensions/XEP-0054/XMPPvCardTempAdrTypes.h: -------------------------------------------------------------------------------- 1 | // 2 | // XMPPvCardTempAdrTypes.h 3 | // XEP-0054 vCard-temp 4 | // 5 | // Created by Eric Chamberlain on 3/9/11. 6 | // Copyright 2011 RF.com. All rights reserved. 7 | // Copyright 2010 Martin Morrison. All rights reserved. 8 | // 9 | 10 | 11 | #import 12 | 13 | #import "XMPPvCardTempBase.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | @interface XMPPvCardTempAdrTypes : XMPPvCardTempBase 17 | 18 | 19 | @property (nonatomic, assign) BOOL isHome; 20 | @property (nonatomic, assign) BOOL isWork; 21 | @property (nonatomic, assign) BOOL isParcel; 22 | @property (nonatomic, assign) BOOL isPostal; 23 | @property (nonatomic, assign) BOOL isDomestic; 24 | @property (nonatomic, assign) BOOL isInternational; 25 | @property (nonatomic, assign) BOOL isPreferred; 26 | 27 | 28 | @end 29 | NS_ASSUME_NONNULL_END 30 | -------------------------------------------------------------------------------- /Authentication/Digest-MD5/XMPPDigestMD5Authentication.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "XMPPSASLAuthentication.h" 3 | #import "XMPPStream.h" 4 | 5 | NS_ASSUME_NONNULL_BEGIN 6 | @interface XMPPDigestMD5Authentication : NSObject 7 | 8 | // This class implements the XMPPSASLAuthentication protocol. 9 | // 10 | // See XMPPSASLAuthentication.h for more information. 11 | 12 | @end 13 | 14 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 15 | #pragma mark - 16 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 17 | 18 | @interface XMPPStream (XMPPDigestMD5Authentication) 19 | 20 | @property (nonatomic, readonly) BOOL supportsDigestMD5Authentication; 21 | 22 | @end 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /Xcode/Testing-iOS/XMPPFrameworkTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /Xcode/Testing-macOS/XMPPFrameworkTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | 24 | 25 | -------------------------------------------------------------------------------- /Extensions/XEP-0082/NSDate+XMPPDateTimeProfiles.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSDate+XMPPDateTimeProfiles.h 3 | // 4 | // NSDate category to implement XEP-0082. 5 | // 6 | // Created by Eric Chamberlain on 3/9/11. 7 | // Copyright 2011 RF.com. All rights reserved. 8 | // Copyright 2010 Martin Morrison. All rights reserved. 9 | // 10 | 11 | #import 12 | 13 | NS_ASSUME_NONNULL_BEGIN 14 | @interface NSDate(XMPPDateTimeProfiles) 15 | 16 | + (nullable NSDate *)dateWithXmppDateString:(NSString *)str; 17 | + (nullable NSDate *)dateWithXmppTimeString:(NSString *)str; 18 | + (nullable NSDate *)dateWithXmppDateTimeString:(NSString *)str; 19 | 20 | @property (nonatomic, readonly) NSString *xmppDateString; 21 | @property (nonatomic, readonly) NSString *xmppTimeString; 22 | @property (nonatomic, readonly) NSString *xmppDateTimeString; 23 | 24 | @end 25 | NS_ASSUME_NONNULL_END 26 | -------------------------------------------------------------------------------- /Extensions/Roster/CoreDataStorage/XMPPGroupCoreDataStorageObject.h: -------------------------------------------------------------------------------- 1 | // 2 | // XMPPGroupCoreDataStorageObject.h 3 | // 4 | // Created by Eric Chamberlain on 3/20/11. 5 | // Copyright (c) 2011 RF.com. All rights reserved. 6 | // 7 | 8 | #import 9 | #import 10 | 11 | 12 | @class XMPPUserCoreDataStorageObject; 13 | 14 | 15 | @interface XMPPGroupCoreDataStorageObject : NSManagedObject { 16 | @private 17 | } 18 | 19 | @property (nonatomic, strong) NSString * name; 20 | @property (nonatomic, strong) NSSet* users; 21 | 22 | + (void)clearEmptyGroupsInManagedObjectContext:(NSManagedObjectContext *)moc; 23 | 24 | + (id)fetchOrInsertGroupName:(NSString *)groupName inManagedObjectContext:(NSManagedObjectContext *)moc; 25 | 26 | + (id)insertGroupName:(NSString *)groupName inManagedObjectContext:(NSManagedObjectContext *)moc; 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /Swift/XMPPFrameworkSwift-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | $(CURRENT_PROJECT_VERSION) 21 | NSPrincipalClass 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /Xcode/Examples/ServerlessDemo/Message.m: -------------------------------------------------------------------------------- 1 | #import "Message.h" 2 | #import "Service.h" 3 | 4 | @implementation Message 5 | 6 | @dynamic content; 7 | @dynamic outbound; 8 | @dynamic read; 9 | @dynamic timeStamp; 10 | 11 | @dynamic service; 12 | 13 | @dynamic isOutbound; 14 | @dynamic hasBeenRead; 15 | 16 | - (BOOL)isOutbound 17 | { 18 | return [[self outbound] boolValue]; 19 | } 20 | 21 | - (void)setIsOutbound:(BOOL)flag 22 | { 23 | [self setOutbound:[NSNumber numberWithBool:flag]]; 24 | } 25 | 26 | - (BOOL)hasBeenRead 27 | { 28 | return [[self read] boolValue]; 29 | } 30 | 31 | - (void)setHasBeenRead:(BOOL)flag 32 | { 33 | if (flag != [self hasBeenRead]) 34 | { 35 | [self.service willChangeValueForKey:@"messages"]; 36 | 37 | [self setRead:[NSNumber numberWithBool:flag]]; 38 | 39 | [self.service didChangeValueForKey:@"messages"]; 40 | } 41 | } 42 | 43 | @end 44 | -------------------------------------------------------------------------------- /Xcode/Testing-Shared/XMPPMockStream.h: -------------------------------------------------------------------------------- 1 | // 2 | // XMPPStreamTest.h 3 | // XMPPFrameworkTests 4 | // 5 | // Created by Andres Canal on 5/26/16. 6 | // 7 | // 8 | 9 | @import XMPPFramework; 10 | 11 | NS_ASSUME_NONNULL_BEGIN 12 | /** 13 | * This class is used so you can more easily test your XMPPModules 14 | * to mock responses to received elements. 15 | */ 16 | @interface XMPPMockStream : XMPPStream 17 | 18 | // The below fakeResponse methods are all equivalent 19 | // and simply call XMPPStream's internal injectElement: method 20 | 21 | - (void)fakeResponse:(NSXMLElement*)element; 22 | - (void)fakeIQResponse:(XMPPIQ *) iq; 23 | - (void)fakeMessageResponse:(XMPPMessage *) message; 24 | 25 | /** This is always called on XMPPStream's xmppQueue */ 26 | @property (nonatomic, copy, nullable) void (^elementReceived)(__kindof XMPPElement *element); 27 | 28 | @end 29 | NS_ASSUME_NONNULL_END 30 | -------------------------------------------------------------------------------- /Authentication/Deprecated-Plain/XMPPDeprecatedPlainAuthentication.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "XMPPSASLAuthentication.h" 3 | #import "XMPPStream.h" 4 | 5 | NS_ASSUME_NONNULL_BEGIN 6 | @interface XMPPDeprecatedPlainAuthentication : NSObject 7 | 8 | // This class implements the XMPPSASLAuthentication protocol. 9 | // 10 | // See XMPPSASLAuthentication.h for more information. 11 | 12 | @end 13 | 14 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 15 | #pragma mark - 16 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 17 | 18 | @interface XMPPStream (XMPPDeprecatedPlainAuthentication) 19 | 20 | @property (nonatomic, readonly) BOOL supportsDeprecatedPlainAuthentication; 21 | 22 | @end 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /Extensions/XEP-0054/XMPPvCardTempEmail.h: -------------------------------------------------------------------------------- 1 | // 2 | // XMPPvCardTempEmail.h 3 | // XEP-0054 vCard-temp 4 | // 5 | // Created by Eric Chamberlain on 3/9/11. 6 | // Copyright 2011 RF.com. All rights reserved. 7 | // Copyright 2010 Martin Morrison. All rights reserved. 8 | // 9 | 10 | 11 | #import 12 | 13 | #import "XMPPvCardTempBase.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | @interface XMPPvCardTempEmail : XMPPvCardTempBase 17 | 18 | + (XMPPvCardTempEmail *)vCardEmailFromElement:(NSXMLElement *)elem; 19 | 20 | @property (nonatomic, assign) BOOL isHome; 21 | @property (nonatomic, assign) BOOL isWork; 22 | @property (nonatomic, assign) BOOL isInternet; 23 | @property (nonatomic, assign) BOOL isX400; 24 | @property (nonatomic, assign) BOOL isPreferred; 25 | 26 | @property (nonatomic, strong, nullable) NSString *userid; 27 | 28 | 29 | @end 30 | NS_ASSUME_NONNULL_END 31 | -------------------------------------------------------------------------------- /Authentication/Deprecated-Digest/XMPPDeprecatedDigestAuthentication.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "XMPPSASLAuthentication.h" 3 | #import "XMPPStream.h" 4 | 5 | NS_ASSUME_NONNULL_BEGIN 6 | @interface XMPPDeprecatedDigestAuthentication : NSObject 7 | 8 | // This class implements the XMPPSASLAuthentication protocol. 9 | // 10 | // See XMPPSASLAuthentication.h for more information. 11 | 12 | @end 13 | 14 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 15 | #pragma mark - 16 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 17 | 18 | @interface XMPPStream (XMPPDeprecatedDigestAuthentication) 19 | 20 | @property (nonatomic, readonly) BOOL supportsDeprecatedDigestAuthentication; 21 | 22 | @end 23 | NS_ASSUME_NONNULL_END 24 | -------------------------------------------------------------------------------- /Extensions/XEP-0115/CoreDataStorage/XMPPCapsCoreDataStorageObject.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @import KissXML; 4 | 5 | @class XMPPCapsResourceCoreDataStorageObject; 6 | 7 | 8 | @interface XMPPCapsCoreDataStorageObject : NSManagedObject 9 | 10 | @property (nonatomic, strong) NSXMLElement *capabilities; 11 | 12 | @property (nonatomic, strong) NSString * hashStr; 13 | @property (nonatomic, strong) NSString * hashAlgorithm; 14 | @property (nonatomic, strong) NSString * capabilitiesStr; 15 | 16 | @property (nonatomic, strong) NSSet * resources; 17 | 18 | @end 19 | 20 | 21 | @interface XMPPCapsCoreDataStorageObject (CoreDataGeneratedAccessors) 22 | 23 | - (void)addResourcesObject:(XMPPCapsResourceCoreDataStorageObject *)value; 24 | - (void)removeResourcesObject:(XMPPCapsResourceCoreDataStorageObject *)value; 25 | - (void)addResources:(NSSet *)value; 26 | - (void)removeResources:(NSSet *)value; 27 | 28 | @end 29 | -------------------------------------------------------------------------------- /Extensions/XEP-0203/XMPPDelayedDelivery.h: -------------------------------------------------------------------------------- 1 | #import "XMPP.h" 2 | 3 | NS_ASSUME_NONNULL_BEGIN 4 | 5 | /// A module for processing XEP-0203 Delayed Delivery information in incoming XMPP stanzas. 6 | @interface XMPPDelayedDelivery : XMPPModule 7 | 8 | @end 9 | 10 | /// A protocol defining @c XMPPDelayedDelivery module delegate API. 11 | @protocol XMPPDelayedDeliveryDelegate 12 | 13 | @optional 14 | 15 | /// Notifies the delegate that a delayed delivery message has been received in the stream. 16 | - (void)xmppDelayedDelivery:(XMPPDelayedDelivery *)xmppDelayedDelivery 17 | didReceiveDelayedMessage:(XMPPMessage *)delayedMessage; 18 | 19 | /// Notifies the delegate that a delayed delivery presence has been received in the stream. 20 | - (void)xmppDelayedDelivery:(XMPPDelayedDelivery *)xmppDelayedDelivery 21 | didReceiveDelayedPresence:(XMPPPresence *)delayedPresence; 22 | 23 | @end 24 | 25 | NS_ASSUME_NONNULL_END 26 | -------------------------------------------------------------------------------- /Extensions/OMEMO/OMEMOPreKey.h: -------------------------------------------------------------------------------- 1 | // 2 | // OMEMOPreKey.h 3 | // Pods 4 | // 5 | // Created by Chris Ballinger on 9/20/16. 6 | // 7 | // XEP-0384: OMEMO Encryption 8 | // https://xmpp.org/extensions/xep-0384.html 9 | // 10 | // This specification defines a protocol for end-to-end encryption 11 | // in one-on-one chats that may have multiple clients per account. 12 | 13 | #import 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | @interface OMEMOPreKey : NSObject 17 | 18 | @property (nonatomic, readonly) uint32_t preKeyId; 19 | @property (nonatomic, copy, readonly) NSData *publicKey; 20 | 21 | - (instancetype) initWithPreKeyId:(uint32_t)preKeyId 22 | publicKey:(NSData*)publicKey NS_DESIGNATED_INITIALIZER; 23 | 24 | /** Not available, use designated initializer */ 25 | - (instancetype) init NS_UNAVAILABLE; 26 | 27 | - (BOOL) isEqualToPreKey:(OMEMOPreKey*)preKey; 28 | 29 | @end 30 | NS_ASSUME_NONNULL_END 31 | -------------------------------------------------------------------------------- /Xcode/Examples/ServerlessDemo/Classes/ChatViewController.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @class Service; 4 | @class XMPPStream; 5 | 6 | 7 | @interface ChatViewController : UIViewController 11 | { 12 | IBOutlet UITextField *textField; 13 | IBOutlet UITableView *tableView; 14 | 15 | Service *service; 16 | NSNetService *netService; 17 | XMPPStream *xmppStream; 18 | 19 | // Core data 20 | NSFetchedResultsController *fetchedResultsController; 21 | NSManagedObjectContext *managedObjectContext; 22 | } 23 | 24 | @property (nonatomic) Service *service; 25 | @property (nonatomic) NSManagedObjectContext *managedObjectContext; 26 | 27 | - (void)sendMessage:(id)sender; 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /Xcode/Testing-Shared/XMPPMockStream.m: -------------------------------------------------------------------------------- 1 | // 2 | // XMPPStreamTest.m 3 | // XMPPFrameworkTests 4 | // 5 | // Created by Andres Canal on 5/26/16. 6 | // 7 | // 8 | 9 | #import "XMPPMockStream.h" 10 | 11 | @implementation XMPPMockStream 12 | 13 | - (id) init { 14 | if (self = [super init]) { 15 | [super setValue:@(STATE_XMPP_CONNECTED) forKey:@"state"]; 16 | } 17 | return self; 18 | } 19 | 20 | - (BOOL) isAuthenticated { 21 | return YES; 22 | } 23 | 24 | - (void)fakeResponse:(NSXMLElement*)element { 25 | [self injectElement:element]; 26 | } 27 | 28 | - (void)fakeMessageResponse:(XMPPMessage *) message { 29 | [self injectElement:message]; 30 | } 31 | 32 | - (void)fakeIQResponse:(XMPPIQ *) iq { 33 | [self injectElement:iq]; 34 | } 35 | 36 | - (void)sendElement:(XMPPElement *)element { 37 | [super sendElement:element]; 38 | if(self.elementReceived) { 39 | self.elementReceived(element); 40 | } 41 | } 42 | 43 | @end 44 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/MulticastDelegateTest/Mobile/MulticastDelegateTest/AppDelegate.m: -------------------------------------------------------------------------------- 1 | #import "AppDelegate.h" 2 | #import "MulticastDelegateTest.h" 3 | 4 | 5 | @implementation AppDelegate 6 | 7 | @synthesize window = _window; 8 | 9 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 10 | { 11 | double delayInSeconds = 2.0; 12 | 13 | dispatch_async(dispatch_get_main_queue(), ^{ 14 | 15 | NSLog(@"Starting test in 2 seconds..."); 16 | }); 17 | 18 | dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC); 19 | dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ 20 | 21 | [[MulticastDelegateTest sharedInstance] test]; 22 | }); 23 | 24 | self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 25 | self.window.backgroundColor = [UIColor whiteColor]; 26 | [self.window makeKeyAndVisible]; 27 | return YES; 28 | } 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /Swift/Core/XMLElement.swift: -------------------------------------------------------------------------------- 1 | // 2 | // XMLElement.swift 3 | // XMPPFramework 4 | // 5 | // Created by Chris Ballinger on 11/15/17. 6 | // Copyright © 2017 XMPPFramework. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | import KissXML 11 | 12 | /** 13 | * For whatever reason Swift does not reliably import all of the methods from NSXMLElement+XMPP.h, possibly due to the typealias bug between DDXMLElement and XMLElement on iOS. To prevent this issue, we can simply reimplement the missing ones here. 14 | */ 15 | public extension XMLElement { 16 | 17 | // MARK: Extracting a single element. 18 | 19 | func element(forName name: String) -> XMLElement? { 20 | let elements = self.elements(forName: name) 21 | return elements.first 22 | } 23 | 24 | func element(forName name: String, xmlns: String) -> XMLElement? { 25 | let elements = self.elements(forLocalName: name, uri: xmlns) 26 | return elements.first 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /Swift/Core/XMPPIQ.swift: -------------------------------------------------------------------------------- 1 | // 2 | // XMPPIQ.swift 3 | // XMPPFramework 4 | // 5 | // Created by Chris Ballinger on 11/14/17. 6 | // Copyright © 2017 XMPPFramework. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | #if canImport(XMPPFramework) 11 | import XMPPFramework 12 | #endif 13 | 14 | public extension XMPPIQ { 15 | enum IQType: String { 16 | case get 17 | case set 18 | case result 19 | case error 20 | } 21 | 22 | var iqType: IQType? { 23 | guard let type = self.type else { return nil } 24 | let iqType = IQType(rawValue: type) 25 | return iqType 26 | } 27 | 28 | convenience init(iqType: IQType, 29 | to JID: XMPPJID? = nil, 30 | elementID eid: String? = nil, 31 | child childElement: XMLElement? = nil) { 32 | self.init(type: iqType.rawValue, to: JID, elementID: eid, child: childElement) 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Xcode/Examples/DesktopXMPP/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | com.deusty.${PRODUCT_NAME:identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | NSMainNibFile 24 | MainMenu 25 | NSPrincipalClass 26 | NSApplication 27 | 28 | 29 | -------------------------------------------------------------------------------- /Extensions/OMEMO/OMEMOKeyData.m: -------------------------------------------------------------------------------- 1 | // 2 | // OMEMOKeyData.m 3 | // XMPPFramework 4 | // 5 | // Created by Chris Ballinger on 10/10/16. 6 | // 7 | // XEP-0384: OMEMO Encryption 8 | // https://xmpp.org/extensions/xep-0384.html 9 | // 10 | // This specification defines a protocol for end-to-end encryption 11 | // in one-on-one chats that may have multiple clients per account. 12 | 13 | #import "OMEMOKeyData.h" 14 | 15 | @implementation OMEMOKeyData 16 | 17 | - (instancetype) init { 18 | NSAssert(NO, @"Use designated initializer."); 19 | return nil; 20 | } 21 | 22 | - (instancetype) initWithDeviceId:(uint32_t)deviceId 23 | data:(NSData*)data 24 | isPreKey:(BOOL)isPreKey { 25 | NSParameterAssert(deviceId != 0); 26 | NSParameterAssert(data.length > 0); 27 | if (self = [super init]) { 28 | _deviceId = deviceId; 29 | _data = [data copy]; 30 | _isPreKey = isPreKey; 31 | } 32 | return self; 33 | } 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /Swift/XEP-0085/XMPPMessage+XEP_0085.swift: -------------------------------------------------------------------------------- 1 | // 2 | // XMPPMessage+XEP_0085.swift 3 | // XMPPFramework 4 | // 5 | // Created by Chris Ballinger on 11/21/17. 6 | // Copyright © 2017 XMPPFramework. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | #if canImport(XMPPFramework) 11 | import XMPPFramework 12 | #endif 13 | 14 | /// XEP-0085: Chat States 15 | /// https://xmpp.org/extensions/xep-0085.html 16 | public extension XMPPMessage { 17 | enum ChatState: String { 18 | case active 19 | case composing 20 | case paused 21 | case inactive 22 | case gone 23 | } 24 | 25 | var chatState: ChatState? { 26 | guard let chatState = self.chatStateValue else { 27 | return nil 28 | } 29 | return ChatState(rawValue: chatState) 30 | } 31 | 32 | func addChatState(_ chatState: ChatState) { 33 | let element = XMLElement(name: chatState.rawValue, xmlns: ChatStatesXmlns) 34 | addChild(element) 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Extensions/XEP-0054/XMPPvCardTempAdr.h: -------------------------------------------------------------------------------- 1 | // 2 | // XMPPvCardTempAdr.h 3 | // XEP-0054 vCard-temp 4 | // 5 | // Created by Eric Chamberlain on 3/9/11. 6 | // Copyright 2011 RF.com. All rights reserved. 7 | // Copyright 2010 Martin Morrison. All rights reserved. 8 | // 9 | 10 | 11 | #import 12 | 13 | #import "XMPPvCardTempAdrTypes.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | @interface XMPPvCardTempAdr : XMPPvCardTempAdrTypes 17 | 18 | + (XMPPvCardTempAdr *)vCardAdrFromElement:(NSXMLElement *)elem; 19 | 20 | @property (nonatomic, strong, nullable) NSString *pobox; 21 | @property (nonatomic, strong, nullable) NSString *extendedAddress; 22 | @property (nonatomic, strong, nullable) NSString *street; 23 | @property (nonatomic, strong, nullable) NSString *locality; 24 | @property (nonatomic, strong, nullable) NSString *region; 25 | @property (nonatomic, strong, nullable) NSString *postalCode; 26 | @property (nonatomic, strong, nullable) NSString *country; 27 | 28 | @end 29 | NS_ASSUME_NONNULL_END 30 | -------------------------------------------------------------------------------- /Extensions/XEP-0359/NSXMLElement+XEP_0359.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSXMLElement+XEP_0359.m 3 | // XMPPFramework 4 | // 5 | // Created by Chris Ballinger on 10/10/17. 6 | // Copyright © 2017 robbiehanson. All rights reserved. 7 | // 8 | 9 | #import "NSXMLElement+XEP_0359.h" 10 | #import "NSXMLElement+XMPP.h" 11 | 12 | NSString *const XMPPStanzaIdXmlns = @"urn:xmpp:sid:0"; 13 | NSString *const XMPPStanzaIdElementName = @"stanza-id"; 14 | NSString *const XMPPOriginIdElementName = @"origin-id"; 15 | 16 | @implementation NSXMLElement (XEP_0359) 17 | 18 | + (instancetype) originIdElement { 19 | return [self originIdElementWithUniqueId:nil]; 20 | } 21 | 22 | + (instancetype) originIdElementWithUniqueId:(nullable NSString*)uniqueId { 23 | if (!uniqueId) { 24 | uniqueId = [NSUUID UUID].UUIDString; 25 | } 26 | NSXMLElement *element = [NSXMLElement elementWithName:XMPPOriginIdElementName xmlns:XMPPStanzaIdXmlns]; 27 | [element addAttributeWithName:@"id" objectValue:uniqueId]; 28 | 29 | return element; 30 | } 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /Swift/Core/XMPPMessage.swift: -------------------------------------------------------------------------------- 1 | // 2 | // XMPPMessage.swift 3 | // XMPPFramework 4 | // 5 | // Created by Chris Ballinger on 11/21/17. 6 | // Copyright © 2017 XMPPFramework. All rights reserved. 7 | // 8 | 9 | import Foundation 10 | #if canImport(XMPPFramework) 11 | import XMPPFramework 12 | #endif 13 | 14 | public extension XMPPMessage { 15 | enum MessageType: String { 16 | case chat 17 | case error 18 | case groupchat 19 | case headline 20 | case normal 21 | } 22 | 23 | var messageType: MessageType? { 24 | guard let type = self.type else { 25 | return nil 26 | } 27 | return MessageType(rawValue: type) 28 | } 29 | 30 | convenience init(messageType: MessageType? = nil, 31 | to: XMPPJID? = nil, 32 | elementID: String? = nil, 33 | child: XMLElement? = nil) { 34 | self.init(type: messageType?.rawValue, to: to, elementID: elementID, child: child) 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /Extensions/OMEMO/OMEMOSignedPreKey.h: -------------------------------------------------------------------------------- 1 | // 2 | // OMEMOSignedPreKey.h 3 | // Pods 4 | // 5 | // Created by Chris Ballinger on 9/20/16. 6 | // 7 | // XEP-0384: OMEMO Encryption 8 | // https://xmpp.org/extensions/xep-0384.html 9 | // 10 | // This specification defines a protocol for end-to-end encryption 11 | // in one-on-one chats that may have multiple clients per account. 12 | 13 | #import "OMEMOPreKey.h" 14 | 15 | NS_ASSUME_NONNULL_BEGIN 16 | @interface OMEMOSignedPreKey : OMEMOPreKey 17 | 18 | @property (nonatomic, copy, readonly) NSData *signature; 19 | 20 | - (instancetype) initWithPreKeyId:(uint32_t)preKeyId 21 | publicKey:(NSData*)publicKey 22 | signature:(NSData*)signature NS_DESIGNATED_INITIALIZER; 23 | 24 | /** Not available, use designated initializer */ 25 | - (instancetype) initWithPreKeyId:(uint32_t)preKeyId 26 | publicKey:(NSData*)publicKey NS_UNAVAILABLE; 27 | 28 | - (BOOL) isEqualToSignedPreKey:(OMEMOSignedPreKey*)signedPreKey; 29 | 30 | @end 31 | NS_ASSUME_NONNULL_END 32 | -------------------------------------------------------------------------------- /Extensions/OneToOneChat/XMPPOneToOneChat.h: -------------------------------------------------------------------------------- 1 | #import "XMPPModule.h" 2 | 3 | NS_ASSUME_NONNULL_BEGIN 4 | 5 | @class XMPPMessage; 6 | 7 | /// @brief A module that handles one-to-one chat messaging. 8 | /// @discussion This module triggers delegate callbacks for all sent or received messages of type 'chat'. 9 | @interface XMPPOneToOneChat : XMPPModule 10 | 11 | @end 12 | 13 | /// A protocol defining @c XMPPOneToOneChat module delegate API. 14 | @protocol XMPPOneToOneChatDelegate 15 | 16 | @optional 17 | /// Notifies the delegate that a chat message has been received in the stream. 18 | - (void)xmppOneToOneChat:(XMPPOneToOneChat *)xmppOneToOneChat didReceiveChatMessage:(XMPPMessage *)message 19 | NS_SWIFT_NAME(xmppOneToOneChat(_:didReceiveChatMessage:)); 20 | 21 | /// Notifies the delegate that a chat message has been sent in the stream. 22 | - (void)xmppOneToOneChat:(XMPPOneToOneChat *)xmppOneToOneChat didSendChatMessage:(XMPPMessage *)message 23 | NS_SWIFT_NAME(xmppOneToOneChat(_:didSendChatMessage:)); 24 | 25 | @end 26 | 27 | NS_ASSUME_NONNULL_END 28 | -------------------------------------------------------------------------------- /Extensions/XEP-0048/XMPPBookmarksStorageElement.h: -------------------------------------------------------------------------------- 1 | // 2 | // XMPPBookmarksStorageElement.h 3 | // XMPPFramework 4 | // 5 | // Created by Chris Ballinger on 11/12/17. 6 | // Copyright © 2017 robbiehanson. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "XMPPBookmark.h" 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | /** */ 14 | @interface XMPPBookmarksStorageElement : NSXMLElement 15 | 16 | /** Converts element in place */ 17 | + (nullable XMPPBookmarksStorageElement*)bookmarksStorageElementFromElement:(NSXMLElement*)element; 18 | 19 | /** Create new element from bookmarks */ 20 | - (instancetype) initWithBookmarks:(NSArray>*)bookmarks; 21 | 22 | @property (nonatomic, strong, readonly) NSArray> *bookmarks; 23 | @property (nonatomic, strong, readonly) NSArray *conferenceBookmarks; 24 | @property (nonatomic, strong, readonly) NSArray *urlBookmarks; 25 | 26 | @end 27 | NS_ASSUME_NONNULL_END 28 | -------------------------------------------------------------------------------- /Xcode/Examples/ServerlessDemo/ServerlessDemo-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleDisplayName 8 | ${PRODUCT_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleIconFile 12 | 13 | CFBundleIdentifier 14 | com.voalte.test.${PRODUCT_NAME:rfc1034identifier} 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundleName 18 | ${PRODUCT_NAME} 19 | CFBundlePackageType 20 | APPL 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1.0 25 | LSRequiresIPhoneOS 26 | 27 | NSMainNibFile 28 | MainWindow 29 | 30 | 31 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/ParserTestPhone/ParserTestPhone-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleDisplayName 8 | ${PRODUCT_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleIconFile 12 | 13 | CFBundleIdentifier 14 | com.voalte.test.${PRODUCT_NAME:rfc1034identifier} 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundleName 18 | ${PRODUCT_NAME} 19 | CFBundlePackageType 20 | APPL 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1.0 25 | LSRequiresIPhoneOS 26 | 27 | NSMainNibFile 28 | MainWindow 29 | 30 | 31 | -------------------------------------------------------------------------------- /Xcode/Examples/ServerlessDemo/Classes/ServerlessDemoAppDelegate.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @class XMPPJID; 4 | 5 | 6 | @interface ServerlessDemoAppDelegate : NSObject 7 | { 8 | XMPPJID *myJID; 9 | 10 | NSManagedObjectModel *managedObjectModel; 11 | NSManagedObjectContext *managedObjectContext; 12 | NSPersistentStoreCoordinator *persistentStoreCoordinator; 13 | 14 | UIWindow *window; 15 | UINavigationController *navigationController; 16 | } 17 | 18 | @property (nonatomic, readonly) NSManagedObjectModel *managedObjectModel; 19 | @property (nonatomic, readonly) NSManagedObjectContext *managedObjectContext; 20 | @property (nonatomic, readonly) NSPersistentStoreCoordinator *persistentStoreCoordinator; 21 | 22 | @property (nonatomic) IBOutlet UIWindow *window; 23 | @property (nonatomic) IBOutlet UINavigationController *navigationController; 24 | 25 | @property (nonatomic) XMPPJID *myJID; 26 | 27 | - (NSString *)applicationDocumentsDirectory; 28 | 29 | - (NSData *)IPv4AddressFromAddresses:(NSArray *)addresses; 30 | - (NSString *)stringFromAddress:(NSData *)address; 31 | 32 | @end 33 | 34 | -------------------------------------------------------------------------------- /Extensions/XEP-0066/XMPPOutOfBandResourceMessaging.h: -------------------------------------------------------------------------------- 1 | #import "XMPPModule.h" 2 | 3 | @class XMPPMessage; 4 | 5 | NS_ASSUME_NONNULL_BEGIN 6 | 7 | /// A module that handles incoming XEP-0066 Out of Band Data URI messages. 8 | @interface XMPPOutOfBandResourceMessaging : XMPPModule 9 | 10 | /// @brief The set of URL schemes handled by the module. 11 | /// @discussion If set to @c nil (the default), URL filtering is disabled. 12 | @property (copy, nullable) NSSet *relevantURLSchemes; 13 | 14 | @end 15 | 16 | /// A protocol defining @c XMPPOutOfBandResourceMessagingDelegate module delegate API. 17 | @protocol XMPPOutOfBandResourceMessagingDelegate 18 | 19 | @optional 20 | 21 | /// Notifies the delegate that a message containing a relevant XEP-0066 Out of Band Data URI has been received in the stream. 22 | - (void)xmppOutOfBandResourceMessaging:(XMPPOutOfBandResourceMessaging *)xmppOutOfBandResourceMessaging 23 | didReceiveOutOfBandResourceMessage:(XMPPMessage *)message 24 | NS_SWIFT_NAME(xmppOutOfBandResourceMessaging(_:didReceiveOutOfBandResourceMessage:)); 25 | 26 | @end 27 | 28 | NS_ASSUME_NONNULL_END 29 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestCapabilitiesHashing/iPhone/TestCapabilitiesHashing/TestCapabilitiesHashing-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleDisplayName 8 | ${PRODUCT_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleIconFile 12 | 13 | CFBundleIdentifier 14 | com.voalte.test.${PRODUCT_NAME:rfc1034identifier} 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundleName 18 | ${PRODUCT_NAME} 19 | CFBundlePackageType 20 | APPL 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1.0 25 | LSRequiresIPhoneOS 26 | 27 | NSMainNibFile 28 | MainWindow 29 | 30 | 31 | -------------------------------------------------------------------------------- /Xcode/Examples/DesktopXMPP/AppDelegate.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "XMPPFramework.h" 3 | 4 | @class RosterController; 5 | 6 | 7 | @interface AppDelegate : NSObject 8 | { 9 | XMPPStream *xmppStream; 10 | XMPPReconnect *xmppReconnect; 11 | XMPPRoster *xmppRoster; 12 | XMPPRosterMemoryStorage *xmppRosterStorage; 13 | XMPPCapabilities *xmppCapabilities; 14 | XMPPCapabilitiesCoreDataStorage *xmppCapabilitiesStorage; 15 | XMPPPing *xmppPing; 16 | XMPPTime *xmppTime; 17 | 18 | NSMutableArray *turnSockets; 19 | 20 | IBOutlet RosterController *rosterController; 21 | } 22 | 23 | @property (nonatomic, readonly) XMPPStream *xmppStream; 24 | @property (nonatomic, readonly) XMPPReconnect *xmppReconnect; 25 | @property (nonatomic, readonly) XMPPRoster *xmppRoster; 26 | @property (nonatomic, readonly) XMPPRosterMemoryStorage *xmppRosterStorage; 27 | @property (nonatomic, readonly) XMPPCapabilities *xmppCapabilities; 28 | @property (nonatomic, readonly) XMPPCapabilitiesCoreDataStorage *xmppCapabilitiesStorage; 29 | @property (nonatomic, readonly) XMPPPing *xmppPing; 30 | 31 | - (void)connectViaXEP65:(XMPPJID *)jid; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /Xcode/Examples/iPhoneXMPP/iPhoneXMPP-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleDisplayName 8 | ${PRODUCT_NAME} 9 | CFBundleExecutable 10 | ${EXECUTABLE_NAME} 11 | CFBundleIconFile 12 | 13 | CFBundleIdentifier 14 | $(PRODUCT_BUNDLE_IDENTIFIER) 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundleName 18 | ${PRODUCT_NAME} 19 | CFBundlePackageType 20 | APPL 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1.0 25 | LSRequiresIPhoneOS 26 | 27 | NSMainNibFile 28 | MainWindow 29 | UIBackgroundModes 30 | 31 | voip 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /Extensions/XEP-0297/NSXMLElement+XEP_0297.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @import KissXML; 4 | 5 | @class XMPPIQ; 6 | @class XMPPMessage; 7 | @class XMPPPresence; 8 | 9 | NS_ASSUME_NONNULL_BEGIN 10 | @interface NSXMLElement (XEP_0297) 11 | 12 | #pragma mark Forwarded Stanza 13 | 14 | @property (nonatomic, readonly, nullable) NSXMLElement *forwardedStanza; 15 | 16 | @property (nonatomic, readonly) BOOL hasForwardedStanza; 17 | 18 | @property (nonatomic, readonly) BOOL isForwardedStanza; 19 | 20 | #pragma mark Delayed Delivery Date 21 | 22 | @property (nonatomic, readonly, nullable) NSDate *forwardedStanzaDelayedDeliveryDate; 23 | 24 | #pragma mark XMPPElement 25 | 26 | @property (nonatomic, readonly, nullable) XMPPIQ *forwardedIQ; 27 | 28 | @property (nonatomic, readonly) BOOL hasForwardedIQ; 29 | 30 | @property (nonatomic, readonly, nullable) XMPPMessage *forwardedMessage; 31 | 32 | @property (nonatomic, readonly) BOOL hasForwardedMessage; 33 | 34 | @property (nonatomic, readonly, nullable) XMPPPresence *forwardedPresence; 35 | 36 | @property (nonatomic, readonly) BOOL hasForwardedPresence; 37 | 38 | @end 39 | NS_ASSUME_NONNULL_END 40 | -------------------------------------------------------------------------------- /Utilities/RFImageToDataTransformer.m: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | File: RFImageToDataTransformer.m 4 | Abstract: A value transformer, which transforms a UIImage or NSImage object into an NSData object. 5 | 6 | Based on Apple's UIImageToDataTransformer 7 | 8 | Copyright (C) 2010 Apple Inc. All Rights Reserved. 9 | Copyright (C) 2011 RF.com All Rights Reserved. 10 | */ 11 | 12 | #import "RFImageToDataTransformer.h" 13 | 14 | #if TARGET_OS_IPHONE 15 | #import 16 | #else 17 | #import 18 | #endif 19 | 20 | 21 | @implementation RFImageToDataTransformer 22 | 23 | + (BOOL)allowsReverseTransformation { 24 | return YES; 25 | } 26 | 27 | + (Class)transformedValueClass { 28 | return [NSData class]; 29 | } 30 | 31 | - (id)transformedValue:(id)value { 32 | #if TARGET_OS_IPHONE 33 | return UIImagePNGRepresentation(value); 34 | #else 35 | return [(NSImage *)value TIFFRepresentation]; 36 | #endif 37 | } 38 | 39 | - (id)reverseTransformedValue:(id)value { 40 | #if TARGET_OS_IPHONE 41 | return [[UIImage alloc] initWithData:value]; 42 | #else 43 | return [[NSImage alloc] initWithData:value]; 44 | #endif 45 | } 46 | 47 | @end 48 | 49 | -------------------------------------------------------------------------------- /Extensions/XEP-0045/MemoryStorage/XMPPRoomOccupantMemoryStorageObject.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "XMPPRoom.h" 3 | #import "XMPPRoomOccupant.h" 4 | 5 | 6 | @interface XMPPRoomOccupantMemoryStorageObject : NSObject 7 | 8 | - (id)initWithPresence:(XMPPPresence *)presence; 9 | - (void)updateWithPresence:(XMPPPresence *)presence; 10 | 11 | /** 12 | * The properties below are documented in the XMPPRoomOccupant protocol. 13 | **/ 14 | 15 | @property (readonly) XMPPPresence *presence; 16 | 17 | @property (readonly) XMPPJID * jid; 18 | @property (readonly) XMPPJID * roomJID; 19 | @property (readonly) NSString * nickname; 20 | 21 | @property (readonly) NSString * role; 22 | @property (readonly) NSString * affiliation; 23 | @property (readonly) XMPPJID * realJID; 24 | 25 | /** 26 | * Compares two occupants based on the nickname. 27 | * 28 | * This method provides the ordering used by XMPPRoomMemoryStorage. 29 | * Subclasses may override this method to provide an alternative sorting mechanism. 30 | **/ 31 | - (NSComparisonResult)compare:(XMPPRoomOccupantMemoryStorageObject *)another; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /Extensions/XEP-0359/XMPPCapabilities+XEP_0359.h: -------------------------------------------------------------------------------- 1 | // 2 | // XMPPCapabilities+XEP_0359.h 3 | // XMPPFramework 4 | // 5 | // Created by Chris Ballinger on 10/11/17. 6 | // Copyright © 2017 Chris Ballinger. All rights reserved. 7 | // 8 | 9 | #import "XMPPCapabilities.h" 10 | #import "XMPPMessage.h" 11 | 12 | NS_ASSUME_NONNULL_BEGIN 13 | @interface XMPPCapabilities (XEP_0359) 14 | 15 | /** 16 | * Whether or not the stanza-id can be trusted. 17 | * 18 | * Before processing the stanza ID of a message and using it for deduplication purposes or for MAM catchup, the receiving entity SHOULD ensure that the stanza ID could not have been faked, by verifying that the entity referenced in the by attribute does annouce the 'urn:xmpp:sid:0' namespace in its disco features. 19 | * 20 | * The value of the 'by' attribute MUST be the XMPP address of the entity assigning the unique and stable stanza ID. For one-on-one messages the assigning entity is the account. In groupchats the assigning entity is the room. Note that XMPP addresses are normalized as defined in RFC 6122 [4]. 21 | */ 22 | - (BOOL) hasValidStanzaId:(XMPPMessage*)message; 23 | 24 | @end 25 | NS_ASSUME_NONNULL_END 26 | -------------------------------------------------------------------------------- /Xcode/Examples/DesktopXMPP/SSKeychain/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010-2011 Sam Soffes. 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /Extensions/XEP-0085/XMPPMessage+XEP_0085.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "XMPPMessage.h" 3 | 4 | NS_ASSUME_NONNULL_BEGIN 5 | /** XEP-0085: Chat States XMLNS "http://jabber.org/protocol/chatstates" */ 6 | extern NSString *const ChatStatesXmlns; 7 | 8 | @interface XMPPMessage (XEP_0085) 9 | 10 | @property (nonatomic, readonly, nullable) NSString *chatStateValue; 11 | @property (nonatomic, readonly, nullable) NSString *chatState NS_REFINED_FOR_SWIFT DEPRECATED_MSG_ATTRIBUTE("Use chatStateValue to access the raw String value. This property will be removed in a future release."); 12 | 13 | @property (nonatomic, readonly) BOOL hasChatState; 14 | 15 | @property (nonatomic, readonly) BOOL hasActiveChatState; 16 | @property (nonatomic, readonly) BOOL hasComposingChatState; 17 | @property (nonatomic, readonly) BOOL hasPausedChatState; 18 | @property (nonatomic, readonly) BOOL hasInactiveChatState; 19 | @property (nonatomic, readonly) BOOL hasGoneChatState; 20 | 21 | - (void)addActiveChatState; 22 | - (void)addComposingChatState; 23 | - (void)addPausedChatState; 24 | - (void)addInactiveChatState; 25 | - (void)addGoneChatState; 26 | 27 | @end 28 | NS_ASSUME_NONNULL_END 29 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestXEP82/Mac/TestXEP82-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | com.yourcompany.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1 25 | LSMinimumSystemVersion 26 | ${MACOSX_DEPLOYMENT_TARGET} 27 | NSMainNibFile 28 | MainMenu 29 | NSPrincipalClass 30 | NSApplication 31 | 32 | 33 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/ParserTestMac/ParserTestMac-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | com.yourcompany.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleSignature 20 | ???? 21 | CFBundleShortVersionString 22 | 1.0 23 | LSMinimumSystemVersion 24 | ${MACOSX_DEPLOYMENT_TARGET} 25 | CFBundleVersion 26 | 1 27 | NSMainNibFile 28 | MainMenu 29 | NSPrincipalClass 30 | NSApplication 31 | 32 | 33 | -------------------------------------------------------------------------------- /Extensions/OneToOneChat/XMPPOneToOneChat.m: -------------------------------------------------------------------------------- 1 | #import "XMPPOneToOneChat.h" 2 | #import "XMPPMessage.h" 3 | #import "XMPPStream.h" 4 | #import "XMPPLogging.h" 5 | 6 | // Log levels: off, error, warn, info, verbose 7 | // Log flags: trace 8 | #if DEBUG 9 | static const int xmppLogLevel = XMPP_LOG_LEVEL_WARN; // | XMPP_LOG_FLAG_TRACE; 10 | #else 11 | static const int xmppLogLevel = XMPP_LOG_LEVEL_WARN; 12 | #endif 13 | 14 | @implementation XMPPOneToOneChat 15 | 16 | - (void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XMPPMessage *)message 17 | { 18 | XMPPLogTrace(); 19 | 20 | if (![message isChatMessage]) { 21 | return; 22 | } 23 | 24 | XMPPLogInfo(@"Received chat message from %@", [message from]); 25 | [multicastDelegate xmppOneToOneChat:self didReceiveChatMessage:message]; 26 | } 27 | 28 | - (void)xmppStream:(XMPPStream *)sender didSendMessage:(XMPPMessage *)message 29 | { 30 | XMPPLogTrace(); 31 | 32 | if (![message isChatMessage]) { 33 | return; 34 | } 35 | 36 | XMPPLogInfo(@"Sent chat message to %@", [message to]); 37 | [multicastDelegate xmppOneToOneChat:self didSendChatMessage:message]; 38 | } 39 | 40 | @end 41 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestSRVResolver/TestSRVResolver-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | com.yourcompany.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1 25 | LSMinimumSystemVersion 26 | ${MACOSX_DEPLOYMENT_TARGET} 27 | NSMainNibFile 28 | MainMenu 29 | NSPrincipalClass 30 | NSApplication 31 | 32 | 33 | -------------------------------------------------------------------------------- /Extensions/OMEMO/OMEMOPreKey.m: -------------------------------------------------------------------------------- 1 | // 2 | // OMEMOPreKey.m 3 | // Pods 4 | // 5 | // Created by Chris Ballinger on 9/20/16. 6 | // 7 | // XEP-0384: OMEMO Encryption 8 | // https://xmpp.org/extensions/xep-0384.html 9 | // 10 | // This specification defines a protocol for end-to-end encryption 11 | // in one-on-one chats that may have multiple clients per account. 12 | 13 | #import "OMEMOPreKey.h" 14 | 15 | @implementation OMEMOPreKey 16 | 17 | - (instancetype) init { 18 | NSAssert(NO, @"Use designated initializer."); 19 | return nil; 20 | } 21 | 22 | - (instancetype) initWithPreKeyId:(uint32_t)preKeyId 23 | publicKey:(NSData*)publicKey { 24 | if (self = [super init]) { 25 | _preKeyId = preKeyId; 26 | _publicKey = [publicKey copy]; 27 | } 28 | return self; 29 | } 30 | 31 | - (BOOL) isEqual:(id)object { 32 | if ([object isKindOfClass:[OMEMOPreKey class]]) { 33 | return [self isEqualToPreKey:object]; 34 | } 35 | return NO; 36 | } 37 | 38 | - (BOOL) isEqualToPreKey:(OMEMOPreKey*)preKey { 39 | return self.preKeyId == preKey.preKeyId && 40 | [self.publicKey isEqualToData:preKey.publicKey]; 41 | } 42 | 43 | @end 44 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/AutoPingTest/Desktop/AutoPingTest/AutoPingTest-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | com.deusty.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSignature 22 | ???? 23 | CFBundleVersion 24 | 1 25 | LSMinimumSystemVersion 26 | ${MACOSX_DEPLOYMENT_TARGET} 27 | NSMainNibFile 28 | MainMenu 29 | NSPrincipalClass 30 | NSApplication 31 | 32 | 33 | -------------------------------------------------------------------------------- /Extensions/XEP-0059/NSXMLElement+XEP_0059.m: -------------------------------------------------------------------------------- 1 | #import "NSXMLElement+XEP_0059.h" 2 | #import "NSXMLElement+XMPP.h" 3 | #import "XMPPResultSet.h" 4 | 5 | #if ! __has_feature(objc_arc) 6 | #warning This file must be compiled with ARC. Use -fobjc-arc flag (or convert project to ARC). 7 | #endif 8 | 9 | 10 | #define XMLNS_XMPP_RESULT_SET @"http://jabber.org/protocol/rsm" 11 | #define NAME_XMPP_RESULT_SET @"set" 12 | 13 | @implementation NSXMLElement (XEP_0059) 14 | 15 | 16 | - (BOOL)isResultSet 17 | { 18 | if([[self name] isEqualToString:NAME_XMPP_RESULT_SET] && [[self xmlns] isEqualToString:XMLNS_XMPP_RESULT_SET]) 19 | { 20 | return YES; 21 | } 22 | else 23 | { 24 | return NO; 25 | } 26 | } 27 | 28 | - (BOOL)hasResultSet 29 | { 30 | if([self resultSet]) 31 | { 32 | return YES; 33 | } 34 | else 35 | { 36 | return NO; 37 | } 38 | } 39 | 40 | - (XMPPResultSet *)resultSet 41 | { 42 | NSXMLElement *resultSetElement = [self elementForName:NAME_XMPP_RESULT_SET xmlns:XMLNS_XMPP_RESULT_SET]; 43 | XMPPResultSet *resultSet = [XMPPResultSet resultSetFromElement:resultSetElement]; 44 | return resultSet; 45 | } 46 | 47 | @end 48 | -------------------------------------------------------------------------------- /Extensions/OMEMO/OMEMOKeyData.h: -------------------------------------------------------------------------------- 1 | // 2 | // OMEMOKeyData.h 3 | // XMPPFramework 4 | // 5 | // Created by Chris Ballinger on 10/10/16. 6 | // 7 | // XEP-0384: OMEMO Encryption 8 | // https://xmpp.org/extensions/xep-0384.html 9 | // 10 | // This specification defines a protocol for end-to-end encryption 11 | // in one-on-one chats that may have multiple clients per account. 12 | 13 | #import 14 | #import 15 | 16 | NS_ASSUME_NONNULL_BEGIN 17 | @interface OMEMOKeyData : NSObject 18 | 19 | @property (nonatomic, readonly, copy) NSData *data; 20 | @property (nonatomic, readonly) uint32_t deviceId; 21 | 22 | /** 23 | * This propery might be `NO` when using the legacy Converastions 24 | * namespace because the original draft did not distinguish between 25 | * PreKeyMessages and OMEMOMessages. 26 | */ 27 | @property (nonatomic, readonly) BOOL isPreKey; 28 | 29 | - (instancetype) initWithDeviceId:(uint32_t)deviceId 30 | data:(NSData*)data 31 | isPreKey:(BOOL)isPreKey NS_DESIGNATED_INITIALIZER; 32 | 33 | /** Not available, use designated initializer */ 34 | - (instancetype) init NS_UNAVAILABLE; 35 | 36 | @end 37 | NS_ASSUME_NONNULL_END 38 | -------------------------------------------------------------------------------- /Extensions/XEP-0198/Private/XMPPStreamManagementStanzas.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import "XMPPElement.h" 3 | 4 | /** 5 | * An outgoing stanza. 6 | * 7 | * The translation from element to stanzaId may be an asynchronous process, 8 | * so this structure is used to assist in the process. 9 | **/ 10 | NS_ASSUME_NONNULL_BEGIN 11 | @interface XMPPStreamManagementOutgoingStanza : NSObject 12 | 13 | - (instancetype)initAwaitingStanzaId; 14 | - (instancetype)initWithStanzaId:(id)stanzaId; 15 | 16 | @property (nonatomic, strong, readwrite, nullable) id stanzaId; 17 | @property (nonatomic, assign, readwrite) BOOL awaitingStanzaId; 18 | 19 | @end 20 | 21 | #pragma mark - 22 | 23 | /** 24 | * An incoming stanza. 25 | * 26 | * The translation from element to stanzaId may be an asynchronous process, 27 | * so this structure is used to assist in the process. 28 | **/ 29 | @interface XMPPStreamManagementIncomingStanza : NSObject 30 | 31 | - (instancetype)initWithStanzaId:(nullable id)stanzaId isHandled:(BOOL)isHandled; 32 | 33 | @property (nonatomic, strong, readwrite, nullable) id stanzaId; 34 | @property (nonatomic, assign, readwrite) BOOL isHandled; 35 | 36 | @end 37 | NS_ASSUME_NONNULL_END 38 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/TestCapabilitiesHashing/Mac/TestCapabilitiesHashing/TestCapabilitiesHashing-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | com.yourcompany.${PRODUCT_NAME:rfc1034identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleSignature 20 | ???? 21 | CFBundleShortVersionString 22 | 1.0 23 | LSMinimumSystemVersion 24 | ${MACOSX_DEPLOYMENT_TARGET} 25 | CFBundleVersion 26 | 1 27 | NSMainNibFile 28 | MainMenu 29 | NSPrincipalClass 30 | NSApplication 31 | 32 | 33 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/AutoPingTest/Mobile/AutoPingTest/AutoPingTestViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // AutoPingTestViewController.m 3 | // AutoPingTest 4 | // 5 | // Created by Robbie Hanson on 9/1/11. 6 | // Copyright 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import "AutoPingTestViewController.h" 10 | 11 | @implementation AutoPingTestViewController 12 | 13 | - (void)didReceiveMemoryWarning 14 | { 15 | // Releases the view if it doesn't have a superview. 16 | [super didReceiveMemoryWarning]; 17 | 18 | // Release any cached data, images, etc that aren't in use. 19 | } 20 | 21 | #pragma mark - View lifecycle 22 | 23 | /* 24 | // Implement viewDidLoad to do additional setup after loading the view, typically from a nib. 25 | - (void)viewDidLoad 26 | { 27 | [super viewDidLoad]; 28 | } 29 | */ 30 | 31 | - (void)viewDidUnload 32 | { 33 | [super viewDidUnload]; 34 | // Release any retained subviews of the main view. 35 | // e.g. self.myOutlet = nil; 36 | } 37 | 38 | - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 39 | { 40 | // Return YES for supported orientations 41 | return (interfaceOrientation == UIInterfaceOrientationPortrait); 42 | } 43 | 44 | @end 45 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/AutoTimeTest/Mobile/AutoTimeTest/AutoTimeTestViewController.m: -------------------------------------------------------------------------------- 1 | // 2 | // AutoTimeTestViewController.m 3 | // AutoTimeTest 4 | // 5 | // Created by Robbie Hanson on 9/1/11. 6 | // Copyright 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import "AutoTimeTestViewController.h" 10 | 11 | @implementation AutoTimeTestViewController 12 | 13 | - (void)didReceiveMemoryWarning 14 | { 15 | // Releases the view if it doesn't have a superview. 16 | [super didReceiveMemoryWarning]; 17 | 18 | // Release any cached data, images, etc that aren't in use. 19 | } 20 | 21 | #pragma mark - View lifecycle 22 | 23 | /* 24 | // Implement viewDidLoad to do additional setup after loading the view, typically from a nib. 25 | - (void)viewDidLoad 26 | { 27 | [super viewDidLoad]; 28 | } 29 | */ 30 | 31 | - (void)viewDidUnload 32 | { 33 | [super viewDidUnload]; 34 | // Release any retained subviews of the main view. 35 | // e.g. self.myOutlet = nil; 36 | } 37 | 38 | - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 39 | { 40 | // Return YES for supported orientations 41 | return (interfaceOrientation == UIInterfaceOrientationPortrait); 42 | } 43 | 44 | @end 45 | -------------------------------------------------------------------------------- /Xcode/Examples/Tests/AutoTimeTest/XMPPFramework.h: -------------------------------------------------------------------------------- 1 | // 2 | // This file is designed to be customized by YOU. 3 | // 4 | // As you pick and choose which parts of the framework you need for your application, add them to this header file. 5 | // 6 | // Various modules available within the framework optionally interact with each other. 7 | // E.g. The XMPPPing module utilizes the XMPPCapabilities module to advertise support XEP-0199. 8 | // 9 | // However, the modules can only interact if they're both added to your xcode project. 10 | // E.g. If XMPPCapabilities isn't a part of your xcode project, then XMPPPing shouldn't attempt to reference it. 11 | // 12 | // So how do the individual modules know if other modules are available? 13 | // Via this header file. 14 | // 15 | // If you #import "XMPPCapabilities.h" in this file, then _XMPP_CAPABILITIES_H will be defined for other modules. 16 | // And they can automatically take advantage of it. 17 | // 18 | 19 | 20 | // CUSTOMIZE ME ! 21 | // 22 | // THIS HEADER FILE SHOULD BE TAILORED TO MATCH YOUR APPLICATION. 23 | 24 | 25 | #import "XMPP.h" 26 | 27 | // List the modules you're using here. 28 | 29 | #import "XMPPDateTimeProfiles.h" 30 | #import "XMPPTime.h" 31 | #import "XMPPAutoTime.h" 32 | --------------------------------------------------------------------------------