You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
1.2 KiB
C

1 month ago
/**
* @file WObserver.h
* @brief <EFBFBD>۲<EFBFBD><EFBFBD>ߣ<EFBFBD><EFBFBD>۲<EFBFBD><EFBFBD><EFBFBD>ģʽ<EFBFBD><EFBFBD>
* @author ɳĮ<EFBFBD><EFBFBD>ѻ
* @time 2010-01-18
*/
#pragma once
namespace wuya
{
class WSubject;
class AFX_EXT_CLASS WObserver
{
public:
WObserver(void);
virtual ~WObserver(void);
void SetUpdate(bool bUpdate);
bool GetUpdate();
/** @brief <20>۲<EFBFBD><DBB2>߸<EFBFBD><DFB8>£<EFBFBD><C2A3><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Update()<29><><EFBFBD><EFBFBD> */
void UpdateNotify(ULONGLONG ullTime);
/** @brief ʱ<><CAB1><EFBFBD><EFBFBD> */
ULONGLONG GetTimeStampObserver() const;
void SetTimeStampObserver(ULONGLONG ullTime);
private:
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¹۲<EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۲<EFBFBD><EFBFBD>߱<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظú<EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD>Update<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Subject*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>۲<EFBFBD><EFBFBD>߹۲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD>
* (<EFBFBD><EFBFBD>Update<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD>Ŀ<EFBFBD><EFBFBD>)
* @note <EFBFBD><EFBFBD><EFBFBD><EFBFBD>:һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻʵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
virtual void Update() = 0;
private:
bool m_bUpdate; ///< <20>Ƿ<EFBFBD><C7B7><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>״̬
ULONGLONG m_ullTimeObserver; ///< ʱ<><CAB1><EFBFBD><EFBFBD>
};
inline void WObserver::SetUpdate(bool bUpdate)
{
this->m_bUpdate = bUpdate;
}
inline bool WObserver::GetUpdate()
{
return m_bUpdate;
}
inline ULONGLONG WObserver::GetTimeStampObserver() const
{
return m_ullTimeObserver;
}
inline void WObserver::SetTimeStampObserver(ULONGLONG ullTime)
{
this->m_ullTimeObserver = ullTime;
}
}