![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2007 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtVrlinkReflectedEnvironmentStateInterceptor.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00011 00013 00014 #pragma once 00015 00016 #include <vrvUtil/DtVirtualBaseClass.h> 00017 #include <vlutil/vlTime.h> 00018 #include <vl/globalObjDes.h> 00019 00020 #include <matrix/vlVector.h> 00021 #include <matrix/vlTaitBryan.h> 00022 #include <vlpi/disEnums.h> 00023 #include <vlpi/entityType.h> 00024 00025 class DtStateRepository; 00026 class DtEnvironmentProcessRepository; 00027 00028 namespace makVrv 00029 { 00030 namespace DT_PROTOCOL_NAMESPACE 00031 { 00032 class DtVrlinkConnection; 00033 class DtVrlinkTacticalGraphicStateListener; 00034 } 00035 } 00036 00037 namespace makVrf 00038 { 00039 namespace VRF_PROTOCOL_NAMESPACE 00040 { 00044 template <typename StateRepClass> 00045 class DtEnvironmentStateInterceptor : public StateRepClass 00046 { 00047 public: 00048 00051 DtEnvironmentStateInterceptor(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkTacticalGraphicStateListener* listener); 00052 00054 virtual ~DtEnvironmentStateInterceptor(); 00055 00056 private: 00058 //\throws DtCorrutedState this class is not copyable. 00059 DtEnvironmentStateInterceptor(const DtEnvironmentStateInterceptor& orig); 00060 00062 //\throws DtCorrutedState this class is not copyable. 00063 DtEnvironmentStateInterceptor& operator=(const DtEnvironmentStateInterceptor& orig); 00064 00066 //\throws DtCorrutedState this class is not copyable. 00067 virtual DtStateRepository* clone(bool copy = false) const; 00068 00069 public: 00070 00071 protected: 00072 makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkTacticalGraphicStateListener* myListener; 00073 }; 00074 00076 class DtEnvironmentStateInterceptorCreator : public makVrv::DtVirtualBaseClass 00077 { 00078 public: 00079 00081 static DtEnvironmentStateInterceptorCreator& instance(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection& sim); 00082 00084 virtual ~DtEnvironmentStateInterceptorCreator(); 00085 00087 virtual DtEnvironmentProcessRepository* create(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkTacticalGraphicStateListener* listener); 00088 00089 protected: 00090 DtEnvironmentStateInterceptorCreator(); 00091 }; 00092 } 00093 }