initial load of upstream version 1.06.32
[xmlrpc-c] / tools / xml-rpc-api2cpp / XmlRpcFunction.hpp
1
2 #include <string>
3 #include <iostream>
4
5 using std::string;
6 using std::ostream;
7
8 class XmlRpcFunction {
9     string mFunctionName;
10     string mMethodName;
11     string mHelp;
12     XmlRpcValue mSynopsis;
13
14 public: 
15     XmlRpcFunction(const string& function_name,
16                    const string& method_name,
17                    const string& help,
18                    XmlRpcValue synopsis);
19
20     XmlRpcFunction (const XmlRpcFunction&);
21     XmlRpcFunction& operator= (const XmlRpcFunction&);
22     
23     void printDeclarations (ostream& out);
24     void printDefinitions  (ostream& out, const string& className);
25
26 private:
27     void printParameters  (ostream& out, size_t synopsis_index);
28     void printDeclaration (ostream& out, size_t synopsis_index);
29     void printDefinition  (ostream& out,
30                            const string& className,
31                            size_t synopsis_index);
32
33     const DataType& returnType (size_t synopsis_index);
34     size_t parameterCount (size_t synopsis_index);
35     const DataType& parameterType (size_t synopsis_index,
36                                    size_t parameter_index);
37 };