Qore SwaggerDataProvider Module Reference  1.0.4
SwaggerDataProviderBase.qc.dox.h
1 // -*- mode: c++; indent-tabs-mode: nil -*-
3 
26 namespace SwaggerDataProvider {
28 class SwaggerDataProviderBase : public AbstractDataProvider {
29 
30 public:
32 protected:
33  hash<DataProviderInfo> getStaticInfoImpl();
34 public:
35 
36 
38 protected:
39  addFieldsFromParameters(HashDataType rv, hash<string, AbstractParameterObject> parameters, reference<bool> required);
40 public:
41 
42 
44 protected:
45  AbstractDataField getFieldFromSchema(string name, *string desc, SchemaObject schema, bool required = True);
46 public:
47 
48 
50 protected:
51  AbstractDataField getFieldFromSchemaIntern(string path, string name, *string desc, SchemaObject schema, bool required = True);
52 public:
53 
54 
56 protected:
57  AbstractDataProviderType getSchemaDataType(string path, SchemaObject schema, bool required = True);
58 public:
59 
60 
62 protected:
63  AbstractDataField getFieldFromParameter(string path, string name, string type, *SchemaObject arrayItems, *string desc, bool required);
64 public:
65 
66 
68 protected:
69  AbstractDataProviderType getType(string path, string typestr, *SchemaObject arrayItems, bool required = True);
70 public:
71 
72 
74 protected:
75  AbstractDataField getFieldForHeaders(string name, hash<auto> headers);
76 public:
77 
78 };
79 };
80 
81 namespace Priv {
82 const RecursiveKey = "__swagger_dp_rec_key$$";
83 
84 class RecursiveFieldHelper {
85 
86 public:
87 protected:
88  *hash<auto> tld = get_thread_data(RecursiveKey);
89  string hash_str;
90  string ptype;
91  string name;
92  *QoreDataField f;
93 
94 public:
95 
96  constructor(object obj, string ptype, string name);
97 
98 
99  *QoreDataField get();
100 
101 
102  QoreDataField set(QoreDataField new_field);
103 
104 };
105 
106 class RecursiveTypeHelper {
107 
108 public:
109 protected:
110  *hash<auto> tld = get_thread_data(RecursiveKey);
111  string hash_str;
112  *AbstractDataProviderType t;
113 
114 public:
115 
116  constructor(object obj, string hash_str);
117 
118 
119  *AbstractDataProviderType get();
120 
121 
122  AbstractDataProviderType set(AbstractDataProviderType new_type);
123 
124 };
125 
126 class RecursiveSearchHelper {
127 
128 public:
129  destructor();
130 
131 };
132 };
The Swagger data provider base class.
Definition: SwaggerDataProviderBase.qc.dox.h:28
AbstractDataField getFieldForHeaders(string name, hash< auto > headers)
Returns a field of header fields.
AbstractDataProviderType getType(string path, string typestr, *SchemaObject arrayItems, bool required=True)
Returns the data type corresponding to the values.
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 getFieldFromSchema(string name, *string desc, SchemaObject schema, bool required=True)
Returns a field definition from the Swagger parameter.
addFieldsFromParameters(HashDataType rv, hash< string, AbstractParameterObject > parameters, reference< bool > required)
Returns a field definition from Swagger parameters.
AbstractDataField getFieldFromParameter(string path, string name, string type, *SchemaObject arrayItems, *string desc, bool required)
Returns a field from a Swagger parameter.
const True
auto get_thread_data(string key)
string type(auto arg)
Qore SwaggerDataProvider module definition.
Definition: SwaggerDataProvider.qc.dox.h:26