38 lines
1000 B
C++
38 lines
1000 B
C++
|
|
||
|
#include <string>
|
||
|
#include <iostream>
|
||
|
|
||
|
using std::string;
|
||
|
using std::ostream;
|
||
|
|
||
|
class XmlRpcFunction {
|
||
|
string mFunctionName;
|
||
|
string mMethodName;
|
||
|
string mHelp;
|
||
|
XmlRpcValue mSynopsis;
|
||
|
|
||
|
public:
|
||
|
XmlRpcFunction(const string& function_name,
|
||
|
const string& method_name,
|
||
|
const string& help,
|
||
|
XmlRpcValue synopsis);
|
||
|
|
||
|
XmlRpcFunction (const XmlRpcFunction&);
|
||
|
XmlRpcFunction& operator= (const XmlRpcFunction&);
|
||
|
|
||
|
void printDeclarations (ostream& out);
|
||
|
void printDefinitions (ostream& out, const string& className);
|
||
|
|
||
|
private:
|
||
|
void printParameters (ostream& out, size_t synopsis_index);
|
||
|
void printDeclaration (ostream& out, size_t synopsis_index);
|
||
|
void printDefinition (ostream& out,
|
||
|
const string& className,
|
||
|
size_t synopsis_index);
|
||
|
|
||
|
const DataType& returnType (size_t synopsis_index);
|
||
|
size_t parameterCount (size_t synopsis_index);
|
||
|
const DataType& parameterType (size_t synopsis_index,
|
||
|
size_t parameter_index);
|
||
|
};
|