![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtAgentUpdateResolver.h,v $ $Revision: 1.17 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 00015 #include <vrvCore/vrvCore.h> 00016 #include <vrvCore/DtAgentDefinition.h> 00017 #include <vrvCore/DtAgentUpdateResolverInterface.h> 00018 00019 namespace makVrv 00020 { 00021 class DtDe; 00022 00025 template <class ObjectType> 00026 class DtAgentUpdateResolver : public DtAgentUpdateResolverInterface 00027 { 00028 public: 00029 typedef DtAgentDefinition<ObjectType> ObjectTypeDefinition; 00030 00032 DtAgentUpdateResolver(DtDe& de, ObjectType* object, 00033 ObjectTypeDefinition* definition); 00034 00036 virtual ~DtAgentUpdateResolver(); 00037 00039 virtual void handleUpdateMessage(DtMessage& message); 00040 00042 virtual const std::string& className() const; 00043 00046 virtual bool canCastToObject(const std::string& className); 00047 00050 virtual void* objectMemoryAddress() const; 00051 00053 00054 ObjectType* object(); 00055 const ObjectType* object() const; 00057 00058 protected: 00059 00060 DtDe& myDe; 00061 ObjectType* myObjectPointer; 00062 ObjectTypeDefinition* myObjectTypeDefinition; 00063 }; 00064 } 00065 00066 00067 #define DtAgentUpdateResolver_INL_ 00068 #include "DtAgentUpdateResolver.inl" 00069 #undef DtAgentUpdateResolver_INL_ 00070