/** @addtogroup MCD_MCDIMPL_DAEMON_SRV | |
* @{ | |
* @file | |
* | |
* Interface for connection handlers used by Server. | |
* | |
* <!-- Copyright Giesecke & Devrient GmbH 2009 - 2012 --> | |
* | |
* Redistribution and use in source and binary forms, with or without | |
* modification, are permitted provided that the following conditions | |
* are met: | |
* 1. Redistributions of source code must retain the above copyright | |
* notice, this list of conditions and the following disclaimer. | |
* 2. Redistributions in binary form must reproduce the above copyright | |
* notice, this list of conditions and the following disclaimer in the | |
* documentation and/or other materials provided with the distribution. | |
* 3. The name of the author may not be used to endorse or promote | |
* products derived from this software without specific prior | |
* written permission. | |
* | |
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS | |
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY | |
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | |
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE | |
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | |
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | |
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | |
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | |
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
*/ | |
#ifndef CONNECTIONHANDLER_H_ | |
#define CONNECTIONHANDLER_H_ | |
#include "Connection.h" | |
class ConnectionHandler { | |
public: | |
virtual ~ConnectionHandler() {}; | |
/** | |
* Handle connection activities. | |
* The connection handler shall process pending connection activities. | |
* | |
* @param [in] connection Reference to the connection which has data to process. | |
*/ | |
virtual bool handleConnection( | |
Connection *connection | |
) = 0; | |
/** | |
* Connection has been closed. | |
* The connection handler shall clean up all resources associated with the given connection. | |
* After the method has been executed the connection object will be deleted. | |
* | |
* @param [in] connection Reference to the connection which will be deleted. | |
*/ | |
virtual void dropConnection( | |
Connection *connection | |
) = 0; | |
}; | |
#endif /* CONNECTIONHANDLER_H_ */ | |
/** @} */ |