/** * 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()); }
public static void configureProviderManager() { ProviderManager pm = ProviderManager.getInstance(); // Service Discovery # Items pm.addIQProvider("query","http://jabber.org/protocol/disco#items", new DiscoverItemsProvider()); // Service Discovery # Info pm.addIQProvider("query","http://jabber.org/protocol/disco#info", new DiscoverInfoProvider()); // Data Forms pm.addExtensionProvider("x","jabber:x:data", new DataFormProvider()); // XEP-0199 XMPP Ping pm.addIQProvider("ping", "urn:xmpp:ping", new PingProvider()); // XEP-0115 Entity Capabilities pm.addExtensionProvider("c", "http://jabber.org/protocol/caps", new CapsExtensionProvider()); }