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