00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef PUBSUBRESULTHANDLER_H__
00014 #define PUBSUBRESULTHANDLER_H__
00015
00016 #include "error.h"
00017 #include "jid.h"
00018 #include "macros.h"
00019 #include "pubsub.h"
00020 #include "tag.h"
00021
00022 #include <string>
00023 #include <list>
00024 #include <map>
00025
00026 namespace gloox
00027 {
00028
00029 class Tag;
00030 class Error;
00031 class DataForm;
00032
00033 namespace PubSub
00034 {
00049 class GLOOX_API ResultHandler
00050 {
00051 public:
00055 virtual ~ResultHandler() {}
00056
00064 virtual void handleItem( const JID& service,
00065 const std::string& node,
00066 const Tag* entry ) = 0;
00067
00079 virtual void handleItems( const std::string& id,
00080 const JID& service,
00081 const std::string& node,
00082 const ItemList& itemList,
00083 const Error* error = 0 ) = 0;
00084
00096 virtual void handleItemPublication( const std::string& id,
00097 const JID& service,
00098 const std::string& node,
00099 const ItemList& itemList,
00100 const Error* error = 0 ) = 0;
00101
00113 virtual void handleItemDeletion( const std::string& id,
00114 const JID& service,
00115 const std::string& node,
00116 const ItemList& itemList,
00117 const Error* error = 0 ) = 0;
00118
00133 virtual void handleSubscriptionResult( const std::string& id,
00134 const JID& service,
00135 const std::string& node,
00136 const std::string& sid,
00137 const JID& jid,
00138 const SubscriptionType subType,
00139 const Error* error = 0 ) = 0;
00140
00151 virtual void handleUnsubscriptionResult( const std::string& id,
00152 const JID& service,
00153 const Error* error = 0 ) = 0;
00154
00167 virtual void handleSubscriptionOptions( const std::string& id,
00168 const JID& service,
00169 const JID& jid,
00170 const std::string& node,
00171 const DataForm* options,
00172 const Error* error = 0 ) = 0;
00173
00185 virtual void handleSubscriptionOptionsResult( const std::string& id,
00186 const JID& service,
00187 const JID& jid,
00188 const std::string& node,
00189 const Error* error = 0 ) = 0;
00190
00191
00203 virtual void handleSubscribers( const std::string& id,
00204 const JID& service,
00205 const std::string& node,
00206 const SubscriberList* list,
00207 const Error* error = 0 ) = 0;
00208
00220 virtual void handleSubscribersResult( const std::string& id,
00221 const JID& service,
00222 const std::string& node,
00223 const SubscriberList* list,
00224 const Error* error = 0 ) = 0;
00225
00237 virtual void handleAffiliates( const std::string& id,
00238 const JID& service,
00239 const std::string& node,
00240 const AffiliateList* list,
00241 const Error* error = 0 ) = 0;
00242
00254 virtual void handleAffiliatesResult( const std::string& id,
00255 const JID& service,
00256 const std::string& node,
00257 const AffiliateList* list,
00258 const Error* error = 0 ) = 0;
00259
00260
00272 virtual void handleNodeConfig( const std::string& id,
00273 const JID& service,
00274 const std::string& node,
00275 const DataForm* config,
00276 const Error* error = 0 ) = 0;
00277
00288 virtual void handleNodeConfigResult( const std::string& id,
00289 const JID& service,
00290 const std::string& node,
00291 const Error* error = 0 ) = 0;
00292
00303 virtual void handleNodeCreation( const std::string& id,
00304 const JID& service,
00305 const std::string& node,
00306 const Error* error = 0 ) = 0;
00307
00318 virtual void handleNodeDeletion( const std::string& id,
00319 const JID& service,
00320 const std::string& node,
00321 const Error* error = 0 ) = 0;
00322
00323
00334 virtual void handleNodePurge( const std::string& id,
00335 const JID& service,
00336 const std::string& node,
00337 const Error* error = 0 ) = 0;
00338
00349 virtual void handleSubscriptions( const std::string& id,
00350 const JID& service,
00351 const SubscriptionMap& subMap,
00352 const Error* error = 0) = 0;
00353
00364 virtual void handleAffiliations( const std::string& id,
00365 const JID& service,
00366 const AffiliationMap& affMap,
00367 const Error* error = 0 ) = 0;
00368
00379 virtual void handleDefaultNodeConfig( const std::string& id,
00380 const JID& service,
00381 const DataForm* config,
00382 const Error* error = 0 ) = 0;
00383
00384 };
00385
00386 }
00387
00388 }
00389
00390 #endif // PUBSUBRESULTHANDLER_H__
00391