IBR-DTNSuite  0.10
dtn::api::ClientHandler Class Reference

#include <ClientHandler.h>

Inheritance diagram for dtn::api::ClientHandler:
Inheritance graph
Collaboration diagram for dtn::api::ClientHandler:
Collaboration graph

Public Types

enum  STATUS_CODES {
  API_STATUS_CONTINUE = 100, API_STATUS_OK = 200, API_STATUS_CREATED = 201, API_STATUS_ACCEPTED = 202,
  API_STATUS_FOUND = 302, API_STATUS_BAD_REQUEST = 400, API_STATUS_UNAUTHORIZED = 401, API_STATUS_FORBIDDEN = 403,
  API_STATUS_NOT_FOUND = 404, API_STATUS_NOT_ALLOWED = 405, API_STATUS_NOT_ACCEPTABLE = 406, API_STATUS_CONFLICT = 409,
  API_STATUS_INTERNAL_ERROR = 500, API_STATUS_NOT_IMPLEMENTED = 501, API_STATUS_SERVICE_UNAVAILABLE = 503, API_STATUS_VERSION_NOT_SUPPORTED = 505
}
 

Public Member Functions

 ClientHandler (ApiServerInterface &srv, Registration &registration, ibrcommon::socketstream *conn)
 
virtual ~ClientHandler ()
 
RegistrationgetRegistration ()
 
ApiServerInterfacegetAPIServer ()
 
void switchRegistration (Registration &reg)
 
- Public Member Functions inherited from ibrcommon::DetachedThread
virtual ~DetachedThread ()=0
 
void start (int priority=0) throw (ThreadException)
 
void stop () throw (ThreadException)
 

Protected Member Functions

void run () throw ()
 
void finally () throw ()
 
void setup () throw ()
 
void __cancellation () throw ()
 
- Protected Member Functions inherited from ibrcommon::DetachedThread
 DetachedThread (size_t size=DEFAULT_STACKSIZE)
 
- Protected Member Functions inherited from ibrcommon::Thread
virtual ~Thread ()=0
 
void reset () throw (ThreadException)
 
bool isFinalized () throw ()
 
bool operator== (const ibrcommon::Thread &other)
 
 Thread (size_t stack=DEFAULT_STACKSIZE)
 
int kill (int sig)
 
void cancel () throw ()
 

Additional Inherited Members

- Static Protected Member Functions inherited from ibrcommon::Thread
static size_t getNumberOfProcessors ()
 
static void yield (void)
 
static void sleep (time_t timeout)
 
static void concurrency (int level)
 
static bool equal (pthread_t thread1, pthread_t thread2)
 
static void * __execute__ (void *obj) throw ()
 

Detailed Description

Definition at line 55 of file ClientHandler.h.

Member Enumeration Documentation

Enumerator
API_STATUS_CONTINUE 
API_STATUS_OK 
API_STATUS_CREATED 
API_STATUS_ACCEPTED 
API_STATUS_FOUND 
API_STATUS_BAD_REQUEST 
API_STATUS_UNAUTHORIZED 
API_STATUS_FORBIDDEN 
API_STATUS_NOT_FOUND 
API_STATUS_NOT_ALLOWED 
API_STATUS_NOT_ACCEPTABLE 
API_STATUS_CONFLICT 
API_STATUS_INTERNAL_ERROR 
API_STATUS_NOT_IMPLEMENTED 
API_STATUS_SERVICE_UNAVAILABLE 
API_STATUS_VERSION_NOT_SUPPORTED 

Definition at line 58 of file ClientHandler.h.

Constructor & Destructor Documentation

dtn::api::ClientHandler::ClientHandler ( ApiServerInterface srv,
Registration registration,
ibrcommon::socketstream conn 
)

Definition at line 48 of file ClientHandler.cpp.

dtn::api::ClientHandler::~ClientHandler ( )
virtual

Definition at line 53 of file ClientHandler.cpp.

Member Function Documentation

void dtn::api::ClientHandler::__cancellation ( ) throw ()
protectedvirtual

Implements ibrcommon::Thread.

Definition at line 188 of file ClientHandler.cpp.

void dtn::api::ClientHandler::finally ( void  ) throw ()
protectedvirtual

This method is called when the run() method finishes.

Reimplemented from ibrcommon::Thread.

Definition at line 194 of file ClientHandler.cpp.

References dtn::api::Registration::abort(), dtn::api::ApiServerInterface::connectionDown(), dtn::api::ApiServerInterface::freeRegistration(), IBRCOMMON_LOGGER_DEBUG_TAG, and IBRCOMMON_LOGGER_ENDL.

Here is the call graph for this function:

ApiServerInterface & dtn::api::ClientHandler::getAPIServer ( )

Definition at line 63 of file ClientHandler.cpp.

Referenced by dtn::api::ExtendedApiHandler::run().

void dtn::api::ClientHandler::run ( ) throw ()
protectedvirtual
void dtn::api::ClientHandler::setup ( void  ) throw ()
protectedvirtual

This method is called before the run.

Reimplemented from ibrcommon::Thread.

Definition at line 77 of file ClientHandler.cpp.

void dtn::api::ClientHandler::switchRegistration ( Registration reg)

swaps the active registration of this client with the given one

Parameters
regthe new registration

Definition at line 68 of file ClientHandler.cpp.

References dtn::api::Registration::abort(), and dtn::api::ApiServerInterface::freeRegistration().

Referenced by dtn::api::ExtendedApiHandler::run().

Here is the call graph for this function:


The documentation for this class was generated from the following files: