observer.h

来自「在Windows和VxWorks平台下,观察者模式C++实用实现.」· C头文件 代码 · 共 59 行

H
59
字号
////////////////////////////////////////////////
// Filename: Observer.h
// Function: 
// Author: ShaoxiongLi
// Date: 2008年8月28日
// Project: xxxMain
// Remarks:  	  
// History:  	 
////////////////////////////////////////////////



#if !defined( OBSERVER_H_ )
#define OBSERVER_H_

#include "AppObject.h"
#include <list>
using namespace std;

class AppObject;
class Subject;


typedef list< Subject * > SubjectList;


// 观察者类
class Observer : public AppObject 
{
public:
	// 构造函数
	Observer( void );
	// 拷贝构造函数
	Observer( const Observer & rhsObserver );
	// 析构函数
	virtual ~Observer( void );

	// 更新接口
	virtual void Update( const Subject & subject, char * message, int msgLen );
	// 系统定时器
	virtual void OnTimer( const Subject & subject, int nTimer ) = 0;

	// 目标通知
	void SubjectNotify( Subject & subject );
	// 目标释构通知
	void SubjectDestructe( Subject & subject );

	// 目标是否存在
	bool ExistSubject( Subject & subject );

private:
	SubjectList * m_subjects;

};


// !defined( OBSERVER_H_ )
#endif 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?