本文整理汇总了Java中org.jivesoftware.smackx.disco.ServiceDiscoveryManager类的典型用法代码示例。如果您正苦于以下问题:Java ServiceDiscoveryManager类的具体用法?Java ServiceDiscoveryManager怎么用?Java ServiceDiscoveryManager使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ServiceDiscoveryManager类属于org.jivesoftware.smackx.disco包,在下文中一共展示了ServiceDiscoveryManager类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: doInBackground
import org.jivesoftware.smackx.disco.ServiceDiscoveryManager; //导入依赖的package包/类
protected EntityViewActivity doInBackground(EntityViewActivity... activity) {
// Get the XMMPConnection from the manager
AbstractXMPPConnection conn = XMPPConnectionManager.getConnection();
// Obtain the ServiceDiscoveryManager associated with my XMPP connection
this.discoManager = ServiceDiscoveryManager.getInstanceFor(conn);
Entity entity = activity[0].myEntity;
try {
if ( entity.getNode() != null && entity.getNode() != "" ) {
activity[0].myLeafInfo = discoManager.discoverInfo( entity.getJid() , entity.getNode() );
} else {
activity[0].myLeafInfo = discoManager.discoverInfo( entity.getJid() );
}
Log.d(LOGTAG, "Got Info!");
} catch (Exception ex) {
Log.w(LOGTAG, "XMPP Disco error " + ex);
errorMessage = ex.toString() ;
}
return activity[0];
}
示例2: getReservedNickname
import org.jivesoftware.smackx.disco.ServiceDiscoveryManager; //导入依赖的package包/类
/**
* Returns the reserved room nickname for the user in the room. A user may have a reserved
* nickname, for example through explicit room registration or database integration. In such
* cases it may be desirable for the user to discover the reserved nickname before attempting
* to enter the room.
*
* @return the reserved room nickname or <tt>null</tt> if none.
* @throws SmackException if there was no response from the server.
*/
public String getReservedNickname() throws SmackException {
try {
DiscoverInfo result =
ServiceDiscoveryManager.getInstanceFor(connection).discoverInfo(
room,
"x-roomuser-item");
// Look for an Identity that holds the reserved nickname and return its name
for (DiscoverInfo.Identity identity : result.getIdentities()) {
return identity.getName();
}
}
catch (XMPPException e) {
LOGGER.log(Level.SEVERE, "Error retrieving room nickname", e);
}
// If no Identity was found then the user does not have a reserved room nickname
return null;
}
示例3: setServiceEnabled
import org.jivesoftware.smackx.disco.ServiceDiscoveryManager; //导入依赖的package包/类
/**
* Enable the Jabber services related to file transfer on the particular
* connection.
*
* @param connection The connection on which to enable or disable the services.
* @param isEnabled True to enable, false to disable.
*/
private static void setServiceEnabled(final XMPPConnection connection,
final boolean isEnabled) {
ServiceDiscoveryManager manager = ServiceDiscoveryManager
.getInstanceFor(connection);
List<String> namespaces = new ArrayList<String>();
namespaces.addAll(Arrays.asList(NAMESPACE));
namespaces.add(DataPacketExtension.NAMESPACE);
if (!IBB_ONLY) {
namespaces.add(Bytestream.NAMESPACE);
}
for (String namespace : namespaces) {
if (isEnabled) {
manager.addFeature(namespace);
} else {
manager.removeFeature(namespace);
}
}
}
示例4: isServiceEnabled
import org.jivesoftware.smackx.disco.ServiceDiscoveryManager; //导入依赖的package包/类
/**
* Checks to see if all file transfer related services are enabled on the
* connection.
*
* @param connection The connection to check
* @return True if all related services are enabled, false if they are not.
*/
public static boolean isServiceEnabled(final XMPPConnection connection) {
ServiceDiscoveryManager manager = ServiceDiscoveryManager
.getInstanceFor(connection);
List<String> namespaces = new ArrayList<String>();
namespaces.addAll(Arrays.asList(NAMESPACE));
namespaces.add(DataPacketExtension.NAMESPACE);
if (!IBB_ONLY) {
namespaces.add(Bytestream.NAMESPACE);
}
for (String namespace : namespaces) {
if (!manager.includesFeature(namespace)) {
return false;
}
}
return true;
}
示例5: VersionManager
import org.jivesoftware.smackx.disco.ServiceDiscoveryManager; //导入依赖的package包/类
private VersionManager(final XMPPConnection connection) {
super(connection);
ServiceDiscoveryManager sdm = ServiceDiscoveryManager.getInstanceFor(connection);
sdm.addFeature(Version.NAMESPACE);
connection.registerIQRequestHandler(new AbstractIqRequestHandler(Version.ELEMENT, Version.NAMESPACE, IQ.Type.get,
Mode.async) {
@Override
public IQ handleIQRequest(IQ iqRequest) {
if (ourVersion == null) {
return IQ.createErrorResponse(iqRequest, new XMPPError(Condition.not_acceptable));
}
return Version.createResultFor(iqRequest, ourVersion);
}
});
}
示例6: setup
import org.jivesoftware.smackx.disco.ServiceDiscoveryManager; //导入依赖的package包/类
/**
* Initialize fields used in the tests.
*/
@Before
public void setup() {
// mock connection
connection = mock(XMPPConnection.class);
// create service discovery manager for mocked connection
ServiceDiscoveryManager.getInstanceFor(connection);
// initialize Socks5ByteStreamManager to get the InitiationListener
byteStreamManager = Socks5BytestreamManager.getBytestreamManager(connection);
// get the InitiationListener from Socks5ByteStreamManager
initiationListener = Whitebox.getInternalState(byteStreamManager, InitiationListener.class);
// create a SOCKS5 Bytestream initiation packet
initBytestream = Socks5PacketUtils.createBytestreamInitiation(initiatorJID, targetJID,
sessionID);
initBytestream.addStreamHost(proxyJID, proxyAddress, 7777);
}
示例7: checkFeatures
import org.jivesoftware.smackx.disco.ServiceDiscoveryManager; //导入依赖的package包/类
private void checkFeatures(ServiceDiscoveryManager discoManager, String uri) throws SmackException, XMPPErrorException {
// Get the information of a given XMPP entity
System.out.println("Discover: " + uri);
// This gets the information of the component
DiscoverInfo discoInfo = discoManager.discoverInfo(uri);
// Get the discovered identities of the remote XMPP entity
List<Identity> identities = discoInfo.getIdentities();
// Display the identities of the remote XMPP entity
for(Identity identity : identities) {
System.out.println(identity.getName());
System.out.println(identity.getType());
System.out.println(identity.getCategory());
}
// Check if component supports rest
if(discoInfo.containsFeature(XwadlIQ.NAMESPACE))
System.out.println("XWADL is supported");
else
throw new SmackException("XWADL is not supported");
if(discoInfo.containsFeature(RestIQ.NAMESPACE))
System.out.println("REST is supported");
else
throw new SmackException("REST is not supported");
}
示例8: discoverItemsByFeature
import org.jivesoftware.smackx.disco.ServiceDiscoveryManager; //导入依赖的package包/类
private List<String> discoverItemsByFeature(XmppURI uri, List<String> features) throws XMPPException, IOException, SmackException {
// discover items
ServiceDiscoveryManager discoveryManager = ServiceDiscoveryManager.getInstanceFor(this.connectionManager.getConnection());
DiscoverItems discoverItems = discoveryManager.discoverItems(uri.getDomain());
List<DiscoverItems.Item> items = discoverItems.getItems();
List<String> result = new ArrayList<>();
// discover infos per item and check if specified feature set is supported
for (DiscoverItems.Item item : items) {
DiscoverInfo discoverInfo = discoveryManager.discoverInfo(item.getEntityID());
boolean conatinsAllFeatures = true;
for (String feature : features) {
if (!discoverInfo.containsFeature(feature)) {
conatinsAllFeatures = false;
break;
}
}
if (conatinsAllFeatures) {
result.add(item.getEntityID());
} else if (logger.isDebugEnabled()) {
logger.debug("Entity {} does not support the specified features.", item.getEntityID());
}
}
return result;
}
示例9: initServiceDiscovery
import org.jivesoftware.smackx.disco.ServiceDiscoveryManager; //导入依赖的package包/类
private void initServiceDiscovery() {
debug(TAG, "init service discovery");
// register connection features
ServiceDiscoveryManager sdm = ServiceDiscoveryManager.getInstanceFor(mConnection);
if (!sdm.includesFeature(DISCO_FEATURE))
sdm.addFeature(DISCO_FEATURE);
if (!sdm.includesFeature(DeliveryReceipt.NAMESPACE))
sdm.addFeature(DeliveryReceipt.NAMESPACE);
sdm.addFeature(HttpFileUploadManager.NAMESPACE);
DeliveryReceiptManager.getInstanceFor(mConnection).dontAutoAddDeliveryReceiptRequests();
DeliveryReceiptManager.getInstanceFor(mConnection).setAutoReceiptMode(DeliveryReceiptManager.AutoReceiptMode.disabled);
}
示例10: setPrivacyList
import org.jivesoftware.smackx.disco.ServiceDiscoveryManager; //导入依赖的package包/类
private final void setPrivacyList(XMPPConnection connection) throws NoResponseException,
XMPPErrorException, NotConnectedException, InterruptedException {
List<PrivacyItem> list = new ArrayList<PrivacyItem>(PRIVACY_LIST.size() + 10);
list.addAll(PRIVACY_LIST);
// Whitelist all JIDs of the own service, e.g. conference.service.com, proxy.service.com
for (Item i : ServiceDiscoveryManager.getInstanceFor(connection)
.discoverItems(connection.getServiceName()).getItems()) {
PrivacyItem allow = new PrivacyItem(Type.jid, i.getEntityID(), true, list.size() + 1);
list.add(allow);
}
// This is an ugly workaround for XMPP servers that apply privacy lists also to stanzas
// originating from themselves. For example http://issues.igniterealtime.org/browse/OF-724
// Because there are such services in the wild and XEP-0016 is not clear on that topic, we
// explicitly have to add a JID rule that allows stanzas from the service
PrivacyItem allowService = new PrivacyItem(Type.jid, connection.getServiceName(), true,
list.size() + 1);
list.add(allowService);
mPrivacyListManager.createPrivacyList(PRIVACY_LIST_NAME, list);
mPrivacyListManager.setDefaultListName(PRIVACY_LIST_NAME);
}
示例11: perform
import org.jivesoftware.smackx.disco.ServiceDiscoveryManager; //导入依赖的package包/类
@Override
public SampleResult perform(JMeterXMPPSampler sampler, SampleResult res) throws Exception {
String entID = sampler.getPropertyAsString(ENTITY_ID);
res.setSamplerData("Entity ID: " + entID);
ServiceDiscoveryManager discoMgr = ServiceDiscoveryManager.getInstanceFor(sampler.getXMPPConnection());
IQ info;
if (Type.valueOf(sampler.getPropertyAsString(TYPE)) == Type.info) {
info = discoMgr.discoverInfo(entID);
} else {
info = discoMgr.discoverItems(entID);
}
res.setResponseData(info.toXML().toString().getBytes());
return res;
}
示例12: DisplayedManager
import org.jivesoftware.smackx.disco.ServiceDiscoveryManager; //导入依赖的package包/类
private DisplayedManager(XMPPConnection connection) {
super(connection);
ServiceDiscoveryManager sdm = ServiceDiscoveryManager.getInstanceFor(connection);
sdm.addFeature(Displayed.NAMESPACE);
connection.addAsyncStanzaListener(packet -> {
Displayed receipt = Displayed.from((Message) packet);
for (ReceiptReceivedListener listener : receiptReceivedListeners) {
listener.onReceiptReceived(packet.getFrom(), packet.getTo(), receipt.getId(), packet);
}
}, MESSAGES_WITH_DISPLAYED);
}
示例13: ReceivedManager
import org.jivesoftware.smackx.disco.ServiceDiscoveryManager; //导入依赖的package包/类
private ReceivedManager(XMPPConnection connection) {
super(connection);
ServiceDiscoveryManager sdm = ServiceDiscoveryManager.getInstanceFor(connection);
sdm.addFeature(Received.NAMESPACE);
connection.addAsyncStanzaListener(packet -> {
Received receipt = Received.from((Message) packet);
for (ReceiptReceivedListener listener : receiptReceivedListeners) {
listener.onReceiptReceived(packet.getFrom(), packet.getTo(), receipt.getId(), packet);
}
}, MESSAGES_WITH_RECEIVED);
}
示例14: DeliveredReceiptManager
import org.jivesoftware.smackx.disco.ServiceDiscoveryManager; //导入依赖的package包/类
private DeliveredReceiptManager(XMPPConnection connection) {
super(connection);
ServiceDiscoveryManager sdm = ServiceDiscoveryManager.getInstanceFor(connection);
sdm.addFeature(DeliveredReceipt.NAMESPACE);
connection.addAsyncStanzaListener(packet -> {
DeliveredReceipt receipt = DeliveredReceipt.from((Message) packet);
for (ReceiptReceivedListener listener : receiptReceivedListeners) {
listener.onReceiptReceived(packet.getFrom(), packet.getTo(), receipt.getId(), packet);
}
}, MESSAGES_WITH_DELIVERED_RECEIPT);
}
示例15: ReadReceiptManager
import org.jivesoftware.smackx.disco.ServiceDiscoveryManager; //导入依赖的package包/类
private ReadReceiptManager(XMPPConnection connection) {
super(connection);
ServiceDiscoveryManager sdm = ServiceDiscoveryManager.getInstanceFor(connection);
sdm.addFeature(ReadReceipt.NAMESPACE);
connection.addAsyncStanzaListener(packet -> {
ReadReceipt receipt = ReadReceipt.from((Message) packet);
for (ReceiptReceivedListener listener : receiptReceivedListeners) {
listener.onReceiptReceived(packet.getFrom(), packet.getTo(), receipt.getId(), packet);
}
}, MESSAGES_WITH_READ_RECEIPT);
}