From 8abecd52c3d6e864212b2b405fe4e5f6adf96a11 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Vitaliy=20Cherepanov/SRR-AI=20Tools=20Lab/=2E/=EC=82=BC?= =?utf8?q?=EC=84=B1=EC=A0=84=EC=9E=90?= Date: Wed, 23 May 2018 02:02:24 +0300 Subject: [PATCH] nnc: plugin common lib (Plugin params) (#234) This library will be used by plugins and nnc for communication. Implemented: - Plugin params. Will be used to declare plugin neccessary configuration parameters. Signed-off-by: Vitaliy Cherepanov --- contrib/nnc/libs/plugin/include/PluginParam.h | 39 +++++++++++++++++++++++++++ contrib/nnc/libs/plugin/src/PluginParam.cpp | 36 +++++++++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 contrib/nnc/libs/plugin/include/PluginParam.h create mode 100644 contrib/nnc/libs/plugin/src/PluginParam.cpp diff --git a/contrib/nnc/libs/plugin/include/PluginParam.h b/contrib/nnc/libs/plugin/include/PluginParam.h new file mode 100644 index 0000000..0923ab7 --- /dev/null +++ b/contrib/nnc/libs/plugin/include/PluginParam.h @@ -0,0 +1,39 @@ +// +// Created by v.cherepanov@samsung.com on 09.04.18. +// + +#ifndef __PLUGIN_PARAM_H__ +#define __PLUGIN_PARAM_H__ + +#include + +namespace nncc +{ +namespace contrib +{ +namespace config +{ + +class PluginParam +{ +public: + PluginParam() = delete; + PluginParam(const std::string &name, const std::string &desc, bool isOptional); + + const std::string & getName() const; + const std::string & getDesc() const; + bool isOptional(); + +protected: + std::string _name; + std::string _desc; + bool _isOptional; +}; + +std::ostream &operator<<(std::ostream &os, const PluginParam ¶m); + +} // namespace config +} // namespace contrib +} // namespace nncc + +#endif // __PLUGIN_PARAM_H__ diff --git a/contrib/nnc/libs/plugin/src/PluginParam.cpp b/contrib/nnc/libs/plugin/src/PluginParam.cpp new file mode 100644 index 0000000..f862142 --- /dev/null +++ b/contrib/nnc/libs/plugin/src/PluginParam.cpp @@ -0,0 +1,36 @@ +// +// Created by v.cherepanov@samsung.com on 09.04.18. +// + +#include +#include + +#include "PluginParam.h" + +namespace nncc +{ +namespace contrib +{ +namespace config +{ + +PluginParam::PluginParam(const std::string &name, const std::string &desc, bool isOptional) + : _name(name), _desc(desc), _isOptional(isOptional) +{ +} + +const std::string & PluginParam::getName() const { return _name; } + +const std::string & PluginParam::getDesc() const { return _desc; } + +bool PluginParam::isOptional() { return _isOptional; } + +std::ostream &operator<<(std::ostream &os, const PluginParam ¶m) +{ + os << param.getName() << " " << param.getDesc(); + return os; +} + +} // namespace config +} // namespace contrib +} // namespace nncc -- 2.7.4