老玉米:
靠,想封装一个接口,但是很多函数参数在不同实现可能不一样。结果写成了这样,感觉也不是很好,欢迎拍砖
[阅读: 570] 2005-10-20 04:07:06
typedef ULONG RESULT_CLR;
#define SUCCESS_CLR 0
typedef char CHAR_CLR;
typedef CHAR_CLR* PCHAR_CLR;
typedef struct _tag_parameter_clr_
{
void* Value;
ULONG Length;
} PARAM_CLR;
typedef struct _tag_parameters_clr_
{
ULONG ParamC;
PARAM_CLR * ParamV;
} PARAMS_CLR;
class FuncTimer
{
protected:
static FuncTimer * Timer;
public:
virtual RESULT_CLR Init(PARAMS_CLR * params) = 0;
virtual RESULT_CLR FuncEnter(PARAMS_CLR * params) =0;
virtual RESULT_CLR FuncLeave() =0;
virtual RESULT_CLR UnInit() = 0;
};
class ArmFuncTimer:public FuncTimer
{
protected:
ArmFuncTimer(){}
public:
virtual ~ArmFuncTimer(){}
RESULT_CLR Init(PARAMS_CLR * params);
RESULT_CLR FuncEnter(PARAMS_CLR * params);
RESULT_CLR FuncLeave();
RESULT_CLR UnInit();
static FuncTimer* getInstance();
};
#define ARMFT ArmFuncTimer::getInstance();