/** * 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()); }