├── build
├── README.html
├── ant-contrib.jar
├── asm.jar
├── build.properties
├── build.xml
├── build
│ ├── java-xmlbuilder-0.3.jar
│ ├── versions.txt
│ └── xmlunit.jar
├── javassist-3.10.0.GA.jar
├── jaxen.jar
├── junit.jar
├── merge
│ ├── jbosh-0.6.0.jar
│ ├── jzlib.jar
│ └── xpp.jar
├── mockito-all-1.8.2.jar
├── objenesis-1.1.jar
├── pmd.jar
├── powermock-mockito-1.3.5-full.jar
├── projects
│ ├── Smack.iml
│ ├── Smack.ipr
│ └── SmackUnitTest.iml
├── release.xml
└── resources
│ ├── META-INF
│ ├── smack-config.xml
│ └── smack.providers
│ ├── images
│ ├── message.png
│ ├── nav_left_blue.png
│ ├── nav_right_red.png
│ ├── photo_portrait.png
│ ├── question_and_answer.png
│ ├── trafficlight_green.png
│ ├── trafficlight_off.png
│ ├── trafficlight_red.png
│ ├── unknown.png
│ └── warning.png
│ └── releasedocs
│ ├── README.html
│ └── changelog.html
├── documentation
├── connections.html
├── debugging.html
├── extensions
│ ├── dataforms.html
│ ├── disco.html
│ ├── filetransfer.html
│ ├── index.html
│ ├── intro.html
│ ├── invitation.html
│ ├── messageevents.html
│ ├── muc.html
│ ├── privatedata.html
│ ├── pubsub.html
│ ├── rosterexchange.html
│ ├── style.css
│ ├── time.html
│ ├── toc.html
│ └── xhtml.html
├── gettingstarted.html
├── images
│ ├── debugwindow.gif
│ ├── enhanceddebugger.png
│ ├── roster.png
│ └── smacklogo.png
├── index.html
├── messaging.html
├── overview.html
├── privacy.html
├── processing.html
├── properties.html
├── providers.html
├── roster.html
└── style.css
├── jingle
└── extension
│ ├── build
│ ├── build.properties
│ ├── build.xml
│ ├── lib
│ │ ├── Speex.jar
│ │ ├── commons-logging-1.1.jar
│ │ ├── commons-logging-adapters-1.1.jar
│ │ ├── commons-logging-api-1.1.jar
│ │ ├── jmf.jar
│ │ ├── jspeex-0.9.7-jfcom.jar
│ │ ├── junit.jar
│ │ ├── mac
│ │ │ ├── 0JavaSoundStream.fix.mac.jar
│ │ │ └── 0jmf.mac.jar
│ │ └── windows
│ │ │ ├── jmacm.dll
│ │ │ ├── jmam.dll
│ │ │ ├── jmcvid.dll
│ │ │ ├── jmdaud.dll
│ │ │ ├── jmdaudc.dll
│ │ │ ├── jmddraw.dll
│ │ │ ├── jmfjawt.dll
│ │ │ ├── jmg723.dll
│ │ │ ├── jmgdi.dll
│ │ │ ├── jmgsm.dll
│ │ │ ├── jmh263enc.dll
│ │ │ ├── jmjpeg.dll
│ │ │ ├── jmmci.dll
│ │ │ ├── jmmpa.dll
│ │ │ ├── jmmpegv.dll
│ │ │ ├── jmutil.dll
│ │ │ ├── jmvcm.dll
│ │ │ ├── jmvfw.dll
│ │ │ └── jmvh263.dll
│ ├── merge
│ │ └── jstun.jar
│ └── projects
│ │ ├── Jingle.ipr
│ │ ├── Jingle.iws
│ │ ├── JingleExtension.iml
│ │ └── Smack.iws
│ ├── source
│ ├── org
│ │ └── jivesoftware
│ │ │ └── smackx
│ │ │ ├── jingle
│ │ │ ├── ContentNegotiator.java
│ │ │ ├── JingleActionEnum.java
│ │ │ ├── JingleException.java
│ │ │ ├── JingleManager.java
│ │ │ ├── JingleNegotiator.java
│ │ │ ├── JingleNegotiatorState.java
│ │ │ ├── JingleSession.java
│ │ │ ├── JingleSessionRequest.java
│ │ │ ├── JingleSessionState.java
│ │ │ ├── JingleSessionStateActive.java
│ │ │ ├── JingleSessionStateEnded.java
│ │ │ ├── JingleSessionStatePending.java
│ │ │ ├── JingleSessionStateUnknown.java
│ │ │ ├── SmackLogger.java
│ │ │ ├── listeners
│ │ │ │ ├── CreatedJingleSessionListener.java
│ │ │ │ ├── JingleListener.java
│ │ │ │ ├── JingleMediaInfoListener.java
│ │ │ │ ├── JingleMediaListener.java
│ │ │ │ ├── JingleSessionListener.java
│ │ │ │ ├── JingleSessionRequestListener.java
│ │ │ │ └── JingleTransportListener.java
│ │ │ ├── media
│ │ │ │ ├── ContentInfo.java
│ │ │ │ ├── JingleMediaManager.java
│ │ │ │ ├── JingleMediaSession.java
│ │ │ │ ├── MediaNegotiator.java
│ │ │ │ ├── MediaReceivedListener.java
│ │ │ │ └── PayloadType.java
│ │ │ ├── mediaimpl
│ │ │ │ ├── JMFInit.java
│ │ │ │ ├── demo
│ │ │ │ │ └── Demo.java
│ │ │ │ ├── jmf
│ │ │ │ │ ├── AudioChannel.java
│ │ │ │ │ ├── AudioFormatUtils.java
│ │ │ │ │ ├── AudioMediaSession.java
│ │ │ │ │ ├── AudioReceiver.java
│ │ │ │ │ └── JmfMediaManager.java
│ │ │ │ ├── jspeex
│ │ │ │ │ ├── AudioMediaSession.java
│ │ │ │ │ └── SpeexMediaManager.java
│ │ │ │ ├── multi
│ │ │ │ │ └── MultiMediaManager.java
│ │ │ │ ├── sshare
│ │ │ │ │ ├── ScreenShareMediaManager.java
│ │ │ │ │ ├── ScreenShareSession.java
│ │ │ │ │ └── api
│ │ │ │ │ │ ├── AbstractBufferedImageOp.java
│ │ │ │ │ │ ├── DefaultDecoder.java
│ │ │ │ │ │ ├── DefaultEncoder.java
│ │ │ │ │ │ ├── ImageDecoder.java
│ │ │ │ │ │ ├── ImageEncoder.java
│ │ │ │ │ │ ├── ImageReceiver.java
│ │ │ │ │ │ ├── ImageTransmitter.java
│ │ │ │ │ │ ├── OctTreeQuantizer.java
│ │ │ │ │ │ ├── PixelUtils.java
│ │ │ │ │ │ ├── QuantizeFilter.java
│ │ │ │ │ │ ├── Quantizer.java
│ │ │ │ │ │ └── WholeImageFilter.java
│ │ │ │ └── test
│ │ │ │ │ ├── TestMediaManager.java
│ │ │ │ │ └── TestMediaSession.java
│ │ │ └── nat
│ │ │ │ ├── BasicResolver.java
│ │ │ │ ├── BasicTransportManager.java
│ │ │ │ ├── BridgedResolver.java
│ │ │ │ ├── BridgedTransportManager.java
│ │ │ │ ├── DatagramListener.java
│ │ │ │ ├── FixedResolver.java
│ │ │ │ ├── FixedTransportManager.java
│ │ │ │ ├── HttpServer.java
│ │ │ │ ├── ICECandidate.java
│ │ │ │ ├── ICEResolver.java
│ │ │ │ ├── ICETransportManager.java
│ │ │ │ ├── JingleTransportManager.java
│ │ │ │ ├── RTPBridge.java
│ │ │ │ ├── ResultListener.java
│ │ │ │ ├── STUN.java
│ │ │ │ ├── STUNResolver.java
│ │ │ │ ├── STUNTransportManager.java
│ │ │ │ ├── TcpUdpBridgeClient.java
│ │ │ │ ├── TcpUdpBridgeServer.java
│ │ │ │ ├── TestResult.java
│ │ │ │ ├── TransportCandidate.java
│ │ │ │ ├── TransportNegotiator.java
│ │ │ │ ├── TransportResolver.java
│ │ │ │ └── TransportResolverListener.java
│ │ │ ├── package.html
│ │ │ ├── packet
│ │ │ ├── Jingle.java
│ │ │ ├── JingleContent.java
│ │ │ ├── JingleContentDescription.java
│ │ │ ├── JingleContentInfo.java
│ │ │ ├── JingleDescription.java
│ │ │ ├── JingleError.java
│ │ │ ├── JingleTransport.java
│ │ │ └── package.html
│ │ │ └── provider
│ │ │ ├── JingleContentDescriptionProvider.java
│ │ │ ├── JingleContentInfoProvider.java
│ │ │ ├── JingleContentProvider.java
│ │ │ ├── JingleDescriptionProvider.java
│ │ │ ├── JingleProvider.java
│ │ │ ├── JingleTransportProvider.java
│ │ │ └── package.html
│ └── overview.html
│ └── test
│ ├── config
│ └── test-case.xml
│ └── org
│ └── jivesoftware
│ └── smackx
│ ├── jingle
│ ├── JingleManagerTest.java
│ ├── JingleMediaTest.java
│ ├── JingleSessionTest.java
│ ├── JingleSupportTests.java
│ ├── PayloadTypeTest.java
│ └── nat
│ │ ├── BasicResolverTest.java
│ │ ├── BridgedResolverTest.java
│ │ ├── LocalhostTest.java
│ │ ├── STUNResolverTest.java
│ │ ├── TransportCandidateTest.java
│ │ └── TransportResolverTest.java
│ └── provider
│ └── JingleProviderTest.java
├── sample
├── conf
│ └── WEB-INF
│ │ └── web.xml
└── web
│ ├── addContact.jsp
│ ├── chat.jsp
│ ├── css
│ └── general.css
│ ├── global.jsp
│ ├── images
│ ├── address_book.png
│ ├── businessman_add.png
│ ├── businessman_delete.png
│ ├── businessmen.png
│ ├── garbage.png
│ ├── messages.png
│ ├── nav_right_blue.png
│ ├── plug_delete.png
│ └── refresh.png
│ ├── index.jsp
│ ├── login.jsp
│ ├── moveContact.jsp
│ └── viewRoster.jsp
├── source
├── org
│ └── jivesoftware
│ │ ├── smack
│ │ ├── AbstractConnectionListener.java
│ │ ├── AccountManager.java
│ │ ├── BOSHConfiguration.java
│ │ ├── BOSHConnection.java
│ │ ├── BOSHPacketReader.java
│ │ ├── Chat.java
│ │ ├── ChatManager.java
│ │ ├── ChatManagerListener.java
│ │ ├── Connection.java
│ │ ├── ConnectionConfiguration.java
│ │ ├── ConnectionCreationListener.java
│ │ ├── ConnectionListener.java
│ │ ├── MessageListener.java
│ │ ├── NonSASLAuthentication.java
│ │ ├── OpenTrustManager.java
│ │ ├── PacketCollector.java
│ │ ├── PacketInterceptor.java
│ │ ├── PacketListener.java
│ │ ├── PacketReader.java
│ │ ├── PacketWriter.java
│ │ ├── PrivacyList.java
│ │ ├── PrivacyListListener.java
│ │ ├── PrivacyListManager.java
│ │ ├── ReconnectionManager.java
│ │ ├── Roster.java
│ │ ├── RosterEntry.java
│ │ ├── RosterGroup.java
│ │ ├── RosterListener.java
│ │ ├── RosterStorage.java
│ │ ├── SASLAuthentication.java
│ │ ├── ServerTrustManager.java
│ │ ├── SmackConfiguration.java
│ │ ├── UserAuthentication.java
│ │ ├── XMPPConnection.java
│ │ ├── XMPPException.java
│ │ ├── debugger
│ │ │ ├── ConsoleDebugger.java
│ │ │ ├── LiteDebugger.java
│ │ │ ├── SmackDebugger.java
│ │ │ └── package.html
│ │ ├── filter
│ │ │ ├── AndFilter.java
│ │ │ ├── FromContainsFilter.java
│ │ │ ├── FromMatchesFilter.java
│ │ │ ├── IQTypeFilter.java
│ │ │ ├── MessageTypeFilter.java
│ │ │ ├── NotFilter.java
│ │ │ ├── OrFilter.java
│ │ │ ├── PacketExtensionFilter.java
│ │ │ ├── PacketFilter.java
│ │ │ ├── PacketIDFilter.java
│ │ │ ├── PacketTypeFilter.java
│ │ │ ├── ThreadFilter.java
│ │ │ ├── ToContainsFilter.java
│ │ │ └── package.html
│ │ ├── package.html
│ │ ├── packet
│ │ │ ├── Authentication.java
│ │ │ ├── Bind.java
│ │ │ ├── DefaultPacketExtension.java
│ │ │ ├── IQ.java
│ │ │ ├── Message.java
│ │ │ ├── Packet.java
│ │ │ ├── PacketExtension.java
│ │ │ ├── Presence.java
│ │ │ ├── Privacy.java
│ │ │ ├── PrivacyItem.java
│ │ │ ├── Registration.java
│ │ │ ├── RosterPacket.java
│ │ │ ├── Session.java
│ │ │ ├── StreamError.java
│ │ │ ├── XMPPError.java
│ │ │ └── package.html
│ │ ├── provider
│ │ │ ├── IQProvider.java
│ │ │ ├── PacketExtensionProvider.java
│ │ │ ├── PrivacyProvider.java
│ │ │ ├── ProviderManager.java
│ │ │ └── package.html
│ │ ├── proxy
│ │ │ ├── DirectSocketFactory.java
│ │ │ ├── HTTPProxySocketFactory.java
│ │ │ ├── ProxyException.java
│ │ │ ├── ProxyInfo.java
│ │ │ ├── Socks4ProxySocketFactory.java
│ │ │ └── Socks5ProxySocketFactory.java
│ │ ├── sasl
│ │ │ ├── SASLAnonymous.java
│ │ │ ├── SASLCramMD5Mechanism.java
│ │ │ ├── SASLDigestMD5Mechanism.java
│ │ │ ├── SASLExternalMechanism.java
│ │ │ ├── SASLFacebookConnect.java
│ │ │ ├── SASLGSSAPIMechanism.java
│ │ │ ├── SASLMechanism.java
│ │ │ ├── SASLPlainMechanism.java
│ │ │ └── package.html
│ │ └── util
│ │ │ ├── Base64.java
│ │ │ ├── Cache.java
│ │ │ ├── DNSUtil.java
│ │ │ ├── ObservableReader.java
│ │ │ ├── ObservableWriter.java
│ │ │ ├── PacketParserUtils.java
│ │ │ ├── ReaderListener.java
│ │ │ ├── StringUtils.java
│ │ │ ├── WriterListener.java
│ │ │ ├── collections
│ │ │ ├── AbstractEmptyIterator.java
│ │ │ ├── AbstractHashedMap.java
│ │ │ ├── AbstractKeyValue.java
│ │ │ ├── AbstractMapEntry.java
│ │ │ ├── AbstractReferenceMap.java
│ │ │ ├── DefaultMapEntry.java
│ │ │ ├── EmptyIterator.java
│ │ │ ├── EmptyMapIterator.java
│ │ │ ├── IterableMap.java
│ │ │ ├── KeyValue.java
│ │ │ ├── MapIterator.java
│ │ │ ├── ReferenceMap.java
│ │ │ └── ResettableIterator.java
│ │ │ └── package.html
│ │ └── smackx
│ │ ├── CapsVerListener.java
│ │ ├── ChatState.java
│ │ ├── ChatStateListener.java
│ │ ├── ChatStateManager.java
│ │ ├── DefaultMessageEventRequestListener.java
│ │ ├── EntityCapsManager.java
│ │ ├── Form.java
│ │ ├── FormField.java
│ │ ├── Gateway.java
│ │ ├── GatewayManager.java
│ │ ├── GroupChatInvitation.java
│ │ ├── LastActivityManager.java
│ │ ├── MessageEventManager.java
│ │ ├── MessageEventNotificationListener.java
│ │ ├── MessageEventRequestListener.java
│ │ ├── MultipleRecipientInfo.java
│ │ ├── MultipleRecipientManager.java
│ │ ├── NodeInformationProvider.java
│ │ ├── OfflineMessageHeader.java
│ │ ├── OfflineMessageManager.java
│ │ ├── PEPListener.java
│ │ ├── PEPManager.java
│ │ ├── PrivateDataManager.java
│ │ ├── RemoteRosterEntry.java
│ │ ├── ReportedData.java
│ │ ├── RosterExchangeListener.java
│ │ ├── RosterExchangeManager.java
│ │ ├── ServiceDiscoveryManager.java
│ │ ├── SharedGroupManager.java
│ │ ├── XHTMLManager.java
│ │ ├── XHTMLText.java
│ │ ├── bookmark
│ │ ├── BookmarkManager.java
│ │ ├── BookmarkedConference.java
│ │ ├── BookmarkedURL.java
│ │ ├── Bookmarks.java
│ │ └── SharedBookmark.java
│ │ ├── bytestreams
│ │ ├── BytestreamListener.java
│ │ ├── BytestreamManager.java
│ │ ├── BytestreamRequest.java
│ │ ├── BytestreamSession.java
│ │ ├── ibb
│ │ │ ├── CloseListener.java
│ │ │ ├── DataListener.java
│ │ │ ├── InBandBytestreamListener.java
│ │ │ ├── InBandBytestreamManager.java
│ │ │ ├── InBandBytestreamRequest.java
│ │ │ ├── InBandBytestreamSession.java
│ │ │ ├── InitiationListener.java
│ │ │ ├── packet
│ │ │ │ ├── Close.java
│ │ │ │ ├── Data.java
│ │ │ │ ├── DataPacketExtension.java
│ │ │ │ └── Open.java
│ │ │ └── provider
│ │ │ │ ├── CloseIQProvider.java
│ │ │ │ ├── DataPacketProvider.java
│ │ │ │ └── OpenIQProvider.java
│ │ └── socks5
│ │ │ ├── InitiationListener.java
│ │ │ ├── Socks5BytestreamListener.java
│ │ │ ├── Socks5BytestreamManager.java
│ │ │ ├── Socks5BytestreamRequest.java
│ │ │ ├── Socks5BytestreamSession.java
│ │ │ ├── Socks5Client.java
│ │ │ ├── Socks5ClientForInitiator.java
│ │ │ ├── Socks5Proxy.java
│ │ │ ├── Socks5Utils.java
│ │ │ ├── packet
│ │ │ └── Bytestream.java
│ │ │ └── provider
│ │ │ └── BytestreamsProvider.java
│ │ ├── commands
│ │ ├── AdHocCommand.java
│ │ ├── AdHocCommandManager.java
│ │ ├── AdHocCommandNote.java
│ │ ├── LocalCommand.java
│ │ ├── LocalCommandFactory.java
│ │ └── RemoteCommand.java
│ │ ├── debugger
│ │ ├── EnhancedDebugger.java
│ │ ├── EnhancedDebuggerWindow.java
│ │ └── package.html
│ │ ├── filetransfer
│ │ ├── FaultTolerantNegotiator.java
│ │ ├── FileTransfer.java
│ │ ├── FileTransferListener.java
│ │ ├── FileTransferManager.java
│ │ ├── FileTransferNegotiator.java
│ │ ├── FileTransferRequest.java
│ │ ├── IBBTransferNegotiator.java
│ │ ├── IncomingFileTransfer.java
│ │ ├── OutgoingFileTransfer.java
│ │ ├── Socks5TransferNegotiator.java
│ │ └── StreamNegotiator.java
│ │ ├── muc
│ │ ├── Affiliate.java
│ │ ├── ConnectionDetachedPacketCollector.java
│ │ ├── DeafOccupantInterceptor.java
│ │ ├── DefaultParticipantStatusListener.java
│ │ ├── DefaultUserStatusListener.java
│ │ ├── DiscussionHistory.java
│ │ ├── HostedRoom.java
│ │ ├── InvitationListener.java
│ │ ├── InvitationRejectionListener.java
│ │ ├── MultiUserChat.java
│ │ ├── Occupant.java
│ │ ├── PacketMultiplexListener.java
│ │ ├── ParticipantStatusListener.java
│ │ ├── RoomInfo.java
│ │ ├── RoomListenerMultiplexor.java
│ │ ├── SubjectUpdatedListener.java
│ │ ├── UserStatusListener.java
│ │ └── package.html
│ │ ├── package.html
│ │ ├── packet
│ │ ├── AdHocCommandData.java
│ │ ├── AttentionExtension.java
│ │ ├── CapsExtension.java
│ │ ├── ChatStateExtension.java
│ │ ├── DataForm.java
│ │ ├── DefaultPrivateData.java
│ │ ├── DelayInfo.java
│ │ ├── DelayInformation.java
│ │ ├── DiscoverInfo.java
│ │ ├── DiscoverItems.java
│ │ ├── Header.java
│ │ ├── HeadersExtension.java
│ │ ├── LastActivity.java
│ │ ├── MUCAdmin.java
│ │ ├── MUCInitialPresence.java
│ │ ├── MUCOwner.java
│ │ ├── MUCUser.java
│ │ ├── MessageEvent.java
│ │ ├── MultipleAddresses.java
│ │ ├── Nick.java
│ │ ├── OfflineMessageInfo.java
│ │ ├── OfflineMessageRequest.java
│ │ ├── PEPEvent.java
│ │ ├── PEPItem.java
│ │ ├── PEPPubSub.java
│ │ ├── PrivateData.java
│ │ ├── RosterExchange.java
│ │ ├── SharedGroupsInfo.java
│ │ ├── StreamInitiation.java
│ │ ├── SyncPacketSend.java
│ │ ├── Time.java
│ │ ├── VCard.java
│ │ ├── Version.java
│ │ ├── XHTMLExtension.java
│ │ └── package.html
│ │ ├── provider
│ │ ├── AdHocCommandDataProvider.java
│ │ ├── CapsExtensionProvider.java
│ │ ├── DataFormProvider.java
│ │ ├── DelayInfoProvider.java
│ │ ├── DelayInformationProvider.java
│ │ ├── DiscoverInfoProvider.java
│ │ ├── DiscoverItemsProvider.java
│ │ ├── EmbeddedExtensionProvider.java
│ │ ├── HeaderProvider.java
│ │ ├── HeadersProvider.java
│ │ ├── MUCAdminProvider.java
│ │ ├── MUCOwnerProvider.java
│ │ ├── MUCUserProvider.java
│ │ ├── MessageEventProvider.java
│ │ ├── MultipleAddressesProvider.java
│ │ ├── PEPProvider.java
│ │ ├── PrivateDataProvider.java
│ │ ├── RosterExchangeProvider.java
│ │ ├── StreamInitiationProvider.java
│ │ ├── VCardProvider.java
│ │ ├── XHTMLExtensionProvider.java
│ │ └── package.html
│ │ ├── pubsub
│ │ ├── AccessModel.java
│ │ ├── Affiliation.java
│ │ ├── AffiliationsExtension.java
│ │ ├── ChildrenAssociationPolicy.java
│ │ ├── CollectionNode.java
│ │ ├── ConfigurationEvent.java
│ │ ├── ConfigureForm.java
│ │ ├── ConfigureNodeFields.java
│ │ ├── EmbeddedPacketExtension.java
│ │ ├── EventElement.java
│ │ ├── EventElementType.java
│ │ ├── FormNode.java
│ │ ├── FormNodeType.java
│ │ ├── FormType.java
│ │ ├── GetItemsRequest.java
│ │ ├── Item.java
│ │ ├── ItemDeleteEvent.java
│ │ ├── ItemPublishEvent.java
│ │ ├── ItemReply.java
│ │ ├── ItemsExtension.java
│ │ ├── LeafNode.java
│ │ ├── Node.java
│ │ ├── NodeEvent.java
│ │ ├── NodeExtension.java
│ │ ├── NodeType.java
│ │ ├── OptionsExtension.java
│ │ ├── PayloadItem.java
│ │ ├── PresenceState.java
│ │ ├── PubSubElementType.java
│ │ ├── PubSubManager.java
│ │ ├── PublishItem.java
│ │ ├── PublishModel.java
│ │ ├── RetractItem.java
│ │ ├── SimplePayload.java
│ │ ├── SubscribeExtension.java
│ │ ├── SubscribeForm.java
│ │ ├── SubscribeOptionFields.java
│ │ ├── Subscription.java
│ │ ├── SubscriptionEvent.java
│ │ ├── SubscriptionsExtension.java
│ │ ├── UnsubscribeExtension.java
│ │ ├── listener
│ │ │ ├── ItemDeleteListener.java
│ │ │ ├── ItemEventListener.java
│ │ │ └── NodeConfigListener.java
│ │ ├── packet
│ │ │ ├── PubSub.java
│ │ │ ├── PubSubNamespace.java
│ │ │ └── SyncPacketSend.java
│ │ ├── provider
│ │ │ ├── AffiliationProvider.java
│ │ │ ├── AffiliationsProvider.java
│ │ │ ├── ConfigEventProvider.java
│ │ │ ├── EventProvider.java
│ │ │ ├── FormNodeProvider.java
│ │ │ ├── ItemProvider.java
│ │ │ ├── ItemsProvider.java
│ │ │ ├── PubSubProvider.java
│ │ │ ├── RetractEventProvider.java
│ │ │ ├── SimpleNodeProvider.java
│ │ │ ├── SubscriptionProvider.java
│ │ │ └── SubscriptionsProvider.java
│ │ └── util
│ │ │ ├── NodeUtils.java
│ │ │ └── XmlUtils.java
│ │ ├── search
│ │ ├── SimpleUserSearch.java
│ │ ├── UserSearch.java
│ │ └── UserSearchManager.java
│ │ └── workgroup
│ │ ├── MetaData.java
│ │ ├── QueueUser.java
│ │ ├── WorkgroupInvitation.java
│ │ ├── WorkgroupInvitationListener.java
│ │ ├── agent
│ │ ├── Agent.java
│ │ ├── AgentRoster.java
│ │ ├── AgentRosterListener.java
│ │ ├── AgentSession.java
│ │ ├── InvitationRequest.java
│ │ ├── Offer.java
│ │ ├── OfferConfirmation.java
│ │ ├── OfferConfirmationListener.java
│ │ ├── OfferContent.java
│ │ ├── OfferListener.java
│ │ ├── QueueUsersListener.java
│ │ ├── RevokedOffer.java
│ │ ├── TranscriptManager.java
│ │ ├── TranscriptSearchManager.java
│ │ ├── TransferRequest.java
│ │ ├── UserRequest.java
│ │ └── WorkgroupQueue.java
│ │ ├── ext
│ │ ├── forms
│ │ │ └── WorkgroupForm.java
│ │ ├── history
│ │ │ ├── AgentChatHistory.java
│ │ │ ├── AgentChatSession.java
│ │ │ └── ChatMetadata.java
│ │ ├── macros
│ │ │ ├── Macro.java
│ │ │ ├── MacroGroup.java
│ │ │ └── Macros.java
│ │ └── notes
│ │ │ └── ChatNotes.java
│ │ ├── packet
│ │ ├── AgentInfo.java
│ │ ├── AgentStatus.java
│ │ ├── AgentStatusRequest.java
│ │ ├── AgentWorkgroups.java
│ │ ├── DepartQueuePacket.java
│ │ ├── MetaDataProvider.java
│ │ ├── MonitorPacket.java
│ │ ├── OccupantsInfo.java
│ │ ├── OfferRequestProvider.java
│ │ ├── OfferRevokeProvider.java
│ │ ├── QueueDetails.java
│ │ ├── QueueOverview.java
│ │ ├── QueueUpdate.java
│ │ ├── RoomInvitation.java
│ │ ├── RoomTransfer.java
│ │ ├── SessionID.java
│ │ ├── Transcript.java
│ │ ├── TranscriptProvider.java
│ │ ├── TranscriptSearch.java
│ │ ├── Transcripts.java
│ │ ├── TranscriptsProvider.java
│ │ ├── UserID.java
│ │ └── WorkgroupInformation.java
│ │ ├── settings
│ │ ├── ChatSetting.java
│ │ ├── ChatSettings.java
│ │ ├── GenericSettings.java
│ │ ├── OfflineSettings.java
│ │ ├── SearchSettings.java
│ │ ├── SoundSettings.java
│ │ └── WorkgroupProperties.java
│ │ ├── user
│ │ ├── QueueListener.java
│ │ └── Workgroup.java
│ │ └── util
│ │ ├── ListenerEventDispatcher.java
│ │ ├── MetaDataUtils.java
│ │ └── ModelUtil.java
└── overview.html
├── test-unit
└── org
│ └── jivesoftware
│ ├── smack
│ ├── DummyConnection.java
│ ├── RosterOfflineTest.java
│ ├── RosterTest.java
│ ├── packet
│ │ ├── IQResponseTest.java
│ │ ├── MessageTest.java
│ │ └── PresenceTest.java
│ └── util
│ │ └── PacketParserUtilsTest.java
│ ├── smackx
│ ├── bytestreams
│ │ ├── ibb
│ │ │ ├── CloseListenerTest.java
│ │ │ ├── DataListenerTest.java
│ │ │ ├── IBBPacketUtils.java
│ │ │ ├── IBBTestsSuite.java
│ │ │ ├── InBandBytestreamManagerTest.java
│ │ │ ├── InBandBytestreamRequestTest.java
│ │ │ ├── InBandBytestreamSessionMessageTest.java
│ │ │ ├── InBandBytestreamSessionTest.java
│ │ │ ├── InitiationListenerTest.java
│ │ │ ├── packet
│ │ │ │ ├── CloseTest.java
│ │ │ │ ├── DataPacketExtensionTest.java
│ │ │ │ ├── DataTest.java
│ │ │ │ └── OpenTest.java
│ │ │ └── provider
│ │ │ │ └── OpenIQProviderTest.java
│ │ └── socks5
│ │ │ ├── InitiationListenerTest.java
│ │ │ ├── Socks5ByteStreamManagerTest.java
│ │ │ ├── Socks5ByteStreamRequestTest.java
│ │ │ ├── Socks5ClientForInitiatorTest.java
│ │ │ ├── Socks5ClientTest.java
│ │ │ ├── Socks5PacketUtils.java
│ │ │ ├── Socks5ProxyTest.java
│ │ │ └── Socks5TestProxy.java
│ └── provider
│ │ └── DelayInformationTest.java
│ └── util
│ ├── ConnectionUtils.java
│ ├── Protocol.java
│ └── Verification.java
└── test
├── config
└── test-case.xml
└── org
└── jivesoftware
├── smack
├── ChatTest.java
├── FloodTest.java
├── IQTest.java
├── LoginTest.java
├── MessageTest.java
├── PacketReaderTest.java
├── PresenceTest.java
├── PrivacyClient.java
├── ReconnectionTest.java
├── RosterInitializedBeforeConnectTest.java
├── RosterListenerTest.java
├── RosterSmackTest.java
├── filter
│ ├── AndFilterTest.java
│ ├── FromContainsFilterTest.java
│ ├── NotFilterTest.java
│ ├── OrFilterTest.java
│ ├── PacketIDFilterTest.java
│ ├── PacketTypeFilterTest.java
│ └── ToContainsFilterTest.java
├── packet
│ ├── MockPacket.java
│ ├── MockPacketFilter.java
│ ├── PrivacyProviderTest.java
│ └── PrivacyTest.java
├── test
│ └── SmackTestCase.java
└── util
│ ├── CacheTest.java
│ ├── StringUtilsTest.java
│ └── XMPPErrorTest.java
└── smackx
├── CompressionTest.java
├── FileTransferTest.java
├── FormTest.java
├── GroupChatInvitationTest.java
├── LastActivityManagerTest.java
├── MessageEventManagerTest.java
├── MessageEventTests.java
├── MultipleRecipientManagerTest.java
├── OfflineMessageManagerTest.java
├── RosterExchangeManagerTest.java
├── RosterExchangeTests.java
├── ServiceDiscoveryManagerTest.java
├── SharedGroupsTest.java
├── VCardTest.java
├── VersionTest.java
├── XHTMLManagerTest.java
├── XHTMLSupportTests.java
├── bytestreams
├── ibb
│ └── InBandBytestreamTest.java
└── socks5
│ └── Socks5ByteStreamTest.java
├── commands
└── AdHocCommandDiscoTest.java
├── muc
├── MultiUserChatCreationTest.java
└── MultiUserChatTest.java
├── packet
├── MessageEventTest.java
├── RosterExchangeTest.java
└── XHTMLExtensionTest.java
└── pubsub
├── CarExtension.java
├── CarExtensionProvider.java
├── EntityUseCases.java
├── MultiUserSubscriptionUseCases.java
├── OwnerUseCases.java
├── PublisherUseCases.java
├── SubscriberUseCases.java
├── TestAPI.java
├── TestEvents.java
├── TestMessageContent.java
└── test
├── PubSubTestCase.java
└── SingleUserTestCase.java
/build/ant-contrib.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rtreffer/smack/bf8516ae76464b9615332f34989e706b7660b83d/build/ant-contrib.jar
--------------------------------------------------------------------------------
/build/asm.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rtreffer/smack/bf8516ae76464b9615332f34989e706b7660b83d/build/asm.jar
--------------------------------------------------------------------------------
/build/build.properties:
--------------------------------------------------------------------------------
1 | #
2 | # $RCSfile$
3 | # $Revision$
4 | # $Date$
5 | #
6 |
7 | # Test properties. Uncomment these to override default values declared
8 | # in the build.xml file.
9 |
10 | # test.host=
11 | # test.port=
12 | # test.admin.username=
13 | # test.admin.resource=
14 | # test.smack.debug=
15 |
--------------------------------------------------------------------------------
/build/build/java-xmlbuilder-0.3.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rtreffer/smack/bf8516ae76464b9615332f34989e706b7660b83d/build/build/java-xmlbuilder-0.3.jar
--------------------------------------------------------------------------------
/build/build/versions.txt:
--------------------------------------------------------------------------------
1 | jar | version
2 | ----------------------------------------
3 | xmlunit | 1.2
4 | java-xmlbuilder-0.3 | 0.3
5 | jstun | 0.7.2
6 | xpp | 1.1.4c
7 |
--------------------------------------------------------------------------------
/build/build/xmlunit.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rtreffer/smack/bf8516ae76464b9615332f34989e706b7660b83d/build/build/xmlunit.jar
--------------------------------------------------------------------------------
/build/javassist-3.10.0.GA.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rtreffer/smack/bf8516ae76464b9615332f34989e706b7660b83d/build/javassist-3.10.0.GA.jar
--------------------------------------------------------------------------------
/build/jaxen.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rtreffer/smack/bf8516ae76464b9615332f34989e706b7660b83d/build/jaxen.jar
--------------------------------------------------------------------------------
/build/junit.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rtreffer/smack/bf8516ae76464b9615332f34989e706b7660b83d/build/junit.jar
--------------------------------------------------------------------------------
/build/merge/jbosh-0.6.0.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rtreffer/smack/bf8516ae76464b9615332f34989e706b7660b83d/build/merge/jbosh-0.6.0.jar
--------------------------------------------------------------------------------
/build/merge/jzlib.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rtreffer/smack/bf8516ae76464b9615332f34989e706b7660b83d/build/merge/jzlib.jar
--------------------------------------------------------------------------------
/build/merge/xpp.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rtreffer/smack/bf8516ae76464b9615332f34989e706b7660b83d/build/merge/xpp.jar
--------------------------------------------------------------------------------
/build/mockito-all-1.8.2.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rtreffer/smack/bf8516ae76464b9615332f34989e706b7660b83d/build/mockito-all-1.8.2.jar
--------------------------------------------------------------------------------
/build/objenesis-1.1.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rtreffer/smack/bf8516ae76464b9615332f34989e706b7660b83d/build/objenesis-1.1.jar
--------------------------------------------------------------------------------
/build/pmd.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rtreffer/smack/bf8516ae76464b9615332f34989e706b7660b83d/build/pmd.jar
--------------------------------------------------------------------------------
/build/powermock-mockito-1.3.5-full.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rtreffer/smack/bf8516ae76464b9615332f34989e706b7660b83d/build/powermock-mockito-1.3.5-full.jar
--------------------------------------------------------------------------------
/build/projects/SmackUnitTest.iml:
--------------------------------------------------------------------------------
1 |
2 |
10 | 11 | Manages private data, which is a mechanism to allow users to store arbitrary XML 12 | data on an XMPP server. Each private data chunk is defined by a element name and 13 | XML namespace. Example private data: 14 | 15 |
16 | <color xmlns="http://example.com/xmpp/color"> 17 | <favorite>blue</blue> 18 | <leastFavorite>puce</leastFavorite> 19 | </color> 20 |
21 | 22 | JEP related: JEP-49 23 | 24 |
10 | 11 | Supports a protocol that XMPP clients use to exchange their respective local 12 | times and time zones.
13 | 14 | JEP related: JEP-90 15 | 16 |
11 | 12 |
13 |
14 | Private Data
15 | XHTML Messages
16 | Message Events
17 | Data Forms
18 | Multi User Chat
19 | Roster Item Exchange
20 | Time Exchange
21 | Group Chat Invitations
22 | Service Discovery
23 | File Transfer
24 | PubSub
25 |
12 | Contents: 13 |
14 | 15 |27 |
3 | The {@link org.jivesoftware.smack.XMPPConnection} class is the main entry point for the API.
4 |
5 |
--------------------------------------------------------------------------------
/jingle/extension/test/config/test-case.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
39 | * 40 | * A single thread is responsible for invoking all listeners, so 41 | * it's very important that implementations of this method not block 42 | * for any extended period of time. 43 | * 44 | * @param packet the packet to process. 45 | */ 46 | public void processPacket(Packet packet); 47 | 48 | } 49 | -------------------------------------------------------------------------------- /source/org/jivesoftware/smack/PrivacyList.java: -------------------------------------------------------------------------------- 1 | package org.jivesoftware.smack; 2 | 3 | import org.jivesoftware.smack.packet.PrivacyItem; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * A privacy list represents a list of contacts that is a read only class used to represent a set of allowed or blocked communications. 9 | * Basically it can:
25 | * 26 | * If a server supports sessions, it MUST include a session element in the 27 | * stream features it advertises to a client after the completion of stream authentication. 28 | * Upon being informed that session establishment is required by the server the client MUST 29 | * establish a session if it desires to engage in instant messaging and presence functionality.
30 | *
31 | * For more information refer to the following
32 | * link.
33 | *
34 | * @author Gaston Dombiak
35 | */
36 | public class Session extends IQ {
37 |
38 | public Session() {
39 | setType(IQ.Type.SET);
40 | }
41 |
42 | public String getChildElementXML() {
43 | return "
23 | * There are two ways to add this listener. See
24 | * {@link InBandBytestreamManager#addIncomingBytestreamListener(BytestreamListener)} and
25 | * {@link InBandBytestreamManager#addIncomingBytestreamListener(BytestreamListener, String)} for
26 | * further details.
27 | *
28 | * @author Henning Staib
29 | */
30 | public abstract class InBandBytestreamListener implements BytestreamListener {
31 |
32 |
33 |
34 | public void incomingBytestreamRequest(BytestreamRequest request) {
35 | incomingBytestreamRequest((InBandBytestreamRequest) request);
36 | }
37 |
38 | /**
39 | * This listener is notified if an In-Band Bytestream request from another user has been
40 | * received.
41 | *
42 | * @param request the incoming In-Band Bytestream request
43 | */
44 | public abstract void incomingBytestreamRequest(InBandBytestreamRequest request);
45 |
46 | }
47 |
--------------------------------------------------------------------------------
/source/org/jivesoftware/smackx/bytestreams/ibb/provider/CloseIQProvider.java:
--------------------------------------------------------------------------------
1 | /**
2 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
3 | * you may not use this file except in compliance with the License.
4 | * You may obtain a copy of the License at
5 | *
6 | * http://www.apache.org/licenses/LICENSE-2.0
7 | *
8 | * Unless required by applicable law or agreed to in writing, software
9 | * distributed under the License is distributed on an "AS IS" BASIS,
10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 | * See the License for the specific language governing permissions and
12 | * limitations under the License.
13 | */
14 | package org.jivesoftware.smackx.bytestreams.ibb.provider;
15 |
16 | import org.jivesoftware.smack.packet.IQ;
17 | import org.jivesoftware.smack.provider.IQProvider;
18 | import org.jivesoftware.smackx.bytestreams.ibb.packet.Close;
19 | import org.xmlpull.v1.XmlPullParser;
20 |
21 | /**
22 | * Parses a close In-Band Bytestream packet.
23 | *
24 | * @author Henning Staib
25 | */
26 | public class CloseIQProvider implements IQProvider {
27 |
28 | public IQ parseIQ(XmlPullParser parser) throws Exception {
29 | String sid = parser.getAttributeValue("", "sid");
30 | return new Close(sid);
31 | }
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/source/org/jivesoftware/smackx/bytestreams/ibb/provider/OpenIQProvider.java:
--------------------------------------------------------------------------------
1 | /**
2 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
3 | * you may not use this file except in compliance with the License.
4 | * You may obtain a copy of the License at
5 | *
6 | * http://www.apache.org/licenses/LICENSE-2.0
7 | *
8 | * Unless required by applicable law or agreed to in writing, software
9 | * distributed under the License is distributed on an "AS IS" BASIS,
10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 | * See the License for the specific language governing permissions and
12 | * limitations under the License.
13 | */
14 | package org.jivesoftware.smackx.bytestreams.ibb.provider;
15 |
16 | import org.jivesoftware.smack.packet.IQ;
17 | import org.jivesoftware.smack.provider.IQProvider;
18 | import org.jivesoftware.smackx.bytestreams.ibb.InBandBytestreamManager.StanzaType;
19 | import org.jivesoftware.smackx.bytestreams.ibb.packet.Open;
20 | import org.xmlpull.v1.XmlPullParser;
21 |
22 | /**
23 | * Parses an In-Band Bytestream open packet.
24 | *
25 | * @author Henning Staib
26 | */
27 | public class OpenIQProvider implements IQProvider {
28 |
29 | public IQ parseIQ(XmlPullParser parser) throws Exception {
30 | String sessionID = parser.getAttributeValue("", "sid");
31 | int blockSize = Integer.parseInt(parser.getAttributeValue("", "block-size"));
32 |
33 | String stanzaValue = parser.getAttributeValue("", "stanza");
34 | StanzaType stanza = null;
35 | if (stanzaValue == null) {
36 | stanza = StanzaType.IQ;
37 | }
38 | else {
39 | stanza = StanzaType.valueOf(stanzaValue.toUpperCase());
40 | }
41 |
42 | return new Open(sessionID, blockSize, stanza);
43 | }
44 |
45 | }
46 |
--------------------------------------------------------------------------------
/source/org/jivesoftware/smackx/bytestreams/socks5/Socks5BytestreamListener.java:
--------------------------------------------------------------------------------
1 | /**
2 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
3 | * you may not use this file except in compliance with the License.
4 | * You may obtain a copy of the License at
5 | *
6 | * http://www.apache.org/licenses/LICENSE-2.0
7 | *
8 | * Unless required by applicable law or agreed to in writing, software
9 | * distributed under the License is distributed on an "AS IS" BASIS,
10 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 | * See the License for the specific language governing permissions and
12 | * limitations under the License.
13 | */
14 | package org.jivesoftware.smackx.bytestreams.socks5;
15 |
16 | import org.jivesoftware.smackx.bytestreams.BytestreamListener;
17 | import org.jivesoftware.smackx.bytestreams.BytestreamRequest;
18 |
19 | /**
20 | * Socks5BytestreamListener are informed if a remote user wants to initiate a SOCKS5 Bytestream.
21 | * Implement this interface to handle incoming SOCKS5 Bytestream requests.
22 | *
23 | * There are two ways to add this listener. See
24 | * {@link Socks5BytestreamManager#addIncomingBytestreamListener(BytestreamListener)} and
25 | * {@link Socks5BytestreamManager#addIncomingBytestreamListener(BytestreamListener, String)} for
26 | * further details.
27 | *
28 | * @author Henning Staib
29 | */
30 | public abstract class Socks5BytestreamListener implements BytestreamListener {
31 |
32 | public void incomingBytestreamRequest(BytestreamRequest request) {
33 | incomingBytestreamRequest((Socks5BytestreamRequest) request);
34 | }
35 |
36 | /**
37 | * This listener is notified if a SOCKS5 Bytestream request from another user has been received.
38 | *
39 | * @param request the incoming SOCKS5 Bytestream request
40 | */
41 | public abstract void incomingBytestreamRequest(Socks5BytestreamRequest request);
42 |
43 | }
44 |
--------------------------------------------------------------------------------
/source/org/jivesoftware/smackx/commands/LocalCommandFactory.java:
--------------------------------------------------------------------------------
1 | package org.jivesoftware.smackx.commands;
2 |
3 | /**
4 | * A factory for creating local commands. It's useful in cases where instantiation
5 | * of a command is more complicated than just using the default constructor. For example,
6 | * when arguments must be passed into the constructor or when using a dependency injection
7 | * framework. When a LocalCommandFactory isn't used, you can provide the AdHocCommandManager
8 | * a Class object instead. For more details, see
9 | * {@link AdHocCommandManager#registerCommand(String, String, LocalCommandFactory)}.
10 | *
11 | * @author Matt Tucker
12 | */
13 | public interface LocalCommandFactory {
14 |
15 | /**
16 | * Returns an instance of a LocalCommand.
17 | *
18 | * @return a LocalCommand instance.
19 | * @throws InstantiationException if creating an instance failed.
20 | * @throws IllegalAccessException if creating an instance is not allowed.
21 | */
22 | public LocalCommand getInstance() throws InstantiationException, IllegalAccessException;
23 |
24 | }
--------------------------------------------------------------------------------
/source/org/jivesoftware/smackx/debugger/package.html:
--------------------------------------------------------------------------------
1 |
25 | *
26 | * This class does not provide any behavior by default. It just avoids having
27 | * to implement all the inteface methods if the user is only interested in implementing
28 | * some of the methods.
29 | *
30 | * @author Gaston Dombiak
31 | */
32 | public class DefaultUserStatusListener implements UserStatusListener {
33 |
34 | public void kicked(String actor, String reason) {
35 | }
36 |
37 | public void voiceGranted() {
38 | }
39 |
40 | public void voiceRevoked() {
41 | }
42 |
43 | public void banned(String actor, String reason) {
44 | }
45 |
46 | public void membershipGranted() {
47 | }
48 |
49 | public void membershipRevoked() {
50 | }
51 |
52 | public void moderatorGranted() {
53 | }
54 |
55 | public void moderatorRevoked() {
56 | }
57 |
58 | public void ownershipGranted() {
59 | }
60 |
61 | public void ownershipRevoked() {
62 | }
63 |
64 | public void adminGranted() {
65 | }
66 |
67 | public void adminRevoked() {
68 | }
69 |
70 | }
71 |
--------------------------------------------------------------------------------
/source/org/jivesoftware/smackx/muc/InvitationRejectionListener.java:
--------------------------------------------------------------------------------
1 | /**
2 | * $RCSfile$
3 | * $Revision$
4 | * $Date$
5 | *
6 | * Copyright 2003-2007 Jive Software.
7 | *
8 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
9 | * you may not use this file except in compliance with the License.
10 | * You may obtain a copy of the License at
11 | *
12 | * http://www.apache.org/licenses/LICENSE-2.0
13 | *
14 | * Unless required by applicable law or agreed to in writing, software
15 | * distributed under the License is distributed on an "AS IS" BASIS,
16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 | * See the License for the specific language governing permissions and
18 | * limitations under the License.
19 | */
20 |
21 | package org.jivesoftware.smackx.muc;
22 |
23 | /**
24 | * A listener that is fired anytime an invitee declines or rejects an invitation.
25 | *
26 | * @author Gaston Dombiak
27 | */
28 | public interface InvitationRejectionListener {
29 |
30 | /**
31 | * Called when the invitee declines the invitation.
32 | *
33 | * @param invitee the invitee that declined the invitation. (e.g. hecate@shakespeare.lit).
34 | * @param reason the reason why the invitee declined the invitation.
35 | */
36 | public abstract void invitationDeclined(String invitee, String reason);
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/source/org/jivesoftware/smackx/muc/SubjectUpdatedListener.java:
--------------------------------------------------------------------------------
1 | /**
2 | * $RCSfile$
3 | * $Revision$
4 | * $Date$
5 | *
6 | * Copyright 2003-2007 Jive Software.
7 | *
8 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
9 | * you may not use this file except in compliance with the License.
10 | * You may obtain a copy of the License at
11 | *
12 | * http://www.apache.org/licenses/LICENSE-2.0
13 | *
14 | * Unless required by applicable law or agreed to in writing, software
15 | * distributed under the License is distributed on an "AS IS" BASIS,
16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 | * See the License for the specific language governing permissions and
18 | * limitations under the License.
19 | */
20 |
21 | package org.jivesoftware.smackx.muc;
22 |
23 | /**
24 | * A listener that is fired anytime a MUC room changes its subject.
25 | *
26 | * @author Gaston Dombiak
27 | */
28 | public interface SubjectUpdatedListener {
29 |
30 | /**
31 | * Called when a MUC room has changed its subject.
32 | *
33 | * @param subject the new room's subject.
34 | * @param from the user that changed the room's subject (e.g. room@conference.jabber.org/nick).
35 | */
36 | public abstract void subjectUpdated(String subject, String from);
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/source/org/jivesoftware/smackx/muc/package.html:
--------------------------------------------------------------------------------
1 | This provider must be registered in the smack.properties file for the element
29 | * delay with namespace urn:xmpp:delay
3 | The {@link org.jivesoftware.smack.Connection} class is the main entry point for the API.
4 |
5 |
--------------------------------------------------------------------------------
/test-unit/org/jivesoftware/smackx/bytestreams/ibb/IBBPacketUtils.java:
--------------------------------------------------------------------------------
1 | package org.jivesoftware.smackx.bytestreams.ibb;
2 |
3 | import org.jivesoftware.smack.packet.IQ;
4 | import org.jivesoftware.smack.packet.XMPPError;
5 |
6 | /**
7 | * Utility methods to create packets.
8 | *
9 | * @author Henning Staib
10 | */
11 | public class IBBPacketUtils {
12 |
13 | /**
14 | * Returns an error IQ.
15 | *
16 | * @param from the senders JID
17 | * @param to the recipients JID
18 | * @param xmppError the XMPP error
19 | * @return an error IQ
20 | */
21 | public static IQ createErrorIQ(String from, String to, XMPPError xmppError) {
22 | IQ errorIQ = new IQ() {
23 |
24 | public String getChildElementXML() {
25 | return null;
26 | }
27 |
28 | };
29 | errorIQ.setType(IQ.Type.ERROR);
30 | errorIQ.setFrom(from);
31 | errorIQ.setTo(to);
32 | errorIQ.setError(xmppError);
33 | return errorIQ;
34 | }
35 |
36 | /**
37 | * Returns a result IQ.
38 | *
39 | * @param from the senders JID
40 | * @param to the recipients JID
41 | * @return a result IQ
42 | */
43 | public static IQ createResultIQ(String from, String to) {
44 | IQ result = new IQ() {
45 |
46 | public String getChildElementXML() {
47 | return null;
48 | }
49 |
50 | };
51 | result.setType(IQ.Type.RESULT);
52 | result.setFrom(from);
53 | result.setTo(to);
54 | return result;
55 | }
56 |
57 | }
58 |
--------------------------------------------------------------------------------
/test-unit/org/jivesoftware/smackx/bytestreams/ibb/IBBTestsSuite.java:
--------------------------------------------------------------------------------
1 | package org.jivesoftware.smackx.bytestreams.ibb;
2 |
3 | import org.jivesoftware.smackx.bytestreams.ibb.packet.CloseTest;
4 | import org.jivesoftware.smackx.bytestreams.ibb.packet.DataPacketExtensionTest;
5 | import org.jivesoftware.smackx.bytestreams.ibb.packet.DataTest;
6 | import org.jivesoftware.smackx.bytestreams.ibb.packet.OpenTest;
7 | import org.jivesoftware.smackx.bytestreams.ibb.provider.OpenIQProviderTest;
8 | import org.junit.runner.RunWith;
9 | import org.junit.runners.Suite;
10 |
11 | @RunWith(Suite.class)
12 | @Suite.SuiteClasses( { CloseTest.class, DataPacketExtensionTest.class, DataTest.class,
13 | OpenTest.class, OpenIQProviderTest.class, CloseListenerTest.class,
14 | DataListenerTest.class, InBandBytestreamManagerTest.class,
15 | InBandBytestreamRequestTest.class,
16 | InBandBytestreamSessionMessageTest.class,
17 | InBandBytestreamSessionTest.class, InitiationListenerTest.class })
18 | public class IBBTestsSuite {
19 | // the class remains completely empty,
20 | // being used only as a holder for the above annotations
21 | }
22 |
--------------------------------------------------------------------------------
/test/config/test-case.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
10 | *
11 | * Important note: This functionality is not part of the XMPP spec and it will only work
12 | * with Wildfire.
13 | *
14 | * @author Gaston Dombiak
15 | */
16 | public class SharedGroupsTest extends SmackTestCase {
17 |
18 | public SharedGroupsTest(String arg0) {
19 | super(arg0);
20 | }
21 |
22 | public void testGetUserSharedGroups() throws XMPPException {
23 | List groups = SharedGroupManager.getSharedGroups(getConnection(0));
24 |
25 | assertNotNull("User groups was null", groups);
26 | }
27 |
28 | protected int getMaxConnections() {
29 | return 1;
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/test/org/jivesoftware/smackx/packet/XHTMLExtensionTest.java:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rtreffer/smack/bf8516ae76464b9615332f34989e706b7660b83d/test/org/jivesoftware/smackx/packet/XHTMLExtensionTest.java
--------------------------------------------------------------------------------
/test/org/jivesoftware/smackx/pubsub/CarExtension.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Created on 2009-05-05
3 | */
4 | package org.jivesoftware.smackx.pubsub;
5 |
6 | import org.jivesoftware.smack.packet.PacketExtension;
7 |
8 | class CarExtension implements PacketExtension
9 | {
10 | private String color;
11 | private int numTires;
12 |
13 | public CarExtension(String col, int num)
14 | {
15 | color = col;
16 | numTires = num;
17 | }
18 |
19 | public String getColor()
20 | {
21 | return color;
22 | }
23 |
24 | public int getNumTires()
25 | {
26 | return numTires;
27 | }
28 |
29 | public String getElementName()
30 | {
31 | return "car";
32 | }
33 |
34 | public String getNamespace()
35 | {
36 | return "pubsub:test:vehicle";
37 | }
38 |
39 | public String toXML()
40 | {
41 | return "<" + getElementName() + " xmlns='" + getNamespace() + "'>Offer
. The instance will then have the ability to create the room and
27 | * send the service the room name created for tracking.
28 | *
29 | * @param confirmedOffer the ConfirmedOffer
30 | */
31 | void offerConfirmed(OfferConfirmation confirmedOffer);
32 | }
33 |
--------------------------------------------------------------------------------
/source/org/jivesoftware/smackx/workgroup/agent/OfferListener.java:
--------------------------------------------------------------------------------
1 | /**
2 | * $Revision$
3 | * $Date$
4 | *
5 | * Copyright 2003-2007 Jive Software.
6 | *
7 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
8 | * you may not use this file except in compliance with the License.
9 | * You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software
14 | * distributed under the License is distributed on an "AS IS" BASIS,
15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | * See the License for the specific language governing permissions and
17 | * limitations under the License.
18 | */
19 |
20 | package org.jivesoftware.smackx.workgroup.agent;
21 |
22 | /**
23 | * An interface which all classes interested in hearing about chat offers associated to a particular
24 | * AgentSession instance should implement.
25 | *
26 | * @author Matt Tucker
27 | * @author loki der quaeler
28 | * @see org.jivesoftware.smackx.workgroup.agent.AgentSession
29 | */
30 | public interface OfferListener {
31 |
32 | /**
33 | * The implementing class instance will be notified via this when the AgentSession has received
34 | * an offer for a chat. The instance will then have the ability to accept, reject, or ignore
35 | * the request (resulting in a revocation-by-timeout).
36 | *
37 | * @param request the Offer instance embodying the details of the offer
38 | */
39 | public void offerReceived (Offer request);
40 |
41 | /**
42 | * The implementing class instance will be notified via this when the AgentSessino has received
43 | * a revocation of a previously extended offer.
44 | *
45 | * @param revokedOffer the RevokedOffer instance embodying the details of the revoked offer
46 | */
47 | public void offerRevoked (RevokedOffer revokedOffer);
48 |
49 | }
50 |
--------------------------------------------------------------------------------
/source/org/jivesoftware/smackx/workgroup/agent/TransferRequest.java:
--------------------------------------------------------------------------------
1 | /**
2 | * $Revision$
3 | * $Date$
4 | *
5 | * Copyright 2003-2007 Jive Software.
6 | *
7 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
8 | * you may not use this file except in compliance with the License.
9 | * You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software
14 | * distributed under the License is distributed on an "AS IS" BASIS,
15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | * See the License for the specific language governing permissions and
17 | * limitations under the License.
18 | */
19 |
20 | package org.jivesoftware.smackx.workgroup.agent;
21 |
22 | /**
23 | * Request sent by an agent to transfer a support session to another agent or user.
24 | *
25 | * @author Gaston Dombiak
26 | */
27 | public class TransferRequest extends OfferContent {
28 |
29 | private String inviter;
30 | private String room;
31 | private String reason;
32 |
33 | public TransferRequest(String inviter, String room, String reason) {
34 | this.inviter = inviter;
35 | this.room = room;
36 | this.reason = reason;
37 | }
38 |
39 | public String getInviter() {
40 | return inviter;
41 | }
42 |
43 | public String getRoom() {
44 | return room;
45 | }
46 |
47 | public String getReason() {
48 | return reason;
49 | }
50 |
51 | boolean isUserRequest() {
52 | return false;
53 | }
54 |
55 | boolean isInvitation() {
56 | return false;
57 | }
58 |
59 | boolean isTransfer() {
60 | return true;
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/source/org/jivesoftware/smackx/workgroup/agent/UserRequest.java:
--------------------------------------------------------------------------------
1 | /**
2 | * $Revision$
3 | * $Date$
4 | *
5 | * Copyright 2003-2007 Jive Software.
6 | *
7 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
8 | * you may not use this file except in compliance with the License.
9 | * You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software
14 | * distributed under the License is distributed on an "AS IS" BASIS,
15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | * See the License for the specific language governing permissions and
17 | * limitations under the License.
18 | */
19 |
20 | package org.jivesoftware.smackx.workgroup.agent;
21 |
22 | /**
23 | * Requests made by users to get support by some agent.
24 | *
25 | * @author Gaston Dombiak
26 | */
27 | public class UserRequest extends OfferContent {
28 | // TODO Do we want to use a singleton? Should we store the userID here?
29 | private static UserRequest instance = new UserRequest();
30 |
31 | public static OfferContent getInstance() {
32 | return instance;
33 | }
34 |
35 | boolean isUserRequest() {
36 | return true;
37 | }
38 |
39 | boolean isInvitation() {
40 | return false;
41 | }
42 |
43 | boolean isTransfer() {
44 | return false;
45 | }
46 |
47 | }
48 |
--------------------------------------------------------------------------------
/source/org/jivesoftware/smackx/workgroup/ext/macros/Macro.java:
--------------------------------------------------------------------------------
1 | /**
2 | * $Revision$
3 | * $Date$
4 | *
5 | * Copyright 2003-2007 Jive Software.
6 | *
7 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
8 | * you may not use this file except in compliance with the License.
9 | * You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software
14 | * distributed under the License is distributed on an "AS IS" BASIS,
15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | * See the License for the specific language governing permissions and
17 | * limitations under the License.
18 | */
19 |
20 | package org.jivesoftware.smackx.workgroup.ext.macros;
21 |
22 | /**
23 | * Macro datamodel.
24 | */
25 | public class Macro {
26 | public static final int TEXT = 0;
27 | public static final int URL = 1;
28 | public static final int IMAGE = 2;
29 |
30 |
31 | private String title;
32 | private String description;
33 | private String response;
34 | private int type;
35 |
36 | public String getTitle() {
37 | return title;
38 | }
39 |
40 | public void setTitle(String title) {
41 | this.title = title;
42 | }
43 |
44 | public String getDescription() {
45 | return description;
46 | }
47 |
48 | public void setDescription(String description) {
49 | this.description = description;
50 | }
51 |
52 | public String getResponse() {
53 | return response;
54 | }
55 |
56 | public void setResponse(String response) {
57 | this.response = response;
58 | }
59 |
60 | public int getType() {
61 | return type;
62 | }
63 |
64 | public void setType(int type) {
65 | this.type = type;
66 | }
67 |
68 | }
69 |
--------------------------------------------------------------------------------
/source/org/jivesoftware/smackx/workgroup/packet/MetaDataProvider.java:
--------------------------------------------------------------------------------
1 | /**
2 | * $Revision$
3 | * $Date$
4 | *
5 | * Copyright 2003-2007 Jive Software.
6 | *
7 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
8 | * you may not use this file except in compliance with the License.
9 | * You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software
14 | * distributed under the License is distributed on an "AS IS" BASIS,
15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | * See the License for the specific language governing permissions and
17 | * limitations under the License.
18 | */
19 |
20 | package org.jivesoftware.smackx.workgroup.packet;
21 |
22 | import java.util.Map;
23 |
24 | import org.jivesoftware.smackx.workgroup.MetaData;
25 | import org.jivesoftware.smackx.workgroup.util.MetaDataUtils;
26 |
27 | import org.jivesoftware.smack.packet.PacketExtension;
28 | import org.jivesoftware.smack.provider.PacketExtensionProvider;
29 |
30 | import org.xmlpull.v1.XmlPullParser;
31 |
32 | /**
33 | * This provider parses meta data if it's not contained already in a larger extension provider.
34 | *
35 | * @author loki der quaeler
36 | */
37 | public class MetaDataProvider implements PacketExtensionProvider {
38 |
39 | /**
40 | * PacketExtensionProvider implementation
41 | */
42 | public PacketExtension parseExtension (XmlPullParser parser)
43 | throws Exception {
44 | Map metaData = MetaDataUtils.parseMetaData(parser);
45 |
46 | return new MetaData(metaData);
47 | }
48 | }
--------------------------------------------------------------------------------
/source/org/jivesoftware/smackx/workgroup/settings/ChatSetting.java:
--------------------------------------------------------------------------------
1 | /**
2 | * $Revision$
3 | * $Date$
4 | *
5 | * Copyright 2003-2007 Jive Software.
6 | *
7 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
8 | * you may not use this file except in compliance with the License.
9 | * You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software
14 | * distributed under the License is distributed on an "AS IS" BASIS,
15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | * See the License for the specific language governing permissions and
17 | * limitations under the License.
18 | */
19 |
20 | package org.jivesoftware.smackx.workgroup.settings;
21 |
22 | public class ChatSetting {
23 | private String key;
24 | private String value;
25 | private int type;
26 |
27 | public ChatSetting(String key, String value, int type){
28 | setKey(key);
29 | setValue(value);
30 | setType(type);
31 | }
32 |
33 | public String getKey() {
34 | return key;
35 | }
36 |
37 | public void setKey(String key) {
38 | this.key = key;
39 | }
40 |
41 | public String getValue() {
42 | return value;
43 | }
44 |
45 | public void setValue(String value) {
46 | this.value = value;
47 | }
48 |
49 | public int getType() {
50 | return type;
51 | }
52 |
53 | public void setType(int type) {
54 | this.type = type;
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/source/org/jivesoftware/smackx/workgroup/user/QueueListener.java:
--------------------------------------------------------------------------------
1 | /**
2 | * $Revision$
3 | * $Date$
4 | *
5 | * Copyright 2003-2007 Jive Software.
6 | *
7 | * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
8 | * you may not use this file except in compliance with the License.
9 | * You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software
14 | * distributed under the License is distributed on an "AS IS" BASIS,
15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | * See the License for the specific language governing permissions and
17 | * limitations under the License.
18 | */
19 |
20 | package org.jivesoftware.smackx.workgroup.user;
21 |
22 | /**
23 | * Listener interface for those that wish to be notified of workgroup queue events.
24 | *
25 | * @see Workgroup#addQueueListener(QueueListener)
26 | * @author loki der quaeler
27 | */
28 | public interface QueueListener {
29 |
30 | /**
31 | * The user joined the workgroup queue.
32 | */
33 | public void joinedQueue();
34 |
35 | /**
36 | * The user departed the workgroup queue.
37 | */
38 | public void departedQueue();
39 |
40 | /**
41 | * The user's queue position has been updated to a new value.
42 | *
43 | * @param currentPosition the user's current position in the queue.
44 | */
45 | public void queuePositionUpdated(int currentPosition);
46 |
47 | /**
48 | * The user's estimated remaining wait time in the queue has been updated.
49 | *
50 | * @param secondsRemaining the estimated number of seconds remaining until the
51 | * the user is routed to the agent.
52 | */
53 | public void queueWaitTimeUpdated(int secondsRemaining);
54 |
55 | }
56 |
--------------------------------------------------------------------------------
/source/overview.html:
--------------------------------------------------------------------------------
1 | API specification for Smack, an Open Source XMPP client library.
2 |