1 /* 2 Copyright (c) 2004-2019 by Jakob Schröter <js@camaya.net> 3 This file is part of the gloox library. http://camaya.net/gloox 4 5 This software is distributed under a license. The full license 6 agreement can be found in the file LICENSE in this distribution. 7 This software may not be copied, modified, sold or distributed 8 other than expressed in the named license agreement. 9 10 This software is distributed without any warranty. 11 */ 12 13 14 #ifndef SUBSCRIPTIONHANDLER_H__ 15 #define SUBSCRIPTIONHANDLER_H__ 16 17 #include "subscription.h" 18 19 namespace gloox 20 { 21 22 /** 23 * @brief A virtual interface which can be reimplemented to receive incoming subscription stanzas. 24 * 25 * Derived classes can be registered as SubscriptionHandlers with the Client. 26 * Upon an incoming Subscription packet @ref handleSubscription() will be called. 27 * @author Jakob Schröter <js@camaya.net> 28 */ 29 class GLOOX_API SubscriptionHandler 30 { 31 public: 32 /** 33 * Virtual destructor. 34 */ ~SubscriptionHandler()35 virtual ~SubscriptionHandler() {} 36 37 /** 38 * Reimplement this function if you want to be notified about incoming 39 * subscriptions/subscription requests. 40 * @param subscription The complete Subscription stanza. 41 * @since 1.0 42 */ 43 virtual void handleSubscription( const Subscription& subscription ) = 0; 44 45 }; 46 47 } 48 49 #endif // SUBSCRIPTIONHANDLER_H__ 50