VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
luaEmbarkationEgressPointsQueryJob.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2019 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"
16 
17 #include "vlutil/vlMutex.h"
18 
19 #include <luabind/luabind.hpp>
20 
21 #include <boost/scoped_ptr.hpp>
22 
23 class DtSimManager;
24 class DtSimMessage;
25 
28 {
29 public:
30  typedef std::vector<DtLocation3D> Points;
31 
32  static boost::shared_ptr<DtLuaEmbarkationEgressPointsQueryJob> Make(
33  DtSimManager* mgr,
34  DtSharedVrfObjectReference queryingObject,
35  DtSharedVrfObjectReference objectToBeQueried);
36 
39 
42 
44  luabind::object getObject(lua_State* L, int& index, std::string& message);
45 
47  luabind::object getDebugObject(lua_State* L) { return luabind::newtable(L); }
48 
50  virtual void cancel(lua_State* L) {};
51 
53  static void responseCallback(DtSimMessage* msg, void* usr);
54  virtual void processResponse(DtSimMessage* msg);
55 
56  //
58  //
59 
60  static DtAsciiSerializable* creator();
61 
63  bool deserialize(const DtString&);
64  DtString objectType() const;
65 
66  boost::shared_ptr<DtLuaEmbarkationEgressPointsQueryJob> shared_from_this();
67  boost::shared_ptr<const DtLuaEmbarkationEgressPointsQueryJob> shared_from_this() const;
68 
69 protected:
70 
71  static int nextRequestId()
72  {
73  static int theRequestId = 0;
74 
75  return ++theRequestId;
76  }
77 
78  class PathTask;
79  friend class PathTask;
80 
83  DtSimManager* mgr,
84  DtSharedVrfObjectReference queryingObject,
85  DtSharedVrfObjectReference objectToBeQueried);
86 
87  void start();
88 
90  void taskComplete();
91 
94 
96 
98  //DtIfEmbarkationSlotInformationResponse::SlotInformationMap mySlotInfo;
100 
101  typedef DtMutex Mutex;
102 
103  mutable Mutex myMutex;
104 };
virtual void cancel(lua_State *L)
Currently a no-op.
Definition: luaEmbarkationEgressPointsQueryJob.h:50
static int nextRequestId()
Definition: luaEmbarkationEgressPointsQueryJob.h:71
std::map< int, EgressPointInformation > EgressPointInformationMap
Definition: ifEmbarkationEgressPointsResponse.h:30
Definition: asciiSerializable.h:33
Interface for getting asynchronously computed data into Lua.
Definition: luaAsyncJob.h:29
virtual bool deserialize(const DtString &)=0
This function should take the string that was serialized via serialize() and fill this object with th...
bool myGotResponse
Definition: luaEmbarkationEgressPointsQueryJob.h:97
virtual DtString serialize()=0
The following characters are reserved and cannot be used in serialization: &#39;|&#39;, &#39;:&#39;.
DtSharedVrfObjectReference class will allocate an empty DtVrfObjectReference if one is not assigned s...
Definition: vrfObjectReference.h:102
DtMutex Mutex
Definition: luaEmbarkationEgressPointsQueryJob.h:101
File: simMsg.h.
Definition: simMessage.h:35
#define DT_DLL_vrfLua
This file is used to determine how to build.
Definition: vrfLuaDefines.h:25
DtIfEmbarkationEgressPointsResponse::EgressPointInformationMap myEgressInfo
Definition: luaEmbarkationEgressPointsQueryJob.h:99
luabind::object getDebugObject(lua_State *L)
Retrieve debug data, if available. Default return value is an empty table.
Definition: luaEmbarkationEgressPointsQueryJob.h:47
DtSharedVrfObjectReference myObjectBeingQueried
Definition: luaEmbarkationEgressPointsQueryJob.h:93
virtual luabind::object getObject(lua_State *L, int &index, std::string &message)=0
Retrieve current value.
virtual DtString objectType() const =0
Should return the string name of this object.
Lua object class which represents a query for embarkation ingress and egress point info...
Definition: luaEmbarkationEgressPointsQueryJob.h:27
std::vector< DtLocation3D > Points
Definition: luaEmbarkationEgressPointsQueryJob.h:30
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:102
int myRequestId
Definition: luaEmbarkationEgressPointsQueryJob.h:95
Mutex myMutex
Definition: luaEmbarkationEgressPointsQueryJob.h:103
DtSharedVrfObjectReference myQueryingObject
Definition: luaEmbarkationEgressPointsQueryJob.h:92

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)