Servus  1.6.0
C++ network oriented utilities including a zeroconf implementation
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
README.md
1 [TOC]
2 
3 # Introduction
4 
5 Servus is a small C++ network utility library that provides a zeroconf
6 API, URI parsing and UUIDs.
7 
8 Servus can be retrieved by cloning the
9 [source code](https://github.com/HBPVIS/servus). Please file a
10 [Bug Report](https://github.com/HBPVis/servus/issues) if you find any issues
11 with this release.
12 
13 ## Features
14 
15 Servus provides classes for:
16 
17 * 128 bit UUIDs
18 * An URI class to parse strings using generic syntax from
19  [RFC3986](https://www.ietf.org/rfc/rfc3986.txt)
20 * Zeroconf announcement and browsing using Avahi or DNSSD
21 * Detailed @ref Changelog
22 
23 # Building
24 
25 Servus is a cross-platform library, the only mandatory dependency is a C++11
26 compiler. Zeroconf will be available in those platforms were either Avahi or
27 DNSSD are available, otherwise an empty dummy backend is used. Servus uses CMake
28 to provide a platform-independent build configuration. The following platforms
29 and build environments have been tested:
30 
31 * Linux: Ubuntu 16.04, RHEL 6.8 (Makefile, Ninja)
32 * Windows: 7 (Visual Studio 2012)
33 * Mac OS X: 10.9 (Makefile, Ninja)
34 
35 The following external, pre-installed optional dependencies are used:
36 
37 * Boost.Test to build unit tests
38 * Avahi (avahi-client) or DNSSD (Apple Bonjour) for zeroconf
39 * Qt5 Core for servus::qt::ItemModel
40 * Qt5 Widgets for servusBrowser tool
41 
42 Building from source is as simple as:
43 
44  git clone https://github.com/HBPVIS/Servus.git --recursive
45  mkdir Servus/build
46  cd Servus/build
47  cmake -GNinja ..
48  ninja