/************************************************************************* 【文件名】 ChannelResource.h 【功能模块和目的】 通道资源基类头文件 【开发者及日期】 郑石诺 2015/03/18 【版本】 V1.0.0 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司 【更改记录】 *************************************************************************/ #pragma once /************************************************************************* 【类名】 CChannelResource 【功能】 【接口说明】 通道资源基类 【开发者及日期】 郑石诺 2015/03/18 【版本】 V1.0.0 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司 【更改记录】 *************************************************************************/ class CChannelResource { public: CChannelResource(DEV_RES_NO_TYPE Type, DEV_RES_NO_TYPE Node, DEV_RES_NO_TYPE Board, DEV_RES_NO_TYPE Span, DEV_RES_CH_TYPE Channel); virtual ~CChannelResource(void) = 0 {} CRDRID id(void) const { return m_Id; } DEV_RES_NO_TYPE resType(void) const { return m_Id.ResType; } DEV_RES_NO_TYPE nodeNo(void) const { return m_Id.NodeNo; } DEV_RES_NO_TYPE boardNo(void) const { return m_Id.BoardNo; } DEV_RES_NO_TYPE SpanNo(void) const { return m_Id.SpanNo; } DEV_RES_CH_TYPE chanNo(void) const { return m_Id.ChanNo; } DEV_RES_HANDLE handle(void) const { return m_Handle; } virtual bool isValid(void) const { return m_Handle != DEV_HANDLE_INVALID; } virtual bool isFree(void) const = 0; virtual int type(void) const = 0; virtual LPCTSTR getStateStr(void) const = 0; // 操作接口 virtual bool open(void) = 0; virtual void close(void) = 0; // 消息处理接口 virtual void onDevEvent(METAEVENT* pMetaEvent) = 0; protected: DEV_RES_ID m_Id; DEV_RES_HANDLE m_Handle; };