VR-Forces 4.0.4 Class Documentation
include/bhave3DGui/bhaveLuaScriptsManager.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2009 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: bhaveLuaScriptsManager.h,v $ $Revision: 1.1 $ $State: Exp $
00007 ******************************************************************************/
00008 
00011 
00012 #ifndef bhaveLuaScriptsManager_H_
00013 #define bhaveLuaScriptsManager_H_
00014 
00015 #include <bhave3DGui/bhave3DGuiDefines.h>
00016 #include <vrvUtil/DtVirtualBaseClass.h>
00017 #include <vrvUtil/signalslib.h>
00018 
00019 #include <vrfGuiCore/vrfGuiCore.h>
00020 #include <vrfGuiCore/DtVrfBackendState.h>
00021 
00022 #include <vrvCore/DtDe.h>
00023 
00024 #include <boost/function.hpp>
00025 #include <boost/signal.hpp>
00026 
00027 class DtVrfObjectMessage;
00028 class DtIfLuaScriptList;
00029 class DtSimMessage;
00030 
00031 namespace BHAVE
00032 {
00033    namespace BHAVE3DGui
00034    {
00035       typedef std::list<DtString> DtScriptNameList;      
00036       typedef std::map<DtSimulationAddress, DtScriptNameList> DtScriptMap;
00037       
00041       class DT_DLL_bhave3DGui DtBhaveLuaScriptsManager : public makVrv::DtVirtualBaseClass
00042       {
00043 
00044       public:
00045 
00047          DtBhaveLuaScriptsManager(makVrv::DtDe&);
00048 
00050          virtual ~DtBhaveLuaScriptsManager();
00051 
00053          static DtBhaveLuaScriptsManager& instance(makVrv::DtDe& de);
00054 
00056          virtual void requestScriptNameFromCurrentEntity();
00057 
00059          virtual void requestScriptList(const DtSimulationAddress& simEngineAddr=DtSimSendToAll);
00060 
00062          virtual void requestScriptText( const DtString& scriptName, 
00063             const DtSimulationAddress& simEngineAddr=DtSimSendToAll);
00064 
00066          virtual void deleteScript( const DtString& scriptName, 
00067             const DtSimulationAddress& simEngineAddr=DtSimSendToAll );
00068 
00070          virtual void saveScript( const DtString& scriptName, const std::list<DtString>& scriptLines, 
00071             const DtSimulationAddress& simEngineAddr=DtSimSendToAll );
00072 
00073       public:
00074 
00075          boost::signal<void (const std::string&)> signal_scriptNameReceived;
00076          boost::signal<void (const DtString&, const std::list<DtString>&)> signal_scriptTextReceived;
00077          boost::signal<void (const DtSimulationAddress&, const std::vector<DtString>&)> signal_scriptListReceived;
00078 
00079       protected:
00080 
00082          virtual void processScriptNameMessage(const DtVrfObjectMessage*);
00083 
00085          virtual void processLuaScriptListCallback(DtSimMessage*);
00086 
00088          virtual void processLuaScriptTextCallback(DtSimMessage*);
00089 
00090       protected:
00091 
00092          makVrv::DtDe&              myDe;
00093          DtScriptMap myScriptMap;
00094          
00095       };
00096    }
00097 }
00098 
00099 #endif

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)