| Qore DataProvider Module Reference 3.2.2

Loading...
Searching...
No Matches
DataProviderActionCatalog.qc.dox.h
1// -*- mode: c++; indent-tabs-mode: nil -*-
3
24
26 namespace DataProvider {
28
33 public struct DataProviderAppInfo {
35
37 string name;
38
40 string display_name;
41
43 string short_desc;
44
46 string desc;
47
49 string legal;
50
52 *string group;
53
55
58 *string scheme;
59
61
63 data logo;
64
66 string logo_file_name;
67
69
73 string logo_mime_type;
74
76
78 bool supports_events = False;
79
81
83 bool supports_apis = False;
84
86
88 bool supports_messages = False;
89
91
93 bool supports_find = False;
94
96
98 bool supports_find_single = False;
99
101
103 bool supports_create = False;
104
106
108 bool supports_upsert = False;
109
111
113 bool supports_update = False;
114
116
118 bool supports_delete = False;
119
121 bool dynamic = False;
122
124 bool hidden = False;
125
127 *hash<auto> info;
128};
129
136 const DPAT_EVENT = 1;
137
139 const DPAT_API = 2;
140
142 const DPAT_SEND_MESSAGE = 3;
143
145 const DPAT_FIND = 4;
146
148 const DPAT_FIND_SINGLE = 5;
149
151 const DPAT_CREATE = 6;
152
154 const DPAT_UPSERT = 7;
155
157 const DPAT_UPDATE = 8;
158
160 const DPAT_DELETE = 9;
162
164 const ActionCodeFlagMap = ...;
165
166
168 const AppActionFlags = ActionCodeFlagMap.values();
169
171 const ActionAttrMap = ...;
172
173
175 const ActionNameMap = ...;
176
177
179 public struct ActionOptionInfo {
181 AbstractDataProviderType type;
182
184 string display_name;
185
187 string short_desc;
188
190 string desc;
191
193 *string group;
194
196 bool required;
197
199
201 *softlist<string> required_groups;
202
204 *softlist<string> exclusive_with;
205
207 auto default_value;
208
210 bool sensitive;
211
213 bool multiselect;
214
216 *softlist<hash<AllowedValueInfo>> allowed_values;
217
219 bool allowed_values_creatable;
220
222 *softlist<hash<AllowedValueInfo>> element_allowed_values;
223
225 bool element_allowed_values_creatable;
226
228 auto example_value;
229
231 *string validation_regex;
232
234
238 *softlist<softstring> depends_on;
239
241
245 *string ref_data;
246
248
252 *string element_ref_data;
253
255
259 *string default_ref_data;
260
262 *string dynamic_type;
263
265 bool preselected;
266
268 bool readonly;
269
271 bool disabled;
272
274
280 *string loc;
281
283 bool structural_determinate;
284
286 *softlist<softstring> on_change;
287};
288
290 public struct DataProviderPathVarInfo {
292 string display_name;
293
295 string short_desc;
296
298 string desc;
299
301 *string example_value;
302};
303
305 public struct DataProviderActionInfo {
307 string app;
308
310 string action;
311
313 *string group;
314
316
318 *string subtype;
319
321
323 string path;
324
326
328 *hash<string, hash<DataProviderPathVarInfo>> path_vars;
329
331 string display_name;
332
334 string short_desc;
335
337 string desc;
338
340
342 int action_code;
343
345
349 *string action_val;
350
352
356 *string cls;
357
359 *hash<auto> where_add;
360
362 *hash<auto> options_add;
363
365 *hash<auto> set_add;
366
368 *hash<string, hash<ActionOptionInfo>> options;
369
371 bool data_dependent_options = False;
372
374 *AbstractDataProviderType output_type;
375
377 bool has_dynamic_options;
378
380 *code get_output_type;
381
383 *code get_dynamic_options;
384
386 *hash<DataProviderInfo> data_provider_info;
387};
388
390 class DataProviderActionCatalog {
391
392 public:
394 const RequiredAppKeys = ...;
395
396
398 const RequiredActionKeys = ...;
399
400
401 protected:
403 static Mutex lck();
404
406 static hash<string, hash<DataProviderAppInfo>> appcache;
407
409 static hash<string, hash<DataProviderActionInfo>> top_actionmap;
410
412 static hash<string, hash<string, hash<DataProviderActionInfo>>> app_actionmap;
413
415 static hash<string, list<hash<DataProviderActionInfo>>> smap;
416
418 static hash<string, hash<string, bool>> resolve_output_types;
419
421 static hash<string, hash<auto>> initmap;
422
424 static hash<string, hash<string, code>> initactionmap;
425
427 static hash<string, hash<string, bool>> appmodmap;
428
430 const DefaultDescription = "";
431
432 public:
433
435
440 static registerPendingApp(string app, code init);
441
443
449 static registerPendingAppAction(string app, string action, code init);
450
452
456 static registerApp(hash<DataProviderAppInfo> app);
457
459
463 static *list<string> getModulePathsForApp(string app);
464
466
475 static *hash<DataProviderAppInfo> deregisterDynamicApp(string name);
476
478
484 static registerAction(hash<DataProviderActionInfo> action);
485
487
489 static *int checkName(string name);
490
492
494 static int compareActions(hash<DataProviderActionInfo> act0, hash<DataProviderActionInfo> act1);
495
497
499 static int compareOptions(*hash<string, hash<ActionOptionInfo>> opt0, *hash<string, hash<ActionOptionInfo>> opt1);
500
502 static int compareBaseTypes(*Type t0, *Type t1);
503
505
508 static *list<hash<DataProviderAppInfo>> getAllAppsNoInit();
509
511
514 static *list<hash<DataProviderAppInfo>> getAllApps();
515
517
523 static *hash<DataProviderAppInfo> getApp(string app);
524
526
535 static hash<DataProviderAppInfo> getAppEx(string app);
536
538
543 static *list<hash<DataProviderAppInfo>> searchAppRegex(string regex_pattern, int regex_options = RE_Caseless);
544
546
552 static *list<hash<DataProviderAppInfo>> searchAppSubstr(string substr, bool ignore_case = True);
553
555
559 static *list<hash<DataProviderActionInfo>> getActionsForScheme(string scheme);
560
562
568 static *hash<string, hash<DataProviderActionInfo>> getActionHash(string app);
569
571
579 static *hash<string, hash<DataProviderActionInfo>> getActionHashEx(string app);
580
582
588 static *list<hash<DataProviderActionInfo>> getActions(string app);
589
591
599 static list<hash<DataProviderActionInfo>> getActionsEx(string app);
600
602
604 static *list<hash<DataProviderActionInfo>> getAllActions();
605
607
614 static *hash<DataProviderActionInfo> getAppAction(string app, string action);
615
617
628 static hash<DataProviderActionInfo> getAppActionEx(string app, string action);
629
631
636 static AbstractDataProvider getDataProviderForAction(hash<DataProviderActionInfo> action, *reference<hash<auto>> options);
637
639
647 static *list<hash<DataProviderActionInfo>> searchAppActionRegex(string app, string regex_pattern, int regex_options = RE_Caseless);
648
650
658 static *list<hash<DataProviderActionInfo>> searchAppActionSubstr(string app, string substr, bool ignore_case = True);
659
661
671 static *list<hash<DataProviderActionInfo>> searchAppActionRegexEx(string app, string regex_pattern, int regex_options = RE_Caseless);
672
674
684 static *list<hash<DataProviderActionInfo>> searchAppActionSubstrEx(string app, string substr, bool ignore_case = True);
685
687
692 static *list<hash<DataProviderActionInfo>> searchActionRegex(string regex_pattern, int regex_options = RE_Caseless);
693
695
700 static *list<hash<DataProviderActionInfo>> searchActionSubstr(string substr, bool ignore_case = True);
701
703 static hash<string, hash<ActionOptionInfo>> getActionOptionFromFields(hash<auto> fields, *hash<auto> additional_fields);
704
706 static hash<DataProviderActionInfo> checkAppActionOptions(string app, string action);
707
709 static *AbstractDataProviderType getTypeForActionOptions(hash<auto> action);
710
712 static *AbstractDataProviderType getTypeForActionOptions(hash<DataProviderActionInfo> action);
713
715 protected:
716 static string normalizePath(string path);
717 public:
718
719
721 protected:
722 static resolveOutputTypes();
723 public:
724
725
727 private:
728 static *bool deregisterApp(string name);
729 public:
730
731
733 private:
734 static *bool deregisterAppIntern(string name);
735 public:
736
737
739 protected:
740 static doInit(hash<auto> h);
741 public:
742
743
745 protected:
746 static doInit(code init);
747 public:
748
749};
750};
751
752 namespace Priv {
753 thread_local *string _mod_init_ctx;
754};
DataProvider::AbstractDataProvider
The AbstractDataProvider class.
Definition AbstractDataProvider.qc.dox.h:919
DataProvider::AbstractDataProviderType
describes a data type
Definition AbstractDataProviderType.qc.dox.h:139
DataProvider::DataProviderActionCatalog
DataProvider action and application catalog class.
Definition DataProviderActionCatalog.qc.dox.h:390
DataProvider::DataProviderActionCatalog::app_actionmap
static hash< string, hash< string, hash< DataProviderActionInfo > > > app_actionmap
Action cache, the key is the application key, the second key is the action string.
Definition DataProviderActionCatalog.qc.dox.h:412
DataProvider::DataProviderActionCatalog::registerApp
static registerApp(hash< DataProviderAppInfo > app)
Registers a data provider application.
DataProvider::DataProviderActionCatalog::DefaultDescription
const DefaultDescription
Default description.
Definition DataProviderActionCatalog.qc.dox.h:430
DataProvider::DataProviderActionCatalog::getActionHash
static *hash< string, hash< DataProviderActionInfo > > getActionHash(string app)
Returns a hash of all actions for the given application.
DataProvider::DataProviderActionCatalog::normalizePath
static string normalizePath(string path)
Returns a normalized path to ensure that comparisons always work.
DataProvider::DataProviderActionCatalog::searchAppActionSubstr
static *list< hash< DataProviderActionInfo > > searchAppActionSubstr(string app, string substr, bool ignore_case=True)
Searches for application actions whose descriptions match a substring.
DataProvider::DataProviderActionCatalog::appmodmap
static hash< string, hash< string, bool > > appmodmap
Maps apps to the modules that define them: app -> module path -> True.
Definition DataProviderActionCatalog.qc.dox.h:427
DataProvider::DataProviderActionCatalog::checkName
static *int checkName(string name)
Checks for a valid name.
DataProvider::DataProviderActionCatalog::registerPendingAppAction
static registerPendingAppAction(string app, string action, code init)
Registers an app action for deferred initialization / initialization on demand.
DataProvider::DataProviderActionCatalog::getAppEx
static hash< DataProviderAppInfo > getAppEx(string app)
Returns the application definition for the given application name.
DataProvider::DataProviderActionCatalog::resolve_output_types
static hash< string, hash< string, bool > > resolve_output_types
Set of actions requiring output type resolution; app -> action -> True.
Definition DataProviderActionCatalog.qc.dox.h:418
DataProvider::DataProviderActionCatalog::compareBaseTypes
static int compareBaseTypes(*Type t0, *Type t1)
Compares two types for equality.
DataProvider::DataProviderActionCatalog::getAllApps
static *list< hash< DataProviderAppInfo > > getAllApps()
Returns all applications in the cache.
DataProvider::DataProviderActionCatalog::deregisterDynamicApp
static *hash< DataProviderAppInfo > deregisterDynamicApp(string name)
Removes a dynamic data provider application.
DataProvider::DataProviderActionCatalog::searchAppSubstr
static *list< hash< DataProviderAppInfo > > searchAppSubstr(string substr, bool ignore_case=True)
Searches for applications whose names or descriptions match a substring.
DataProvider::DataProviderActionCatalog::checkAppActionOptions
static hash< DataProviderActionInfo > checkAppActionOptions(string app, string action)
Check that the action has had its options initialized if necessary and return the possibly updated ac...
DataProvider::DataProviderActionCatalog::registerPendingApp
static registerPendingApp(string app, code init)
Registers an app for deferred initialization / initialization on demand.
DataProvider::DataProviderActionCatalog::initactionmap
static hash< string, hash< string, code > > initactionmap
Pending application action init handler map: app -> action -> init handler.
Definition DataProviderActionCatalog.qc.dox.h:424
DataProvider::DataProviderActionCatalog::doInit
static doInit(code init)
Runs initialization and catches exceptions.
DataProvider::DataProviderActionCatalog::compareActions
static int compareActions(hash< DataProviderActionInfo > act0, hash< DataProviderActionInfo > act1)
Compares two actions for equality.
DataProvider::DataProviderActionCatalog::initmap
static hash< string, hash< auto > > initmap
Pending application init handler map: app -> init handler.
Definition DataProviderActionCatalog.qc.dox.h:421
DataProvider::DataProviderActionCatalog::lck
static Mutex lck()
Mutex for atomic operations.
DataProvider::DataProviderActionCatalog::getDataProviderForAction
static AbstractDataProvider getDataProviderForAction(hash< DataProviderActionInfo > action, *reference< hash< auto > > options)
Returns a data provider option for the given action and options.
DataProvider::DataProviderActionCatalog::searchAppActionSubstrEx
static *list< hash< DataProviderActionInfo > > searchAppActionSubstrEx(string app, string substr, bool ignore_case=True)
Searches for application actions whose descriptions match a substring.
DataProvider::DataProviderActionCatalog::searchAppRegex
static *list< hash< DataProviderAppInfo > > searchAppRegex(string regex_pattern, int regex_options=RE_Caseless)
Searches for applications whose names or descriptions match a regular expression pattern.
DataProvider::DataProviderActionCatalog::RequiredAppKeys
const RequiredAppKeys
Required application key set.
Definition DataProviderActionCatalog.qc.dox.h:394
DataProvider::DataProviderActionCatalog::getAppActionEx
static hash< DataProviderActionInfo > getAppActionEx(string app, string action)
Returns the application definition for the given application name.
DataProvider::DataProviderActionCatalog::getApp
static *hash< DataProviderAppInfo > getApp(string app)
Returns the application definition for the given application name.
DataProvider::DataProviderActionCatalog::getModulePathsForApp
static *list< string > getModulePathsForApp(string app)
Returns zero or more module paths for the given application.
DataProvider::DataProviderActionCatalog::searchAppActionRegexEx
static *list< hash< DataProviderActionInfo > > searchAppActionRegexEx(string app, string regex_pattern, int regex_options=RE_Caseless)
Searches for application actions whose descriptions match a regular expression pattern.
DataProvider::DataProviderActionCatalog::getTypeForActionOptions
static *AbstractDataProviderType getTypeForActionOptions(hash< auto > action)
Returns a data type for the action options.
DataProvider::DataProviderActionCatalog::getActionsForScheme
static *list< hash< DataProviderActionInfo > > getActionsForScheme(string scheme)
Returns all actions for a particular connection scheme.
DataProvider::DataProviderActionCatalog::getActionOptionFromFields
static hash< string, hash< ActionOptionInfo > > getActionOptionFromFields(hash< auto > fields, *hash< auto > additional_fields)
Converts field definitions into option descriptions.
DataProvider::DataProviderActionCatalog::getAppAction
static *hash< DataProviderActionInfo > getAppAction(string app, string action)
Returns the action definition for the given application and action.
DataProvider::DataProviderActionCatalog::searchActionSubstr
static *list< hash< DataProviderActionInfo > > searchActionSubstr(string substr, bool ignore_case=True)
Searches for actions whose descriptions match a substring.
DataProvider::DataProviderActionCatalog::top_actionmap
static hash< string, hash< DataProviderActionInfo > > top_actionmap
Master action cache, the key <app>/<action>
Definition DataProviderActionCatalog.qc.dox.h:409
DataProvider::DataProviderActionCatalog::doInit
static doInit(hash< auto > h)
Runs initialization and catches exceptions.
DataProvider::DataProviderActionCatalog::smap
static hash< string, list< hash< DataProviderActionInfo > > > smap
Scheme map; keys are connection schemes.
Definition DataProviderActionCatalog.qc.dox.h:415
DataProvider::DataProviderActionCatalog::compareOptions
static int compareOptions(*hash< string, hash< ActionOptionInfo > > opt0, *hash< string, hash< ActionOptionInfo > > opt1)
Compares two option hashes for equality.
DataProvider::DataProviderActionCatalog::getActions
static *list< hash< DataProviderActionInfo > > getActions(string app)
Returns all actions for the given application.
DataProvider::DataProviderActionCatalog::searchAppActionRegex
static *list< hash< DataProviderActionInfo > > searchAppActionRegex(string app, string regex_pattern, int regex_options=RE_Caseless)
Searches for application actions whose descriptions match a regular expression pattern.
DataProvider::DataProviderActionCatalog::deregisterAppIntern
static *bool deregisterAppIntern(string name)
Deregisters an app and all its actions if an exception occurs during the other module's initializatio...
DataProvider::DataProviderActionCatalog::getAllActions
static *list< hash< DataProviderActionInfo > > getAllActions()
Returns all actions in the cache.
DataProvider::DataProviderActionCatalog::getAllAppsNoInit
static *list< hash< DataProviderAppInfo > > getAllAppsNoInit()
Returns all applications in the cache without initializing actions.
DataProvider::DataProviderActionCatalog::searchActionRegex
static *list< hash< DataProviderActionInfo > > searchActionRegex(string regex_pattern, int regex_options=RE_Caseless)
Searches for actions whose descriptions match a regular expression pattern.
DataProvider::DataProviderActionCatalog::deregisterApp
static *bool deregisterApp(string name)
Deregisters an app and all its actions if an exception occurs during the other module's initializatio...
DataProvider::DataProviderActionCatalog::getTypeForActionOptions
static *AbstractDataProviderType getTypeForActionOptions(hash< DataProviderActionInfo > action)
Returns a data type for the action options.
DataProvider::DataProviderActionCatalog::RequiredActionKeys
const RequiredActionKeys
Required action key set (without action_code and path_vars, which are checked separately)
Definition DataProviderActionCatalog.qc.dox.h:398
DataProvider::DataProviderActionCatalog::appcache
static hash< string, hash< DataProviderAppInfo > > appcache
Top-level master application cache keyed by application name.
Definition DataProviderActionCatalog.qc.dox.h:406
DataProvider::DataProviderActionCatalog::getActionsEx
static list< hash< DataProviderActionInfo > > getActionsEx(string app)
Returns all actions for the given application; throws an exception if the app is not registered.
DataProvider::DataProviderActionCatalog::resolveOutputTypes
static resolveOutputTypes()
Resolves output fypes in actions.
DataProvider::DataProviderActionCatalog::getActionHashEx
static *hash< string, hash< DataProviderActionInfo > > getActionHashEx(string app)
Returns a hash of all actions for the given application.
DataProvider::DataProviderActionCatalog::registerAction
static registerAction(hash< DataProviderActionInfo > action)
Registers a data provider action.
DataProvider::DPAT_API
const DPAT_API
Data Provider Action Type: make an API call.
Definition DataProviderActionCatalog.qc.dox.h:139
DataProvider::DPAT_FIND_SINGLE
const DPAT_FIND_SINGLE
Data Provider Action Type: find a single record.
Definition DataProviderActionCatalog.qc.dox.h:148
DataProvider::DPAT_SEND_MESSAGE
const DPAT_SEND_MESSAGE
Data Provider Action Type: send a message.
Definition DataProviderActionCatalog.qc.dox.h:142
DataProvider::DPAT_EVENT
const DPAT_EVENT
Definition DataProviderActionCatalog.qc.dox.h:136
DataProvider::DPAT_UPDATE
const DPAT_UPDATE
Data Provider Action Type: update a record.
Definition DataProviderActionCatalog.qc.dox.h:157
DataProvider::DPAT_DELETE
const DPAT_DELETE
Data Provider Action Type: delete a record.
Definition DataProviderActionCatalog.qc.dox.h:160
DataProvider::DPAT_UPSERT
const DPAT_UPSERT
Data Provider Action Type: upsert a record.
Definition DataProviderActionCatalog.qc.dox.h:154
DataProvider::DPAT_CREATE
const DPAT_CREATE
Data Provider Action Type: create a record.
Definition DataProviderActionCatalog.qc.dox.h:151
DataProvider::DPAT_FIND
const DPAT_FIND
Data Provider Action Type: find all matching records.
Definition DataProviderActionCatalog.qc.dox.h:145
DataProvider
Qore AbstractDataField class definition.
Definition AbstractDataField.qc.dox.h:27
DataProvider::ActionNameMap
const ActionNameMap
Maps action type codes to a user-friendly name.
Definition DataProviderActionCatalog.qc.dox.h:175
DataProvider::ActionAttrMap
const ActionAttrMap
Maps action type codes to a data provider attribute string.
Definition DataProviderActionCatalog.qc.dox.h:171
DataProvider::ActionCodeFlagMap
const ActionCodeFlagMap
Maps action type codes to app action flags.
Definition DataProviderActionCatalog.qc.dox.h:164
DataProvider::AppActionFlags
const AppActionFlags
List of app action flags.
Definition DataProviderActionCatalog.qc.dox.h:168
Priv
Private definitions.
Definition AbstractDataProviderType.qc.dox.h:454
DataProvider::ActionOptionInfo
Data provider action option definition.
Definition DataProviderActionCatalog.qc.dox.h:179
DataProvider::ActionOptionInfo::structural_determinate
bool structural_determinate
Does the value of this option determine the structure of other options?
Definition DataProviderActionCatalog.qc.dox.h:283
DataProvider::ActionOptionInfo::example_value
auto example_value
An optional example value for the option.
Definition DataProviderActionCatalog.qc.dox.h:228
DataProvider::ActionOptionInfo::element_allowed_values
*softlist< hash< AllowedValueInfo > > element_allowed_values
List of allowed values for elements of list types (enum)
Definition DataProviderActionCatalog.qc.dox.h:222
DataProvider::ActionOptionInfo::group
*string group
The group name for the option, if any.
Definition DataProviderActionCatalog.qc.dox.h:193
DataProvider::ActionOptionInfo::required_groups
*softlist< string > required_groups
Is the option part of a required group?
Definition DataProviderActionCatalog.qc.dox.h:201
DataProvider::ActionOptionInfo::type
AbstractDataProviderType type
Data type of the option.
Definition DataProviderActionCatalog.qc.dox.h:181
DataProvider::ActionOptionInfo::readonly
bool readonly
Is this option read-only?
Definition DataProviderActionCatalog.qc.dox.h:268
DataProvider::ActionOptionInfo::depends_on
*softlist< softstring > depends_on
A list of other options that must be set before this option can be chosen.
Definition DataProviderActionCatalog.qc.dox.h:238
DataProvider::ActionOptionInfo::default_ref_data
*string default_ref_data
A tag allowing the default value to be returned dynamically as reference data.
Definition DataProviderActionCatalog.qc.dox.h:259
DataProvider::ActionOptionInfo::allowed_values
*softlist< hash< AllowedValueInfo > > allowed_values
List of allowed values (enum)
Definition DataProviderActionCatalog.qc.dox.h:216
DataProvider::ActionOptionInfo::loc
*string loc
Option location for record-based data providers and data providers provided by a class.
Definition DataProviderActionCatalog.qc.dox.h:280
DataProvider::ActionOptionInfo::on_change
*softlist< softstring > on_change
Any information about how to react to changes.
Definition DataProviderActionCatalog.qc.dox.h:286
DataProvider::ActionOptionInfo::required
bool required
Is the option required or not?
Definition DataProviderActionCatalog.qc.dox.h:196
DataProvider::ActionOptionInfo::disabled
bool disabled
Is this option disabled?
Definition DataProviderActionCatalog.qc.dox.h:271
DataProvider::ActionOptionInfo::default_value
auto default_value
Any default value for the option.
Definition DataProviderActionCatalog.qc.dox.h:207
DataProvider::ActionOptionInfo::dynamic_type
*string dynamic_type
A tag allowing the type of the option to be retrieved at runtime.
Definition DataProviderActionCatalog.qc.dox.h:262
DataProvider::ActionOptionInfo::short_desc
string short_desc
Short description of the option in plain text.
Definition DataProviderActionCatalog.qc.dox.h:187
DataProvider::ActionOptionInfo::exclusive_with
*softlist< string > exclusive_with
Is the option exclusive with other options?
Definition DataProviderActionCatalog.qc.dox.h:204
DataProvider::ActionOptionInfo::preselected
bool preselected
If the option should be preselected.
Definition DataProviderActionCatalog.qc.dox.h:265
DataProvider::ActionOptionInfo::desc
string desc
Description of the option with markdown rendering.
Definition DataProviderActionCatalog.qc.dox.h:190
DataProvider::ActionOptionInfo::allowed_values_creatable
bool allowed_values_creatable
Does the option accept values not defined in allowed_values too?
Definition DataProviderActionCatalog.qc.dox.h:219
DataProvider::ActionOptionInfo::element_ref_data
*string element_ref_data
A tag allowing element allowed values to be returned dynamically as element reference data.
Definition DataProviderActionCatalog.qc.dox.h:252
DataProvider::ActionOptionInfo::sensitive
bool sensitive
Is the option value sensitive?
Definition DataProviderActionCatalog.qc.dox.h:210
DataProvider::ActionOptionInfo::ref_data
*string ref_data
A tag allowing allowed values to be returned dynamically as reference data.
Definition DataProviderActionCatalog.qc.dox.h:245
DataProvider::ActionOptionInfo::multiselect
bool multiselect
Are allowed values elements of the list's element type that indicate what values the list can have?
Definition DataProviderActionCatalog.qc.dox.h:213
DataProvider::ActionOptionInfo::display_name
string display_name
Display name of the option.
Definition DataProviderActionCatalog.qc.dox.h:184
DataProvider::ActionOptionInfo::validation_regex
*string validation_regex
An optional regex pattern for validating string values.
Definition DataProviderActionCatalog.qc.dox.h:231
DataProvider::ActionOptionInfo::element_allowed_values_creatable
bool element_allowed_values_creatable
Does the option accept values not defined in element_allowed_values too?
Definition DataProviderActionCatalog.qc.dox.h:225
DataProvider::DataProviderActionInfo
DataProvider action definition.
Definition DataProviderActionCatalog.qc.dox.h:305
DataProvider::DataProviderActionInfo::short_desc
string short_desc
Action short description, plain text formatting.
Definition DataProviderActionCatalog.qc.dox.h:334
DataProvider::DataProviderActionInfo::data_provider_info
*hash< DataProviderInfo > data_provider_info
Data provider static info, useful for record-based data providers.
Definition DataProviderActionCatalog.qc.dox.h:386
DataProvider::DataProviderActionInfo::data_dependent_options
bool data_dependent_options
Do options depend on the data for the call?
Definition DataProviderActionCatalog.qc.dox.h:371
DataProvider::DataProviderActionInfo::group
*string group
The action group within the app, if any.
Definition DataProviderActionCatalog.qc.dox.h:313
DataProvider::DataProviderActionInfo::action_val
*string action_val
Message or event type.
Definition DataProviderActionCatalog.qc.dox.h:349
DataProvider::DataProviderActionInfo::get_output_type
*code get_output_type
In case the output type is expensive to acquire or requires I/O, this closure can be used to set it.
Definition DataProviderActionCatalog.qc.dox.h:380
DataProvider::DataProviderActionInfo::set_add
*hash< auto > set_add
Values to add to any "set" argument for record-based actions.
Definition DataProviderActionCatalog.qc.dox.h:365
DataProvider::DataProviderActionInfo::path
string path
Data provider path to action.
Definition DataProviderActionCatalog.qc.dox.h:323
DataProvider::DataProviderActionInfo::display_name
string display_name
The display name for the action.
Definition DataProviderActionCatalog.qc.dox.h:331
DataProvider::DataProviderActionInfo::output_type
*AbstractDataProviderType output_type
Output type for the action.
Definition DataProviderActionCatalog.qc.dox.h:374
DataProvider::DataProviderActionInfo::action_code
int action_code
Action type code.
Definition DataProviderActionCatalog.qc.dox.h:342
DataProvider::DataProviderActionInfo::app
string app
Name of the application that provides the action.
Definition DataProviderActionCatalog.qc.dox.h:307
DataProvider::DataProviderActionInfo::where_add
*hash< auto > where_add
Values to add to any "where" argument for record-based actions.
Definition DataProviderActionCatalog.qc.dox.h:359
DataProvider::DataProviderActionInfo::has_dynamic_options
bool has_dynamic_options
Does the action support dynamic options?
Definition DataProviderActionCatalog.qc.dox.h:377
DataProvider::DataProviderActionInfo::subtype
*string subtype
Any data provider subtype.
Definition DataProviderActionCatalog.qc.dox.h:318
DataProvider::DataProviderActionInfo::desc
string desc
Action long description, markdown formatting.
Definition DataProviderActionCatalog.qc.dox.h:337
DataProvider::DataProviderActionInfo::path_vars
*hash< string, hash< DataProviderPathVarInfo > > path_vars
Description of any path variables.
Definition DataProviderActionCatalog.qc.dox.h:328
DataProvider::DataProviderActionInfo::options_add
*hash< auto > options_add
Values to add to any "options" argument for record-based actions.
Definition DataProviderActionCatalog.qc.dox.h:362
DataProvider::DataProviderActionInfo::options
*hash< string, hash< ActionOptionInfo > > options
Options that can be provided without a data provider.
Definition DataProviderActionCatalog.qc.dox.h:368
DataProvider::DataProviderActionInfo::cls
*string cls
The DataProvider class.
Definition DataProviderActionCatalog.qc.dox.h:356
DataProvider::DataProviderActionInfo::get_dynamic_options
*code get_dynamic_options
For the case when options should be generated dynamically.
Definition DataProviderActionCatalog.qc.dox.h:383
DataProvider::DataProviderActionInfo::action
string action
The unique name for the action; unique in the application.
Definition DataProviderActionCatalog.qc.dox.h:310
DataProvider::DataProviderAppInfo
Application information hash.
Definition DataProviderActionCatalog.qc.dox.h:33
DataProvider::DataProviderAppInfo::short_desc
string short_desc
A short description for the app, plain text formatting.
Definition DataProviderActionCatalog.qc.dox.h:43
DataProvider::DataProviderAppInfo::logo
data logo
The application logo.
Definition DataProviderActionCatalog.qc.dox.h:63
DataProvider::DataProviderAppInfo::supports_messages
bool supports_messages
If the apps supports message actions.
Definition DataProviderActionCatalog.qc.dox.h:88
DataProvider::DataProviderAppInfo::desc
string desc
Description of the application with markdown formatting.
Definition DataProviderActionCatalog.qc.dox.h:46
DataProvider::DataProviderAppInfo::display_name
string display_name
The display name for the application.
Definition DataProviderActionCatalog.qc.dox.h:40
DataProvider::DataProviderAppInfo::info
*hash< auto > info
User-defined info about the app.
Definition DataProviderActionCatalog.qc.dox.h:127
DataProvider::DataProviderAppInfo::dynamic
bool dynamic
Was the application added dynamically?
Definition DataProviderActionCatalog.qc.dox.h:121
DataProvider::DataProviderAppInfo::hidden
bool hidden
Should this app be hidden in the front end?
Definition DataProviderActionCatalog.qc.dox.h:124
DataProvider::DataProviderAppInfo::supports_update
bool supports_update
If the apps supports update actions.
Definition DataProviderActionCatalog.qc.dox.h:113
DataProvider::DataProviderAppInfo::group
*string group
The application group, if any.
Definition DataProviderActionCatalog.qc.dox.h:52
DataProvider::DataProviderAppInfo::logo_mime_type
string logo_mime_type
The mime type for logo.
Definition DataProviderActionCatalog.qc.dox.h:73
DataProvider::DataProviderAppInfo::scheme
*string scheme
Connection scheme for the application.
Definition DataProviderActionCatalog.qc.dox.h:58
DataProvider::DataProviderAppInfo::supports_events
bool supports_events
If the apps supports event actions.
Definition DataProviderActionCatalog.qc.dox.h:78
DataProvider::DataProviderAppInfo::name
string name
Unique application name.
Definition DataProviderActionCatalog.qc.dox.h:37
DataProvider::DataProviderAppInfo::legal
string legal
Any legal text, links, copyright notice(s), or disclaimer(s) related to the use of the app; markdown ...
Definition DataProviderActionCatalog.qc.dox.h:49
DataProvider::DataProviderAppInfo::supports_find_single
bool supports_find_single
If the apps supports find_single actions.
Definition DataProviderActionCatalog.qc.dox.h:98
DataProvider::DataProviderAppInfo::logo_file_name
string logo_file_name
The logo file name.
Definition DataProviderActionCatalog.qc.dox.h:66
DataProvider::DataProviderAppInfo::supports_upsert
bool supports_upsert
If the apps supports upsert actions.
Definition DataProviderActionCatalog.qc.dox.h:108
DataProvider::DataProviderAppInfo::supports_apis
bool supports_apis
If the apps supports API actions.
Definition DataProviderActionCatalog.qc.dox.h:83
DataProvider::DataProviderAppInfo::supports_create
bool supports_create
If the apps supports create actions.
Definition DataProviderActionCatalog.qc.dox.h:103
DataProvider::DataProviderAppInfo::supports_find
bool supports_find
If the apps supports find actions.
Definition DataProviderActionCatalog.qc.dox.h:93
DataProvider::DataProviderAppInfo::supports_delete
bool supports_delete
If the apps supports delete actions.
Definition DataProviderActionCatalog.qc.dox.h:118
DataProvider::DataProviderPathVarInfo
DataProvider path var info.
Definition DataProviderActionCatalog.qc.dox.h:290
DataProvider::DataProviderPathVarInfo::desc
string desc
Action long description, markdown formatting.
Definition DataProviderActionCatalog.qc.dox.h:298
DataProvider::DataProviderPathVarInfo::display_name
string display_name
The display name for the action.
Definition DataProviderActionCatalog.qc.dox.h:292
DataProvider::DataProviderPathVarInfo::example_value
*string example_value
An optional example value for the option.
Definition DataProviderActionCatalog.qc.dox.h:301
DataProvider::DataProviderPathVarInfo::short_desc
string short_desc
Action short description, plain text formatting.
Definition DataProviderActionCatalog.qc.dox.h:295