$darkmode
Qore SwaggerDataProvider Module Reference 1.3
SwaggerDataProviderBase.qc.dox.h
1 // -*- mode: c++; indent-tabs-mode: nil -*-
3 
26 namespace SwaggerDataProvider {
29 
30 public:
33 
34 
37 
38 
40 protected:
41  hash<DataProviderInfo> getStaticInfoImpl();
42 public:
43 
44 
46 protected:
47  addFieldsFromParameters(HashDataType rv, hash<string, AbstractParameterObject> parameters, reference<bool> required);
48 public:
49 
50 
52 protected:
53  AbstractDataField getFieldFromSchema(string name, *string desc, SchemaObject schema, bool required = True);
54 public:
55 
56 
58 protected:
59  AbstractDataField getFieldFromSchemaIntern(string path, string name, *string desc, SchemaObject schema, bool required = True);
60 public:
61 
62 
64 protected:
65  AbstractDataProviderType getSchemaDataType(string path, SchemaObject schema, bool required = True);
66 public:
67 
68 
70 protected:
71  AbstractDataField getFieldFromParameter(string path, string name, string type, *string format, *SchemaObject arrayItems, *string desc, bool required, *list<auto> allowed_values);
72 public:
73 
74 
76 protected:
77  AbstractDataProviderType getType(string path, string typestr, *string format, *SchemaObject arrayItems, bool required = True);
78 public:
79 
80 
82 protected:
83  AbstractDataField getFieldForHeaders(string name, hash<auto> headers);
84 public:
85 
86 };
87 };
88 
89 namespace Priv {
90 const RecursiveKey = "__swagger_dp_rec_key$$";
91 
92 class RecursiveFieldHelper {
93 
94 public:
95 protected:
96  *hash<auto> tld = get_thread_data(RecursiveKey);
97  string hash_str;
98  string ptype;
99  string name;
100  *QoreDataField f;
101 
102 public:
103 
104  constructor(object obj, string ptype, string name);
105 
106 
107  *QoreDataField get();
108 
109 
110  QoreDataField set(QoreDataField new_field);
111 
112 };
113 
114 class RecursiveTypeHelper {
115 
116 public:
117 protected:
118  *hash<auto> tld = get_thread_data(RecursiveKey);
119  string hash_str;
120  *AbstractDataProviderType t;
121 
122 public:
123 
124  constructor(object obj, string hash_str);
125 
126 
127  *AbstractDataProviderType get();
128 
129 
130  AbstractDataProviderType set(AbstractDataProviderType new_type);
131 
132 };
133 
134 class RecursiveSearchHelper {
135 
136 public:
137  destructor();
138 
139 };
140 };
The Swagger data provider base class.
Definition: SwaggerDataProviderBase.qc.dox.h:28
AbstractDataProviderType getType(string path, string typestr, *string format, *SchemaObject arrayItems, bool required=True)
Returns the data type corresponding to the values.
AbstractDataField getFieldForHeaders(string name, hash< auto > headers)
Returns a field of header fields.
AbstractDataProviderType getSchemaDataType(string path, SchemaObject schema, bool required=True)
Returns the data type for the given schema.
hash< DataProviderInfo > getStaticInfoImpl()
Returns data provider static info.
AbstractDataField getFieldFromSchemaIntern(string path, string name, *string desc, SchemaObject schema, bool required=True)
Returns a field definition from the Swagger parameter.
AbstractDataField getFieldFromParameter(string path, string name, string type, *string format, *SchemaObject arrayItems, *string desc, bool required, *list< auto > allowed_values)
Returns a field from a Swagger parameter.
AbstractDataField getFieldFromSchema(string name, *string desc, SchemaObject schema, bool required=True)
Returns a field definition from the Swagger parameter.
constructor(RestClient::RestClient rest)
Creates the object.
addFieldsFromParameters(HashDataType rv, hash< string, AbstractParameterObject > parameters, reference< bool > required)
Returns a field definition from Swagger parameters.
The Swagger data provider common base class.
Definition: SwaggerDataProviderCommon.qc.dox.h:28
SwaggerSchema schema
The Swagger schema.
Definition: SwaggerDataProviderCommon.qc.dox.h:33
*RestClient::RestClient rest
The REST client object for API calls.
Definition: SwaggerDataProviderCommon.qc.dox.h:36
const True
auto get_thread_data(string key)
string type(auto arg)
Qore SwaggerDataProvider module definition.
Definition: SwaggerDataProvider.qc.dox.h:26