1
0
Fork 0
mirror of https://codeberg.org/Mercury-IM/Smack synced 2024-11-16 04:12:04 +01:00
Commit graph

112 commits

Author SHA1 Message Date
Anno van Vliet
b08dbc1dbc Support for XEP-0122: Data Forms Validation.
Data Forms Validation are a part of Data Fields and implemented as
extensions, added to a Datafield.

Data validation extensions are validated before adding to the message,
using the consistency rules as described in the XEP.
Fixes SMACK-621.

Minor modifications done by Florian Schmaus <flo@geekplace.eu>
2014-12-30 02:03:12 +01:00
Florian Schmaus
71029f0a45 Fix XEP URLs in documentation/extensions/index.md
Thanks to Oliver Hausler for reporting.
2014-12-21 10:36:18 +01:00
Florian Schmaus
f4c7e2e086 Add smack-tcp to gettingstarted.md 2014-12-19 11:14:34 +01:00
Florian Schmaus
77f0fdc156 Add (IQ|PacketExtension)IntrospectionProvider
This simplifies code as there is no longer a distinction between
"normal" providers and introspection providers in ProviderManager
necessary.

It's also easier to get an idea where introspection is used for parsing.
2014-12-10 11:09:52 +01:00
Anno
ff977825da Support for XEP-0141: Data Forms Layout.
Data Forms layouts are a part of Data Forms and implemented as
extensions, added to a Dataform. Fixes issue SMACK-612.
2014-11-20 23:25:26 +01:00
Florian Schmaus
c81cd34561 Apply builder pattern to ConnectionConfiguration
Introducing a clean split between the constant connection configuration
parameters, which are now all in ConnectionConfiguration and the dynamic
connection state (e.g. hostAddresses) which are now in
AbstractXMPPConnection.

Also removed all arguments of login() since the username, password,
resource and callback handler need now to be configured via
ConnectionConfiguration.

Also remove documentation/extensions/messageevents.md, as it's already
in documentation/legacy
2014-11-15 09:46:31 +01:00
Florian Schmaus
6168fca288 Message Evenents is in smack-legacy and documentation/legacy 2014-11-10 11:43:25 +01:00
Florian Schmaus
9e797c1b17 Enable PacketExtensions for IQs
This is actually only part one, i.e. with this commit if the user adds a
PacketExtension to an IQ it will be included in IQ.toXml(). Which was
previously only the case if the IQ subclass explicitly included packet
extensions.

The second part of the change is to change the IQ provider, so that
packet extensions are automatically parsed.

Cases where PacketExtensions are used for Message and IQ are slightly
changed. The IQ sublcass now only has a field with this
PacketExtension (see for example
bytestreams.ibb.packet.DataPacketExtension).

Also changed hoxt API: Removed unnecessary indirection and made the
API more Smack idiomatic.
2014-11-10 11:43:18 +01:00
Florian Schmaus
e63fe22647 Add support for XEP-335: JSON Containers
and GCM JSON payloads for Google's GCM Cloud Connection Server.
2014-10-30 13:21:33 +01:00
Florian Schmaus
8d7b329432 Update debugging.md
The lite debugger is also only found in smack-debug. Only the console
debugger is shipped with smack-core.
2014-10-16 16:50:52 +02:00
Florian Schmaus
b54d133b36 Add MultiUserChatManager
apply the Manager pattern to 'muc'. This prevents the user creating
multiple MultiUserChat instances for the same MUC.

Move the static method from MultiUserChat to MultiUserChatManager.

Also add AbstractNodeInformationProvider.
2014-10-13 22:32:34 +02:00
Florian Schmaus
6980c8e63d Rework Smack Provider design
this is the first stop towards fixing "SMACK-65: parsing should look for
depth", by providing the initial parsing depth to the provider. Some
methods (.e.g parseMessage) now use the depth as abort condition,
instead of a unclean String equals check.

parseIQ() and parseExtension() where both renamed to parse.

This also restricts the Exceptions thrown by the parse method, to just
XmlPullParserException, IOException and SmackException (not really a big
victory, but nevertheless a slight improvement).

StreamFeatureProvider is now gone, we simply use PacketExtensionProvider
for stream features.
2014-10-08 16:01:14 +02:00
Florian Schmaus
b78a711ebd Add support for XEP-0352: Client State Indication
SMACK-607
2014-09-19 23:52:14 +02:00
Florian Schmaus
58e430af42 PacketExtension.from(Packet), deprecate getFrom()
add 'from(Packet)' to DataForm
2014-09-16 22:22:25 +02:00
Florian Schmaus
2dc93d7639 Add support for XEP-0059: Result Set Management
SMACK-581
2014-09-13 12:28:18 +02:00
Florian Schmaus
fc51f3df48 Add support for XEP-0198: Stream Management
- De-duplicate code by moving it into AbstractXMPPConnection
- Introduce TopLevelStreamElement as superclass for all XMPP stream elements.
- Add SynchronizationPoint, ParserUtils
- Add ParserUtils

