00001 #pragma once
00002
00003 #include "stdafx.h"
00004 #include "VariantC.h"
00005 #include "PropertyC.h"
00006
00007 #include <string>
00008 #include <list>
00009 #include <map>
00010 #include <vector>
00011
00012 #ifdef _AFX_PACKING
00013 #pragma pack(push, _AFX_PACKING)
00014 #endif
00015
00016 #ifdef _AFX_MINREBUILD
00017 #pragma component(minrebuild, off)
00018 #endif
00019
00020 #define TLITEM CProperty*
00021
00022 extern "C" void *SubscriberCallBack (WPARAM Msg, LPARAM lParam);
00023
00024 class CProperty;
00025
00028 class CSubscriber {
00029 public:
00030 CSubscriber() {};
00031 ~CSubscriber() {};
00032
00039 virtual bool ValueChanged (TREELISTMSG msg, TLITEM TlItem, const CVariant& newVarVal) = NULL;
00040
00046 virtual void SendMsg(TREELISTMSG msg, TLITEM TlItem, const CVariant& newVarVal);
00047
00048
00049
00054 virtual void Subscribe(CSubscriber *pSubscr);
00055
00059 virtual void UnSubscribe(CSubscriber *pSubscr);
00060
00061 std::vector<CSubscriber *> m_SubscriberVec;
00062
00063 private:
00064 TLINFO m_TLInfo;
00065 };