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