35 lines
1.1 KiB
C++
35 lines
1.1 KiB
C++
#if !defined (_CLIENT_ACCEPTOR_H)
|
|
#define _CLIENT_ACCEPTOR_H
|
|
|
|
#include "cdevSessionManager.h"
|
|
|
|
#include "cdevSocketAcceptor.h"
|
|
|
|
// *****************************************************************************
|
|
// * class ClientAcceptor:
|
|
// * This class provdies the cdevEventHandler that accepts connections through
|
|
// * the reactor on the listening port. Once accepted, these new connections
|
|
// * are serviced by the ClientHandler.
|
|
// *****************************************************************************
|
|
class GENERIC_SERVER_API ClientAcceptor : public cdevEventHandler, public ErrorReporter
|
|
{
|
|
friend class ClientHandler;
|
|
public:
|
|
ClientAcceptor (cdevSessionManager &s);
|
|
~ClientAcceptor (void);
|
|
|
|
const char *getName (void) { return "ClientAcceptor"; }
|
|
int getLocalAddress (cdevAddr &addr) { return acceptor.getLocalAddress(addr); }
|
|
int open (const cdevInetAddr &addr);
|
|
|
|
virtual int getHandle (void) const;
|
|
virtual int handleInput (void);
|
|
virtual int handleClose (void);
|
|
|
|
private:
|
|
cdevSocketAcceptor acceptor;
|
|
cdevSessionManager & server;
|
|
};
|
|
|
|
#endif
|