| Qore DataProvider Module Reference 1.1

DataProvider.qc.dox.h
1 // -*- mode: c++; indent-tabs-mode: nil -*-
3
26 namespace DataProvider {
29 class DataProvider {
30
31 public:
33 const FactoryMap = ...;
34
35
37 const TypeMap = ...;
38
39
41 const FactoryModuleList = keys (map {$1: True}, FactoryMap.iterator());
42 // "map" is used above to ensure that the values only appear once in the final list
43
44 protected:
46 static hash<string, AbstractDataProviderFactory> factory_cache;
47
49 static hash<string, string> factory_module_map;
50
52 static Mutex factory_cache_lock();
53
55 static DataProviderTypeCache type_cache();
56
58 static hash<string, string> type_module_map;
59
61
63 static bool allow_env_config = False;
64
66 static bool env_config_locked = False;
67
68 public:
69
71
75 static registerFactory(AbstractDataProviderFactory factory);
76
78 static *AbstractDataProviderFactory getFactory(string name);
79
81
87 static AbstractDataProviderFactory getFactoryEx(string name);
88
90
95 static AbstractDataProvider getFactoryObject(string path, *hash<auto> options);
96
98
105 static AbstractDataProvider getFactoryObjectFromString(string name);
106
108 static *list<string> listFactories();
109
111 static DataProviderTypeCache getTypeCache();
112
114
122 static registerType(string path, AbstractDataProviderType type);
123
125
132 static *AbstractDataProviderType getType(string path);
133
135
144 static AbstractDataProviderType getTypeEx(string path);
145
147 static DataProviderTypeEntry getTypeRoot();
148
150 static lockAllTypes();
151
153
157 static *list<string> listTypes();
158
160 static registerKnownFactories();
161
163 static loadProvidersFromEnvironment();
164
166 static registerKnownTypes();
167
169 static loadTypesFromEnvironment();
170
172 static hash<auto> getInfoAsData(hash<auto> info0);
173
175
179 static setAutoConfig();
180
182 static bool getAutoConfig();
183
185 static list<string> getPathList(string path);
186
188 protected:
189 static checkRequest();
190 public:
191
192
194 protected:
195 static *string tryGetFactoryModuleName(string name);
196 public:
197
198
200 protected:
201 static *string tryGetTypeModuleName(string name);
202 public:
203
204
206 protected:
207 static *string tryGetModuleName(string name, string func, string type);
208 public:
209
210
212 protected:
213 static *DataProviderTypeEntry tryLoadTypeFromPath(list<string> type_path);
214 public:
215
216
218 protected:
219 static bool tryLoad(string module_str, *bool verbose);
220 public:
221
222
224 protected:
225 static loadFromEnvironment(string func, string type);
226 public:
227
228
230 protected:
231 static bool checkInjection(object obj, hash<string, string> module_map);
232 public:
233
234 };
235 };
DataProvider::DataProviderTypeEntry
the DataProviderTypeEntry class
Definition: DataProviderTypeEntry.qc.dox.h:55
DataProvider::AbstractDataProvider
The AbstractDataProvider class.
Definition: AbstractDataProvider.qc.dox.h:194
DataProvider::DataProvider::factory_module_map
static hash< string, string > factory_module_map
data provider factory module map
Definition: DataProvider.qc.dox.h:49
True
const True
False
const False
DataProvider::AbstractDataProviderFactory
Data provider factory class.
Definition: AbstractDataProviderFactory.qc.dox.h:28
DataProvider::AbstractDataProviderType
describes a data type
Definition: AbstractDataProviderType.qc.dox.h:93
DataProvider::DataProvider::factory_cache
static hash< string, AbstractDataProviderFactory > factory_cache
data provider factory cache
Definition: DataProvider.qc.dox.h:46
type
string type(auto arg)
DataProvider::DataProvider::type_module_map
static hash< string, string > type_module_map
data provider type module map
Definition: DataProvider.qc.dox.h:58
DataProvider
Qore AbstractDataField class definition.
Definition: AbstractDataField.qc.dox.h:32
DataProvider::DataProviderTypeCache
Data provider type cache class.
Definition: DataProviderTypeCache.qc.dox.h:29