Add copy command

Change-Id: I0a88f7fa9a096022dd95e8af8854f980ca34f043
diff --git a/src/sysrepo_access.cpp b/src/sysrepo_access.cpp
index b681893..2d1a1b4 100644
--- a/src/sysrepo_access.cpp
+++ b/src/sysrepo_access.cpp
@@ -267,6 +267,25 @@
     return res;
 }
 
+sr_datastore_t toSrDatastore(Datastore datastore)
+{
+    switch (datastore) {
+    case Datastore::Running:
+        return SR_DS_RUNNING;
+    case Datastore::Startup:
+        return SR_DS_STARTUP;
+    }
+    __builtin_unreachable();
+}
+
+void SysrepoAccess::copyConfig(const Datastore source, const Datastore destination)
+{
+    m_session->copy_config(nullptr, toSrDatastore(source), toSrDatastore(destination));
+    if (destination == Datastore::Running) {
+        m_session->refresh();
+    }
+}
+
 std::string SysrepoAccess::fetchSchema(const char* module, const char* revision, const char* submodule)
 {
     std::string schema;