From 0915b3ef56dfac3113cce55a59a5765dc94976be Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 28 Apr 2024 14:34:54 +0200 Subject: Adding upstream version 2.13.6. Signed-off-by: Daniel Baumann --- lib/base/i2-base.hpp | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 lib/base/i2-base.hpp (limited to 'lib/base/i2-base.hpp') diff --git a/lib/base/i2-base.hpp b/lib/base/i2-base.hpp new file mode 100644 index 0000000..a7bfc6a --- /dev/null +++ b/lib/base/i2-base.hpp @@ -0,0 +1,79 @@ +/* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */ + +#ifndef I2BASE_H +#define I2BASE_H + +/** + * @mainpage Icinga Documentation + * + * Icinga implements a framework for run-time-loadable components which can + * pass messages between each other. These components can either be hosted in + * the same process or in several host processes (either on the same machine or + * on different machines). + * + * The framework's code critically depends on the following patterns: + * + * + * Smart pointers + * + * The shared_ptr and weak_ptr template classes are used to simplify memory + * management and to avoid accidental memory leaks and use-after-free + * bugs. + * + * Observer pattern + * + * Framework classes expose events which other objects can subscribe to. This + * is used to decouple clients of a class from the class' internal + * implementation. + * + */ + +/** + * @defgroup base Base class library + * + * The base class library implements commonly-used functionality like + * event handling for sockets and timers. + */ + +#include + +#if defined(__clang__) && __cplusplus >= 201103L +# undef BOOST_NO_CXX11_HDR_TUPLE +#endif + +#ifdef _MSC_VER +# pragma warning(disable:4251) +# pragma warning(disable:4275) +# pragma warning(disable:4345) +#endif /* _MSC_VER */ + +#include "config.h" + +#ifdef _WIN32 +# include "base/win32.hpp" +#else +# include "base/unix.hpp" +#endif + +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include + +#if defined(__APPLE__) && defined(__MACH__) +# pragma GCC diagnostic ignored "-Wdeprecated-declarations" +#endif + +#define BOOST_BIND_NO_PLACEHOLDERS + +#include + +#endif /* I2BASE_H */ -- cgit v1.2.3