00001 #ifndef ProgramPathsH
00002 #define ProgramPathsH
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00039
00040
00041 #include "CoreMainHeader.h"
00042 #include "SmallString.h"
00043
00044
00045
00046 class CExtUUID;
00047 class CUUID;
00048
00049
00050
00052
00055 class NEMESIS_CORE_PACKAGE CProgramPaths{
00056 public:
00057
00058 bool __fastcall Init(void);
00059
00060 public:
00061
00062 static const CSmallString& __fastcall GetMainPackageKey(void);
00063 static const CSmallString __fastcall GetNemesisKey(void);
00064 static const CSmallString __fastcall GetDefaultUserRegistrySetupKey(void);
00065 static const CSmallString __fastcall GetPluginsKey(void);
00066 static const CSmallString __fastcall GetLanguagesKey(void);
00067 static const CSmallString __fastcall GetCharonClientSetupKey(void);
00068 static const CSmallString __fastcall GetWorkPanelSetupsKey(const CExtUUID& type);
00069 static const CSmallString __fastcall GetProjectsDesktopKey(const CUUID& type);
00070 static const CSmallString __fastcall CreateTemporaryDir(void);
00071
00072
00073 inline const CSmallString& __fastcall GetProgramPath(void) const;
00074 inline const CSmallString& __fastcall GetUserPrefsPath(void) const;
00075 inline const CSmallString& __fastcall GetLocalPrefsPath(void) const;
00076 inline const CSmallString& __fastcall GetPluginsPath(void) const;
00077 inline const CSmallString& __fastcall GetSetupSchemePath(void) const;
00078
00079 inline const CSmallString& __fastcall GetLastOpenFilePath(void) const;
00080 inline void __fastcall SetLastOpenFilePath(const CSmallString& path);
00081
00082
00083 private:
00084 CSmallString ProgramPath;
00085 CSmallString UserPrefsPath;
00086 CSmallString LocalPrefsPath;
00087 CSmallString LastOpenFilePath;
00088 CSmallString PluginsPath;
00089 CSmallString SetupSchemesPath;
00090 static CSmallString MainPackageKey;
00091 };
00092
00093
00094
00095 extern NEMESIS_CORE_PACKAGE class CProgramPaths Paths;
00096
00097
00098
00099 inline const CSmallString& __fastcall CProgramPaths::GetProgramPath(void) const
00100 {
00101 return(ProgramPath);
00102 }
00103
00104
00105
00106 inline const CSmallString& __fastcall CProgramPaths::GetUserPrefsPath(void) const
00107 {
00108 return(UserPrefsPath);
00109 }
00110
00111
00112
00113 inline const CSmallString& __fastcall CProgramPaths::GetLocalPrefsPath(void) const
00114 {
00115 return(LocalPrefsPath);
00116 }
00117
00118
00119
00120 inline const CSmallString& __fastcall CProgramPaths::GetLastOpenFilePath(void) const
00121 {
00122 return(LastOpenFilePath);
00123 }
00124
00125
00126
00127 inline void __fastcall CProgramPaths::SetLastOpenFilePath(const CSmallString& path)
00128 {
00129 LastOpenFilePath = path;
00130 }
00131
00132
00133
00134 inline const CSmallString& __fastcall CProgramPaths::GetPluginsPath(void) const
00135 {
00136 return(PluginsPath);
00137 }
00138
00139
00140
00141 inline const CSmallString& __fastcall CProgramPaths::GetSetupSchemePath(void) const
00142 {
00143 return(SetupSchemesPath);
00144 }
00145
00146
00147
00148 #endif