gloox  1.0.27
linklocal.h
1 /*
2  Copyright (c) 2012-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 #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 ), iface( _interface ) {}
59 
60  public:
61  Flag flag;
62  std::string service;
63  std::string regtype;
64  std::string domain;
65  int iface;
66  };
67 
71  typedef std::list<Service> ServiceList;
72 
73  }
74 
75 }
76 
77 #endif // HAVE_MDNS
78 
79 #endif // LINKLOCAL_H__
An implementation of a link-local client.
This is a manager for server-less messaging (XEP-0174).
std::list< Service > ServiceList
Definition: linklocal.h:71
The namespace for the gloox library.
Definition: adhoc.cpp:28
An abstraction of the parameters of a single link-local service.
Definition: linklocal.h:53