Qore SoapDataProvider Module Reference  1.0
SoapDataProvider.qc.dox.h
1 // -*- mode: c++; indent-tabs-mode: nil -*-
3 
25 // minimum required Qore version
26 // assume local scope for variables, do not use "$" signs
27 // require type definitions everywhere
28 // strict argument handling
29 // enable all warnings
30 
32 namespace SoapDataProvider {
34 class SoapDataProvider : public AbstractDataProvider {
35 
36 public:
38  WebService webservice;
39 
41  *SoapClient soapclient;
42 
44  const ProviderInfo = <DataProviderInfo>{
45  "type": "SoapDataProvider",
46  "supports_read": False,
47  "supports_create": False,
48  "supports_update": False,
49  "supports_upsert": False,
50  "supports_delete": False,
51  "supports_native_search": False,
52  "supports_bulk_create": False,
53  "supports_bulk_upsert": False,
54  "supports_children": True,
55  "constructor_options": ConstructorOptions,
56  "search_options": NOTHING,
57  "create_options": NOTHING,
58  "upsert_options": NOTHING,
59  "transaction_management": False,
60  };
61 
63  const ConstructorOptions = {
64  "schema": <DataProviderOptionInfo>{
65  "type": (
66  AbstractDataProviderType::get(StringType),
67  AbstractDataProviderType::get(new Type("WebService")),
68  ),
69  "desc": "the SOAP schema object (WebService) or source URL for the WSDL",
70  "required": True,
71  },
72  "soapclient": <DataProviderOptionInfo>{
73  "type": AbstractDataProviderType::get(new Type("SoapClient")),
74  "desc": "the SoapClient object",
75  },
76  "url": <DataProviderOptionInfo>{
77  "type": AbstractDataProviderType::get(StringType),
78  "desc": "the URL to the SOAP server; overrides any URL in the schema or in any SoapClient object "
79  "passed as an option",
80  },
81  "soapclient_options": <DataProviderOptionInfo>{
82  "type": AbstractDataProviderType::get(AutoHashType),
83  "desc": "options to the SoapClient constructor; only used if a SoapClient object is created for a "
84  "call",
85  },
86  };
87 
88 protected:
90  hash<auto> path_tree;
91 
92 public:
93 
95  constructor(WebService webservice, *SoapClient soapclient);
96 
97 
99  constructor(*hash<auto> options);
100 
101 
103  string getName();
104 
105 
107 protected:
108  checkSoapClient(SoapClient soap);
109 public:
110 
111 
113 
115 protected:
116  *list<string> getChildProviderNamesImpl();
117 public:
118 
119 
121 
125 protected:
126  *AbstractDataProvider getChildProviderImpl(string name);
127 public:
128 
129 
131 protected:
132  hash<DataProviderInfo> getStaticInfoImpl();
133 public:
134 
135 };
136 };
SoapDataProvider::SoapDataProvider::path_tree
hash< auto > path_tree
hash of valid paths
Definition: SoapDataProvider.qc.dox.h:90
SoapDataProvider
Qore SoapDataProvider module definition.
Definition: SoapDataProvider.qc.dox.h:32
SoapDataProvider::SoapDataProvider::getStaticInfoImpl
hash< DataProviderInfo > getStaticInfoImpl()
Returns data provider static info.
SoapDataProvider::SoapDataProvider::checkSoapClient
checkSoapClient(SoapClient soap)
Checks the SOAP client.
SoapDataProvider::SoapDataProvider::webservice
WebService webservice
The SOAP schema.
Definition: SoapDataProvider.qc.dox.h:38
SoapDataProvider::SoapDataProvider::soapclient
*SoapClient soapclient
The client object for API calls.
Definition: SoapDataProvider.qc.dox.h:41
SoapDataProvider::SoapDataProvider::constructor
constructor(*hash< auto > options)
Creates the object from constructor options.
SoapDataProvider::SoapDataProvider::getChildProviderImpl
*AbstractDataProvider getChildProviderImpl(string name)
Returns the given child provider or nothing if the given child is unknown.
SoapDataProvider::SoapDataProvider::constructor
constructor(WebService webservice, *SoapClient soapclient)
Creates the object from the arguments.
SoapDataProvider::SoapDataProvider::getChildProviderNamesImpl
*list< string > getChildProviderNamesImpl()
Returns a list of child data provider names, if any.
SoapDataProvider::SoapDataProvider::getName
string getName()
Returns the data provider name.