File: XmlRpcFunction.hpp

package info (click to toggle)
xmlrpc-c 1.60.05-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 8,132 kB
  • sloc: ansic: 55,332; cpp: 13,541; sh: 3,321; makefile: 2,556; perl: 593; xml: 134
file content (39 lines) | stat: -rw-r--r-- 1,295 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <string>
#include <iostream>

using std::string;
using std::ostream;

class XmlRpcFunction {
    // An object of this class contains everything we know about a
    // given XML-RPC method, and knows how to print local bindings.

    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) const;
    void printDefinitions  (ostream& out, const string& className) const;

private:
    void printParameters  (ostream& out, size_t synopsis_index) const;
    void printDeclaration (ostream& out, size_t synopsis_index) const;
    void printDefinition  (ostream& out,
                           const string& className,
                           size_t synopsis_index) const;

    const DataType& returnType (size_t synopsis_index) const;
    size_t parameterCount (size_t synopsis_index) const;
    const DataType& parameterType (size_t synopsis_index,
                                   size_t parameter_index) const;
};