00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #if !defined(oagTimerInstTermObserver_P)
00015 #define oagTimerInstTermObserver_P
00016
00017 #include "oaDesignDB.h"
00018
00019 namespace oagTimer {
00020
00027 class InstTermObserver : public oa::oaObserver<oa::oaOccInstTerm>
00028 {
00029 public:
00035 InstTermObserver(oa::oaUInt4 priority,
00036 oa::oaBoolean enabled = true);
00037
00042 void onPostCreate(oa::oaOccInstTerm *instTerm);
00043
00049 void onPreModify(oa::oaOccInstTerm *instTerm,
00050 oa::oaInstTermModTypeEnum modType);
00051
00057 void onPostModify(oa::oaOccInstTerm *instTerm,
00058 oa::oaInstTermModTypeEnum modType);
00059
00064 void onPreDestroy(oa::oaOccInstTerm *instTerm);
00065
00066 private:
00067 void invalidate(oa::oaOccInstTerm *instTerm);
00068 };
00069
00070 }
00071
00072 #endif