From 7c657572195d9931759417afc8c968099b8570b8 Mon Sep 17 00:00:00 2001 From: Gunnar Beutner Date: Wed, 30 Jan 2013 09:08:48 +0100 Subject: [PATCH] Implement Utility::NewUUID(). Fixes #3589 --- lib/base/i2-base.h | 3 +++ lib/base/utility.cpp | 16 ++++++++++++++++ lib/base/utility.h | 2 ++ 3 files changed, 21 insertions(+) diff --git a/lib/base/i2-base.h b/lib/base/i2-base.h index 85f814864..d09df3c1d 100644 --- a/lib/base/i2-base.h +++ b/lib/base/i2-base.h @@ -131,6 +131,9 @@ using std::type_info; #include #include #include +#include +#include +#include using boost::shared_ptr; using boost::weak_ptr; diff --git a/lib/base/utility.cpp b/lib/base/utility.cpp index b4921fa68..66de8072d 100644 --- a/lib/base/utility.cpp +++ b/lib/base/utility.cpp @@ -373,3 +373,19 @@ Utility::LoadIcingaLibrary(const String& library, bool module) return hModule; } + +/** + * Generates a new UUID. + * + * @returns The new UUID in text form. + */ +String Utility::NewUUID(void) +{ + boost::uuids::uuid uuid = boost::uuids::random_generator()(); + + stringstream us; + us << uuid; + + return us.str(); +} + diff --git a/lib/base/utility.h b/lib/base/utility.h index 9ac16d023..0aa34f92c 100644 --- a/lib/base/utility.h +++ b/lib/base/utility.h @@ -53,6 +53,8 @@ public: static void Sleep(double timeout); + static String NewUUID(void); + static #ifdef _WIN32 HMODULE -- 2.40.0