From 22bc098d4f0162ed8459e33a5ccfbda45e60dc6d Mon Sep 17 00:00:00 2001 From: paweldomas Date: Sat, 27 Sep 2014 09:32:27 +0200 Subject: [PATCH] Adds a method to Jitsi Meet tools operations set which allows to add protocol feature to the capabilities list of the protocol provider. --- .../OperationSetJitsiMeetToolsJabberImpl.java | 22 +++++++++++++++++++ .../ProtocolProviderServiceJabberImpl.java | 2 +- .../OperationSetJitsiMeetToolsSipImpl.java | 9 ++++++++ .../protocol/OperationSetJitsiMeetTools.java | 8 +++++++ 4 files changed, 40 insertions(+), 1 deletion(-) diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetJitsiMeetToolsJabberImpl.java b/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetJitsiMeetToolsJabberImpl.java index 73777a3e9..06f5bfe7b 100644 --- a/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetJitsiMeetToolsJabberImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetJitsiMeetToolsJabberImpl.java @@ -17,6 +17,28 @@ public class OperationSetJitsiMeetToolsJabberImpl implements OperationSetJitsiMeetTools { + private final ProtocolProviderServiceJabberImpl parentProvider; + + /** + * Creates new instance of OperationSetJitsiMeetToolsJabberImpl. + * + * @param parentProvider parent Jabber protocol provider service instance. + */ + public OperationSetJitsiMeetToolsJabberImpl( + ProtocolProviderServiceJabberImpl parentProvider) + { + this.parentProvider = parentProvider; + } + + /** + * {@inheritDoc} + */ + @Override + public void addSupportedFeature(String featureName) + { + parentProvider.getDiscoveryManager().addFeature(featureName); + } + /** * {@inheritDoc} */ diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/ProtocolProviderServiceJabberImpl.java b/src/net/java/sip/communicator/impl/protocol/jabber/ProtocolProviderServiceJabberImpl.java index 8f321b763..748778030 100644 --- a/src/net/java/sip/communicator/impl/protocol/jabber/ProtocolProviderServiceJabberImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/jabber/ProtocolProviderServiceJabberImpl.java @@ -1695,7 +1695,7 @@ protected void initialize(String screenname, addSupportedOperationSet( OperationSetJitsiMeetTools.class, - new OperationSetJitsiMeetToolsJabberImpl()); + new OperationSetJitsiMeetToolsJabberImpl(this)); addSupportedOperationSet( OperationSetServerStoredContactInfo.class, diff --git a/src/net/java/sip/communicator/impl/protocol/sip/OperationSetJitsiMeetToolsSipImpl.java b/src/net/java/sip/communicator/impl/protocol/sip/OperationSetJitsiMeetToolsSipImpl.java index 718435149..4af47a6f3 100644 --- a/src/net/java/sip/communicator/impl/protocol/sip/OperationSetJitsiMeetToolsSipImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/sip/OperationSetJitsiMeetToolsSipImpl.java @@ -99,6 +99,15 @@ public void notifyJoinJitsiMeetRoom(Call call, String jitsiMeetRoom) } } + /** + * {@inheritDoc} + */ + @Override + public void addSupportedFeature(String featureName) + { + throw new RuntimeException("Not implemented for SIP"); + } + /** * {@inheritDoc} */ diff --git a/src/net/java/sip/communicator/service/protocol/OperationSetJitsiMeetTools.java b/src/net/java/sip/communicator/service/protocol/OperationSetJitsiMeetTools.java index 2e25150ba..8cf4af5ef 100644 --- a/src/net/java/sip/communicator/service/protocol/OperationSetJitsiMeetTools.java +++ b/src/net/java/sip/communicator/service/protocol/OperationSetJitsiMeetTools.java @@ -17,6 +17,14 @@ public interface OperationSetJitsiMeetTools extends OperationSet { + /** + * Adds given feature to communication protocol capabilities list of parent + * {@link ProtocolProviderService}. + * + * @param featureName feature name to be added to the capabilities list. + */ + public void addSupportedFeature(String featureName); + /** * Includes given PacketExtension in multi user chat presence and * sends presence update packet to the chat room.