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;