| Qore DataProvider Module Reference 3.2.2

Loading...
Searching...
No Matches
AbstractDataProvider.qc.dox.h
1// -*- mode: c++; indent-tabs-mode: nil -*-
3
24
26 namespace DataProvider {
32 const UpsertResultInserted = "inserted";
33
35 const UpsertResultUpdated = "updated";
36
38 const UpsertResultVerified = "verified";
39
41 const UpsertResultUnchanged = "unchanged";
42
44 const UpsertResultDeleted = "deleted";
46
48 public struct DataProviderOptionInfo {
50 string display_name;
51
53 *string short_desc;
54
56 string desc;
57
59 softlist<AbstractDataProviderType> type;
60
62
65 bool required = False;
66
68
71 *softlist<string> required_groups;
72
74 *softlist<string> exclusive_with;
75
77 auto default_value;
78
80 bool sensitive = False;
81
83 bool multiselect;
84
86 *softlist<hash<Util::AllowedValueInfo>> allowed_values;
87
89 bool allowed_values_creatable;
90
92 /* In case the option type is a list, then this will provide the discrete values that can appear in the list
93 */
94 *softlist<hash<Util::AllowedValueInfo>> element_allowed_values;
95
97 bool element_allowed_values_creatable;
98
100
102 auto example_value;
103
105
109 *string ref_data;
110
112
116 *string element_ref_data;
117
119 *string default_ref_data;
120
122 *bool preselected;
123};
124
126 public struct DataProviderSummaryInfo {
128 string name;
129
131 string display_name;
132
134 *string short_desc;
135
137 string desc;
138
140 string type;
141
143 bool supports_read = False;
144
146 bool supports_create = False;
147
149 bool supports_update = False;
150
152 bool supports_upsert = False;
153
155 bool supports_delete = False;
156
158 bool supports_native_search = False;
159
161
164 bool supports_bulk_read = False;
165
167
170 bool supports_bulk_create = False;
171
173
176 bool supports_bulk_upsert = False;
177
179 bool supports_request = False;
180
182 bool supports_children = False;
183
185 bool transaction_management = False;
186
188 bool has_record = False;
189
191 bool supports_search_expressions = False;
192
194
197 bool supports_observable = False;
198
200
207 string supports_messages = MSG_None;
208
210
212 bool supports_connections = False;
213
215
217 bool supports_auto_reconnect = False;
218
220
222 bool children_can_support_apis = False;
223
225
227 bool children_can_support_records = False;
228
230
232 bool children_can_support_observers = False;
233
235
237 bool children_can_support_messages = False;
238
240
242 bool children_can_support_transactions = False;
243
245
247 bool children_identical = False;
248};
249
251 public struct DataProviderMessageInfo {
253
255 string desc;
256
258 AbstractDataProviderType type;
259};
260
270
272 const MSG_None = "NONE";
273
275
279 const MSG_Sync = "SYNC";
280
282
284 const MSG_Async = "ASYNC";
286
293 const ST_Any = 1;
294
296 const ST_Value = 2;
297
299
302 const ST_Field = 3;
304
306 const SignatureTypeCodeMap = ...;
307
308
310 const SignatureTypeDescMap = map {$1.value: $1.key.toInt()}, SignatureTypeCodeMap.pairIterator();
311
318 const ER_Search = (1 << 0);
319
321 const ER_Field = (1 << 1);
322
324 const ER_All = ER_Search | ER_Field;
326
328 const RoleCodeMap = ...;
329
330
332 const RoleDescMap = map {$1.value: $1.key.toInt()}, RoleCodeMap.pairIterator();
333
340 const LC_And = (1 << 0);
341
343 const LC_Or = (1 << 1);
344
346 const LC_All = (LC_And | LC_Or);
348
350 const LogicCodeMap = ...;
351
352
354 const LogicDescMap = map {$1.value: $1.key.toInt()}, LogicCodeMap.pairIterator();
355
357 public struct DataProviderSignatureTypeInfo {
359 AbstractDataProviderType type;
360
362 int type_code = ST_Any;
363};
364
366 const DataProviderSignatureFieldType = ...;
367
368
370 const DataProviderSignatureAnyType = ...;
371
372
374 const DataProviderSignatureListType = ...;
375
376
378 const DataProviderSignatureStringValueType = ...;
379
380
382 const DataProviderSignatureOptionalStringValueType = ...;
383
384
386 const DataProviderSignatureIntValueType = ...;
387
388
390 const DataProviderSignatureOptionalIntValueType = ...;
391
392
394 const DataProviderSignatureListValueType = ...;
395
396
398 const DataProviderSignatureHashValueType = ...;
399
400
402 const DataProviderSignatureBoolType = ...;
403
404
406 const DataProviderSignatureStringType = ...;
407
408
410 const DataProviderSignatureDateType = ...;
411
412
419 const DET_Operator = 1;
420
422 const DET_Function = 2;
424
426 const ExpressionTypeCodeMap = ...;
427
428
430 const ExpressionTypeDescMap = map {$1.value: $1.key.toInt()}, ExpressionTypeCodeMap.pairIterator();
431
438 const DES_Generic = 1;
439
441 const DES_LogicOperator = 2;
443
445 const ExpressionSubtypeCodeMap = ...;
446
447
449 const ExpressionSubtypeDescMap = map {$1.value: $1.key.toInt()}, ExpressionSubtypeCodeMap.pairIterator();
450
452 public struct DataProviderArgInfo {
454 string display_name;
455
457 *string short_desc;
458
460 string desc;
461
463 auto default_value;
464
466 bool sensitive = False;
467
469 bool multiselect;
470
472 /* In case the arg type is a list, then this will provide the discrete values that can appear in the list
473 */
474 *softlist<hash<Util::AllowedValueInfo>> allowed_values;
475
477 *bool allowed_values_creatable;
478
480 /* In case the option type is a list, then this will provide the discrete values that can appear in the list
481 */
482 *softlist<hash<Util::AllowedValueInfo>> element_allowed_values;
483
485 bool element_allowed_values_creatable;
486
488
490 auto example_value;
491};
492
494 public struct DataProviderExpressionInfo {
496 int type;
497
499
501 int subtype = DES_Generic;
502
504
506 string name;
507
509 string display_name;
510
512 string short_desc;
513
515
517 string desc;
518
520 string symbol;
521
523
525 int role = ER_All;
526
528 softlist<hash<DataProviderSignatureTypeInfo>> args;
529
531 *softlist<hash<DataProviderArgInfo>> arg_info;
532
534 AbstractDataProviderType return_type;
535
537 bool varargs = False;
538};
539
541 public struct DataProviderFieldReference {
543 string field;
544};
545
547 public struct DataProviderExpression {
549 string exp;
550
552
555 softlist<auto> args;
556};
557
559 public struct DataProviderInfo {
561
563 string name;
564
566 string display_name;
567
569 *string short_desc;
570
572
574 *string desc;
575
577
579 string type;
580
582
584 bool supports_read = False;
585
587
589 bool supports_create = False;
590
592
594 bool supports_update = False;
595
597
599 bool supports_upsert = False;
600
602
604 bool supports_delete = False;
605
607
609 bool supports_native_search = False;
610
612
617 bool supports_bulk_read = False;
618
620
625 bool supports_bulk_create = False;
626
628
633 bool supports_bulk_upsert = False;
634
636
638 bool supports_request = False;
639
641
643 bool supports_children = False;
644
646
648 bool transaction_management = False;
649
651
653 bool has_record = False;
654
656
658 bool record_requires_search_options = False;
659
661
665 bool supports_child_create = False;
666
668
672 bool supports_child_delete = False;
673
675
679 bool supports_add_field = False;
680
682
686 bool supports_update_field = False;
687
689
693 bool supports_delete_field = False;
694
696
700 bool supports_schema = False;
701
703
707 bool supports_search_expressions = False;
708
710
714 bool supports_observable = False;
715
717
724 string supports_messages = MSG_None;
725
727
729 bool supports_connections = False;
730
732
734 bool supports_auto_reconnect = False;
735
737
739 bool children_can_support_apis = False;
740
742
744 bool children_can_support_records = False;
745
747
749 bool children_can_support_observers = False;
750
752
754 bool children_can_support_messages = False;
755
757
759 bool children_can_support_transactions = False;
760
762
764 bool children_identical = False;
765
767
770 *string schema_type;
771
773
775 *hash<string, hash<DataProviderOptionInfo>> constructor_options;
776
778
784 *string required_constructor_options;
785
787
789 *hash<string, hash<DataProviderOptionInfo>> create_options;
790
792
794 *hash<string, hash<DataProviderOptionInfo>> upsert_options;
795
797
799 *hash<string, hash<DataProviderOptionInfo>> search_options;
800
802
804 *hash<string, hash<DataProviderOptionInfo>> request_options;
805
807
811 *hash<string, hash<DataProviderOptionInfo>> child_create_options;
812
814
818 *hash<string, hash<DataProviderOptionInfo>> child_delete_options;
819
821
825 *hash<string, hash<DataProviderOptionInfo>> add_field_options;
826
828
832 *hash<string, hash<DataProviderOptionInfo>> update_field_options;
833
835
839 *hash<string, hash<DataProviderOptionInfo>> delete_field_options;
840
842
846 *hash<string, hash<DataProviderOptionInfo>> send_message_options;
847
849
853 *hash<string, hash<DataProviderExpressionInfo>> expressions;
854
856
860 *hash<string, hash<DataProviderMessageInfo>> events;
861
863
867 *hash<string, hash<DataProviderMessageInfo>> messages;
868
870
872 int search_logic_capabilities = LC_All;
873
875
879 hash<string, hash<MapperRuntimeKeyInfo>> mapper_keys = Mapper::MapperKeyInfo;
880
882
884 *string connection_event;
885
887
889 *string disconnection_event;
890
892
894 *list<string> children;
895
897 *hash<auto> info;
898};
899
901 public struct DataProviderConnectionInfo {
903 bool connected;
904
906 bool reconnecting;
907
909 bool auto_reconnect;
910
912 *string url;
913
915 *hash<auto> info;
916};
917
919 class AbstractDataProvider : public Logger::LoggerWrapper, public Qore::Serializable {
920
921 public:
923 const GenericExpressionImplementations = ...;
924
925
927
932 const GenericExpressions = map {$1.key: $1.value.exp}, GenericExpressionImplementations.pairIterator();
933
935 const DataProviderSummaryInfoKeys = map $1.getName(), TypedHash::forName("DataProviderSummaryInfo").getMembers();
936
938
943 const GenericRecordSearchOptions = ...;
944
945
946 protected:
948 static bool callbacks_locked = False;
949
951 static code cb_value_needs_resolution;
952
954 static code cb_resolve_value;
955
956 public:
957
959 constructor();
960
961
963 constructor(LoggerInterface logger) ;
964
965
967
971 hash<auto> getInfoAsData(*bool with_type_info);
972
973
975 hash<DataProviderInfo> getInfo();
976
977
979 hash<DataProviderSummaryInfo> getSummaryInfo();
980
981
983
985 string getDisplayName();
986
987
989
991 *string getShortDesc();
992
993
995 *string getDesc();
996
997
999
1001 *hash<auto> getAdditionalInfo();
1002
1003
1005
1015 *hash<auto> createRecord(hash<auto> rec, *hash<auto> create_options);
1016
1017
1019
1026 string upsertRecord(hash<auto> rec, *hash<auto> upsert_options);
1027
1028
1030
1037 *hash<auto> searchFirstRecord(hash<DataProviderExpression> where_cond, *hash<auto> search_options);
1038
1039
1041
1046 *hash<auto> searchFirstRecord(hash<auto> where_cond, *hash<auto> search_options);
1047
1048
1050
1058 *hash<auto> searchSingleRecord(hash<DataProviderExpression> where_cond, *hash<auto> search_options);
1059
1060
1062
1068 *hash<auto> searchSingleRecord(*hash<auto> where_cond, *hash<auto> search_options);
1069
1070
1072
1076 AbstractDataProviderRecordIterator getRecordIterator(*hash<auto> search_options);
1077
1078
1080
1088 AbstractDataProviderBulkRecordInterface getBulkRecordInterface(int block_size = 1000, *hash<auto> search_options);
1089
1090
1092
1103 AbstractDataProviderBulkRecordInterface searchRecordsBulk(int block_size = 1000, *hash<DataProviderExpression> where_cond, *hash<auto> search_options);
1104
1105
1107
1116 AbstractDataProviderBulkRecordInterface searchRecordsBulk(int block_size = 1000, *hash<auto> where_cond, *hash<auto> search_options);
1117
1118
1120
1127 AbstractDataProviderRecordIterator searchRecords(*hash<DataProviderExpression> where_cond, *hash<auto> search_options);
1128
1129
1131
1136 AbstractDataProviderRecordIterator searchRecords(*hash<auto> where_cond, *hash<auto> search_options);
1137
1138
1140
1150 AbstractDataProviderRecordIterator requestSearchRecords(auto req, *hash<DataProviderExpression> where_cond, *hash<auto> search_options);
1151
1152
1154
1162 AbstractDataProviderRecordIterator requestSearchRecords(auto req, *hash<auto> where_cond, *hash<auto> search_options);
1163
1164
1166
1177 bool updateSingleRecord(hash<auto> set, hash<DataProviderExpression> where_cond, *hash<auto> search_options);
1178
1179
1181
1190 bool updateSingleRecord(hash<auto> set, hash<auto> where_cond, *hash<auto> search_options);
1191
1192
1194
1206 int updateRecords(hash<auto> set, *hash<DataProviderExpression> where_cond, *hash<auto> search_options);
1207
1208
1210
1220 int updateRecords(hash<auto> set, *hash<auto> where_cond, *hash<auto> search_options);
1221
1222
1224
1236 int deleteRecords(*hash<DataProviderExpression> where_cond, *hash<auto> search_options);
1237
1238
1240
1250 int deleteRecords(*hash<auto> where_cond, *hash<auto> search_options);
1251
1252
1254
1262 auto doRequest(auto req, *hash<auto> request_options);
1263
1264
1266
1277 AbstractDataProvider createChildProvider(string name, hash<string, AbstractDataField> fields, *hash<auto> child_create_options);
1278
1279
1281
1289 deleteChildProvider(string name, *hash<auto> child_delete_options);
1290
1291
1293
1302 addField(AbstractDataField field, *hash<auto> field_add_options);
1303
1304
1306
1315 updateField(string name, AbstractDataField field, *hash<auto> field_update_options);
1316
1317
1319
1327 deleteField(string name, *hash<auto> field_delete_options);
1328
1329
1331
1342 sendMessage(string message_id, auto msg, *hash<auto> send_message_options);
1343
1344
1346
1352 object getSchemaObject();
1353
1354
1356
1360 *AbstractDataProviderType getRequestType();
1361
1362
1364
1374 *AbstractDataProviderType getRequestTypeWithData(auto req);
1375
1376
1378
1388 *hash<string, hash<ActionOptionInfo>> tryGetActionOptionsFromRequestTypeWithData(auto req);
1389
1390
1392
1396 *AbstractDataProviderType getResponseType();
1397
1398
1400
1410 *AbstractDataProviderType getResponseTypeWithData(auto req);
1411
1412
1414
1418 *hash<string, AbstractDataProviderType> getErrorResponseTypes();
1419
1420
1422
1429 AbstractDataProviderType getErrorResponseType(string error_code);
1430
1431
1433
1442 hash<DataProviderMessageInfo> getEventInfo(string event_id);
1443
1444
1446
1458 hash<DataProviderMessageInfo> getEventInfoWithData(string event_id, auto req);
1459
1460
1462
1468 hash<string, hash<DataProviderMessageInfo>> getEventTypes();
1469
1470
1472
1480 *hash<string, hash<ActionOptionInfo>> tryGetActionOptionsWithData(hash<DataProviderActionInfo> action, auto req);
1481
1482
1484
1493 hash<DataProviderMessageInfo> getMessageInfo(string message_id);
1494
1495
1497
1503 hash<string, hash<DataProviderMessageInfo>> getMessageTypes();
1504
1505
1507
1513 auto getExampleRequestData();
1514
1515
1517
1523 auto getExampleResponseData();
1524
1525
1527
1536 auto getExampleErrorResponseData(string error_code);
1537
1538
1540
1549 auto getExampleEventData(string event_id);
1550
1551
1553
1557 hash<auto> getExampleRecordData();
1558
1559
1561
1565 *hash<DataProviderConnectionInfo> getConnectionInfo();
1566
1567
1569
1572 *list<hash<DataProviderSummaryInfo>> getChildProviderSummaryInfo();
1573
1574
1576
1578 *list<string> getChildProviderNames();
1579
1580
1582
1590 *AbstractDataProvider getChildProvider(string name);
1591
1592
1594
1602 AbstractDataProvider getChildProviderEx(string name);
1603
1604
1606
1614 AbstractDataProvider getChildProviderPath(string path);
1615
1616
1618
1621 bool requiresTransactionManagement();
1622
1623
1625
1633 beginTransaction();
1634
1635
1637
1643 commit();
1644
1645
1647
1653 rollback();
1654
1655
1657
1661 AbstractDataProviderBulkOperation getBulkInserter();
1662
1663
1665
1669 AbstractDataProviderBulkOperation getBulkUpserter();
1670
1671
1673
1677 *hash<string, hash<MapperRuntimeKeyInfo>> getMapperRuntimeKeys();
1678
1679
1681
1684 checkRead();
1685
1686
1688
1691 checkCreate();
1692
1693
1695
1698 checkUpsert();
1699
1700
1702
1705 checkUpdate();
1706
1707
1709
1712 checkDelete();
1713
1714
1716
1719 checkRequest();
1720
1721
1723
1728 checkCreateChild();
1729
1730
1732
1737 checkDeleteChild();
1738
1739
1741
1746 checkAddField();
1747
1748
1750
1755 checkUpdateField();
1756
1757
1759
1764 checkDeleteField();
1765
1766
1768
1773 checkSchema();
1774
1775
1777
1782 checkSearchExpressions();
1783
1784
1786
1791 checkObservable();
1792
1793
1795
1800 checkMessages();
1801
1802
1804
1812 *hash<auto> getSearchExpression(*hash<auto> where_cond, *hash<auto> search_options);
1813
1814
1816
1821 *hash<string, bool> getSupportedReferenceData();
1822
1823
1825
1833 *list<hash<AllowedValueInfo>> getReferenceDataSafe(string type, *hash<auto> action_opts);
1834
1835
1837
1849 *list<hash<AllowedValueInfo>> getReferenceDataSafeEx(string type, *hash<auto> action_opts);
1850
1851
1853
1862 *list<hash<AllowedValueInfo>> getReferenceData(string type, *hash<auto> action_opts);
1863
1864
1866
1876 *list<hash<AllowedValueInfo>> getReferenceDataEx(string type, *hash<auto> action_opts);
1877
1878
1880
1885 *hash<string, bool> getSupportedElementReferenceData();
1886
1887
1889
1897 *list<hash<AllowedValueInfo>> getElementReferenceDataSafe(string type, *hash<auto> action_opts);
1898
1899
1901
1913 *list<hash<AllowedValueInfo>> getElementReferenceDataSafeEx(string type, *hash<auto> action_opts);
1914
1915
1917
1926 *list<hash<AllowedValueInfo>> getElementReferenceData(string type, *hash<auto> action_opts);
1927
1928
1930
1940 *list<hash<AllowedValueInfo>> getElementReferenceDataEx(string type, *hash<auto> action_opts);
1941
1942
1944
1949 *hash<string, bool> getSupportedReferenceDataValues();
1950
1951
1953
1960 auto getReferenceDataValueSafe(string type, *hash<auto> action_opts);
1961
1962
1964
1976 auto getReferenceDataValueSafeEx(string type, *hash<auto> action_opts);
1977
1978
1980
1989 auto getReferenceDataValue(string type, *hash<auto> action_opts);
1990
1991
1993
2003 auto getReferenceDataValueEx(string type, *hash<auto> action_opts);
2004
2005
2007
2016 updateConnectionObjects(object conn, object connobj);
2017
2018
2020
2028 protected:
2029 *hash<string, hash<ActionOptionInfo>> tryGetActionOptionsWithDataImpl(hash<DataProviderActionInfo> action, auto req);
2030 public:
2031
2032
2034
2037 protected:
2038 hash<DataProviderExpression> getSimpleArgumentIntern(int role, hash<DataProviderInfo> info, hash<DataProviderExpressionInfo> expinfo, string key, auto value);
2039 public:
2040
2041
2043
2048 protected:
2049 hash<DataProviderExpression> getEqualityComparisonExpression(int role, hash<DataProviderInfo> info, string key, auto value);
2050 public:
2051
2052
2054
2057 protected:
2058 static hash<DataProviderExpressionInfo> getExpression(int role, string exp, *hash<string, hash<DataProviderExpressionInfo>> expmap);
2059 public:
2060
2061
2063
2067 static bool setDynamicValueCallbacks();
2068
2070
2073 static auto evalGenericExpressionValue(hash<auto> rec, auto val);
2074 return rv;
2075 };
2076 if (val instanceof hash<DataProviderExpression>);
2077
2078 return val;
2079 };
2080
2082
2085 static auto evalGenericExpression(hash<auto> rec, hash<DataProviderExpression> exp);
2086
2088
2098 static bool setDynamicValueCallbacks(code value_needs_resolution, code resolve_value);
2099
2101
2109 static verifyExpression(int role, *hash<string, hash<DataProviderExpressionInfo>> expmap, int caps, AbstractDataProviderType expected_type, hash<DataProviderExpression> exp);
2110
2112
2120 static verifyExpression(int role, hash<DataProviderExpressionInfo> expinfo, int caps, AbstractDataProviderType expected_type, hash<DataProviderExpression> exp);
2121
2123
2129 static verifyExpressionArgValue(int role, int caps, hash<DataProviderExpressionInfo> expinfo, softlist<auto> values, int pos);
2130
2132 protected:
2133 static bool checkCallbacks();
2134 public:
2135
2136
2138
2140 protected:
2141 *hash<auto> validateCreateOptions(*hash<auto> create_options);
2142 public:
2143
2144
2146
2148 protected:
2149 *hash<auto> validateUpsertOptions(*hash<auto> upsert_options);
2150 public:
2151
2152
2154
2156 protected:
2157 *hash<auto> validateSearchOptions(*hash<auto> search_options);
2158 public:
2159
2160
2162
2164 protected:
2165 *hash<auto> validateRequestOptions(*hash<auto> request_options);
2166 public:
2167
2168
2170
2174 protected:
2175 *hash<auto> validateChildCreateOptions(*hash<auto> child_create_options);
2176 public:
2177
2178
2180
2184 protected:
2185 *hash<auto> validateChildDeleteOptions(*hash<auto> child_delete_options);
2186 public:
2187
2188
2190
2194 protected:
2195 *hash<auto> validateFieldAddOptions(*hash<auto> field_add_options);
2196 public:
2197
2198
2200
2204 protected:
2205 *hash<auto> validateFieldUpdateOptions(*hash<auto> field_update_options);
2206 public:
2207
2208
2210
2214 protected:
2215 *hash<auto> validateFieldDeleteOptions(*hash<auto> field_delete_options);
2216 public:
2217
2218
2220
2224 protected:
2225 *hash<auto> validateSendMessageOptions(*hash<auto> send_message_options);
2226 public:
2227
2228
2230 protected:
2231 processConstructorOptions(*hash<string, hash<DataProviderOptionInfo>> option_desc, *hash<auto> options, *string required_options);
2232 public:
2233
2234
2236
2249 protected:
2250 *hash<auto> checkOptions(string err, *hash<string, hash<DataProviderOptionInfo>> option_desc, *hash<auto> uoptions, *string required_options);
2251 public:
2252
2253
2255
2263 protected:
2264 verifyRequiredOptions(string err, *hash<auto> options, string required_options);
2265 public:
2266
2267
2269
2274 protected:
2275 *hash<DataProviderExpression> processSearchParameters(*hash<DataProviderExpression> exp, *hash<auto> search_options);
2276 public:
2277
2278
2280
2287 protected:
2288 *hash<auto> processFieldValues(*hash<auto> h, *hash<auto> search_options);
2289 public:
2290
2291
2293 bool searchAcceptsForeignField(string field);
2294
2295
2297
2303 *hash<string, AbstractDataField> getRecordType(*hash<auto> search_options);
2304
2305
2307
2314 *hash<string, AbstractDataField> getCreateRecordType(*hash<auto> create_options);
2315
2316
2318
2327 *hash<string, AbstractDataField> getUpdateRecordType(*hash<auto> search_options);
2328
2329
2331 *hash<string, AbstractDataField> getSoftRecordType(*hash<auto> search_options);
2332
2333
2335 *hash<string, AbstractDataField> getOrNothingRecordType(*hash<auto> search_options);
2336
2337
2339
2342 *hash<string, hash<DataProviderOptionInfo>> getSearchOptions();
2343
2344
2346
2349 *hash<string, hash<DataProviderOptionInfo>> getCreateOptions();
2350
2351
2353
2356 *hash<string, hash<DataProviderOptionInfo>> getUpsertOptions();
2357
2358
2360
2363 *hash<string, hash<DataProviderOptionInfo>> getRequestOptions();
2364
2365
2367
2373 *hash<string, hash<DataProviderOptionInfo>> getChildCreateOptions();
2374
2375
2377
2383 *hash<string, hash<DataProviderOptionInfo>> getChildDeleteOptions();
2384
2385
2387
2393 *hash<string, hash<DataProviderOptionInfo>> getFieldAddOptions();
2394
2395
2397
2403 *hash<string, hash<DataProviderOptionInfo>> getFieldUpdateOptions();
2404
2405
2407
2413 *hash<string, hash<DataProviderOptionInfo>> getFieldDeleteOptions();
2414
2415
2417
2423 *hash<string, hash<DataProviderOptionInfo>> getSendMessageOptions();
2424
2425
2427
2429 string getMessageSupport();
2430
2431
2433
2435 bool supportsRead();
2436
2437
2439
2441 bool supportsBulkRead();
2442
2443
2445
2447 bool supportsCreate();
2448
2449
2451
2453 bool supportsUpdate();
2454
2455
2457
2459 bool supportsUpsert();
2460
2461
2463
2465 bool supportsDelete();
2466
2467
2469
2471 bool supportsNativeSearch();
2472
2473
2475
2477 bool supportsBulkCreate();
2478
2479
2481
2483 bool supportsBulkUpsert();
2484
2485
2487
2489 bool supportsRequest();
2490
2491
2493
2495 bool recordRequiresSearchOptions();
2496
2497
2499
2501 bool hasRecord();
2502
2503
2505
2507 bool supportsCreateChild();
2508
2509
2511
2513 bool supportsDeleteChild();
2514
2515
2517
2519 bool supportsAddField();
2520
2521
2523
2525 bool supportsUpdateField();
2526
2527
2529
2531 bool supportsDeleteField();
2532
2533
2535
2537 bool supportsSchema();
2538
2539
2541
2543 bool supportsSearchExpressions();
2544
2545
2547
2549 bool supportsObservable();
2550
2551
2553
2555 bool supportsMessages();
2556
2557
2559
2561 *object getSchemaType();
2562
2563
2565
2567 bool supportsChildren();
2568
2569
2571
2573 bool childrenIdentical();
2574
2575
2577
2584 static registerChild(string name, code generator);
2585
2587 protected:
2588 error(string err, string fmt, ...);
2589 public:
2590
2591
2593
2598 protected:
2599 *hash<auto> searchFirstRecordImpl(hash<auto> where_cond, *hash<auto> search_options);
2600 public:
2601
2602
2604
2611 protected:
2612 *hash<auto> searchSingleRecordImpl(*hash<auto> where_cond, *hash<auto> search_options);
2613 public:
2614
2615
2617
2621 protected:
2622 *list<string> getChildProviderNamesImpl();
2623 public:
2624
2625
2627
2629 protected:
2630 *AbstractDataProvider getChildProviderImpl(string name);
2631 public:
2632
2633
2635
2639 protected:
2640 *hash<DataProviderConnectionInfo> getConnectionInfoImpl();
2641 public:
2642
2643
2645
2651 protected:
2652 hash<auto> generateExampleData(hash<string, AbstractDataField> fields);
2653 public:
2654
2655
2657
2659 protected:
2660 *hash<string, AbstractDataField> getRecordTypeImpl(*hash<auto> search_options);
2661 public:
2662
2663
2665
2667 protected:
2668 *hash<string, AbstractDataField> getUpdateRecordTypeImpl(*hash<auto> search_options);
2669 public:
2670
2671
2673
2675 protected:
2676 *hash<string, AbstractDataField> getCreateRecordTypeImpl(*hash<auto> create_options);
2677 public:
2678
2679
2681
2688 protected:
2689 AbstractDataProviderBulkRecordInterface searchRecordsBulkImpl(int block_size = 1000, *hash<auto> where_cond, *hash<auto> search_options);
2690 public:
2691
2692
2694
2699 protected:
2700 AbstractDataProviderRecordIterator searchRecordsImpl(*hash<auto> where_cond, *hash<auto> search_options);
2701 public:
2702
2703
2705
2713 protected:
2714 AbstractDataProviderRecordIterator requestSearchRecordsImpl(auto req, *hash<auto> where_cond, *hash<auto> search_options);
2715 public:
2716
2717
2719
2727 protected:
2728 *hash<auto> createRecordImpl(hash<auto> rec, *hash<auto> create_options);
2729 public:
2730
2731
2733
2738 protected:
2739 string upsertRecordImpl(hash<auto> rec, *hash<auto> upsert_options);
2740 public:
2741
2742
2744
2748 protected:
2749 bool updateSingleRecordImpl(hash<auto> set, hash<auto> where_cond, *hash<auto> search_options);
2750 public:
2751
2752
2754
2760 protected:
2761 int updateRecordsImpl(hash<auto> set, *hash<auto> where_cond, *hash<auto> search_options);
2762 public:
2763
2764
2766
2772 protected:
2773 int deleteRecordsImpl(*hash<auto> where_cond, *hash<auto> search_options);
2774 public:
2775
2776
2778
2783 protected:
2784 auto doRequestImpl(auto req, *hash<auto> request_options);
2785 public:
2786
2787
2789
2797 protected:
2798 AbstractDataProvider createChildProviderImpl(string name, hash<string, AbstractDataField> fields, *hash<auto> child_create_options);
2799 public:
2800
2801
2803
2808 protected:
2809 deleteChildProviderImpl(string name, *hash<auto> child_delete_options);
2810 public:
2811
2812
2814
2820 protected:
2821 addFieldImpl(AbstractDataField field, *hash<auto> field_add_options);
2822 public:
2823
2824
2826
2832 protected:
2833 updateFieldImpl(string name, AbstractDataField field, *hash<auto> field_update_options);
2834 public:
2835
2836
2838
2843 protected:
2844 deleteFieldImpl(string name, *hash<auto> field_delete_options);
2845 public:
2846
2847
2849
2856 protected:
2857 sendMessageImpl(string message_id, auto msg, *hash<auto> send_message_options);
2858 public:
2859
2860
2862
2866 protected:
2867 object getSchemaObjectImpl();
2868 public:
2869
2870
2872
2876 protected:
2877 *AbstractDataProviderType getRequestTypeImpl();
2878 public:
2879
2880
2882
2892 protected:
2893 *AbstractDataProviderType getRequestTypeWithDataImpl(auto req);
2894 public:
2895
2896
2898
2902 protected:
2903 *AbstractDataProviderType getResponseTypeImpl();
2904 public:
2905
2906
2908
2918 protected:
2919 *AbstractDataProviderType getResponseTypeWithDataImpl(auto req);
2920 public:
2921
2922
2924
2928 protected:
2929 *hash<string, AbstractDataProviderType> getErrorResponseTypesImpl();
2930 public:
2931
2932
2934
2940 protected:
2941 AbstractDataProviderType getErrorResponseTypeImpl(string error_code);
2942 public:
2943
2944
2946
2956 protected:
2957 hash<DataProviderMessageInfo> getEventInfoImpl(string event_id);
2958 public:
2959
2960
2962
2973 protected:
2974 hash<DataProviderMessageInfo> getEventInfoWithDataImpl(string event_id, auto req);
2975 public:
2976
2977
2979
2985 protected:
2986 hash<string, hash<DataProviderMessageInfo>> getEventTypesImpl();
2987 public:
2988
2989
2991
2999 protected:
3000 hash<DataProviderMessageInfo> getMessageInfoImpl(string message_id);
3001 public:
3002
3003
3005
3011 protected:
3012 hash<string, hash<DataProviderMessageInfo>> getMessageTypesImpl();
3013 public:
3014
3015
3017
3019 protected:
3020 throwUnimplementedException();
3021 public:
3022
3023
3025
3029 protected:
3030 auto getExampleRequestDataImpl();
3031 public:
3032
3033
3035
3041 protected:
3042 auto getExampleResponseDataImpl();
3043 public:
3044
3045
3047
3056 protected:
3057 auto getExampleErrorResponseDataImpl(string error_code);
3058 public:
3059
3060
3062
3071 protected:
3072 auto getExampleEventDataImpl(string event_id);
3073 public:
3074
3075
3077
3081 protected:
3082 hash<auto> getExampleRecordDataImpl();
3083 public:
3084
3085
3087
3094 protected:
3095 *list<hash<AllowedValueInfo>> getReferenceDataImpl(string type, *hash<auto> action_opts);
3096 public:
3097
3098
3100
3107 protected:
3108 *list<hash<AllowedValueInfo>> getElementReferenceDataImpl(string type, *hash<auto> action_opts);
3109 public:
3110
3111
3113
3120 protected:
3121 auto getReferenceDataValueImpl(string type, *hash<auto> action_opts);
3122 public:
3123
3124
3126 abstract string getName();
3127
3129 protected:
3130 abstract hash<DataProviderInfo> getStaticInfoImpl();
3131 public:
3132}
3133}
DataProvider::AbstractDataField
describes a data type based on a hashdecl
Definition AbstractDataField.qc.dox.h:74
DataProvider::AbstractDataProviderBulkOperation
Abstract bulk data operation class.
Definition AbstractDataProviderBulkOperation.qc.dox.h:33
DataProvider::AbstractDataProviderBulkRecordInterface
Defines the abstract class for data provider iterators; the destructor releases the iterator.
Definition AbstractDataProviderBulkRecordInterface.qc.dox.h:33
DataProvider::AbstractDataProvider
The AbstractDataProvider class.
Definition AbstractDataProvider.qc.dox.h:919
DataProvider::AbstractDataProvider::searchFirstRecord
*hash< auto > searchFirstRecord(hash< DataProviderExpression > where_cond, *hash< auto > search_options)
Returns the first record matching the search options.
DataProvider::AbstractDataProvider::cb_resolve_value
static code cb_resolve_value
static callback for dynamic value resolution
Definition AbstractDataProvider.qc.dox.h:954
DataProvider::AbstractDataProvider::GenericExpressions
const GenericExpressions
Generic search operator expressions.
Definition AbstractDataProvider.qc.dox.h:932
DataProvider::AbstractDataProvider::getSummaryInfo
hash< DataProviderSummaryInfo > getSummaryInfo()
Return data provider summary info.
DataProvider::AbstractDataProvider::tryGetActionOptionsWithData
*hash< string, hash< ActionOptionInfo > > tryGetActionOptionsWithData(hash< DataProviderActionInfo > action, auto req)
Returns action options corresponding to the given option data.
DataProvider::AbstractDataProvider::getEventInfo
hash< DataProviderMessageInfo > getEventInfo(string event_id)
Returns the description of an observable event, if any.
DataProvider::AbstractDataProvider::getElementReferenceDataSafe
*list< hash< AllowedValueInfo > > getElementReferenceDataSafe(string type, *hash< auto > action_opts)
Returns element reference data of the given kind if available; logs but ignores exceptions retrieving...
DataProvider::AbstractDataProvider::checkDeleteChild
checkDeleteChild()
Ensures that the data provider supports deleting children.
DataProvider::AbstractDataProvider::getMapperRuntimeKeys
*hash< string, hash< MapperRuntimeKeyInfo > > getMapperRuntimeKeys()
Returns custom data mapper runtime keys.
DataProvider::AbstractDataProvider::deleteChildProvider
deleteChildProvider(string name, *hash< auto > child_delete_options)
Deletes a child data provider.
DataProvider::AbstractDataProvider::beginTransaction
beginTransaction()
Begins a transaction with a data provider.
DataProvider::AbstractDataProvider::DataProviderSummaryInfoKeys
const DataProviderSummaryInfoKeys
A list of members names of the DataProviderSummaryInfoKeys hashdecl.
Definition AbstractDataProvider.qc.dox.h:935
DataProvider::AbstractDataProvider::getRequestType
*AbstractDataProviderType getRequestType()
Returns the description of a successful request message, if any.
DataProvider::AbstractDataProvider::getInfoAsData
hash< auto > getInfoAsData(*bool with_type_info)
Returns static provider information as data; no objects are returned.
DataProvider::AbstractDataProvider::getReferenceDataValue
auto getReferenceDataValue(string type, *hash< auto > action_opts)
Returns a reference data value of the given kind if available.
DataProvider::AbstractDataProvider::checkUpdate
checkUpdate()
Ensures that the data provider supports record upserts.
DataProvider::AbstractDataProvider::getExampleResponseData
auto getExampleResponseData()
Returns example data for a successful request message.
DataProvider::AbstractDataProvider::getBulkUpserter
AbstractDataProviderBulkOperation getBulkUpserter()
Returns a bulk upsert operation object for the data provider.
DataProvider::AbstractDataProvider::getMessageInfo
hash< DataProviderMessageInfo > getMessageInfo(string message_id)
Returns the description of an outbound message, if any.
DataProvider::AbstractDataProvider::GenericExpressionImplementations
const GenericExpressionImplementations
Generic expression implementations for data providers without native search functionality.
Definition AbstractDataProvider.qc.dox.h:923
DataProvider::AbstractDataProvider::getShortDesc
*string getShortDesc()
Returns the data provider short description.
DataProvider::AbstractDataProvider::searchSingleRecord
*hash< auto > searchSingleRecord(hash< DataProviderExpression > where_cond, *hash< auto > search_options)
Returns a single record matching the search options.
DataProvider::AbstractDataProvider::getEventTypes
hash< string, hash< DataProviderMessageInfo > > getEventTypes()
Returns a hash of all supported event types.
DataProvider::AbstractDataProvider::checkUpdateField
checkUpdateField()
Ensures that the data provider supports updating fields.
DataProvider::AbstractDataProvider::sendMessage
sendMessage(string message_id, auto msg, *hash< auto > send_message_options)
Sends a message from message-capable data providers.
DataProvider::AbstractDataProvider::getReferenceDataEx
*list< hash< AllowedValueInfo > > getReferenceDataEx(string type, *hash< auto > action_opts)
Returns reference data of the given kind if available.
DataProvider::AbstractDataProvider::getExampleEventData
auto getExampleEventData(string event_id)
Returns example data for the given observable event.
DataProvider::AbstractDataProvider::checkObservable
checkObservable()
Ensures that the data provider supports observer pattern / event API.
DataProvider::AbstractDataProvider::getChildProvider
*AbstractDataProvider getChildProvider(string name)
Returns the given child provider or NOTHING if the given child is unknown.
DataProvider::AbstractDataProvider::GenericRecordSearchOptions
const GenericRecordSearchOptions
Generic record search options; see details below.
Definition AbstractDataProvider.qc.dox.h:943
DataProvider::AbstractDataProvider::getReferenceDataValueEx
auto getReferenceDataValueEx(string type, *hash< auto > action_opts)
Returns a reference data value of the given kind if available.
DataProvider::AbstractDataProvider::commit
commit()
Commits data written to the data provider.
DataProvider::AbstractDataProvider::getDisplayName
string getDisplayName()
Returns the data provider display name.
DataProvider::AbstractDataProvider::updateSingleRecord
bool updateSingleRecord(hash< auto > set, hash< DataProviderExpression > where_cond, *hash< auto > search_options)
Updates a single record matching the search options.
DataProvider::AbstractDataProvider::requiresTransactionManagement
bool requiresTransactionManagement()
Returns True if the data provider requires transaction management.
DataProvider::AbstractDataProvider::getExampleErrorResponseData
auto getExampleErrorResponseData(string error_code)
Returns example data for the error message with the given error code.
DataProvider::AbstractDataProvider::getRecordIterator
AbstractDataProviderRecordIterator getRecordIterator(*hash< auto > search_options)
Returns an iterator iterating all records.
DataProvider::AbstractDataProvider::getExampleRequestData
auto getExampleRequestData()
Returns example data for a request message.
DataProvider::AbstractDataProvider::searchRecordsBulk
AbstractDataProviderBulkRecordInterface searchRecordsBulk(int block_size=1000, *hash< auto > where_cond, *hash< auto > search_options)
Returns an iterator for zero or more records matching the search options.
DataProvider::AbstractDataProvider::constructor
constructor()
Creates the data provider.
DataProvider::AbstractDataProvider::deleteField
deleteField(string name, *hash< auto > field_delete_options)
Deletes an existing field.
DataProvider::AbstractDataProvider::searchFirstRecord
*hash< auto > searchFirstRecord(hash< auto > where_cond, *hash< auto > search_options)
Returns the first record matching the search options.
DataProvider::AbstractDataProvider::getInfo
hash< DataProviderInfo > getInfo()
Returns data provider info.
DataProvider::AbstractDataProvider::deleteRecords
int deleteRecords(*hash< DataProviderExpression > where_cond, *hash< auto > search_options)
Deletes zero or more records.
DataProvider::AbstractDataProvider::getExampleRecordData
hash< auto > getExampleRecordData()
Returns example data for the record type.
DataProvider::AbstractDataProvider::getEqualityComparisonExpression
hash< DataProviderExpression > getEqualityComparisonExpression(int role, hash< DataProviderInfo > info, string key, auto value)
Returns an equality comparison expression.
DataProvider::AbstractDataProvider::getElementReferenceData
*list< hash< AllowedValueInfo > > getElementReferenceData(string type, *hash< auto > action_opts)
Returns element reference data of the given kind if available.
DataProvider::AbstractDataProvider::searchSingleRecord
*hash< auto > searchSingleRecord(*hash< auto > where_cond, *hash< auto > search_options)
Returns a single record matching the search options.
DataProvider::AbstractDataProvider::getSimpleArgumentIntern
hash< DataProviderExpression > getSimpleArgumentIntern(int role, hash< DataProviderInfo > info, hash< DataProviderExpressionInfo > expinfo, string key, auto value)
Returns an argument for an expression.
DataProvider::AbstractDataProvider::rollback
rollback()
Rolls back data written to the data provider.
DataProvider::AbstractDataProvider::getReferenceData
*list< hash< AllowedValueInfo > > getReferenceData(string type, *hash< auto > action_opts)
Returns reference data of the given kind if available.
DataProvider::AbstractDataProvider::updateRecords
int updateRecords(hash< auto > set, *hash< DataProviderExpression > where_cond, *hash< auto > search_options)
Updates zero or more records matching the search options.
DataProvider::AbstractDataProvider::evalGenericExpressionValue
static auto evalGenericExpressionValue(hash< auto > rec, auto val)
Evaluates the given expression with the generic internal implementation and returns the result.
DataProvider::AbstractDataProvider::getRequestTypeWithData
*AbstractDataProviderType getRequestTypeWithData(auto req)
Returns the description of a successful request message with call data, if any.
DataProvider::AbstractDataProvider::getReferenceDataSafe
*list< hash< AllowedValueInfo > > getReferenceDataSafe(string type, *hash< auto > action_opts)
Returns reference data of the given kind if available; logs but ignores exceptions retrieving the dat...
DataProvider::AbstractDataProvider::getResponseType
*AbstractDataProviderType getResponseType()
Returns the description of a response message, if this object represents a response message.
DataProvider::AbstractDataProvider::tryGetActionOptionsWithDataImpl
*hash< string, hash< ActionOptionInfo > > tryGetActionOptionsWithDataImpl(hash< DataProviderActionInfo > action, auto req)
Returns action options corresponding to the given option data.
DataProvider::AbstractDataProvider::getAdditionalInfo
*hash< auto > getAdditionalInfo()
Returns additional provider-specific information.
DataProvider::AbstractDataProvider::getEventInfoWithData
hash< DataProviderMessageInfo > getEventInfoWithData(string event_id, auto req)
Returns the description of an observable event, if any with option data, if any.
DataProvider::AbstractDataProvider::callbacks_locked
static bool callbacks_locked
flag if callbacks are locked
Definition AbstractDataProvider.qc.dox.h:948
DataProvider::AbstractDataProvider::requestSearchRecords
AbstractDataProviderRecordIterator requestSearchRecords(auto req, *hash< auto > where_cond, *hash< auto > search_options)
Returns an iterator for zero or more records matching the search options according to an API request.
DataProvider::AbstractDataProvider::getBulkInserter
AbstractDataProviderBulkOperation getBulkInserter()
Returns a bulk insert operation object for the data provider.
DataProvider::AbstractDataProvider::createRecord
*hash< auto > createRecord(hash< auto > rec, *hash< auto > create_options)
Creates the given record in the data provider.
DataProvider::AbstractDataProvider::setDynamicValueCallbacks
static bool setDynamicValueCallbacks()
Ensures that no callbacks can be set for dynamic URI resolution.
DataProvider::AbstractDataProvider::updateSingleRecord
bool updateSingleRecord(hash< auto > set, hash< auto > where_cond, *hash< auto > search_options)
Updates a single record matching the search options.
DataProvider::AbstractDataProvider::doRequest
auto doRequest(auto req, *hash< auto > request_options)
Makes a request and returns the response.
DataProvider::AbstractDataProvider::getSupportedReferenceDataValues
*hash< string, bool > getSupportedReferenceDataValues()
Returns information on supported reference data values.
DataProvider::AbstractDataProvider::getChildProviderSummaryInfo
*list< hash< DataProviderSummaryInfo > > getChildProviderSummaryInfo()
Return data provider summary info.
DataProvider::AbstractDataProvider::cb_value_needs_resolution
static code cb_value_needs_resolution
static callback the returns a bool if the value needs dynamic resolution
Definition AbstractDataProvider.qc.dox.h:951
DataProvider::AbstractDataProvider::getSchemaObject
object getSchemaObject()
Returns the schema supporting this data provider.
DataProvider::AbstractDataProvider::checkCreate
checkCreate()
Ensures that the data provider supports record creation.
DataProvider::AbstractDataProvider::getReferenceDataValueSafeEx
auto getReferenceDataValueSafeEx(string type, *hash< auto > action_opts)
Returns reference data of the given kind if available.
DataProvider::AbstractDataProvider::getReferenceDataSafeEx
*list< hash< AllowedValueInfo > > getReferenceDataSafeEx(string type, *hash< auto > action_opts)
Returns reference data of the given kind if available.
DataProvider::AbstractDataProvider::checkSchema
checkSchema()
Ensures that the data provider supports a schema.
DataProvider::AbstractDataProvider::checkRead
checkRead()
Ensures that the data provider supports read operations.
DataProvider::AbstractDataProvider::getDesc
*string getDesc()
Returns the data provider description.
DataProvider::AbstractDataProvider::getElementReferenceDataEx
*list< hash< AllowedValueInfo > > getElementReferenceDataEx(string type, *hash< auto > action_opts)
Returns element reference data of the given kind if available.
DataProvider::AbstractDataProvider::getBulkRecordInterface
AbstractDataProviderBulkRecordInterface getBulkRecordInterface(int block_size=1000, *hash< auto > search_options)
Returns an iterator iterating all records with the bulk read API.
DataProvider::AbstractDataProvider::updateRecords
int updateRecords(hash< auto > set, *hash< auto > where_cond, *hash< auto > search_options)
Updates zero or more records matching the search options.
DataProvider::AbstractDataProvider::updateConnectionObjects
updateConnectionObjects(object conn, object connobj)
Update any connection used by the data provider.
DataProvider::AbstractDataProvider::getConnectionInfo
*hash< DataProviderConnectionInfo > getConnectionInfo()
Returns connection info if the data provider supports connections, otherwise returns NOTHING.
DataProvider::AbstractDataProvider::getSupportedReferenceData
*hash< string, bool > getSupportedReferenceData()
Returns information on supported reference data.
DataProvider::AbstractDataProvider::searchRecords
AbstractDataProviderRecordIterator searchRecords(*hash< auto > where_cond, *hash< auto > search_options)
Returns an iterator for zero or more records matching the search options.
DataProvider::AbstractDataProvider::constructor
constructor(LoggerInterface logger)
Creates the data provider with the given Logger.
DataProvider::AbstractDataProvider::checkDelete
checkDelete()
Ensures that the data provider supports record deletion.
DataProvider::AbstractDataProvider::getMessageTypes
hash< string, hash< DataProviderMessageInfo > > getMessageTypes()
Returns a hash of all supported outbound messages.
DataProvider::AbstractDataProvider::getExpression
static hash< DataProviderExpressionInfo > getExpression(int role, string exp, *hash< string, hash< DataProviderExpressionInfo > > expmap)
Returns an expression definition for an expression code or throws an exception.
DataProvider::AbstractDataProvider::getErrorResponseType
AbstractDataProviderType getErrorResponseType(string error_code)
Returns the type for the given error code.
DataProvider::AbstractDataProvider::checkMessages
checkMessages()
Ensures that the data provider supports sending messages.
DataProvider::AbstractDataProvider::searchRecords
AbstractDataProviderRecordIterator searchRecords(*hash< DataProviderExpression > where_cond, *hash< auto > search_options)
Returns an iterator for zero or more records matching the search options.
DataProvider::AbstractDataProvider::getErrorResponseTypes
*hash< string, AbstractDataProviderType > getErrorResponseTypes()
Returns a hash of error responses, if any.
DataProvider::AbstractDataProvider::checkDeleteField
checkDeleteField()
Ensures that the data provider supports deleting fields.
DataProvider::AbstractDataProvider::getChildProviderPath
AbstractDataProvider getChildProviderPath(string path)
Returns the given child provider from a "/" separated path string.
DataProvider::AbstractDataProvider::getSupportedElementReferenceData
*hash< string, bool > getSupportedElementReferenceData()
Returns information on supported element reference data.
DataProvider::AbstractDataProvider::addField
addField(AbstractDataField field, *hash< auto > field_add_options)
Creates a new field.
DataProvider::AbstractDataProvider::createChildProvider
AbstractDataProvider createChildProvider(string name, hash< string, AbstractDataField > fields, *hash< auto > child_create_options)
Creates a new child data provider and returns it after adding as a child.
DataProvider::AbstractDataProvider::getReferenceDataValueSafe
auto getReferenceDataValueSafe(string type, *hash< auto > action_opts)
Returns a reference data value of the given kind if available; logs but ignores exceptions retrieving...
DataProvider::AbstractDataProvider::upsertRecord
string upsertRecord(hash< auto > rec, *hash< auto > upsert_options)
Upserts the given record in the data provider.
DataProvider::AbstractDataProvider::updateField
updateField(string name, AbstractDataField field, *hash< auto > field_update_options)
Updates an existing field.
DataProvider::AbstractDataProvider::getSearchExpression
*hash< auto > getSearchExpression(*hash< auto > where_cond, *hash< auto > search_options)
Returns a search expression for a standard search hash.
DataProvider::AbstractDataProvider::checkRequest
checkRequest()
Ensures that the data provider supports the request API.
DataProvider::AbstractDataProvider::getChildProviderEx
AbstractDataProvider getChildProviderEx(string name)
Returns the given child provider or throws an exception if the given child is unknown.
DataProvider::AbstractDataProvider::checkSearchExpressions
checkSearchExpressions()
Ensures that the data provider supports advanced search expressions.
DataProvider::AbstractDataProvider::requestSearchRecords
AbstractDataProviderRecordIterator requestSearchRecords(auto req, *hash< DataProviderExpression > where_cond, *hash< auto > search_options)
Returns an iterator for zero or more records matching the search options according to an API request.
DataProvider::AbstractDataProvider::checkAddField
checkAddField()
Ensures that the data provider supports adding fields.
DataProvider::AbstractDataProvider::checkCreateChild
checkCreateChild()
Ensures that the data provider supports creating children.
DataProvider::AbstractDataProvider::searchRecordsBulk
AbstractDataProviderBulkRecordInterface searchRecordsBulk(int block_size=1000, *hash< DataProviderExpression > where_cond, *hash< auto > search_options)
Returns an iterator for zero or more records matching the search options.
DataProvider::AbstractDataProvider::deleteRecords
int deleteRecords(*hash< auto > where_cond, *hash< auto > search_options)
Deletes zero or more records.
DataProvider::AbstractDataProvider::checkUpsert
checkUpsert()
Ensures that the data provider supports record upserts.
DataProvider::AbstractDataProvider::getChildProviderNames
*list< string > getChildProviderNames()
Returns a list of child data provider names, if any.
DataProvider::AbstractDataProvider::getElementReferenceDataSafeEx
*list< hash< AllowedValueInfo > > getElementReferenceDataSafeEx(string type, *hash< auto > action_opts)
Returns element reference data of the given kind if available.
DataProvider::AbstractDataProvider::getResponseTypeWithData
*AbstractDataProviderType getResponseTypeWithData(auto req)
Returns the description of a successful response message with call data, if any.
DataProvider::AbstractDataProvider::tryGetActionOptionsFromRequestTypeWithData
*hash< string, hash< ActionOptionInfo > > tryGetActionOptionsFromRequestTypeWithData(auto req)
Returns action options corresponding to the request type with the given request data,...
DataProvider::AbstractDataProviderRecordIterator
Defines the abstract class for data provider iterators; the destructor releases the iterator.
Definition AbstractDataProviderRecordIterator.qc.dox.h:288
DataProvider::AbstractDataProviderType
describes a data type
Definition AbstractDataProviderType.qc.dox.h:139
Qore::Serializable
DataProvider::DES_LogicOperator
const DES_LogicOperator
Indicates a logical operator type.
Definition AbstractDataProvider.qc.dox.h:441
DataProvider::DES_Generic
const DES_Generic
Definition AbstractDataProvider.qc.dox.h:438
DataProvider::DET_Operator
const DET_Operator
Definition AbstractDataProvider.qc.dox.h:419
DataProvider::DET_Function
const DET_Function
Indicates a function expression.
Definition AbstractDataProvider.qc.dox.h:422
DataProvider::MSG_None
const MSG_None
Definition AbstractDataProvider.qc.dox.h:272
DataProvider::MSG_Async
const MSG_Async
Asynchronous output type, output can happen any time.
Definition AbstractDataProvider.qc.dox.h:284
DataProvider::MSG_Sync
const MSG_Sync
Synchronous output type, an output message is expected after each observed event.
Definition AbstractDataProvider.qc.dox.h:279
DataProvider::UpsertResultUnchanged
const UpsertResultUnchanged
Indicates that the record was left unchanged.
Definition AbstractDataProvider.qc.dox.h:41
DataProvider::UpsertResultDeleted
const UpsertResultDeleted
Indicates that the record was deleted.
Definition AbstractDataProvider.qc.dox.h:44
DataProvider::UpsertResultInserted
const UpsertResultInserted
Definition AbstractDataProvider.qc.dox.h:32
DataProvider::UpsertResultVerified
const UpsertResultVerified
Indicates that the record was verified as already in the target state.
Definition AbstractDataProvider.qc.dox.h:38
DataProvider::UpsertResultUpdated
const UpsertResultUpdated
Indicates that the record was updated.
Definition AbstractDataProvider.qc.dox.h:35
DataProvider::ER_All
const ER_All
Indicates an expression that can be used in all contexts.
Definition AbstractDataProvider.qc.dox.h:324
DataProvider::ER_Search
const ER_Search
Definition AbstractDataProvider.qc.dox.h:318
DataProvider::ER_Field
const ER_Field
Indicates an expression that can be used in a field.
Definition AbstractDataProvider.qc.dox.h:321
DataProvider::LC_Or
const LC_Or
Indicates that boolean expressions can be combined with OR logic.
Definition AbstractDataProvider.qc.dox.h:343
DataProvider::LC_And
const LC_And
Definition AbstractDataProvider.qc.dox.h:340
DataProvider::LC_All
const LC_All
Indicates that all logic capabilities are supported.
Definition AbstractDataProvider.qc.dox.h:346
DataProvider::ST_Value
const ST_Value
Indicates any literal value of the given type; i.e. not an operator or other expression.
Definition AbstractDataProvider.qc.dox.h:296
DataProvider::ST_Field
const ST_Field
The signature type indicates a string field name when used as an argument, and the type is the field ...
Definition AbstractDataProvider.qc.dox.h:302
DataProvider::ST_Any
const ST_Any
Definition AbstractDataProvider.qc.dox.h:293
DataProvider
Qore AbstractDataField class definition.
Definition AbstractDataField.qc.dox.h:27
DataProvider::DataProviderSignatureOptionalIntValueType
const DataProviderSignatureOptionalIntValueType
Data provider signature *int value type.
Definition AbstractDataProvider.qc.dox.h:390
DataProvider::DataProviderSignatureStringType
const DataProviderSignatureStringType
Data provider signature string type.
Definition AbstractDataProvider.qc.dox.h:406
DataProvider::DataProviderSignatureDateType
const DataProviderSignatureDateType
Data provider signature date type.
Definition AbstractDataProvider.qc.dox.h:410
DataProvider::DataProviderSignatureHashValueType
const DataProviderSignatureHashValueType
Data provider signature hash value type.
Definition AbstractDataProvider.qc.dox.h:398
DataProvider::ExpressionSubtypeCodeMap
const ExpressionSubtypeCodeMap
Maps DataProvider expression subtype codes to descriptions.
Definition AbstractDataProvider.qc.dox.h:445
DataProvider::SignatureTypeDescMap
const SignatureTypeDescMap
Maps signature description values to integer codes.
Definition AbstractDataProvider.qc.dox.h:310
DataProvider::SignatureTypeCodeMap
const SignatureTypeCodeMap
Maps signature type codes to descriptions.
Definition AbstractDataProvider.qc.dox.h:306
DataProvider::DataProviderSignatureOptionalStringValueType
const DataProviderSignatureOptionalStringValueType
Data provider signature optional string value type.
Definition AbstractDataProvider.qc.dox.h:382
DataProvider::LogicDescMap
const LogicDescMap
Logic map from descriptions to integer codes.
Definition AbstractDataProvider.qc.dox.h:354
DataProvider::DataProviderSignatureFieldType
const DataProviderSignatureFieldType
Data provider signature field type.
Definition AbstractDataProvider.qc.dox.h:366
DataProvider::ExpressionTypeDescMap
const ExpressionTypeDescMap
Maps DataProvider expression type descriptions to integer codes.
Definition AbstractDataProvider.qc.dox.h:430
DataProvider::DataProviderSignatureBoolType
const DataProviderSignatureBoolType
Data provider signature bool type.
Definition AbstractDataProvider.qc.dox.h:402
DataProvider::DataProviderSignatureListValueType
const DataProviderSignatureListValueType
Data provider signature list value type.
Definition AbstractDataProvider.qc.dox.h:394
DataProvider::DataProviderSignatureStringValueType
const DataProviderSignatureStringValueType
Data provider signature string value type.
Definition AbstractDataProvider.qc.dox.h:378
DataProvider::DataProviderSignatureAnyType
const DataProviderSignatureAnyType
Data provider signature any type.
Definition AbstractDataProvider.qc.dox.h:370
DataProvider::ExpressionSubtypeDescMap
const ExpressionSubtypeDescMap
Maps DataProvider expression subtype descriptions to integer codes.
Definition AbstractDataProvider.qc.dox.h:449
DataProvider::RoleCodeMap
const RoleCodeMap
Role map from codes to descriptions.
Definition AbstractDataProvider.qc.dox.h:328
DataProvider::LogicCodeMap
const LogicCodeMap
Logic map from codes to descriptions.
Definition AbstractDataProvider.qc.dox.h:350
DataProvider::RoleDescMap
const RoleDescMap
Role map from descriptions to codes.
Definition AbstractDataProvider.qc.dox.h:332
DataProvider::DataProviderSignatureListType
const DataProviderSignatureListType
Data provider signature list type.
Definition AbstractDataProvider.qc.dox.h:374
DataProvider::ExpressionTypeCodeMap
const ExpressionTypeCodeMap
Maps DataProvider expression type codes to descriptions.
Definition AbstractDataProvider.qc.dox.h:426
DataProvider::DataProviderSignatureIntValueType
const DataProviderSignatureIntValueType
Data provider signature int value type.
Definition AbstractDataProvider.qc.dox.h:386
Mapper::MapperKeyInfo
const MapperKeyInfo
DataProvider::DataProviderArgInfo
Data provider expression arg info.
Definition AbstractDataProvider.qc.dox.h:452
DataProvider::DataProviderArgInfo::allowed_values
*softlist< hash< Util::AllowedValueInfo > > allowed_values
List of allowed values (enum)
Definition AbstractDataProvider.qc.dox.h:474
DataProvider::DataProviderArgInfo::element_allowed_values
*softlist< hash< Util::AllowedValueInfo > > element_allowed_values
List of allowed values for elements of list types (enum)
Definition AbstractDataProvider.qc.dox.h:482
DataProvider::DataProviderArgInfo::desc
string desc
The argument description.
Definition AbstractDataProvider.qc.dox.h:460
DataProvider::DataProviderArgInfo::default_value
auto default_value
Any default value.
Definition AbstractDataProvider.qc.dox.h:463
DataProvider::DataProviderArgInfo::sensitive
bool sensitive
Is the argument value sensitive?
Definition AbstractDataProvider.qc.dox.h:466
DataProvider::DataProviderArgInfo::multiselect
bool multiselect
Are allowed values elements of the list's element type that indicate what values the list can have?
Definition AbstractDataProvider.qc.dox.h:469
DataProvider::DataProviderArgInfo::short_desc
*string short_desc
Argument short description in plain text.
Definition AbstractDataProvider.qc.dox.h:457
DataProvider::DataProviderArgInfo::element_allowed_values_creatable
bool element_allowed_values_creatable
Does the option accept values for elements not defined in element_allowed_values too?
Definition AbstractDataProvider.qc.dox.h:485
DataProvider::DataProviderArgInfo::allowed_values_creatable
*bool allowed_values_creatable
Does the option accept values not defined in allowed_values too?
Definition AbstractDataProvider.qc.dox.h:477
DataProvider::DataProviderArgInfo::example_value
auto example_value
Any optional example value for the argument.
Definition AbstractDataProvider.qc.dox.h:490
DataProvider::DataProviderArgInfo::display_name
string display_name
Argument display name.
Definition AbstractDataProvider.qc.dox.h:454
DataProvider::DataProviderConnectionInfo
Data provider connection info.
Definition AbstractDataProvider.qc.dox.h:901
DataProvider::DataProviderConnectionInfo::auto_reconnect
bool auto_reconnect
Is auto reconnect supported?
Definition AbstractDataProvider.qc.dox.h:909
DataProvider::DataProviderConnectionInfo::connected
bool connected
Is the underlying transport connected?
Definition AbstractDataProvider.qc.dox.h:903
DataProvider::DataProviderConnectionInfo::info
*hash< auto > info
Additional data-provider-dependent connection information.
Definition AbstractDataProvider.qc.dox.h:915
DataProvider::DataProviderConnectionInfo::reconnecting
bool reconnecting
Is a reconnect in progress?
Definition AbstractDataProvider.qc.dox.h:906
DataProvider::DataProviderConnectionInfo::url
*string url
Any target URL if available.
Definition AbstractDataProvider.qc.dox.h:912
DataProvider::DataProviderExpression
Data provider expression.
Definition AbstractDataProvider.qc.dox.h:547
DataProvider::DataProviderExpression::exp
string exp
Expression name.
Definition AbstractDataProvider.qc.dox.h:549
DataProvider::DataProviderExpression::args
softlist< auto > args
Expression arguments.
Definition AbstractDataProvider.qc.dox.h:555
DataProvider::DataProviderExpressionInfo
Data provider signature info.
Definition AbstractDataProvider.qc.dox.h:494
DataProvider::DataProviderExpressionInfo::symbol
string symbol
The symbol to use when rendering expressions.
Definition AbstractDataProvider.qc.dox.h:520
DataProvider::DataProviderExpressionInfo::name
string name
The technical name or internal label used for the expression.
Definition AbstractDataProvider.qc.dox.h:506
DataProvider::DataProviderExpressionInfo::display_name
string display_name
The display name.
Definition AbstractDataProvider.qc.dox.h:509
DataProvider::DataProviderExpressionInfo::short_desc
string short_desc
The short description of the operation.
Definition AbstractDataProvider.qc.dox.h:512
DataProvider::DataProviderExpressionInfo::varargs
bool varargs
The last argument can be repeated indefinitely.
Definition AbstractDataProvider.qc.dox.h:537
DataProvider::DataProviderExpressionInfo::role
int role
The expression role code / bitfield.
Definition AbstractDataProvider.qc.dox.h:525
DataProvider::DataProviderExpressionInfo::type
int type
The type of expression; see DataProvider Expression Type Codes.
Definition AbstractDataProvider.qc.dox.h:496
DataProvider::DataProviderExpressionInfo::args
softlist< hash< DataProviderSignatureTypeInfo > > args
Argument types.
Definition AbstractDataProvider.qc.dox.h:528
DataProvider::DataProviderExpressionInfo::subtype
int subtype
The expression subtype.
Definition AbstractDataProvider.qc.dox.h:501
DataProvider::DataProviderExpressionInfo::desc
string desc
The description of the operation.
Definition AbstractDataProvider.qc.dox.h:517
DataProvider::DataProviderExpressionInfo::arg_info
*softlist< hash< DataProviderArgInfo > > arg_info
Argument info.
Definition AbstractDataProvider.qc.dox.h:531
DataProvider::DataProviderExpressionInfo::return_type
AbstractDataProviderType return_type
The return type.
Definition AbstractDataProvider.qc.dox.h:534
DataProvider::DataProviderFieldReference
Data provider field reference.
Definition AbstractDataProvider.qc.dox.h:541
DataProvider::DataProviderFieldReference::field
string field
The name of the field being referenced.
Definition AbstractDataProvider.qc.dox.h:543
DataProvider::DataProviderInfo
Data provider info.
Definition AbstractDataProvider.qc.dox.h:559
DataProvider::DataProviderInfo::supports_messages
string supports_messages
Output message support.
Definition AbstractDataProvider.qc.dox.h:724
DataProvider::DataProviderInfo::supports_delete
bool supports_delete
Does the data provider support record deletion?
Definition AbstractDataProvider.qc.dox.h:604
DataProvider::DataProviderInfo::events
*hash< string, hash< DataProviderMessageInfo > > events
hash of observable events and event types
Definition AbstractDataProvider.qc.dox.h:860
DataProvider::DataProviderInfo::supports_bulk_read
bool supports_bulk_read
Does the data provider support native / optimized bulk reads?
Definition AbstractDataProvider.qc.dox.h:617
DataProvider::DataProviderInfo::add_field_options
*hash< string, hash< DataProviderOptionInfo > > add_field_options
Add field options supported by the data provider.
Definition AbstractDataProvider.qc.dox.h:825
DataProvider::DataProviderInfo::messages
*hash< string, hash< DataProviderMessageInfo > > messages
List of output message IDs and message types.
Definition AbstractDataProvider.qc.dox.h:867
DataProvider::DataProviderInfo::supports_connections
bool supports_connections
Does the data provider support connections and connection status reporting?
Definition AbstractDataProvider.qc.dox.h:729
DataProvider::DataProviderInfo::transaction_management
bool transaction_management
Does the data provider require transaction management?
Definition AbstractDataProvider.qc.dox.h:648
DataProvider::DataProviderInfo::expressions
*hash< string, hash< DataProviderExpressionInfo > > expressions
Expressions (operators and functions) supported by the data provider.
Definition AbstractDataProvider.qc.dox.h:853
DataProvider::DataProviderInfo::display_name
string display_name
Data provider display name.
Definition AbstractDataProvider.qc.dox.h:566
DataProvider::DataProviderInfo::children_can_support_observers
bool children_can_support_observers
Can any child data providers support the observer pattern / event API?
Definition AbstractDataProvider.qc.dox.h:749
DataProvider::DataProviderInfo::supports_auto_reconnect
bool supports_auto_reconnect
Does the data provider support automatic reconnection?
Definition AbstractDataProvider.qc.dox.h:734
DataProvider::DataProviderInfo::supports_child_delete
bool supports_child_delete
Does the data provider support deleting new child providers?
Definition AbstractDataProvider.qc.dox.h:672
DataProvider::DataProviderInfo::type
string type
The name of the provider type.
Definition AbstractDataProvider.qc.dox.h:579
DataProvider::DataProviderInfo::supports_delete_field
bool supports_delete_field
Does the data provider support deleting fields?
Definition AbstractDataProvider.qc.dox.h:693
DataProvider::DataProviderInfo::supports_child_create
bool supports_child_create
Does the data provider support creating new child providers?
Definition AbstractDataProvider.qc.dox.h:665
DataProvider::DataProviderInfo::child_delete_options
*hash< string, hash< DataProviderOptionInfo > > child_delete_options
Child deletion options supported by the data provider.
Definition AbstractDataProvider.qc.dox.h:818
DataProvider::DataProviderInfo::supports_native_search
bool supports_native_search
Does the data provider support native record searching?
Definition AbstractDataProvider.qc.dox.h:609
DataProvider::DataProviderInfo::required_constructor_options
*string required_constructor_options
Required constructor option combinations.
Definition AbstractDataProvider.qc.dox.h:784
DataProvider::DataProviderInfo::children_identical
bool children_identical
Are all children always of the same data provider class that support the same options?
Definition AbstractDataProvider.qc.dox.h:764
DataProvider::DataProviderInfo::request_options
*hash< string, hash< DataProviderOptionInfo > > request_options
Request options supported by the data provider.
Definition AbstractDataProvider.qc.dox.h:804
DataProvider::DataProviderInfo::search_options
*hash< string, hash< DataProviderOptionInfo > > search_options
Search options supported by the data provider.
Definition AbstractDataProvider.qc.dox.h:799
DataProvider::DataProviderInfo::name
string name
Data provider name.
Definition AbstractDataProvider.qc.dox.h:563
DataProvider::DataProviderInfo::supports_add_field
bool supports_add_field
Does the data provider support adding new fields?
Definition AbstractDataProvider.qc.dox.h:679
DataProvider::DataProviderInfo::children_can_support_messages
bool children_can_support_messages
Can any child data providers support messages?
Definition AbstractDataProvider.qc.dox.h:754
DataProvider::DataProviderInfo::info
*hash< auto > info
Any optional provider-specific information.
Definition AbstractDataProvider.qc.dox.h:897
DataProvider::DataProviderInfo::supports_bulk_upsert
bool supports_bulk_upsert
Does the data provider support native / optimized bulk upserts?
Definition AbstractDataProvider.qc.dox.h:633
DataProvider::DataProviderInfo::child_create_options
*hash< string, hash< DataProviderOptionInfo > > child_create_options
Child creation options supported by the data provider.
Definition AbstractDataProvider.qc.dox.h:811
DataProvider::DataProviderInfo::mapper_keys
hash< string, hash< MapperRuntimeKeyInfo > > mapper_keys
A hash of mapper key information.
Definition AbstractDataProvider.qc.dox.h:879
DataProvider::DataProviderInfo::disconnection_event
*string disconnection_event
Disconnection event for event-based connection-capable data providers.
Definition AbstractDataProvider.qc.dox.h:889
DataProvider::DataProviderInfo::supports_read
bool supports_read
Does the data provider support reading.
Definition AbstractDataProvider.qc.dox.h:584
DataProvider::DataProviderInfo::record_requires_search_options
bool record_requires_search_options
Do we require search options to retrieve the record type?
Definition AbstractDataProvider.qc.dox.h:658
DataProvider::DataProviderInfo::supports_update
bool supports_update
Does the data provider support record updates?
Definition AbstractDataProvider.qc.dox.h:594
DataProvider::DataProviderInfo::supports_search_expressions
bool supports_search_expressions
Does this data provide support advanced search experssions?
Definition AbstractDataProvider.qc.dox.h:707
DataProvider::DataProviderInfo::upsert_options
*hash< string, hash< DataProviderOptionInfo > > upsert_options
Upsert options supported by the data provider.
Definition AbstractDataProvider.qc.dox.h:794
DataProvider::DataProviderInfo::supports_update_field
bool supports_update_field
Does the data provider support updating existing fields?
Definition AbstractDataProvider.qc.dox.h:686
DataProvider::DataProviderInfo::supports_request
bool supports_request
Does the data provider support the request API?
Definition AbstractDataProvider.qc.dox.h:638
DataProvider::DataProviderInfo::constructor_options
*hash< string, hash< DataProviderOptionInfo > > constructor_options
Constructor options supported by the data provider for the constructor variant taking a hash.
Definition AbstractDataProvider.qc.dox.h:775
DataProvider::DataProviderInfo::create_options
*hash< string, hash< DataProviderOptionInfo > > create_options
Create options supported by the data provider.
Definition AbstractDataProvider.qc.dox.h:789
DataProvider::DataProviderInfo::supports_create
bool supports_create
Does the data provider support record creation?
Definition AbstractDataProvider.qc.dox.h:589
DataProvider::DataProviderInfo::short_desc
*string short_desc
Data provider short description in plain text.
Definition AbstractDataProvider.qc.dox.h:569
DataProvider::DataProviderInfo::children
*list< string > children
A list of child data providers in this data provider.
Definition AbstractDataProvider.qc.dox.h:894
DataProvider::DataProviderInfo::supports_observable
bool supports_observable
Does this data provider support the event API / observer pattern?
Definition AbstractDataProvider.qc.dox.h:714
DataProvider::DataProviderInfo::supports_upsert
bool supports_upsert
Does the data provider support record upserts (create or update)?
Definition AbstractDataProvider.qc.dox.h:599
DataProvider::DataProviderInfo::supports_bulk_create
bool supports_bulk_create
Does the data provider support native / optimized bulk creation?
Definition AbstractDataProvider.qc.dox.h:625
DataProvider::DataProviderInfo::delete_field_options
*hash< string, hash< DataProviderOptionInfo > > delete_field_options
Delete field options supported by the data provider.
Definition AbstractDataProvider.qc.dox.h:839
DataProvider::DataProviderInfo::send_message_options
*hash< string, hash< DataProviderOptionInfo > > send_message_options
Send message options supported by the data provider.
Definition AbstractDataProvider.qc.dox.h:846
DataProvider::DataProviderInfo::supports_children
bool supports_children
Does the data provider support children?
Definition AbstractDataProvider.qc.dox.h:643
DataProvider::DataProviderInfo::children_can_support_apis
bool children_can_support_apis
Can any child data providers offer API services (request - response data providers)?
Definition AbstractDataProvider.qc.dox.h:739
DataProvider::DataProviderInfo::connection_event
*string connection_event
Connection event for event-based connection-capable data providers.
Definition AbstractDataProvider.qc.dox.h:884
DataProvider::DataProviderInfo::children_can_support_records
bool children_can_support_records
Can any child data providers offer record-based providers?
Definition AbstractDataProvider.qc.dox.h:744
DataProvider::DataProviderInfo::update_field_options
*hash< string, hash< DataProviderOptionInfo > > update_field_options
Update field options supported by the data provider.
Definition AbstractDataProvider.qc.dox.h:832
DataProvider::DataProviderInfo::desc
*string desc
A markdown description of the data provider.
Definition AbstractDataProvider.qc.dox.h:574
DataProvider::DataProviderInfo::supports_schema
bool supports_schema
Does the data provider support a schema?
Definition AbstractDataProvider.qc.dox.h:700
DataProvider::DataProviderInfo::children_can_support_transactions
bool children_can_support_transactions
Can any child data providers support transaction management?
Definition AbstractDataProvider.qc.dox.h:759
DataProvider::DataProviderInfo::search_logic_capabilities
int search_logic_capabilities
Supported search logic capabilities.
Definition AbstractDataProvider.qc.dox.h:872
DataProvider::DataProviderInfo::schema_type
*string schema_type
Returns the schema type supported by this data provider.
Definition AbstractDataProvider.qc.dox.h:770
DataProvider::DataProviderInfo::has_record
bool has_record
Does the data provider provide a record?
Definition AbstractDataProvider.qc.dox.h:653
DataProvider::DataProviderMessageInfo
Data provider message and event info.
Definition AbstractDataProvider.qc.dox.h:251
DataProvider::DataProviderMessageInfo::desc
string desc
The description of the message or event.
Definition AbstractDataProvider.qc.dox.h:255
DataProvider::DataProviderMessageInfo::type
AbstractDataProviderType type
The data type of the message or event.
Definition AbstractDataProvider.qc.dox.h:258
DataProvider::DataProviderOptionInfo
Data provider option info.
Definition AbstractDataProvider.qc.dox.h:48
DataProvider::DataProviderOptionInfo::display_name
string display_name
Option display name.
Definition AbstractDataProvider.qc.dox.h:50
DataProvider::DataProviderOptionInfo::type
softlist< AbstractDataProviderType > type
The option value type or types.
Definition AbstractDataProvider.qc.dox.h:59
DataProvider::DataProviderOptionInfo::multiselect
bool multiselect
Are allowed values elements of the list's element type that indicate what values the list can have?
Definition AbstractDataProvider.qc.dox.h:83
DataProvider::DataProviderOptionInfo::example_value
auto example_value
Any optional example value for the option.
Definition AbstractDataProvider.qc.dox.h:102
DataProvider::DataProviderOptionInfo::sensitive
bool sensitive
Is the option value sensitive?
Definition AbstractDataProvider.qc.dox.h:80
DataProvider::DataProviderOptionInfo::exclusive_with
*softlist< string > exclusive_with
Is the option exclusive with other options?
Definition AbstractDataProvider.qc.dox.h:74
DataProvider::DataProviderOptionInfo::default_value
auto default_value
Any default value.
Definition AbstractDataProvider.qc.dox.h:77
DataProvider::DataProviderOptionInfo::allowed_values
*softlist< hash< Util::AllowedValueInfo > > allowed_values
List of allowed values (enum)
Definition AbstractDataProvider.qc.dox.h:86
DataProvider::DataProviderOptionInfo::element_ref_data
*string element_ref_data
A tag allowing element allowed values to be returned dynamically as reference data.
Definition AbstractDataProvider.qc.dox.h:116
DataProvider::DataProviderOptionInfo::allowed_values_creatable
bool allowed_values_creatable
Does the option accept values not defined in allowed_values too?
Definition AbstractDataProvider.qc.dox.h:89
DataProvider::DataProviderOptionInfo::short_desc
*string short_desc
Option short description in plain text.
Definition AbstractDataProvider.qc.dox.h:53
DataProvider::DataProviderOptionInfo::desc
string desc
The option description.
Definition AbstractDataProvider.qc.dox.h:56
DataProvider::DataProviderOptionInfo::preselected
*bool preselected
Should this option be preselected?
Definition AbstractDataProvider.qc.dox.h:122
DataProvider::DataProviderOptionInfo::element_allowed_values
*softlist< hash< Util::AllowedValueInfo > > element_allowed_values
List of allowed values for elements of list types (enum)
Definition AbstractDataProvider.qc.dox.h:94
DataProvider::DataProviderOptionInfo::element_allowed_values_creatable
bool element_allowed_values_creatable
Does the option accept values for elements not defined in element_allowed_values too?
Definition AbstractDataProvider.qc.dox.h:97
DataProvider::DataProviderOptionInfo::ref_data
*string ref_data
A tag allowing allowed values to be returned dynamically as reference data.
Definition AbstractDataProvider.qc.dox.h:109
DataProvider::DataProviderOptionInfo::required
bool required
Required flag.
Definition AbstractDataProvider.qc.dox.h:65
DataProvider::DataProviderOptionInfo::default_ref_data
*string default_ref_data
A tag allowing the default value for the option to be returned dynamically.
Definition AbstractDataProvider.qc.dox.h:119
DataProvider::DataProviderOptionInfo::required_groups
*softlist< string > required_groups
Is the option part of a required group?
Definition AbstractDataProvider.qc.dox.h:71
DataProvider::DataProviderSignatureTypeInfo
Data provider signature argument info.
Definition AbstractDataProvider.qc.dox.h:357
DataProvider::DataProviderSignatureTypeInfo::type_code
int type_code
The signature type code.
Definition AbstractDataProvider.qc.dox.h:362
DataProvider::DataProviderSignatureTypeInfo::type
AbstractDataProviderType type
Argument types.
Definition AbstractDataProvider.qc.dox.h:359
DataProvider::DataProviderSummaryInfo
Data provider summary info.
Definition AbstractDataProvider.qc.dox.h:126
DataProvider::DataProviderSummaryInfo::supports_observable
bool supports_observable
Does this data provider support the event API / observer pattern?
Definition AbstractDataProvider.qc.dox.h:197
DataProvider::DataProviderSummaryInfo::supports_bulk_upsert
bool supports_bulk_upsert
Does the data provider support native / optimized bulk upserts?
Definition AbstractDataProvider.qc.dox.h:176
DataProvider::DataProviderSummaryInfo::transaction_management
bool transaction_management
Does the data provider require transaction management?
Definition AbstractDataProvider.qc.dox.h:185
DataProvider::DataProviderSummaryInfo::children_can_support_apis
bool children_can_support_apis
Can any child data providers offer API services (request - response data providers)?
Definition AbstractDataProvider.qc.dox.h:222
DataProvider::DataProviderSummaryInfo::supports_create
bool supports_create
Does the data provider support record creation?
Definition AbstractDataProvider.qc.dox.h:146
DataProvider::DataProviderSummaryInfo::short_desc
*string short_desc
Data provider short description in plain text.
Definition AbstractDataProvider.qc.dox.h:134
DataProvider::DataProviderSummaryInfo::name
string name
The name of the data provider.
Definition AbstractDataProvider.qc.dox.h:128
DataProvider::DataProviderSummaryInfo::supports_read
bool supports_read
Does the data provider support reading.
Definition AbstractDataProvider.qc.dox.h:143
DataProvider::DataProviderSummaryInfo::desc
string desc
The description of the data provider; supports markdown.
Definition AbstractDataProvider.qc.dox.h:137
DataProvider::DataProviderSummaryInfo::has_record
bool has_record
Does the data provider provide a record?
Definition AbstractDataProvider.qc.dox.h:188
DataProvider::DataProviderSummaryInfo::children_can_support_transactions
bool children_can_support_transactions
Can any child data providers support transaction management?
Definition AbstractDataProvider.qc.dox.h:242
DataProvider::DataProviderSummaryInfo::children_can_support_observers
bool children_can_support_observers
Can any child data providers support the observer pattern / event API?
Definition AbstractDataProvider.qc.dox.h:232
DataProvider::DataProviderSummaryInfo::display_name
string display_name
Data provider display name.
Definition AbstractDataProvider.qc.dox.h:131
DataProvider::DataProviderSummaryInfo::supports_upsert
bool supports_upsert
Does the data provider support record upserts (create or update)?
Definition AbstractDataProvider.qc.dox.h:152
DataProvider::DataProviderSummaryInfo::supports_children
bool supports_children
Does the data provider support children?
Definition AbstractDataProvider.qc.dox.h:182
DataProvider::DataProviderSummaryInfo::supports_bulk_create
bool supports_bulk_create
Does the data provider support native / optimized bulk creation?
Definition AbstractDataProvider.qc.dox.h:170
DataProvider::DataProviderSummaryInfo::supports_delete
bool supports_delete
Does the data provider support record deletion?
Definition AbstractDataProvider.qc.dox.h:155
DataProvider::DataProviderSummaryInfo::supports_request
bool supports_request
Does the data provider support the request API?
Definition AbstractDataProvider.qc.dox.h:179
DataProvider::DataProviderSummaryInfo::supports_search_expressions
bool supports_search_expressions
Does this data provide support advanced search expressions?
Definition AbstractDataProvider.qc.dox.h:191
DataProvider::DataProviderSummaryInfo::children_can_support_messages
bool children_can_support_messages
Can any child data providers support messages?
Definition AbstractDataProvider.qc.dox.h:237
DataProvider::DataProviderSummaryInfo::supports_native_search
bool supports_native_search
Does the data provider support native record searching?
Definition AbstractDataProvider.qc.dox.h:158
DataProvider::DataProviderSummaryInfo::supports_messages
string supports_messages
Message support.
Definition AbstractDataProvider.qc.dox.h:207
DataProvider::DataProviderSummaryInfo::children_identical
bool children_identical
Are all children always of the same data provider class that support the same options?
Definition AbstractDataProvider.qc.dox.h:247
DataProvider::DataProviderSummaryInfo::type
string type
The name of the provider type.
Definition AbstractDataProvider.qc.dox.h:140
DataProvider::DataProviderSummaryInfo::supports_update
bool supports_update
Does the data provider support record updates?
Definition AbstractDataProvider.qc.dox.h:149
DataProvider::DataProviderSummaryInfo::supports_connections
bool supports_connections
Does the data provider support connections and connection status reporting?
Definition AbstractDataProvider.qc.dox.h:212
DataProvider::DataProviderSummaryInfo::supports_bulk_read
bool supports_bulk_read
Does the data provider support native / optimized bulk reads?
Definition AbstractDataProvider.qc.dox.h:164
DataProvider::DataProviderSummaryInfo::children_can_support_records
bool children_can_support_records
Can any child data providers offer record-based providers?
Definition AbstractDataProvider.qc.dox.h:227
DataProvider::DataProviderSummaryInfo::supports_auto_reconnect
bool supports_auto_reconnect
Does the data provider support automatic reconnection?
Definition AbstractDataProvider.qc.dox.h:217