Skip to content

Commit

Permalink
#5617 Revert "Remove plugin interface from Arch"
Browse files Browse the repository at this point in the history
This reverts commit 4613edc.
  • Loading branch information
SymlessRemoved authored and Andrew Nelless committed Sep 29, 2016
1 parent 23e5b61 commit dd6209f
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 0 deletions.
4 changes: 4 additions & 0 deletions src/lib/arch/Arch.h
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -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

Expand Down Expand Up @@ -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;
};

Expand Down
14 changes: 14 additions & 0 deletions src/lib/arch/IArchFile.h
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -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;
};
3 changes: 3 additions & 0 deletions src/lib/arch/unix/ArchFileUnix.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
};
3 changes: 3 additions & 0 deletions src/lib/arch/win32/ArchFileWindows.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 dd6209f

Please sign in to comment.