CGEM BOSS 6.6.5.h
BESIII Offline Software System
Loading...
Searching...
No Matches
XmlRpcSource.h
Go to the documentation of this file.
1
2#ifndef _XMLRPCSOURCE_H_
3#define _XMLRPCSOURCE_H_
4//
5// XmlRpc++ Copyright (c) 2002-2003 by Chris Morley
6//
7#if defined(_MSC_VER)
8# pragma warning(disable:4786) // identifier was truncated in debug info
9#endif
10
11namespace XmlRpc {
12
13 //! An RPC source represents a file descriptor to monitor
15 public:
16 //! Constructor
17 //! @param fd The socket file descriptor to monitor.
18 //! @param deleteOnClose If true, the object deletes itself when close is called.
19 XmlRpcSource(int fd = -1, bool deleteOnClose = false);
20
21 //! Destructor
22 virtual ~XmlRpcSource();
23
24 //! Return the file descriptor being monitored.
25 int getfd() const { return _fd; }
26 //! Specify the file descriptor to monitor.
27 void setfd(int fd) { _fd = fd; }
28
29 //! Return whether the file descriptor should be kept open if it is no longer monitored.
30 bool getKeepOpen() const { return _keepOpen; }
31 //! Specify whether the file descriptor should be kept open if it is no longer monitored.
32 void setKeepOpen(bool b=true) { _keepOpen = b; }
33
34 //! Close the owned fd. If deleteOnClose was specified at construction, the object is deleted.
35 virtual void close();
36
37 //! Return true to continue monitoring this source
38 virtual unsigned handleEvent(unsigned eventType) = 0;
39
40 private:
41
42 // Socket. This should really be a SOCKET (an alias for unsigned int*) on windows...
43 int _fd;
44
45 // In the server, a new source (XmlRpcServerConnection) is created
46 // for each connected client. When each connection is closed, the
47 // corresponding source object is deleted.
48 bool _deleteOnClose;
49
50 // In the client, keep connections open if you intend to make multiple calls.
51 bool _keepOpen;
52 };
53} // namespace XmlRpc
54
55#endif //_XMLRPCSOURCE_H_
An RPC source represents a file descriptor to monitor.
virtual void close()
Close the owned fd. If deleteOnClose was specified at construction, the object is deleted.
int getfd() const
Return the file descriptor being monitored.
virtual ~XmlRpcSource()
Destructor.
void setKeepOpen(bool b=true)
Specify whether the file descriptor should be kept open if it is no longer monitored.
XmlRpcSource(int fd=-1, bool deleteOnClose=false)
bool getKeepOpen() const
Return whether the file descriptor should be kept open if it is no longer monitored.
virtual unsigned handleEvent(unsigned eventType)=0
Return true to continue monitoring this source.
void setfd(int fd)
Specify the file descriptor to monitor.