nnc: create AbstractSession class
This class will be used for plugin and nnc communication
Signed-off-by: Vitaliy Cherepanov <v.cherepanov@samsung.com>
--- /dev/null
+#ifndef __ABSTRACT_SESSION_H__
+#define __ABSTRACT_SESSION_H__
+
+#include <string>
+#include "PluginParam.h"
+#include "PluginType.h"
+
+namespace nncc
+{
+namespace contrib
+{
+namespace config
+{
+
+class AbstractSession
+{
+public:
+ AbstractSession() = default;
+
+ virtual void addInfo(const std::string &name, const std::string &value) = 0;
+ virtual void registerParam(const PluginParam ¶m) = 0;
+
+ plugin::PluginType getPluginType();
+ void setPluginType(plugin::PluginType pluginType);
+
+private:
+ plugin::PluginType _pluginType;
+};
+
+} // namespace config
+} // namespace contrib
+} // namespace nncc
+
+#endif // __ABSTRACT_SESSION_H__
--- /dev/null
+#include "AbstractSession.h"
+#include "PluginType.h"
+
+namespace nncc
+{
+namespace contrib
+{
+namespace config
+{
+
+plugin::PluginType AbstractSession::getPluginType() { return _pluginType; }
+
+void AbstractSession::setPluginType(plugin::PluginType pluginType) { _pluginType = pluginType; }
+
+} // namespace config
+} // namespace contrib
+} // namespace nncc