Hubiquitus Android  0.3
Android client for hubiquitus protocol
SmackConfigureProviderManager.java
Go to the documentation of this file.
00001 package org.hubiquitus.hapi.transport.xmpp;
00002 
00003 
00004 import org.jivesoftware.smack.provider.PrivacyProvider;
00005 import org.jivesoftware.smack.provider.ProviderManager;
00006 import org.jivesoftware.smackx.GroupChatInvitation;
00007 import org.jivesoftware.smackx.PrivateDataManager;
00008 import org.jivesoftware.smackx.packet.AttentionExtension;
00009 import org.jivesoftware.smackx.packet.ChatStateExtension;
00010 import org.jivesoftware.smackx.packet.LastActivity;
00011 import org.jivesoftware.smackx.packet.Nick;
00012 import org.jivesoftware.smackx.packet.OfflineMessageInfo;
00013 import org.jivesoftware.smackx.packet.OfflineMessageRequest;
00014 import org.jivesoftware.smackx.packet.SharedGroupsInfo;
00015 import org.jivesoftware.smackx.provider.DataFormProvider;
00016 import org.jivesoftware.smackx.provider.DelayInformationProvider;
00017 import org.jivesoftware.smackx.provider.DiscoverInfoProvider;
00018 import org.jivesoftware.smackx.provider.DiscoverItemsProvider;
00019 import org.jivesoftware.smackx.provider.HeaderProvider;
00020 import org.jivesoftware.smackx.provider.HeadersProvider;
00021 import org.jivesoftware.smackx.provider.MUCAdminProvider;
00022 import org.jivesoftware.smackx.provider.MUCOwnerProvider;
00023 import org.jivesoftware.smackx.provider.MUCUserProvider;
00024 import org.jivesoftware.smackx.provider.MessageEventProvider;
00025 import org.jivesoftware.smackx.provider.MultipleAddressesProvider;
00026 import org.jivesoftware.smackx.provider.RosterExchangeProvider;
00027 import org.jivesoftware.smackx.provider.StreamInitiationProvider;
00028 import org.jivesoftware.smackx.provider.VCardProvider;
00029 import org.jivesoftware.smackx.provider.XHTMLExtensionProvider;
00030 import org.jivesoftware.smackx.pubsub.provider.AffiliationProvider;
00031 import org.jivesoftware.smackx.pubsub.provider.AffiliationsProvider;
00032 import org.jivesoftware.smackx.pubsub.provider.ConfigEventProvider;
00033 import org.jivesoftware.smackx.pubsub.provider.EventProvider;
00034 import org.jivesoftware.smackx.pubsub.provider.FormNodeProvider;
00035 import org.jivesoftware.smackx.pubsub.provider.ItemProvider;
00036 import org.jivesoftware.smackx.pubsub.provider.ItemsProvider;
00037 import org.jivesoftware.smackx.pubsub.provider.PubSubProvider;
00038 import org.jivesoftware.smackx.pubsub.provider.RetractEventProvider;
00039 import org.jivesoftware.smackx.pubsub.provider.SimpleNodeProvider;
00040 import org.jivesoftware.smackx.pubsub.provider.SubscriptionProvider;
00041 import org.jivesoftware.smackx.pubsub.provider.SubscriptionsProvider;
00042 import org.jivesoftware.smackx.search.UserSearch;
00043 
00056 public class SmackConfigureProviderManager {
00057 
00058          public static void configureProviderManager() {
00059                   ProviderManager pm = ProviderManager.getInstance();
00060 
00061                   // The order is the same as in the smack.providers file
00062 
00063                   // Private Data Storage
00064                   pm.addIQProvider("query", "jabber:iq:private",
00065                                     new PrivateDataManager.PrivateDataIQProvider());
00066                   // Time
00067                   try {
00068                            pm.addIQProvider("query", "jabber:iq:time",
00069                                              Class.forName("org.jivesoftware.smackx.packet.Time"));
00070                   } catch (ClassNotFoundException e) {
00071                            System.err
00072                                              .println("Can't load class for org.jivesoftware.smackx.packet.Time");
00073                   }
00074 
00075                   // Roster Exchange
00076                   pm.addExtensionProvider("x", "jabber:x:roster",
00077                                     new RosterExchangeProvider());
00078                   // Message Events
00079                   pm.addExtensionProvider("x", "jabber:x:event",
00080                                     new MessageEventProvider());
00081                   // Chat State
00082                   pm.addExtensionProvider("active",
00083                                     "http://jabber.org/protocol/chatstates",
00084                                     new ChatStateExtension.Provider());
00085                   pm.addExtensionProvider("composing",
00086                                     "http://jabber.org/protocol/chatstates",
00087                                     new ChatStateExtension.Provider());
00088                   pm.addExtensionProvider("paused",
00089                                     "http://jabber.org/protocol/chatstates",
00090                                     new ChatStateExtension.Provider());
00091                   pm.addExtensionProvider("inactive",
00092                                     "http://jabber.org/protocol/chatstates",
00093                                     new ChatStateExtension.Provider());
00094                   pm.addExtensionProvider("gone",
00095                                     "http://jabber.org/protocol/chatstates",
00096                                     new ChatStateExtension.Provider());
00097 
00098                   // XHTML
00099                   pm.addExtensionProvider("html", "http://jabber.org/protocol/xhtml-im",
00100                                     new XHTMLExtensionProvider());
00101 
00102                   // Group Chat Invitations
00103                   pm.addExtensionProvider("x", "jabber:x:conference",
00104                                     new GroupChatInvitation.Provider());
00105                   // Service Discovery # Items
00106                   pm.addIQProvider("query", "http://jabber.org/protocol/disco#items",
00107                                     new DiscoverItemsProvider());
00108                   // Service Discovery # Info
00109                   pm.addIQProvider("query", "http://jabber.org/protocol/disco#info",
00110                                     new DiscoverInfoProvider());
00111                   // Data Forms
00112                   pm.addExtensionProvider("x", "jabber:x:data", new DataFormProvider());
00113                   // MUC User
00114                   pm.addExtensionProvider("x", "http://jabber.org/protocol/muc#user",
00115                                     new MUCUserProvider());
00116                   // MUC Admin
00117                   pm.addIQProvider("query", "http://jabber.org/protocol/muc#admin",
00118                                     new MUCAdminProvider());
00119                   // MUC Owner
00120                   pm.addIQProvider("query", "http://jabber.org/protocol/muc#owner",
00121                                     new MUCOwnerProvider());
00122                   // Delayed Delivery
00123                   pm.addExtensionProvider("x", "jabber:x:delay",
00124                                     new DelayInformationProvider());
00125                   pm.addExtensionProvider("delay", "urn:xmpp:delay",
00126                                     new DelayInformationProvider());
00127                   // Version
00128                   try {
00129                            pm.addIQProvider("query", "jabber:iq:version",
00130                                              Class.forName("org.jivesoftware.smackx.packet.Version"));
00131                   } catch (ClassNotFoundException e) {
00132                            System.err
00133                                              .println("Can't load class for org.jivesoftware.smackx.packet.Version");
00134                   }
00135                   // VCard
00136                   pm.addIQProvider("vCard", "vcard-temp", new VCardProvider());
00137                   // Offline Message Requests
00138                   pm.addIQProvider("offline", "http://jabber.org/protocol/offline",
00139                                     new OfflineMessageRequest.Provider());
00140                   // Offline Message Indicator
00141                   pm.addExtensionProvider("offline",
00142                                     "http://jabber.org/protocol/offline",
00143                                     new OfflineMessageInfo.Provider());
00144                   // Last Activity
00145                   pm.addIQProvider("query", "jabber:iq:last", new LastActivity.Provider());
00146                   // User Search
00147                   pm.addIQProvider("query", "jabber:iq:search", new UserSearch.Provider());
00148                   // SharedGroupsInfo
00149                   pm.addIQProvider("sharedgroup",
00150                                     "http://www.jivesoftware.org/protocol/sharedgroup",
00151                                     new SharedGroupsInfo.Provider());
00152 
00153                   // JEP-33: Extended Stanza Addressing
00154                   pm.addExtensionProvider("addresses",
00155                                     "http://jabber.org/protocol/address",
00156                                     new MultipleAddressesProvider());
00157 
00158                   // FileTransfer
00159                   pm.addIQProvider("si", "http://jabber.org/protocol/si",
00160                                     new StreamInitiationProvider());
00161                   // pm.addIQProvider("query","http://jabber.org/protocol/bytestreams",
00162                   // new BytestreamsProvider());
00163                   // pm.addIQProvider("open","http://jabber.org/protocol/ibb", new
00164                   // OpenIQProvider());
00165                   // pm.addIQProvider("data","http://jabber.org/protocol/ibb", new
00166                   // DataPacketProvider());
00167                   // pm.addIQProvider("close","http://jabber.org/protocol/ibb", new
00168                   // CloseIQProvider());
00169                   // pm.addExtensionProvider("data","http://jabber.org/protocol/ibb", new
00170                   // DataPacketProvider());
00171 
00172                   // Privacy
00173                   pm.addIQProvider("query", "jabber:iq:privacy", new PrivacyProvider());
00174 
00175                   // SHIM
00176                   pm.addExtensionProvider("headers", "http://jabber.org/protocol/shim",
00177                                     new HeadersProvider());
00178                   pm.addExtensionProvider("header", "http://jabber.org/protocol/shim",
00179                                     new HeaderProvider());
00180 
00181                   // PubSub
00182                   pm.addIQProvider("pubsub", "http://jabber.org/protocol/pubsub",
00183                                     new PubSubProvider());
00184                   pm.addExtensionProvider("create", "http://jabber.org/protocol/pubsub",
00185                                     new SimpleNodeProvider());
00186                   pm.addExtensionProvider("items", "http://jabber.org/protocol/pubsub",
00187                                     new ItemsProvider());
00188                   pm.addExtensionProvider("item", "http://jabber.org/protocol/pubsub",
00189                                     new ItemProvider());
00190                   pm.addExtensionProvider("subscriptions",
00191                                     "http://jabber.org/protocol/pubsub",
00192                                     new SubscriptionsProvider());
00193                   pm.addExtensionProvider("subscription",
00194                                     "http://jabber.org/protocol/pubsub", new SubscriptionProvider());
00195                   pm.addExtensionProvider("affiliations",
00196                                     "http://jabber.org/protocol/pubsub", new AffiliationsProvider());
00197                   pm.addExtensionProvider("affiliation",
00198                                     "http://jabber.org/protocol/pubsub", new AffiliationProvider());
00199                   pm.addExtensionProvider("options", "http://jabber.org/protocol/pubsub",
00200                                     new FormNodeProvider());
00201                   // PubSub owner
00202                   pm.addIQProvider("pubsub", "http://jabber.org/protocol/pubsub#owner",
00203                                     new PubSubProvider());
00204                   pm.addExtensionProvider("configure",
00205                                     "http://jabber.org/protocol/pubsub#owner",
00206                                     new FormNodeProvider());
00207                   pm.addExtensionProvider("default",
00208                                     "http://jabber.org/protocol/pubsub#owner",
00209                                     new FormNodeProvider());
00210                   // PubSub event
00211                   pm.addExtensionProvider("event",
00212                                     "http://jabber.org/protocol/pubsub#event", new EventProvider());
00213                   pm.addExtensionProvider("configuration",
00214                                     "http://jabber.org/protocol/pubsub#event",
00215                                     new ConfigEventProvider());
00216                   pm.addExtensionProvider("delete",
00217                                     "http://jabber.org/protocol/pubsub#event",
00218                                     new SimpleNodeProvider());
00219                   pm.addExtensionProvider("options",
00220                                     "http://jabber.org/protocol/pubsub#event",
00221                                     new FormNodeProvider());
00222                   pm.addExtensionProvider("items",
00223                                     "http://jabber.org/protocol/pubsub#event", new ItemsProvider());
00224                   pm.addExtensionProvider("item",
00225                                     "http://jabber.org/protocol/pubsub#event", new ItemProvider());
00226                   pm.addExtensionProvider("retract",
00227                                     "http://jabber.org/protocol/pubsub#event",
00228                                     new RetractEventProvider());
00229                   pm.addExtensionProvider("purge",
00230                                     "http://jabber.org/protocol/pubsub#event",
00231                                     new SimpleNodeProvider());
00232 
00233                   // Nick Exchange
00234                   pm.addExtensionProvider("nick", "http://jabber.org/protocol/nick",
00235                                     new Nick.Provider());
00236 
00237                   // Attention
00238                   pm.addExtensionProvider("attention", "urn:xmpp:attention:0",
00239                                     new AttentionExtension.Provider());
00240                   
00241                   // Custom provider
00242                   pm.addExtensionProvider("hbody", "jabber:client", new HMessageXMPP.Provider());
00243                   
00244                   // Pubsub entry provider
00245                   pm.addExtensionProvider("entry", "http://jabber.org/protocol/pubsub", new HXMPPPubsubEntry.Provider());
00246          }
00247 }
00248 
 All Classes Namespaces Files Functions Variables