gloox  1.0.1
linklocal.h
1 /*
2  * Copyright (c) 2012 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 #ifndef LINKLOCAL_H__
14 #define LINKLOCAL_H__
15 
16 #include "config.h"
17 
18 #ifdef HAVE_MDNS
19 
20 #include <string>
21 #include <list>
22 
23 namespace gloox
24 {
25 
32  namespace LinkLocal
33  {
34 
35  class Client;
36 
40  enum Flag
41  {
44  };
45 
52  struct Service
53  {
54  friend class Manager;
55 
56  private:
57  Service( Flag _flag, const std::string& _service, const std::string& _regtype, const std::string& _domain, int _interface )
58  : flag( _flag ), service( _service ), regtype( _regtype ), domain( _domain ), interface( _interface ) {}
59 
60  public:
61  Flag flag;
62  std::string service;
63  std::string regtype;
64  std::string domain;
65  int interface;
66  };
67 
71  typedef std::list<Service> ServiceList;
72 
73  }
74 
75 }
76 
77 #endif // HAVE_MDNS
78 
79 #endif // LINKLOCAL_H__