Add Lad::Options 44/43744/1
authorAleksander Zdyb <a.zdyb@samsung.com>
Mon, 29 Jun 2015 15:13:41 +0000 (17:13 +0200)
committerAleksander Zdyb <a.zdyb@samsung.com>
Fri, 10 Jul 2015 12:50:28 +0000 (14:50 +0200)
Wrapper for optional build and functional dependencies.

Change-Id: Id851f8cd34bc5bb61ef7a986757521a1be39114b

src/Lad/Options.cpp [new file with mode: 0644]
src/Lad/Options.h [new file with mode: 0644]

diff --git a/src/Lad/Options.cpp b/src/Lad/Options.cpp
new file mode 100644 (file)
index 0000000..6b86033
--- /dev/null
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ *    Licensed under the Apache License, Version 2.0 (the "License");
+ *    you may not use this file except in compliance with the License.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+/**
+ * @file        src/Lad/Options.cpp
+ * @author      Aleksander Zdyb <a.zdyb@samsung.com>
+ * @version     1.0
+ */
+
+#if defined(WITH_SECURITY_MANAGER)
+#include <SecurityManager/DataProvider.h>
+#include <SecurityManager/SecurityManagerWrapper.h>
+#else
+#include <Lad/DummyDataProvider.h>
+#endif
+
+#if defined(WITH_JOURNALD)
+#include <Systemd/DataCollector.h>
+#else
+#include <Lad/SyslogDataCollector.h>
+#endif
+
+#include "Options.h"
+
+namespace Lad {
+
+namespace Options {
+
+namespace {
+
+#if defined(WITH_JOURNALD)
+    Systemd::DataCollector s_dataCollector;
+#else
+    Lad::SyslogDataCollector s_dataCollector;
+#endif
+
+#if defined(WITH_SECURITY_MANAGER)
+    SecurityManager::SecurityManagerWrapper s_smApi;
+    SecurityManager::DataProvider s_dataProvider(s_smApi);
+#else
+    Lad::DummyDataProvider s_dataProvider;
+#endif
+
+} /* namespace */
+
+
+DataCollector &dataCollector(void) {
+    return s_dataCollector;
+}
+
+DataProvider &dataProvider(void) {
+    return s_dataProvider;
+}
+
+} /* namespace Options */
+
+} /* namespace Lad */
diff --git a/src/Lad/Options.h b/src/Lad/Options.h
new file mode 100644 (file)
index 0000000..b801395
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ *    Licensed under the Apache License, Version 2.0 (the "License");
+ *    you may not use this file except in compliance with the License.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+/**
+ * @file        src/Lad/Options.h
+ * @author      Aleksander Zdyb <a.zdyb@samsung.com>
+ * @version     1.0
+ */
+
+#ifndef SRC_LAD_OPTIONS_H
+#define SRC_LAD_OPTIONS_H
+
+#include <Lad/DataCollector.h>
+#include <Lad/DataProvider.h>
+
+namespace Lad {
+
+namespace Options {
+
+DataCollector &dataCollector(void);
+DataProvider &dataProvider(void);
+
+} /* namespace Options */
+
+} /* namespace Lad */
+
+#endif /* SRC_LAD_OPTIONS_H */