/********************************************************************************
* File Name : Handler.h
*
* EMail Addr : seakingw@163.com
*
* Description : interface for the CHandler class.
*
********************************************************************************/
#ifndef _CHIANOFRESPONSBILITY
#define _CHIANOFRESPONSBILITY
#define _CHIANOFRESPONSBILITY
class CHandler
{
public:
virtual ~CHandler();
virtual void HandleRequest(UINT nRequestID = 0);
void SetSuccessor(CHandler *pSucc);
CHandler *GetSuccessor();
protected:
CHandler();
CHandler(CHandler *pSucc);
private:
CHandler *m_pSucc;
{
public:
virtual ~CHandler();
virtual void HandleRequest(UINT nRequestID = 0);
void SetSuccessor(CHandler *pSucc);
CHandler *GetSuccessor();
protected:
CHandler();
CHandler(CHandler *pSucc);
private:
CHandler *m_pSucc;
};
#endif
#endif
/********************************************************************************
* File Name : Handler.cpp
*
* EMail Addr : seakingw@163.com
*
*
* Description : implementation of the CHandler class.
*
********************************************************************************/
* File Name : Handler.cpp
*
* EMail Addr : seakingw@163.com
*
*
* Description : implementation of the CHandler class.
*
********************************************************************************/
#include "Handler.h"
CHandler::CHandler()
{
m_pSucc = NULL;
}
CHandler::CHandler(CHandler *pSucc)
{
m_pSucc = pSucc;
}
CHandler::~CHandler()
{
if(m_pSucc)
m_pSucc = NULL;
}
void CHandler ::SetSuccessor(CHandler *pSucc)
{
m_pSucc = pSucc;
}
CHandler* CHandler::GetSuccessor()
{
return m_pSucc;
}
void CHandler::HandleRequest(UINT nRequestID)
{
if(m_pSucc != NULL)
m_pSucc->HandleRequest(nRequestID);
}
{
m_pSucc = NULL;
}
CHandler::CHandler(CHandler *pSucc)
{
m_pSucc = pSucc;
}
CHandler::~CHandler()
{
if(m_pSucc)
m_pSucc = NULL;
}
void CHandler ::SetSuccessor(CHandler *pSucc)
{
m_pSucc = pSucc;
}
CHandler* CHandler::GetSuccessor()
{
return m_pSucc;
}
void CHandler::HandleRequest(UINT nRequestID)
{
if(m_pSucc != NULL)
m_pSucc->HandleRequest(nRequestID);
}