Add abstract class for datastore access

Change-Id: Ib34ebd24ae639ddd3640e7f6636b236d3232236e
diff --git a/src/datastore_access.hpp b/src/datastore_access.hpp
new file mode 100644
index 0000000..c7a7ee7
--- /dev/null
+++ b/src/datastore_access.hpp
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2018 CESNET, https://photonics.cesnet.cz/
+ * Copyright (C) 2018 FIT CVUT, https://fit.cvut.cz/
+ *
+ * Written by Václav Kubernát <kubervac@fit.cvut.cz>
+ *
+*/
+
+#pragma once
+
+#include <string>
+#include "ast_values.hpp"
+
+/*! \class DatastoreAccess
+ *     \brief Abstract class for accessing a datastore
+ */
+
+
+class DatastoreAccess {
+public:
+    virtual ~DatastoreAccess() = 0;
+    virtual std::map<std::string, leaf_data_> getItems(const std::string& path) = 0;
+    virtual void setLeaf(const std::string& path, leaf_data_ value) = 0;
+    virtual void createPresenceContainer(const std::string& path) = 0;
+    virtual void deletePresenceContainer(const std::string& path) = 0;
+};