import org.jivesoftware.smackx.pubsub.provider.PubSubProvider; //导入依赖的package包/类
/**
* Adds all IQProvider to the ProviderManager so receiving datapackages will be parsed correctly.
*/
public static void initializeProviderManager(){
/* These rows creates the provider manager that handles different extensions for XMPP
* basically this tells smack how to handle different XML objects.
*/
ProviderManager pm = ProviderManager.getInstance();
pm.addIQProvider("spaces", NamespaceConfig.SPACES_SERVICE, new SpacesProvider());
pm.addIQProvider("pubsub", NamespaceConfig.XMPP_PUBSUB, new PubSubProvider());
pm.addIQProvider("pubsub", NamespaceConfig.XMPP_PUBSUB + "#owner", new PubSubProvider());
pm.addExtensionProvider("subscription", NamespaceConfig.XMPP_PUBSUB, new SubscriptionProvider());
pm.addExtensionProvider("subscriptions", NamespaceConfig.XMPP_PUBSUB, new SubscriptionsProvider());
pm.addExtensionProvider("subscriptions", NamespaceConfig.XMPP_PUBSUB + "#owner", new SubscriptionsProvider());
pm.addExtensionProvider("affiliations", NamespaceConfig.XMPP_PUBSUB, new AffiliationsProvider());
pm.addExtensionProvider("affiliation", NamespaceConfig.XMPP_PUBSUB, new AffiliationProvider());
pm.addExtensionProvider("options", NamespaceConfig.XMPP_PUBSUB, new FormNodeProvider());
pm.addExtensionProvider("options", NamespaceConfig.XMPP_PUBSUB + "#event", new FormNodeProvider());
pm.addExtensionProvider("configure", NamespaceConfig.XMPP_PUBSUB + "#owner", new FormNodeProvider());
pm.addExtensionProvider("default", NamespaceConfig.XMPP_PUBSUB + "#owner", new FormNodeProvider());
pm.addExtensionProvider("event", NamespaceConfig.XMPP_PUBSUB + "#event", new EventProvider());
pm.addExtensionProvider("configuration", NamespaceConfig.XMPP_PUBSUB + "#event", new ConfigEventProvider());
pm.addExtensionProvider("delete", NamespaceConfig.XMPP_PUBSUB + "#event", new SimpleNodeProvider());
pm.addExtensionProvider("create", NamespaceConfig.XMPP_PUBSUB, new SimpleNodeProvider());
pm.addExtensionProvider("retract", NamespaceConfig.XMPP_PUBSUB + "#event", new RetractEventProvider());
pm.addExtensionProvider("purge", NamespaceConfig.XMPP_PUBSUB + "#event", new SimpleNodeProvider());
pm.addExtensionProvider("items", NamespaceConfig.XMPP_PUBSUB, new ItemsProvider());
pm.addExtensionProvider("items", NamespaceConfig.XMPP_PUBSUB + "#event", new ItemsProvider());
pm.addExtensionProvider("item", NamespaceConfig.XMPP_PUBSUB, new ItemProvider());
pm.addExtensionProvider("item", NamespaceConfig.XMPP_PUBSUB + "#event", new ItemProvider());
pm.addExtensionProvider("item", "", new ItemProvider());
pm.addExtensionProvider("headers", "http://jabber.org/protocol/shim", new HeadersProvider());
pm.addExtensionProvider("header", "http://jabber.org/protocol/shim", new HeaderProvider());
pm.addExtensionProvider("x", "jabber:x:data", new DataFormProvider());
pm.addIQProvider("query", "http://jabber.org/protocol/disco#items", new DiscoverItemsProvider());
pm.addIQProvider("query", "http://jabber.org/protocol/disco#info", new DiscoverInfoProvider());
pm.addIQProvider("query", NamespaceConfig.PERSISTENCE_SERVICE, new PersistenceServiceQueryProvider());
pm.addIQProvider("delete", NamespaceConfig.PERSISTENCE_SERVICE, new PersistenceServiceDeleteProvider());
}
请发表评论