VR-Forces 4.8 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) 2013 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  , public DtObjectDebugger<DtLuaAsyncJob>
34 {
35 public:
36 
43  virtual luabind::object getObject(lua_State* L, int& index, std::string& message) = 0;
44 
48  virtual luabind::object getDebugObject(lua_State* L) = 0;
49 
51  virtual void cancel(lua_State* L) = 0;
52 
54  void init(void* userData);
55 
56 protected:
57  DtLuaAsyncJob();
58  explicit DtLuaAsyncJob(DtSimManager*);
59 
61 };
62 
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:69
#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:60
#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:102

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)