VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
luaAsyncJob.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
9 
10 #include "vrfLua/vrfLuaDefines.h"
12 #include <vrfutil/objectCounter.h>
13 
14 #include <boost/shared_ptr.hpp>
15 #include <boost/enable_shared_from_this.hpp>
16 #include <boost/noncopyable.hpp>
17 
18 #include <luabind/luabind.hpp>
19 
20 class DtSimManager;
21 
30  : public DtAsciiSerializable
31  , public boost::noncopyable
32  , public boost::enable_shared_from_this<DtLuaAsyncJob>
33 #ifdef DtObjectDebugger_Enable
34  , public DtObjectDebugger<DtLuaAsyncJob>
35 #endif
36 {
37 public:
38 
45  virtual luabind::object getObject(lua_State* L, int& index, std::string& message) = 0;
46 
50  virtual luabind::object getDebugObject(lua_State* L) = 0;
51 
53  virtual void cancel(lua_State* L) = 0;
54 
56  void init(void* userData);
57 
58 protected:
59  DtLuaAsyncJob();
60  explicit DtLuaAsyncJob(DtSimManager*);
61 
63 };
64 
Definition: asciiSerializable.h:33
Interface for getting asynchronously computed data into Lua.
Definition: luaAsyncJob.h:29
virtual void init(void *userData)
This function is called right after the object is constructed during the deserialization process...
Definition: asciiSerializable.h:71
#define DT_DEFINE_OBJECT_DEBUGGER_NAME(type)
Definition: objectCounter.h:265
Default on in debug, off in release.
Definition: objectCounter.h:31
DtSimManager * mySimManager
Definition: luaAsyncJob.h:62
#define DT_DLL_vrfLua
This file is used to determine how to build.
Definition: vrfLuaDefines.h:25
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:103

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)