VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
scriptInterfaceHandler.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 #pragma once
6 
9 
10 #include <boost/shared_ptr.hpp>
12 #include <map>
13 #include <vlutil/vlString.h>
14 
15 class DtVrfObject;
16 class DtScriptInterface;
18 
20 {
21 public:
23  virtual ~DtScriptInterfaceHandler();
24 
25  virtual bool init();
26 
27  virtual void tick();
28 
29  virtual DtVrfObject* entity() { return myEntity; }
30 
31  virtual void setReactiveTaskController(DtScriptReactiveTaskController* controller) { myReactiveTaskController = controller; }
32 
33  virtual bool shouldResumeScriptInterface(const DtSimTaskMessageType& scriptId);
34  virtual void notifySuspend(const DtSimTaskMessageType& scriptId, int taskId);
35  virtual void notifyResume(const DtSimTaskMessageType& scriptId, int taskId);
36  virtual void notifyScriptError(const DtSimTaskMessageType& scriptId, int taskId);
37 
38  virtual boost::shared_ptr<DtScriptInterface> createScriptInterface(const DtGenericMessageType& scriptId);
39  virtual void releaseScriptInterface(const DtGenericMessageType& scriptId, int taskId, boost::shared_ptr<DtScriptInterface> iFace);
40  virtual bool passScriptInterface(const DtGenericMessageType& scriptId, boost::shared_ptr<DtScriptInterface> iFace);
41 
42  virtual void removeScriptInterfacePass(const DtGenericMessageType& scriptId);
43 
44 protected:
46 
47  std::map<DtGenericMessageType, boost::shared_ptr<DtScriptInterface> > myPassingScriptInterfaces;
48  std::map<DtGenericMessageType, boost::shared_ptr<DtScriptInterface> > myReturningScriptInterfaces;
50 };

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)