gloox  0.9.9.12
disconodehandler.h
1 /*
2  Copyright (c) 2004-2008 by Jakob Schroeter <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 DISCONODEHANDLER_H__
16 #define DISCONODEHANDLER_H__
17 
18 #include "gloox.h"
19 
20 #include <list>
21 #include <map>
22 #include <string>
23 
24 namespace gloox
25 {
26 
31  {
32  DiscoNodeItem() {}
33  DiscoNodeItem( const std::string& _node,
34  const std::string& _jid,
35  const std::string& _name )
36  : node( _node ), jid( _jid ), name( _name ) {}
37  std::string node;
38  std::string jid;
39  std::string name;
40  };
41 
45  typedef std::list<DiscoNodeItem> DiscoNodeItemList;
46 
54  class GLOOX_API DiscoNodeHandler
55  {
56  public:
60  virtual ~DiscoNodeHandler() {}
61 
69  virtual StringList handleDiscoNodeFeatures( const std::string& node ) = 0;
70 
81  virtual StringMap handleDiscoNodeIdentities( const std::string& node, std::string& name ) = 0;
82 
91  virtual DiscoNodeItemList handleDiscoNodeItems( const std::string& node = "" ) = 0;
92 
93  };
94 
95 }
96 
97 #endif // DISCONODEHANDLER_H__