QXmlRPC  1.1
server.h
1 // vim:tabstop=4:shiftwidth=4:expandtab:cinoptions=(s,U1,m1
2 // Copyright (C) 2005 Dmitry Poplavsky <dima@thekompany.com>
3 
4 #ifndef XMLRPC_SERVER_H
5 #define XMLRPC_SERVER_H
6 
7 #include <QTcpServer>
8 #include <QPointer>
9 
10 #include "variant.h"
11 
12 namespace xmlrpc {
13 class IncomingConnection;
18 class Server : public QObject {
19 friend class IncomingConnection;
20 Q_OBJECT
21 public:
22  Server( QObject * parent = 0 );
23  virtual ~Server();
24 
25  bool listen ( quint16 port, const QHostAddress & address = QHostAddress::Any );
26  bool isListening() const;
27 
28  void registerMethod( QString methodName, QVariant::Type returnType,
29  QList<QVariant::Type> parameterTypes );
30 
31  void registerMethod( QString methodName, QVariant::Type returnType );
32  void registerMethod( QString methodName, QVariant::Type returnType,
33  QVariant::Type parameter1Type );
34  void registerMethod( QString methodName, QVariant::Type returnType,
35  QVariant::Type parameter1Type, QVariant::Type parameter2Type );
36  void registerMethod( QString methodName, QVariant::Type returnType,
37  QVariant::Type parameter1Type, QVariant::Type parameter2Type, QVariant::Type parameter3Type );
38  void registerMethod( QString methodName, QVariant::Type returnType,
39  QVariant::Type parameter1Type, QVariant::Type parameter2Type, QVariant::Type parameter3Type, QVariant::Type parameter4Type );
40 
41 signals:
42  void incomingRequest( int requestId, QString methodName, QList<xmlrpc::Variant> parameters );
43 
44 public slots:
45  void sendReturnValue( int requestId, const xmlrpc::Variant& value );
46  void sendFault( int requestId, int faultCode, QString faultMessage );
47 
48 
49 protected slots:
50  void newConnection();
51  void processRequest( QByteArray data, QTcpSocket *socket );
52 
53 private:
54  class Private;
55  Private *d;
56 };
57 
58 } // namespace
59 
60 #endif // XMLRPC_SERVER_H
61 
62 
bool listen(quint16 port, const QHostAddress &address=QHostAddress::Any)
Definition: server.cpp:96
void processRequest(QByteArray data, QTcpSocket *socket)
Definition: server.cpp:214
The xmlrpc::Server class provides an implementation of the XML-RPC server.
Definition: server.h:18
bool isListening() const
Definition: server.cpp:107
Server(QObject *parent=0)
Definition: server.cpp:71
virtual ~Server()
Definition: server.cpp:81
void sendReturnValue(int requestId, const xmlrpc::Variant &value)
Definition: server.cpp:319
void sendFault(int requestId, int faultCode, QString faultMessage)
Definition: server.cpp:342
void registerMethod(QString methodName, QVariant::Type returnType, QList< QVariant::Type > parameterTypes)
Definition: server.cpp:135
Definition: server_private.h:18
Definition: client.cpp:15
The xmlrpc::Variant class acts like a union for XML-RPC variables types.
Definition: variant.h:24