Control classes are generated for WSDL Operation input/output/fault bindings. The purpose of a control class is to act as a control interface for encoding or decoding complete XML documents or messages. This class allows a message buffer or stream object to be associated with a WSDL Operation input/ output/fault type class. Once this association is made, methods can be invoked from within the class to serialize data to and from the type class and the buffer or stream.
A sample WSDL Operation Input/Output section is as follows:
class EXTERN Add_Fault_CC : public OSXSDGlobalElement { protected: Add_Fault* mpValue; Add_Fault_CC& operator= (const Add_Fault_CC&); public: Add_Fault_CC (Add_Fault* pvalue=0); Add_Fault_CC (Add_Fault& value); Add_Fault_CC (OSRTMessageBufferIF& msgbuf, Add_Fault* pvalue=0); Add_Fault_CC (OSRTMessageBufferIF& msgbuf, Add_Fault& value); ~Add_Fault_CC(); // standard encode/decode methods (defined in base class): // int encode (); // int decode (); // stream encode/decode methods: int encodeTo (OSRTMessageBufferIF& msgbuf); inline Add_Fault* getValue() { return mpValue; } inline void setValue (Add_Fault* pvalue) { mpValue = pvalue; } void genTestInstance(); void print (const char* name); } ; class EXTERN Add_Input_CC : public OSXSDGlobalElement { protected: Add_Input* mpValue; Add_Input_CC& operator= (const Add_Input_CC&); public: Add_Input_CC (Add_Input* pvalue=0); Add_Input_CC (Add_Input& value); Add_Input_CC (OSRTMessageBufferIF& msgbuf, Add_Input* pvalue=0); Add_Input_CC (OSRTMessageBufferIF& msgbuf, Add_Input& value); ~Add_Input_CC(); // standard encode/decode methods (defined in base class): // int encode (); // int decode (); // stream encode/decode methods: int encodeTo (OSRTMessageBufferIF& msgbuf); int decodeFrom (OSRTMessageBufferIF& msgbuf); inline Add_Input* getValue() { return mpValue; } inline void setValue (Add_Input* pvalue) { mpValue = pvalue; } void genTestInstance(); void print (const char* name); } ; class EXTERN Add_Output_CC : public OSXSDGlobalElement { protected: Add_Output* mpValue; Add_Fault* mpFault; Add_Output_CC& operator= (const Add_Output_CC&); public: Add_Output_CC (Add_Output* pvalue=0, Add_Fault* pfault=0); Add_Output_CC (Add_Output& value); Add_Output_CC (Add_Output& value, Add_Fault& fault); Add_Output_CC (OSRTMessageBufferIF& msgbuf, Add_Output* pvalue=0, Add_Fault* pfault=0); Add_Output_CC (OSRTMessageBufferIF& msgbuf, Add_Output& value); Add_Output_CC (OSRTMessageBufferIF& msgbuf, Add_Output& value, Add_Fault& fault); ~Add_Output_CC(); // standard encode/decode methods (defined in base class): // int encode (); // int decode (); // stream encode/decode methods: int encodeTo (OSRTMessageBufferIF& msgbuf); int decodeFrom (OSRTMessageBufferIF& msgbuf); // stream validate method: int validateFrom (OSRTMessageBufferIF& msgbuf); inline Add_Output* getValue() { return mpValue; } inline void setValue (Add_Output* pvalue) { mpValue = pvalue; } void genTestInstance(); void print (const char* name); } ;