Fixes SMACK-333 and SMACK-521
2014-09-11 09:49:16 +02:00
Florian Schmaus
393c713471 Don't repeat documentation, link to it instead
also fix some typos and improve some markdown formatting.
2014-08-28 15:26:02 +02:00
Florian Schmaus
aa14f55902 Updated providers.md: s/.getInstance()//
As ProviderManager has now only static methods
2014-08-20 12:33:15 +02:00
Florian Schmaus
397eb88468 Merge branch '4.0'
Conflicts:
	build.gradle
	documentation/connections.html
	documentation/debugging.html
	documentation/extensions/filetransfer.html
	documentation/extensions/rosterexchange.html
	documentation/gettingstarted.html
	documentation/index.html
	documentation/legacy/messageevents.html
	smack-extensions/src/main/java/org/jivesoftware/smackx/address/MultipleRecipientManager.java
2014-08-16 00:30:28 +02:00
Florian Schmaus
344148eaed Convert html documentation to markdown 2014-08-16 00:11:14 +02:00
Florian Schmaus
3c88c2f705 Fix extensions/intro.html filetransfer link 2014-08-11 12:09:37 +02:00
Florian Schmaus
92a6d01507 Merge branch '4.0'
Also slightly improve OfflineMessageManager.getMessages()

Conflicts:
	build.gradle
	smack-extensions/src/main/java/org/jivesoftware/smackx/offline/OfflineMessageManager.java
2014-08-07 16:51:03 +02:00
Florian Schmaus
1935039432 Improve documentation (targetCompatibility, XPP3) 2014-08-01 19:19:17 +02:00
Florian Schmaus
97b17e83b4 Move "Message Events (XEP-22)" code to legacy
Fixes SMACK-569
2014-07-16 12:01:03 +02:00
Florian Schmaus
94a16ba41e Merge branch '4.0'
Conflicts:
	build.gradle
	documentation/connections.html
	documentation/gettingstarted.html
	smack-core/src/main/java/org/jivesoftware/smack/SmackException.java
	smack-core/src/test/java/org/jivesoftware/smack/parsing/ParsingExceptionTest.java
	smack-core/src/test/java/org/jivesoftware/smack/test/util/TestUtils.java
	smack-core/src/test/java/org/jivesoftware/smack/util/PacketParserUtilsTest.java
	smack-extensions/src/main/java/org/jivesoftware/smackx/caps/cache/SimpleDirectoryPersistentCache.java
	smack-extensions/src/main/java/org/jivesoftware/smackx/ping/PingManager.java
	smack-tcp/src/main/java/org/jivesoftware/smack/tcp/PacketReader.java
2014-07-05 14:37:22 +02:00
Florian Schmaus
4477561d4b Replace references to 'smack.jar'
Also don't mention the required JDK version in the README as such information
tends to become wrong easily.
2014-07-05 12:10:43 +02:00
Florian Schmaus
09425609af Refactor FileTransfer(Manager|Negotiator)
to use WeakHashMaps and extend Manager.

SMACK-579
2014-07-02 09:52:40 +02:00
Florian Schmaus
1fb8a50b79 Improve documentation
remove ambiguous part about smack-core being the only required
library. It's the only required library of *Smack*, but some user could
understand that Smack itself has no other dependencies. In order to
avoid such confusion, simply remove that part.
2014-06-27 12:22:39 +02:00
Florian Schmaus
eec0df386c s/JEP/XEP/
also s;jabber.org/jeps;xmpp.org/extensions;
2014-06-14 11:48:46 +02:00
Florian Schmaus
3d926a034c Fix documentation to use correct XMPPConnection names
Some parts of the documentation still refer to

Connection connection = new XMPPConnection(…)

when it should be

XMPPConnection connection = new XMPPTCPConnection(…)

