VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
luaEmbarkationSlotQueryJob.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2018 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
8 #include "vrfLua/vrfLuaDefines.h"
9 #include "vrfLua/luaAsyncJob.h"
10 #include "vrfobjcore/vrfObject.h"
11 #include "vrfutil/scriptGeometry.h"
15 
16 #include "vlutil/vlMutex.h"
17 
18 #include <luabind/luabind.hpp>
19 
20 #include <boost/scoped_ptr.hpp>
21 
22 class DtSimManager;
23 class DtSimMessage;
24 
27 {
28 public:
29  typedef std::vector<DtLocation3D> Points;
30 
31  static boost::shared_ptr<DtLuaEmbarkationSlotQueryJob> Make(
32  DtSimManager* mgr,
33  DtSharedVrfObjectReference queryingObject,
34  DtSharedVrfObjectReference objectToBeQueried);
35 
38 
41 
43  luabind::object getObject(lua_State* L, int& index, std::string& message);
44 
46  luabind::object getDebugObject(lua_State* L) {return luabind::newtable(L);}
47 
49  virtual void cancel(lua_State* L) {};
50 
52  static void responseCallback(DtSimMessage* msg, void* usr);
53  virtual void processResponse(DtSimMessage* msg);
54 
58 
59  static DtAsciiSerializable* creator();
60 
62  bool deserialize(const DtString&);
63  DtString objectType() const;
64 
65  boost::shared_ptr<DtLuaEmbarkationSlotQueryJob> shared_from_this();
66  boost::shared_ptr<const DtLuaEmbarkationSlotQueryJob> shared_from_this() const;
67 
68 protected:
69 
70  static int nextRequestId()
71  {
72  static int theRequestId = 0;
73 
74  return ++theRequestId;
75  }
76 
77  class PathTask;
78  friend class PathTask;
79 
82  DtSimManager* mgr,
83  DtSharedVrfObjectReference queryingObject,
84  DtSharedVrfObjectReference objectToBeQueried);
85 
86  void start();
87 
89  void taskComplete();
90 
93 
95 
98 
99  typedef DtMutex Mutex;
100 
101  mutable Mutex myMutex;
102 };

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)