From 775f862bc1516c6559085e7131d7d071c13b5a57 Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Fri, 21 Nov 2014 09:59:24 +0100 Subject: [PATCH] Add XData(Layout)Manager to register the features with ServiceDiscoveryManager for XEP-4 and XEP-141. --- .../smackx/xdata/XDataManager.java | 37 +++++++++++++++++++ .../xdatalayout/XDataLayoutManager.java | 37 +++++++++++++++++++ .../org.jivesoftware.smackx/extensions.xml | 2 + 3 files changed, 76 insertions(+) create mode 100644 smack-extensions/src/main/java/org/jivesoftware/smackx/xdata/XDataManager.java create mode 100644 smack-extensions/src/main/java/org/jivesoftware/smackx/xdatalayout/XDataLayoutManager.java diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/xdata/XDataManager.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/xdata/XDataManager.java new file mode 100644 index 000000000..23eb4d9f4 --- /dev/null +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/xdata/XDataManager.java @@ -0,0 +1,37 @@ +/** + * + * Copyright 2014 Florian Schmaus + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jivesoftware.smackx.xdata; + +import org.jivesoftware.smack.ConnectionCreationListener; +import org.jivesoftware.smack.XMPPConnection; +import org.jivesoftware.smack.XMPPConnectionRegistry; +import org.jivesoftware.smackx.disco.ServiceDiscoveryManager; +import org.jivesoftware.smackx.xdata.packet.DataForm; + +public class XDataManager { + + static { + XMPPConnectionRegistry.addConnectionCreationListener(new ConnectionCreationListener() { + @Override + public void connectionCreated(XMPPConnection connection) { + ServiceDiscoveryManager serviceDiscoveryManager = ServiceDiscoveryManager.getInstanceFor(connection); + serviceDiscoveryManager.addFeature(DataForm.NAMESPACE); + } + }); + } + +} diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/xdatalayout/XDataLayoutManager.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/xdatalayout/XDataLayoutManager.java new file mode 100644 index 000000000..3e322ae64 --- /dev/null +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/xdatalayout/XDataLayoutManager.java @@ -0,0 +1,37 @@ +/** + * + * Copyright 2014 Florian Schmaus + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.jivesoftware.smackx.xdatalayout; + +import org.jivesoftware.smack.ConnectionCreationListener; +import org.jivesoftware.smack.XMPPConnection; +import org.jivesoftware.smack.XMPPConnectionRegistry; +import org.jivesoftware.smackx.disco.ServiceDiscoveryManager; +import org.jivesoftware.smackx.xdatalayout.packet.DataLayout; + +public class XDataLayoutManager { + + static { + XMPPConnectionRegistry.addConnectionCreationListener(new ConnectionCreationListener() { + @Override + public void connectionCreated(XMPPConnection connection) { + ServiceDiscoveryManager serviceDiscoveryManager = ServiceDiscoveryManager.getInstanceFor(connection); + serviceDiscoveryManager.addFeature(DataLayout.NAMESPACE); + } + }); + } + +} diff --git a/smack-extensions/src/main/resources/org.jivesoftware.smackx/extensions.xml b/smack-extensions/src/main/resources/org.jivesoftware.smackx/extensions.xml index dc28e7537..45ae5acb7 100644 --- a/smack-extensions/src/main/resources/org.jivesoftware.smackx/extensions.xml +++ b/smack-extensions/src/main/resources/org.jivesoftware.smackx/extensions.xml @@ -12,5 +12,7 @@ org.jivesoftware.smackx.privacy.PrivacyListManager org.jivesoftware.smackx.time.EntityTimeManager org.jivesoftware.smackx.vcardtemp.VCardManager + org.jivesoftware.smackx.xdata.XDataManager + org.jivesoftware.smackx.xdatalayout.XDataLayoutManager