From 6342afa3fb79e8ec450e8e1c767912953eb3e4ed Mon Sep 17 00:00:00 2001
From: atraczyk <andreastraczyk@gmail.com>
Date: Wed, 17 Aug 2016 11:02:21 -0400
Subject: [PATCH] Add UWP path get/set

- adds UWP app path get and set to manager class

Change-Id: I50b825f11a0581f0f2659389a08a85d0b8e778b8
---
 src/manager.cpp | 18 ++++++++++++++++++
 src/manager.h   | 15 +++++++++++++++
 2 files changed, 33 insertions(+)

diff --git a/src/manager.cpp b/src/manager.cpp
index 18854cd017..2ce0c670f8 100644
--- a/src/manager.cpp
+++ b/src/manager.cpp
@@ -1970,7 +1970,13 @@ std::string
 Manager::retrieveConfigPath() const
 {
     static const char * const PROGNAME = "dring";
+#ifdef WIN32_NATIVE
+    return UWPAppPath_ +
+        DIR_SEPARATOR_STR + std::string(".config") +
+        DIR_SEPARATOR_STR + PROGNAME + ".yml";
+#else
     return fileutils::get_config_dir() + DIR_SEPARATOR_STR + PROGNAME + ".yml";
+#endif
 }
 
 /**
@@ -2568,6 +2574,18 @@ Manager::loadAccountOrder() const
     return split_string(preferences.getAccountOrder(), '/');
 }
 
+void
+Manager::setUWPAppPath(const char* app_path)
+{
+    UWPAppPath_ = std::string(app_path);
+}
+
+std::string
+Manager::getUWPAppPath() const
+{
+    return UWPAppPath_;
+}
+
 void
 Manager::loadAccount(const YAML::Node &node, int &errorCount,
                          const std::string &accountOrder)
diff --git a/src/manager.h b/src/manager.h
index 886718480f..847821d5af 100644
--- a/src/manager.h
+++ b/src/manager.h
@@ -769,6 +769,16 @@ class Manager {
          */
         std::vector<std::string> loadAccountOrder() const;
 
+        /**
+        * @param app_path The Universal Windows Application path
+        */
+        void setUWPAppPath(const char* app_path);
+
+        /**
+        * @return std::string The Universal Windows Application path
+        */
+        std::string getUWPAppPath() const;
+
     private:
         std::atomic_bool autoAnswer_ {false};
 
@@ -865,6 +875,11 @@ class Manager {
          */
         std::string path_;
 
+        /**
+        * Universal Windows Platform Application path
+        */
+        std::string UWPAppPath_;
+
         /**
          * Load the account map from configuration
          */
-- 
GitLab