QXmlRPC 1.1
|
00001 // vim:tabstop=4:shiftwidth=4:expandtab:cinoptions=(s,U1,m1 00002 // Copyright (C) 2007 00003 // Author Dmitry Poplavsky <dmitry.poplavsky@gmail.com> 00004 00005 #ifndef SERVERINTROSPECTION_H 00006 #define SERVERINTROSPECTION_H 00007 00008 #include "xmlrpc/variant.h" 00009 namespace xmlrpc { 00010 00027 class ServerIntrospection { 00028 public: 00029 ServerIntrospection(); 00030 virtual ~ServerIntrospection(); 00031 00032 void registerMethod( QString methodName, QVariant::Type returnType, QList<QVariant::Type> parameterTypes ); 00033 void setMethodHelpText( QString methodName, QString helpText ); 00034 void clear(); 00035 00036 bool isEmpty() const; 00037 00038 bool isMethodSupported( QString methodName ) const; 00039 bool checkMethodParameters( QString methodName, const QList<xmlrpc::Variant>& parameters, QVariant::Type *returnType = 0 ) const; 00040 00041 00042 QStringList listMethods() const; 00043 QStringList methodSignatures( QString methodName ) const; 00044 QString methodHelp( QString methodName ); 00045 00046 private: 00047 class Private; 00048 QSharedDataPointer<Private> d; 00049 }; 00050 00051 }; // namespace 00052 00053 #endif //SERVERINTROSPECTION_H