VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
appPathResolver.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2020 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
11 #include "vrfutil/vrfutilDefines.h"
12 
13 #include "vlutil/vlString.h"
14 #include "vlutil/vlFilename.h"
15 
16 #include <string>
17 
18 namespace makVrf
19 {
22  {
23  public:
24  static DtAppPathResolver& Instance();
25 
26  void setDataPath(const DtFilename& dataPath);
27  void setAppDataPath(const DtFilename& appDataPath);
28  void setUserDataPath(const DtFilename& userDataPath);
29  void setMakLuaPath(const DtFilename& makLuaPath);
30 
31  DtFilename dataPath();
32  DtFilename appDataPath();
33  DtFilename userDataPath();
34 
35  void setAdditionalModelDefinitionPaths(const std::vector<DtFilename>&);
36  const std::vector<DtFilename>& additionalModelDefinitionPaths() const;
37 
39  std::vector<DtString> environmentVariables(const DtString& path) const;
40 
42  virtual DtString resolvePath(const DtString& path) const;
43  virtual std::string resolvePathStdString(const std::string& path) const;
44 
46  virtual DtString markupPath(const DtString& path) const;
47  virtual std::string markupPathStdString(const std::string& path) const;
48 
51  virtual void setSharedSettingsDirectory(const DtFilename&);
52 
54  virtual DtFilename sharedSettingsDirectory();
55  virtual DtFilename sharedSettingsDirectory(const DtString& appName);
56 
58  virtual void setUseSharedSettingsDirectory(bool);
59  virtual bool useSharedSettingsDirectory() const;
60 
62  virtual DtFilename settingsDirectoryPathFor(const DtString&, bool andSetupFiles = true);
63 
66  virtual DtFilename settingsDirectory();
67 
69  virtual DtFilename connectionsSettingsDirectory();
70 
73  virtual void setUserSettingsDirectory(const DtFilename&);
74  virtual const DtFilename& userSettingsDirectory();
75 
77  virtual DtFilename resolveSettingsFile(const DtFilename&);
78 
80  virtual DtFilename backupsPath();
81 
84  virtual void setApplication(const DtString&);
85 
86  virtual const DtString& application() const;
87 
88  virtual void setVersionString(const DtString& version);
89  virtual const DtString& versionString() const;
90 
92  virtual void setApplicationRootName(const DtString&);
93  virtual const DtString& applicationRootName() const;
94 
96  virtual void setupUserSettingsDirectory(const DtFilename& userSettings, const DtFilename& rootPath, bool copyIfDateIsLater = true);
97 
99  virtual void setCopyIfDateIsLater(bool);
100  bool copyIfDateIsLater() const
101  {
102  return myCopyIfDateIsLater;
103  }
104 
108  virtual DtFilename sharedDataPath() const;
109  virtual void setSharedDataPath(const DtFilename& path);
110 
111  virtual DtFilename sharedDataRoot() const;
112  virtual void setSharedDataRoot(const DtFilename& path);
113 
114  virtual DtString sharedDataStem() const;
115  virtual void setSharedDataStem(const DtString& path);
116 
118  virtual const DtFilename& rawTerrainPath() const;
119 
121  virtual DtFilename terrainPath() const;
122  virtual void setTerrainPath(const DtFilename& path);
123 
126  virtual DtString convertQuickIcon(const DtString&) const;
127 
129  virtual DtString markupTerrainDirectory(const DtString& orig) const;
130 
132  virtual std::string replaceEnvironmentVariables(const std::string& path) const;
133  virtual std::string nativePath(const std::string& rawPath) const;
134  virtual void replaceAll(std::string& searchText,const std::string& stringToFind, const std::string& stringToReplace) const;
135 
136  protected:
137  virtual void setupSharedDataPath();
138 
139  protected:
141 
142  DtFilename myDataPath;
143  DtFilename myAppDataPath;
144  DtFilename myUserDataPath;
145  DtFilename myMakLuaPath;
148  DtFilename mySharedDataRoot;
149  DtFilename mySharedDataPath;
150  DtFilename myTerrainPath;
156  std::vector<DtFilename> myAdditonalModelDefinitionPaths;
160  };
161 }
DtString myApplicationRootName
Definition: appPathResolver.h:152
DtFilename myUserSettingsDirectory
Definition: appPathResolver.h:147
DtFilename myTerrainPath
Definition: appPathResolver.h:150
DtFilename myAppDataPath
Definition: appPathResolver.h:143
DtString myApplicationName
Definition: appPathResolver.h:154
DtFilename myUserDataPath
Definition: appPathResolver.h:144
Singleton for resolving path variables (DATA_DIR, USER_DIR, etc)
Definition: appPathResolver.h:21
DtFilename mySharedDataRoot
Definition: appPathResolver.h:148
DtFilename mySharedDataPath
Definition: appPathResolver.h:149
DtFilename mySharedSettingsDirectory
Definition: appPathResolver.h:146
bool myNeedsToSetupSettingsDirectory
Definition: appPathResolver.h:155
DtFilename myDataPath
Definition: appPathResolver.h:142
bool myUseSharedSettingsDirectory
Definition: appPathResolver.h:153
std::vector< DtFilename > myAdditonalModelDefinitionPaths
Definition: appPathResolver.h:156
bool myUserSetSettingsDirectory
Definition: appPathResolver.h:157
#define DT_DLL_vrfutil
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfutilDefines.h:34
DtString mySharedDataStem
Definition: appPathResolver.h:151
DtString myVersionString
Definition: appPathResolver.h:159
bool myCopyIfDateIsLater
Definition: appPathResolver.h:158
DtFilename myMakLuaPath
Definition: appPathResolver.h:145
bool copyIfDateIsLater() const
Definition: appPathResolver.h:100

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)