summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2015-07-29Reinstate "disconnect()" method for MUC classNick Hudson
A recent change (9ead0fdcca595df9dc3f4143122776b398dbe405) made MUC an abstract class, and moved all functionality into MUCImpl (to correspond with Swiften). The "disconnect()" method was moved to MUCImpl, which means that any existing application which used it would break. The disconnect() method is required in java (although it's not in Swiften) because it provides a way to disconnect signals that are connected in the MUC constructor (or MUCImpl constructor now). While the signals are connected, the MUC object will not be eligible to be garbage collected, and this can lead to growing memory usage for an application which creates lots of MUC objects for a given connection. Adding a call to "disconnect()" in the finalizer for the MUC would not be effective because the finalizer only gets called when the MUC is gc'd, and the MUC can't be gc'd until the disconnect() has happened. Test-information: Unit tests pass. Before this change, an application calling "MUC.disconnect()" fails to compile. After this change, the application compiles. Tested an app that creates lots of MUC objects, and checked, using the debugger, to see if the objects were being garbage collected when the application dropped its reference to the objects. When not calling "disconnect()", the MUC objects are not garbage collected until the owning StanzaChannel is closed. When a call to "disconnect()" was added, the MUC objects are garbage collected soon after the application finishes using them, even though the StanzaChannel is still in use. Change-Id: Icd6c354e34d2124c292ae5d44bc47725a6e73df5
2015-07-28Completes Components and AdHoc.Tarun Gupta
Adds Component, ComponentConnector, ComponentError, ComponentSession, ComponentXMLTracer, CoreComponent, ComponentSessionStanzaChannel, ComponentXMTracer, CoreComponent. Updates CoreClient, StrokeGUI, BasicSessionStream and SessionStream and Client, so that signal definition can be changed. Updates ComponentHandshake element, Entity. Updates OutgoingAdHocCommandSession to have feature parity with Swiften. This patch does not port Client or Session fully, which will be done in separate future patches. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Test added for ComponentSession, which passes. Test for ComponentConnector cannot be ported right now and will be done in future patches, as it requires some bits of Network to be ported. Change-Id: I7138a2041fe28a2be7ac57cb47b15365f9334b24
2015-07-28Complete StreamStack and add tests.Tarun Gupta
TLSLayer could not be updated because it requires TLS to be ported first. Updates other classes, only for having compatibility with SafeByteArray because of updates in Stream Stack. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for StreamStack and XMPPLayer, which passes. Change-Id: I8707fc1f16d622d2a90f6f39f671b7e7c46aa170
2015-07-28Update Serializers and Parsers.Tarun Gupta
Updates Serializers and Parsers along with one minor change in XMPPlayer. Update Non Payload Serializers to return SafeByteArray. Updates SafeByteArray to return SafeByteArray on append and plus method. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: None. Change-Id: I6fe665a26b10cac37b3e3acd9ec15c211ac9b8ab
2015-07-22Completes MUC in accordance with Swiften.Tarun Gupta
Updates MUC to be an abstract class. Updates MUCBookmark, MUCManager, DirectedPresenceSender. Adds MUCImpl. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Test updated for MUC, in accordance with Swiften, which passes. Added MockMUC too. Change-Id: If5aa672e8adc093162d3c9890c8437d3edadea68
2015-07-22Complete VCard functionalities.Tarun Gupta
Updates VCardManager, VCardMemoryStorage and VCardStorage. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Test added for VCardManager, which passes. Change-Id: I0d4f1dbb647f262ff2a8967807fb798a8181b0b5
2015-07-22Update Queries.Tarun Gupta
Updates RawXMLPayload Element, SoftwareVersion Element. Updates IQRouter, Request, Responder, SoftwareVersionResponder. Updates ErrorSerilaizer access. Adds RawRequest, GetInBandRegistrationFormRequest, GetSoftwareVersionRequest, and SetInBandRegistrationRequest. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for: IQRouter, Request and Responder. Rest, all tests passes. Change-Id: I22308cc05bd1a6c28f3937a44d997e1da47e2891
2015-07-22Update Roster functionalities.Tarun Gupta
Updates RosterPushResponder, XMPPRoster, XMPPRosterController. Also adds XMPPRosterSignalHandler. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Adds tests for XMPPRosterController, XMPPRosterImpl. All tests passes. Change-Id: Iee3530510342ea5977022237aaa6dfbffa390408
2015-07-21Adds Disco Features.Tarun Gupta
Adds DiscoServiceWalker, FeatureOracle, JIDDiscoInfoResponder. Updates CapsInfoGenerator, ClientDiscoManager, EntityCapsManager, EntityCapsProvider, IQ Element, Request. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for: CapsInfoGenerator, CapsManager, DiscoInfoResponder, EntityCapsManager, JIDDiscoInfoResponder. All tests pass. Change-Id: Ib7cd08ff6f72b7649e4819943b627459c69a1397
2015-07-07Update Avatar access model.Alan Young
Use the String avatar hash as the general handle for an avatar. AvatarManager.getAvatar(JID jid) will return null if no avatar is available. AvatarManager.getAvatarPath() and AvatarStorage.getAvatarPath() are deleted. Make AvatarProvider & AvatarManager abstract classes instead of interfaces so that their onAvatarChanged Signals are not static fields. Implement delete() for AvatarManagerImpl and AvatarProvider & subclasses so that signal connections can be released. Add @Override annotations as appropriate. Change-Id: Ia7c9d7607b642bb42c373f81dc6be9a60f0f2134
2015-07-07Update JingleFileTransferFileInfo in light of recent discussions related to ↵Tarun Gupta
Date. Updates VCard Element, JingleFileTransferFileInfo to allow dates to be null, as a indicator for not a valid date time. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Corresponding tests changed, which passes. Change-Id: I9c9b4a84b7bebc18e8ef8ba5050e45ac2f13aa65
2015-07-07Adds tests for Parser and Serializers.Tarun Gupta
Adds PubSubEvent Element. Adds StreamFeaturesSerializer. Adds ParserTester, ElementParserTester, StanzaParserTester, PayloadParserTester, PayloadsSerializer and EnumParser. Updates Error Payload, JingleFIleTransferHash Elements/ Updates StreamFeaturesParser, ParserElement. Updates Delay Serializer, Error Serializer. Updates AuthChallenge and AuthRequest Element. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Test are added for: AuthChallenge Serializer, AuthRequest Serializer, AuthResponse Serializer, AuthSuccess Serializer. GenericPayloadTreeParserTest. IQ Parser. Message Parser. Presence Parser. StanzaAck Parser. Stanza Parser. StreamFeatures Parser and Serializer. StreamManagementEnabled Parser. Private Storage Parser and Serializer. RawXMLPayload Parser. Storage Parser and Serializer. Error Serializer. Jingle Serializer. PubSubItem Serializer and PubSubItems Serializer. Serializing Parser. All tests passes. Change-Id: I79e00dc5b5c4f85e659bf88b1547dd7c17825805
2015-07-06Completes JID functionalities.Tarun Gupta
Completes JID by providing all features Swiften provides including Escaped and Unescaped Node. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Test added for JID, which passes. Change-Id: Ia61dad0ed93a153186b9f78e2669f675f51e3734
2015-07-06Add Internationalized Domain Name Features.Tarun Gupta
Adds IDNConverter interface, ICUConverter using ICU for Stringprep. Also updates Makefile and build.xml by adding path to icu4j to compile tests classpath, so that icu4j.jar can be used in the tests. IDNConverter tests need StringPrepParseException from icu4j jar. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Added test for IDNConverter, which passes. Change-Id: I56aacf080a10216a2455cf561de567f5666cd0c9
2015-07-06Add ChatStateNotifier.Tarun Gupta
Adds ChatStateNotifier, DummyEntityCapsProvider. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Test added for Chate State Notifier, which passes. Change-Id: Ie596d9c226526ab5ace334b7926389b61ca5540a
2015-06-30Add tests for Payloads Parsers and Payloads Serializers.Tarun Gupta
Updates DiscoInfoParser, DiscoItemsParser and VCard Element. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Test are added for: DeliveryReceipt Parser and Serializer. DiscoInfo Parser and Serializer, DiscoItemsParser. Replace Parser and Serializer. ResourceBind Parser and Serializer. SecurityLabel Parser and Serializer. SecurityLabelsCatalog Parser and Serializer. Status Parser and Serializer. StatusShow Parser and Serializer. SoftwareVersion Parser and Serializer. VCard Parser and Serializer. All tests passes. Change-Id: I8023372273e63813e1c8fe708fa6cdf39614e1f7
2015-06-30Adds Parser and Serializer for Priority Element.Tarun Gupta
Adds Priority Parser and Serializer. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests passes for Priority Parser and Serializer. Change-Id: I0077cd0a3d179590b6ea78fa445e91358ff8b623
2015-06-30Add StreamInitiation Elements.Tarun Gupta
Adds StreamInitiationFileInfo Element, its Parser and Serializer. Adds StreamInitiation Element, its Parser and Serializer. Adds StreamError Parser and Serializer. Updates StreamManagementEnabled Element. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for StreamInitiation Parser and Serializer, which passes. Change-Id: I21a7de3f6a5ac0955b6e5aaae3c2607a30eae002
2015-06-27Adds Form Elements and Version Element.Tarun Gupta
Adds FormPage, FormReportedRef, FormSection, FormText and Version Elements. Updates Form Elements, its Parser And Serializer. Updates SearchPayload Element, its Parser And Serializer. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Adds Search Payload Parser and Serializer Test. Updates tests for Form Parser and Serializer. Updates InBandRegistrationPayloadSerializer Test and MAMQuerySerializerTest. All tests passes. Change-Id: I8c620a3db39fe433bc9a5478b98d5caeaf9ed40b
2015-06-23Adds Carbons Element.Tarun Gupta
Adds: CarbonsDisable Element, its Parser and Serializer. CarbonsEnable Element, its Parser and Serializer. CarbonsPrivate Element, its Parser and Serializer. CarbonsReceived Element, its Parser and Serializer. CarbonsSent Element, its Parser and Serializer. Thread Element, its Parser and Serializer. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for CarbonsParser and CarbonsSerializers, which tests all the above functionalities and passes. Change-Id: I101b1b34c24515d5ba19a995254755af77c4e6e1
2015-06-23Add ComponentHandshake Element.Tarun Gupta
Adds ComponentHandshake Element, its parser and Serializer. Adds ComponentHandshake Generator. Adds TopLevelElement. Updates SafeByteArray. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Test added for ComponentHandshakeGenerator, which passes. Change-Id: If3026a3db2207e6c65aa2306fee56d8dd5dee86f
2015-06-23Add Roster Elements.Tarun Gupta
Adds RosterItemExchangePayload Element, its Parser and Serializer. Updates RosterItemPayload, its Parser and Serializer. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for: RosterItemPayload Parser and Serializer. RosterItemExchangePayload Parser and Serializer. All tests passes. Change-Id: I8d16a18290d9820cea6839af1f075da00a25db09
2015-06-18Adds Jingle Elements.Tarun Gupta
Adds: JinglePayload, its Parser and Serializer and JingleReasonParser. JingleContentPayload Element, its Parser and Serializer. JingleDesciption Element. JingleFileTransferDescription Element, its Parser and Serializer. JingleFileTransferFileInfo Element, its Parser and Serializer. JingleFileTransferHash Element, its Parser and Serializer. JingleIBBTransportPayload Element, its Parser and Serializer. JingleS5BTransportPayload Element, its Parser and Serializer. JingleTransportPayload Element and HashElement. Updates HostAddress access specifier for getInetAddress(). License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for: JingleParser JingleContentPayload Parser and Serializer. JingleFileTransferHash Parser and Serializer. JingleFileTranferFileInfo Parser and Serializer. JingleFileTransferDescription Parser and Serializer. JingleIBBTransportPayload Parser and Serializer. JingleS5BTransportPayload Parser and Serializer. All tests passes. Change-Id: Ife1b7fef00efc57d8d0d4290f3280327439abbb6
2015-06-16Add IBB Element.Tarun Gupta
Adds IBB Element, its Parser and Serializer. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for both IBB Parser and Serializer, which passes. Change-Id: I0f2657de89d5395652c62ee5d5a88fbe9acb25e9
2015-06-16Add IsodeIQDelegation Element.Tarun Gupta
Adds IsodeIQDelegation Element, its Parser and Serializer. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for both IsodeIQDelegation Serializer, which passes. Change-Id: I7f67c0db4510b41266993ec5719e9ed13e3eb3c4
2015-06-16Add InBandRegistrationPayload Element.Tarun Gupta
Adds InBandRegistrationPayload Element, its Parser and Serializer. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Test added for InBandRegistrationPayload Serializer, which passes. Change-Id: Ic6cc1329f222b5a57f05ec2299e36b56f5767091
2015-06-16Add the UserLocation Element.Tarun Gupta
Adds UserLocation Element, its parser and Serializer. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for UserLocation Parser and UserLocation Serializer, which passes. Change-Id: Ia1d57f4233351e755770f06fdc8e292db1acf521
2015-06-16Add the UserTune Element.Tarun Gupta
Adds UserTune Element, its parser and Serializer. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for UserTune Parser and UserTune Serializer. Change-Id: I3330d8493c79c2305de426827b5018b68d5b8e1b
2015-06-14Add Avatar Functionality.Tarun Gupta
Adds AvatarManager, AvatarManagerImpl, AvatarStorage and different AvatarProviders including DummyAvatarProvider, NullAvatarProvider and OfflineAvatarProvider. Also adds VCardAvatarManager and VCardUpdateAvatarManager. Updates VCard Element, so that it does not return null on calling getPhoto() and thereby produce Null Pointer Exceptions. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests are added for AvatarManagerImpl, VCardAvatarManager and VCardUpdateAvatarManager, which passes. Tests for CombinedAvatarProvider will be added soon. Change-Id: Ia6c0f82ae496427dc0cd11841487f6c53fd0fe1c
2015-06-14Add the Bytestreams Element.Tarun Gupta
Adds Bytestreams Element, Parser and Serializer. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for both Parser and Serializer, which passes. Change-Id: Ia623f8fcd628d7b34f7f8f935602c6c4c0ffaac1
2015-06-14Add VCardUpdate Element.Tarun Gupta
Adds the VCardUpdate Element, VCardUpdate Parser, VCardUpdateSerializer. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests ported for VCardUpdateParser and VCardUpdateSerializer, which passes. Change-Id: I9baf8f6787567c8766b52dbe70105e8870c02b2d
2015-06-14Add support for Crypto-functions.Tarun Gupta
Completes the JavaCryptoProvider providing functionalities for SHA-1 Hash, MD5 Hash and HMACSHA1 Hash. Also updates reference for JavaCryptoProvider in JavaNetworkFactories. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests are added for JavaCryptoProvider, which passes. Change-Id: I2439e5fd76a23e9b5c4e9132a9856543a7ca53fd
2015-05-27Add the functionality for processing of URL.Tarun Gupta
Adds functionalities for URL processing such as extracting parameters from URL, decoding URL. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Corresponding tests are added for each function which passes. Change-Id: I1d54b86167b4f368c365f16c63641a6e6a91cbb8
2015-05-26Add functionality for UUID Generator.Tarun Gupta
Adds the Simple ID Generator as well as Random ID Generator. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tests added for both IDGenerator and SimpleIDGenerator which passes. Change-Id: I9bce3a172774effead3ada695bcceb0b0f81b851
2015-04-10Throw exception for missing payload serializer.Alan Young
Change-Id: I3578fa59bfcb45f5893a16fa2d45c9ea460be198
2015-03-19Add functionality for ChatState.Tarun Gupta
Adds the Element, Parser, Serializer, ChatStateTracker and ChatStateSerializerTest. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Ported serializer test from Swiften, which passes. Change-Id: I314eda2db0f2be0499f8aa74d043319fb5cf57a8
2015-03-18Add Copyright Information for CapsInfo.Tarun Gupta
License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Change-Id: Ie60e3c22f14a0495912ed02f9d994b93a04e2aec
2015-03-12Add functionality for CapsInfoTarun Gupta
Adds the Element, Parser, Serializer and CapsInfoSerializerTest. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Ported serializer test from Swiften, which passes. Change-Id: Iefc10f49732c835f1f17e5da00dabed899da975e
2014-12-14Changes to improve handling of unknown field typesTim Robbings
Change to mirror Swiften code. This change removes some unnecessary code from the FormSerializer class. It also includes changes to the FormField class to improve the handling of 'unknown' form fields. Test-information: Tested using updatedJUnit tests, all tests complete successfully. Change-Id: Ie28ed40be976704170525f7be20b8e08661536b6
2014-11-26Bring Stroke inline with Swiften with respect to MAMAlex Clayton
Some patches for MAM had gone into swiften without being ported to stroke. This patch should bring stroke update to date with Swiften. The swiften patches in question are 9b762e1cf26cfe12cf601d9ea95cf91b3f95c799 -- Add node attribute to MAMQuery 8096f80861667381b777af774cfd446d6fc8cda8 -- Brining XEP-0313 (MAM) implementation in line with version 3.0. Test-information: Ran the updated JUnit tests in Eclipse they all passed ok. Ran make and make test in a stroke checkout. Everything build ok and the JUNit tests passed. Change-Id: I95bf5d598808f48fe2d7af12c0f07d852d68c115
2014-10-28Stroke FormField refactoringTim Robbings
Changes to catch up with Swiften changes to FormField in commit 00284e5, also adds <reported/> and <item/> elements, added to Swiften in commit 83afa3d. Changes include refactoring of the FormField class, changes to Form parser and serializer classes and updates to JUnit tests. Test-information: Tested using updated JUnit tests, all tests complete successfully. Change-Id: Ic91ad4a11a335fb3d2b2a2c4a1865f836e2af70b Reviewer: Alex Clayton <alex.clayton@isode.com> Reviewer: Gurmeen Bindra <gurmeen.bindra@isode.com>
2014-06-26Import SimpleEventLoop into strokeAlex Clayton
Import the class SimpleEventLoop from Swiften into Stroke. This also involves renaming the current SimpleEventLoop class to ImmediateEventLoop Test Information: By code inspection. Change-Id: Ie108a7b3ff98bb078cdd0017f4536e8bd9b76956 Signed-off-by: Alex Clayton <alex.clayton@isode.com>
2014-05-26Added MAM parsers, serializers and tests.Richard Maudsley
Change-Id: I4e5368f9ac86446b7ebf976e2cb63d64ebefe7b2
2014-03-07PubSub parsers and serializers, plus manager and test code.Richard Maudsley
Change-Id: Ie8ca77ba8dbcd83926d46307ad0e73d804ff7422
2012-10-17Fix ZLib unit tests by fixing underlying hexify implementationKevin Smith
Change-Id: Iba3aeab8b0140c32f732ce01b1e2da243e7ec141
2012-09-21Update some interfaces for consistency with Swiften.Kevin Smith
Makes ClientOptions do more.
2012-05-21Use the Aalto XML parser instead of XPPKevin Smith
Also adds a 'make test' target for the Makefile. Set the JUNIT environment variable to point to your jar if it doesn't find it.
2012-04-27MUC Administration related classesGurmeen Bindra
This change ports the MUC Administration related classes from Swiften to stroke. Also includes the MUC initialisation code in the CoreClient. Test-information: tested the ported unit tests
2012-04-27Port Classes for Storage/Private StorageGurmeen Bindra
This patch ports the classes for Storage, PrivateStorage and PrivateStorage requests from Swiften to Stroke. Test-information: junit test for GetPrivateStorageRequestTest is also ported and tested
2012-04-19Port MUC Payload Parsers from Swiften to StrokeGurmeen Bindra
This patch ports the MUC Payload parsers from swiften to stroke. Test-information: ported junits work fine