29 const int MAX_EXT_ELEM=50;
39 typedef std::list<Binding*>::iterator BindingIterator;
40 typedef std::list<Binding*>::const_iterator cBindingIterator;
42 Binding(WsdlParser & w);
52 int getBindingInfo()
const;
57 const PortType *getPortType()
const;
62 int getServiceExtId()
const;
68 int numOps(
void)
const;
75 const Operation *getOperation(
int index)
const;
82 std::string getBindingMethod()
const;
91 int getOpBinding(
int index,
const int*& bindings)
const;
92 int getOutputBinding(
int index,
const int*& bindings)
const;
93 int getInputBinding(
int index,
const int*& bindings)
const;
94 int getFaultBinding(
int index,
const int*& bindings)
const;
103 void setPortType(
const PortType * pt);
104 void setBindingInfo(
int id);
105 void setBindingMethod(
const std::string & ns);
106 void addServiceExtId(
int id);
111 int addOperation(
const Operation * op);
112 void addOpBinding(
int index,
int oBn);
113 void addOutputBinding(
int index,
int opBn);
114 void addInputBinding(
int index,
int ipBn);
115 void addFaultBinding(
int index,
int fBn);
116 int getOperationIndex(
const Qname & name)
const;
121 class OperationBinding
126 int opBinding[MAX_EXT_ELEM];
129 int inputBinding[MAX_EXT_ELEM];
131 int outputBinding[MAX_EXT_ELEM];
133 int faultBinding[MAX_EXT_ELEM];
137 std::vector<OperationBinding> Ops_;
138 const PortType *portType_;
139 std::string binding_;
142 std::list<int> serviceExtIds_;
146 Binding::OperationBinding::OperationBinding()
157 Binding::getBindingInfo()
const
164 Binding::getPortType()
const
171 Binding::getServiceExtId()
const
173 if (serviceExtIds_.size() > 0)
174 return serviceExtIds_.front();
181 Binding::numOps(
void)
const
188 Binding::getOperation(
int index)
const
190 return Ops_[index].op;
195 Binding::getOpBinding(
int index,
const int*& bindings)
const
197 bindings = Ops_[index].opBinding;
198 return Ops_[index].nObn;
203 Binding::getOutputBinding(
int index,
const int*& bindings)
const
205 bindings = Ops_[index].outputBinding;
206 return Ops_[index].nOpbn;
211 Binding::getInputBinding(
int index,
const int*& bindings)
const
213 bindings = Ops_[index].inputBinding;
214 return Ops_[index].nIpbn;
219 Binding::getFaultBinding(
int index,
const int*& bindings)
const
221 bindings = Ops_[index].faultBinding;
222 return Ops_[index].nFbn;
227 Binding::setPortType(
const PortType * pt)
234 Binding:: setBindingInfo(
int id)
237 WsdlElement::addExtElement(
id);
242 Binding::addServiceExtId(
int id)
244 serviceExtIds_.push_back(
id);
249 Binding::addOperation(
const Operation * op)
254 return Ops_.size()-1;
259 Binding::addOpBinding(
int index,
int oBn)
261 Ops_[index].opBinding[Ops_[index].nObn++] = oBn;
266 Binding::addOutputBinding(
int index,
int opBn)
268 Ops_[index].outputBinding[Ops_[index].nOpbn++] = opBn;
272 Binding::addInputBinding(
int index,
int ipBn)
274 Ops_[index].inputBinding[Ops_[index].nIpbn++] = ipBn;
279 Binding::addFaultBinding(
int index,
int fBn)
281 Ops_[index].faultBinding[Ops_[index].nFbn++] = fBn;
286 Binding::Binding(WsdlParser& w)
300 Binding::setBindingMethod(
const std::string & ns)
307 Binding::getBindingMethod()
const
313 Binding::getOperationIndex(
const Qname & name)
const
315 for (
int i=0; i < int(Ops_.size()); i++ ) {
316 if (Ops_[i].op->getName() == name.
getLocalName() )
return i;
std::string getLocalName(void) const