This repository has been archived by the owner. It is now read-only.
Permalink
Browse files

#5617 Revert "Remove plugin interface from Arch"

This reverts commit 4613edc.
  • Loading branch information...
nlyan committed Sep 27, 2016
1 parent c388966 commit 79fc6239fd82b9c17562dbb6f2ce948afa978efa
Showing with 24 additions and 0 deletions.
  1. +4 −0 src/lib/arch/Arch.h
  2. +14 −0 src/lib/arch/IArchFile.h
  3. +3 −0 src/lib/arch/unix/ArchFileUnix.h
  4. +3 −0 src/lib/arch/win32/ArchFileWindows.h
View
@@ -50,6 +50,7 @@
# include "arch/win32/ArchSystemWindows.h"
# include "arch/win32/ArchTaskBarWindows.h"
# include "arch/win32/ArchTimeWindows.h"
+# include "arch/win32/ArchPluginWindows.h"
# include "arch/win32/ArchInternetWindows.h"
#elif SYSAPI_UNIX
# include "arch/unix/ArchConsoleUnix.h"
@@ -65,6 +66,7 @@
# include "arch/unix/ArchSystemUnix.h"
# include "arch/unix/ArchTaskBarXWindows.h"
# include "arch/unix/ArchTimeUnix.h"
+# include "arch/unix/ArchPluginUnix.h"
# include "arch/unix/ArchInternetUnix.h"
#endif
@@ -120,10 +122,12 @@ class Arch : public ARCH_CONSOLE,
static void setInstance(Arch* s) { s_instance = s; }
+ ARCH_PLUGIN& plugin() const { return (ARCH_PLUGIN&)m_plugin; }
ARCH_INTERNET& internet() const { return (ARCH_INTERNET&)m_internet; }
private:
static Arch* s_instance;
+ ARCH_PLUGIN m_plugin;
ARCH_INTERNET m_internet;
};
View
@@ -63,6 +63,13 @@ class IArchFile : public IInterface {
*/
virtual std::string getLogDirectory() = 0;
+ //! Get plugins directory
+ /*!
+ Returns the plugin files directory. If no plugin directory is set,
+ this will return the plugin folder within the user's profile.
+ */
+ virtual std::string getPluginDirectory() = 0;
+
//! Get user's profile directory
/*!
Returns the user's profile directory. If no profile directory is set,
@@ -88,4 +95,11 @@ class IArchFile : public IInterface {
Returns the user's profile directory.
*/
virtual void setProfileDirectory(const String& s) = 0;
+
+ //@}
+ //! Set the user's plugin directory
+ /*
+ Returns the user's plugin directory.
+ */
+ virtual void setPluginDirectory(const String& s) = 0;
};
@@ -34,11 +34,14 @@ class ArchFileUnix : public IArchFile {
virtual std::string getSystemDirectory();
virtual std::string getInstalledDirectory();
virtual std::string getLogDirectory();
+ virtual std::string getPluginDirectory();
virtual std::string getProfileDirectory();
virtual std::string concatPath(const std::string& prefix,
const std::string& suffix);
virtual void setProfileDirectory(const String& s);
+ virtual void setPluginDirectory(const String& s);
private:
String m_profileDirectory;
+ String m_pluginDirectory;
};
@@ -34,11 +34,14 @@ class ArchFileWindows : public IArchFile {
virtual std::string getSystemDirectory();
virtual std::string getInstalledDirectory();
virtual std::string getLogDirectory();
+ virtual std::string getPluginDirectory();
virtual std::string getProfileDirectory();
virtual std::string concatPath(const std::string& prefix,
const std::string& suffix);
virtual void setProfileDirectory(const String& s);
+ virtual void setPluginDirectory(const String& s);
private:
String m_profileDirectory;
+ String m_pluginDirectory;
};

0 comments on commit 79fc623

Please sign in to comment.