gloox
1.0
|
00001 /* 00002 Copyright (c) 2007-2009 by Jakob Schroeter <js@camaya.net> 00003 This file is part of the gloox library. http://camaya.net/gloox 00004 00005 This software is distributed under a license. The full license 00006 agreement can be found in the file LICENSE in this distribution. 00007 This software may not be copied, modified, sold or distributed 00008 other than expressed in the named license agreement. 00009 00010 This software is distributed without any warranty. 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