SMACK-574
2014-06-12 18:43:51 +02:00
Florian Schmaus
beecb8a675 Make XMPPConnection an interface
create AbstractXMPPConnection.
2014-05-28 08:18:41 +02:00
Florian Schmaus
08cec251c7 Add missing HOXT entry in toc.html 2014-04-26 19:19:29 +02:00
Florian Schmaus
6e08a10186 Move Packet 'properties' from core to extensions
Code for Jive's packet properties should not be in 'core'. Also
de-serializing input from network causes some security implications, it
is therefore disabled as default.
2014-04-26 19:13:27 +02:00
Florian Schmaus
4cff008708 Return Collections (or sublcasses) instead of Iterators
This allows us to exploid Java 8 streams and Java 5 for-each
loops. The returned Collections are usually unmodifiable. We decided
against returning Iterable because this would mean determining the
size in O(n) compared to Collection.size() which is often faster
(e.g. O(1)).
2014-04-09 20:03:10 +02:00
atsykholyas
236ea71cee Added support for HOXT (XEP-0332)
This is initial impementation of XEP-0332 (SMACK-552) -
HTTP over XMPP transport.
Created extensions, providers and unit tests.
Two features are missing: jingle and sipub.
2014-03-20 12:36:04 +02:00
Florian Schmaus
6110872062 Cleanup of PrivacyList API
Use Type enum instead of String for PrivacyItem's constructor. Add
getName() to PrivacyList. Remove PrivacyRule, as it just adds unnecessary
complexity spliting PrivacyItem and PrivacyRule, they belong
together. Don't mix camel-case and c-style method names. Some minor
improvements. Add parser test.
2014-03-10 15:32:17 +01:00
Florian Schmaus
489816c61f Renamed Connection to XMPPConnection 2014-03-10 09:45:50 +01:00
Florian Schmaus
3093333533 Reworked Smack initialization
Move extension relevant configuration options from SmackConfiguration to
the extension. Introduced disabledSmackClasses that can be configured
via a system property or configuration file.
2014-02-23 17:48:07 +01:00
Florian Schmaus
3da34da5e7 Fix copy&paste error in intro.html 2014-02-15 22:36:52 +01:00
Florian Schmaus
38a3531ec6 Move privacy lists from core to extensions 2014-02-15 22:35:38 +01:00
Florian Schmaus
b18a43920a Merge branch '3.4.0' into master
Conflicts:
	source/org/jivesoftware/smack/SmackConfiguration.java
2014-02-03 12:58:55 +01:00
rcollier
f155cb4d07 SMACK-286 Made ProviderManager much more configurable.
Separated the reading of provider files from the ProviderManager.  Manager now only manages.  Added ability to add collections of providers to the manager via a ProviderLoader, of which there is one default implementation which loads from the default file format.  Now provider files can be programmatically added at any time.  Also updated the configuration abilities so that a provider file can also be set via VM arg, as well as the smack configuration itself. Introduced Java Util Logging as well.

git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_4_0@13861 b35dd754-fafc-0310-a699-88a17e54d16e
2014-01-16 05:14:39 +00:00
Florian Schmaus
f8274dda53 Merge branch smack_3_3_2 and trunk
as the state of the both branches of Smack's SVN repository
http://fisheye.igniterealtime.org/browse/smack on 2013-12-30.

Conflicts:
	documentation/extensions/caps.html
	source/org/jivesoftware/smack/PacketReader.java
	source/org/jivesoftware/smack/SmackConfiguration.java
	source/org/jivesoftware/smack/parsing/ParsingExceptionCallback.java
	source/org/jivesoftware/smackx/ServiceDiscoveryManager.java
2013-12-30 01:29:55 +01:00
Florian Schmaus
0e6817dc4f SMACK-361 Minor EntityCapsManager fixes
Don't use the constructor in ConnectionCreationListener to prevent
duplicate instances for the same connection. Fixed EntityCaps
documentation.

git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_2@13799 b35dd754-fafc-0310-a699-88a17e54d16e
2013-11-03 21:49:39 +00:00
Florian Schmaus
5f793d4f44 SMACK-431 Reworded Entity Caps documentation, added missing frame link
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13782 b35dd754-fafc-0310-a699-88a17e54d16e
2013-10-22 14:43:13 +00:00
Florian Schmaus
c2d057f4b2 SMACK-431 Reworded Entity Caps documentation, added missing frame link
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_1@13692 b35dd754-fafc-0310-a699-88a17e54d16e
2013-06-24 21:27:43 +00:00
Florian Schmaus
cb5e1dc94b SMACK-431 Entity Capabilities are now enabled as default for new connections. Added an extensions documentation html page.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_1@13689 b35dd754-fafc-0310-a699-88a17e54d16e
2013-06-22 17:01:58 +00:00
Florian Schmaus
c7d468697f SMACK-431 Entity Capabilities are now enabled as default for new connections. Added an extensions documentation html page.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13686 b35dd754-fafc-0310-a699-88a17e54d16e
2013-06-22 17:00:40 +00:00
rcollier
2150d07435 Merged the 3.2 Beta branch into trunk.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@12107 b35dd754-fafc-0310-a699-88a17e54d16e
2011-03-14 01:53:42 +00:00
Henning Staib
a5693609b2 add the ability to register for roster events before logging in (SMACK-156)
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@11826 b35dd754-fafc-0310-a699-88a17e54d16e
2010-08-15 16:32:09 +00:00