VR-Forces 5.0.3 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  virtual DtString resolvePath(const DtString& path) const;
40  virtual std::string resolvePathStdString(const std::string& path) const;
41 
43  virtual DtString markupPath(const DtString& path) const;
44  virtual std::string markupPathStdString(const std::string& path) const;
45 
48  virtual void setSharedSettingsDirectory(const DtFilename&);
49 
51  virtual DtFilename sharedSettingsDirectory();
52  virtual DtFilename sharedSettingsDirectory(const DtString& appName);
53 
55  virtual void setUseSharedSettingsDirectory(bool);
56  virtual bool useSharedSettingsDirectory() const;
57 
59  virtual DtFilename settingsDirectoryPathFor(const DtString&, bool andSetupFiles = true);
60 
63  virtual DtFilename settingsDirectory();
64 
67  virtual void setUserSettingsDirectory(const DtFilename&);
68  virtual const DtFilename& userSettingsDirectory();
69 
71  virtual DtFilename resolveSettingsFile(const DtFilename&);
72 
74  virtual DtFilename backupsPath();
75 
78  virtual void setApplication(const DtString&);
79 
80  virtual const DtString& application() const;
81 
82  virtual void setVersionString(const DtString& version);
83  virtual const DtString& versionString() const;
84 
86  virtual void setApplicationRootName(const DtString&);
87  virtual const DtString& applicationRootName() const;
88 
90  virtual void setupUserSettingsDirectory(const DtFilename& userSettings, const DtFilename& rootPath, bool copyIfDateIsLater = true);
91 
93  virtual void setCopyIfDateIsLater(bool);
94  bool copyIfDateIsLater() const
95  {
96  return myCopyIfDateIsLater;
97  }
98 
102  virtual DtFilename sharedDataPath() const;
103  virtual void setSharedDataPath(const DtFilename& path);
104 
105  virtual DtFilename sharedDataRoot() const;
106  virtual void setSharedDataRoot(const DtFilename& path);
107 
108  virtual DtString sharedDataStem() const;
109  virtual void setSharedDataStem(const DtString& path);
110 
112  virtual const DtFilename& rawTerrainPath() const;
113 
115  virtual DtFilename terrainPath() const;
116  virtual void setTerrainPath(const DtFilename& path);
117 
120  virtual DtString convertQuickIcon(const DtString&) const;
121 
123  virtual DtString markupTerrainDirectory(const DtString& orig) const;
124 
125  protected:
126  virtual void replaceAll(std::string& searchText,const std::string& stringToFind, const std::string& stringToReplace) const;
127  virtual void setupSharedDataPath();
128 
129  protected:
131 
132  DtFilename myDataPath;
133  DtFilename myAppDataPath;
134  DtFilename myUserDataPath;
135  DtFilename myMakLuaPath;
138  DtFilename mySharedDataRoot;
139  DtFilename mySharedDataPath;
140  DtFilename myTerrainPath;
146  std::vector<DtFilename> myAdditonalModelDefinitionPaths;
150  };
151 }
DtString myApplicationRootName
Definition: appPathResolver.h:142
DtFilename myUserSettingsDirectory
Definition: appPathResolver.h:137
DtFilename myTerrainPath
Definition: appPathResolver.h:140
DtFilename myAppDataPath
Definition: appPathResolver.h:133
DtString myApplicationName
Definition: appPathResolver.h:144
DtFilename myUserDataPath
Definition: appPathResolver.h:134
Singleton for resolving path variables (DATA_DIR, USER_DIR, etc)
Definition: appPathResolver.h:21
DtFilename mySharedDataRoot
Definition: appPathResolver.h:138
DtFilename mySharedDataPath
Definition: appPathResolver.h:139
DtFilename mySharedSettingsDirectory
Definition: appPathResolver.h:136
bool myNeedsToSetupSettingsDirectory
Definition: appPathResolver.h:145
DtFilename myDataPath
Definition: appPathResolver.h:132
bool myUseSharedSettingsDirectory
Definition: appPathResolver.h:143
std::vector< DtFilename > myAdditonalModelDefinitionPaths
Definition: appPathResolver.h:146
bool myUserSetSettingsDirectory
Definition: appPathResolver.h:147
#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:141
DtString myVersionString
Definition: appPathResolver.h:149
bool myCopyIfDateIsLater
Definition: appPathResolver.h:148
DtFilename myMakLuaPath
Definition: appPathResolver.h:135
bool copyIfDateIsLater() const
Definition: appPathResolver.h:94

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)