gloox  1.0.27
discohandler.h
1 /*
2  Copyright (c) 2004-2023 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 DISCOHANDLER_H__
15 #define DISCOHANDLER_H__
16 
17 #include "macros.h"
18 #include "disco.h"
19 
20 #include <string>
21 
22 namespace gloox
23 {
24 
25  class IQ;
26 
34  class GLOOX_API DiscoHandler
35  {
36  public:
40  virtual ~DiscoHandler() {}
41 
50  virtual void handleDiscoInfo( const JID& from, const Disco::Info& info, int context ) = 0;
51 
60  virtual void handleDiscoItems( const JID& from, const Disco::Items& items, int context ) = 0;
61 
69  virtual void handleDiscoError( const JID& from, const Error* error, int context ) = 0;
70 
77  virtual bool handleDiscoSet( const IQ& iq ) { (void)iq; return false; }
78 
79  };
80 
81 }
82 
83 #endif // DISCOHANDLER_H__
A virtual interface that enables objects to receive Service Discovery (XEP-0030) events.
Definition: discohandler.h:35
virtual ~DiscoHandler()
Definition: discohandler.h:40
virtual void handleDiscoItems(const JID &from, const Disco::Items &items, int context)=0
virtual bool handleDiscoSet(const IQ &iq)
Definition: discohandler.h:77
virtual void handleDiscoInfo(const JID &from, const Disco::Info &info, int context)=0
virtual void handleDiscoError(const JID &from, const Error *error, int context)=0
An abstraction of a Disco Info element (from Service Discovery, XEP-0030) as a StanzaExtension.
Definition: disco.h:66
An abstraction of a Disco query element (from Service Discovery, XEP-0030) in the disco::items namesp...
Definition: disco.h:276
A stanza error abstraction implemented as a StanzaExtension.
Definition: error.h:35
An abstraction of an IQ stanza.
Definition: iq.h:34
An abstraction of a JID.
Definition: jid.h:31
The namespace for the gloox library.
Definition: adhoc.cpp:28