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 
15 #ifndef PRESENCEHANDLER_H__
16 #define PRESENCEHANDLER_H__
17 
18 #include "presence.h"
19 
20 namespace gloox
21 {
22 
23   /**
24    * @brief A virtual interface which can be reimplemented to receive presence stanzas.
25    *
26    * Derived classes can be registered as PresenceHandlers with the Client.
27    * Upon an incoming Presence packet @ref handlePresence() will be called.
28    * @author Jakob Schröter <js@camaya.net>
29    */
30   class GLOOX_API PresenceHandler
31   {
32     public:
33       /**
34        * Virtual Destructor.
35        */
~PresenceHandler()36       virtual ~PresenceHandler() {}
37 
38       /**
39        * Reimplement this function if you want to be updated on
40        * incoming presence notifications.
41        * @param presence The complete stanza.
42        * @since 1.0
43        */
44       virtual void handlePresence( const Presence& presence ) = 0;
45 
46   };
47 
48 }
49 
50 #endif // PRESENCEHANDLER_H__
51