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  AbstractDataProviderType getSchemaDataType(SchemaObject schema, bool required = True);
52 public:
53 
54 
56 protected:
57  AbstractDataField getFieldFromParameter(string name, string type, *SchemaObject arrayItems, *string desc, bool required);
58 public:
59 
60 
62 protected:
63  AbstractDataProviderType getType(string typestr, *SchemaObject arrayItems, bool required = True);
64 public:
65 
66 
68 protected:
69  AbstractDataField getFieldForHeaders(string name, hash<auto> headers);
70 public:
71 
72 };
73 };
74 
75 namespace Priv {
76 const RecursiveKey = "__swagger_dp_rec_key$$";
77 
78 class RecursiveFieldHelper {
79 
80 public:
81 protected:
82  *hash<auto> tld = get_thread_data(RecursiveKey);
83  string hash_str;
84  string ptype;
85  string name;
86  *QoreDataField f;
87 
88 public:
89 
90  constructor(object obj, string ptype, string name);
91 
92 
93  *QoreDataField get();
94 
95 
96  QoreDataField set(QoreDataField new_field);
97 
98 };
99 
100 class RecursiveTypeHelper {
101 
102 public:
103 protected:
104  *hash<auto> tld = get_thread_data(RecursiveKey);
105  string hash_str;
106  *AbstractDataProviderType t;
107 
108 public:
109 
110  constructor(object obj, string hash_str);
111 
112 
113  *AbstractDataProviderType get();
114 
115 
116  AbstractDataProviderType set(AbstractDataProviderType new_type);
117 
118 };
119 
120 class RecursiveSearchHelper {
121 
122 public:
123  destructor();
124 
125 };
126 };
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 typestr, *SchemaObject arrayItems, bool required=True)
Returns the data type corresponding to the values.
AbstractDataField getFieldFromParameter(string name, string type, *SchemaObject arrayItems, *string desc, bool required)
Returns a field from a Swagger parameter.
AbstractDataProviderType getSchemaDataType(SchemaObject schema, bool required=True)
Returns the data type for the given schema.
hash< DataProviderInfo > getStaticInfoImpl()
Returns data provider static info.
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.
const True
auto get_thread_data(string key)
string type(auto arg)
Qore SwaggerDataProvider module definition.
Definition: SwaggerDataProvider.qc.dox.h:26