File indexing completed on 2026-09-17 09:21:49
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017 #ifndef _Resource_Manager_HeaderFile
0018 #define _Resource_Manager_HeaderFile
0019
0020 #include <Standard.hxx>
0021 #include <Standard_Type.hxx>
0022
0023 #include <TCollection_AsciiString.hxx>
0024 #include <NCollection_DataMap.hxx>
0025 #include <TCollection_ExtendedString.hxx>
0026 #include <Standard_Boolean.hxx>
0027 #include <Standard_Transient.hxx>
0028 #include <Standard_CString.hxx>
0029 #include <Standard_Integer.hxx>
0030 #include <Standard_Real.hxx>
0031
0032
0033 class Resource_Manager : public Standard_Transient
0034 {
0035 DEFINE_STANDARD_RTTIEXT(Resource_Manager, Standard_Transient)
0036 public:
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049 Standard_EXPORT Resource_Manager(const char* const aName, const bool Verbose = false);
0050
0051
0052 Standard_EXPORT Resource_Manager();
0053
0054
0055
0056
0057
0058
0059 Standard_EXPORT Resource_Manager(const TCollection_AsciiString& theName,
0060 const TCollection_AsciiString& theDefaultsDirectory,
0061 const TCollection_AsciiString& theUserDefaultsDirectory,
0062 const bool theIsVerbose = false);
0063
0064
0065
0066 Standard_EXPORT bool Save() const;
0067
0068
0069 Standard_EXPORT bool Find(const char* const aResource) const;
0070
0071
0072 Standard_EXPORT bool Find(const TCollection_AsciiString& theResource,
0073 TCollection_AsciiString& theValue) const;
0074
0075
0076
0077 Standard_EXPORT virtual int Integer(const char* const aResourceName) const;
0078
0079
0080
0081 Standard_EXPORT virtual double Real(const char* const aResourceName) const;
0082
0083
0084
0085 Standard_EXPORT virtual const char* Value(const char* const aResourceName) const;
0086
0087
0088
0089 Standard_EXPORT virtual const char16_t* ExtValue(const char* const aResourceName);
0090
0091
0092
0093 Standard_EXPORT virtual void SetResource(const char* const aResourceName, const int aValue);
0094
0095
0096
0097 Standard_EXPORT virtual void SetResource(const char* const aResourceName, const double aValue);
0098
0099
0100
0101 Standard_EXPORT virtual void SetResource(const char* const aResourceName,
0102 const char* const aValue);
0103
0104
0105
0106 Standard_EXPORT virtual void SetResource(const char* const aResourceName,
0107 const char16_t* const aValue);
0108
0109
0110
0111
0112 Standard_EXPORT static void GetResourcePath(TCollection_AsciiString& aPath,
0113 const char* const aName,
0114 const bool isUserDefaults);
0115
0116
0117 Standard_EXPORT NCollection_DataMap<TCollection_AsciiString, TCollection_AsciiString>& GetMap(
0118 bool theRefMap = true);
0119
0120
0121 bool IsInitialized() const { return myInitialized; }
0122
0123 private:
0124 Standard_EXPORT void Load(
0125 const TCollection_AsciiString& thePath,
0126 NCollection_DataMap<TCollection_AsciiString, TCollection_AsciiString>& aMap);
0127
0128 private:
0129 TCollection_AsciiString myName;
0130 NCollection_DataMap<TCollection_AsciiString, TCollection_AsciiString> myRefMap;
0131 NCollection_DataMap<TCollection_AsciiString, TCollection_AsciiString> myUserMap;
0132 NCollection_DataMap<TCollection_AsciiString, TCollection_ExtendedString> myExtStrMap;
0133 bool myVerbose;
0134 bool myInitialized;
0135 };
0136
0137 #endif