![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2004 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: evalReceiveTextMessage.h,v $ $Revision: 1.2 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00013 #ifndef evalReceiveTextMessage_H 00014 #define evalReceiveTextMessage_H 00015 00016 #include "vrfutil/evaluator.h" 00017 #include <vlutil/vlSmartPointers.h> 00018 #include "vrfplanmgr/vrfplanmgrDefines.h" 00019 00020 class DtVrfObjectMessage; 00021 class DtCeReceiveTextMessage; 00022 class DtVrfObject; 00023 class DtTextReport; 00024 00028 class DT_DLL_vrfplanmgr DtEvalReceiveTextMessage : public DtEvaluator 00029 { 00030 public: 00031 00033 DtEvalReceiveTextMessage(); 00034 00036 virtual ~DtEvalReceiveTextMessage(); 00037 00039 DtEvalReceiveTextMessage(const DtEvalReceiveTextMessage& orig); 00040 00042 DtEvalReceiveTextMessage& operator=(const DtEvalReceiveTextMessage& orig); 00043 00045 virtual DtEvaluator* clone(); 00046 00047 virtual bool evaluate(DtSimCondExpr* condExpr, 00048 const DtString& objectName, DtSimManager* simManager) const; 00049 00051 static DtEvaluator * creator(); 00052 00053 protected: 00054 static void textReportCallback(const DtVrfObjectMessage* msg, void* usr); 00055 virtual void processTextReport(const DtVrfObjectMessage* msg); 00056 00057 virtual bool reportSatisfiesConditional(const DtTextReport* report, 00058 const DtCeReceiveTextMessage& condition) const; 00059 00060 static void objectAboutToBeRemovedCallback(DtVrfObject* vrfObject, void* usr); 00061 virtual void processObjectAboutToBeRemoved(DtVrfObject* vrfObject); 00062 00063 typedef DtBoost::shared_ptr<DtCeReceiveTextMessage> DtRecTextCePtr; 00064 00065 mutable bool myReceivedCorrectMessage; 00066 mutable DtSimManager* mySimManager; 00067 mutable DtVrfObject* myVrfObject; 00068 mutable DtRecTextCePtr myConditional; 00069 }; 00070 00071 #endif