Skip to content

HBPVIS/Servus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Stefan Eilemann
Dec 8, 2022
1f3514e · Dec 8, 2022
Mar 20, 2019
Mar 22, 2017
Mar 20, 2019
Dec 8, 2022
Apr 13, 2018
Mar 22, 2017
Sep 1, 2017
May 26, 2017
Nov 22, 2016
May 21, 2015
May 21, 2015
Oct 11, 2017
May 27, 2015
Mar 7, 2019

Repository files navigation

[TOC]

Introduction

Servus is a small C++ network utility library that provides a zeroconf API, URI parsing and UUIDs.

Servus can be retrieved by cloning the source code. Please file a Bug Report if you find any issues with this release.

Features

Servus provides classes for:

  • 128 bit UUIDs
  • An URI class to parse strings using generic syntax from RFC3986
  • Zeroconf announcement and browsing using Avahi or DNSSD
  • Detailed @ref Changelog

Building

Servus is a cross-platform library, the only mandatory dependency is a C++11 compiler. Zeroconf will be available in those platforms were either Avahi or DNSSD are available, otherwise an empty dummy backend is used. Servus uses CMake to provide a platform-independent build configuration. The following platforms and build environments have been tested:

  • Linux: Ubuntu 16.04, RHEL 6.8 (Makefile, Ninja)
  • Windows: 7 (Visual Studio 2012)
  • Mac OS X: 10.9 (Makefile, Ninja)

The following external, pre-installed optional dependencies are used:

  • Boost.Test to build unit tests
  • Avahi (avahi-client) or DNSSD (Apple Bonjour) for zeroconf
  • Qt5 Core for servus::qt::ItemModel
  • Qt5 Widgets for servusBrowser tool

Building from source is as simple as:

git clone https://github.com/HBPVIS/Servus.git --recursive
mkdir Servus/build
cd Servus/build
cmake -GNinja ..
ninja