VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ownershipTransferManager.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 
10 
12 #include <boost/signals2.hpp>
13 #include <set>
14 #include <vrfutil/uuid.h>
15 
16 namespace makVrfEvents
17 {
18  class DtEvent;
19  class DtTransferRequestEvent;
20  class DtTransferResponseEvent;
21  class DtEventManager;
22  class DtOwnershipAcquisitionAcquiredEvent;
23  class DtInitiateTakeEvent;
24 }
25 
27 class DtSimMessage;
28 class DtLocalObject;
29 
31 {
32 public:
35  virtual ~DtOwnershipTransferManager();
36 
37  virtual void setEventManager(makVrfEvents::DtEventManager*);
39  {
40  return myEventManager;
41  }
42 
44  boost::signals2::signal<void (makVrfEvents::DtInitiateTakeEvent&, bool& continueOn)> signal_preTakeEvent;
45 
48  boost::signals2::signal<void (makVrfEvents::DtTransferResponseEvent&, bool& continueOn)> signal_preDivestEvent;
49 
52  boost::signals2::signal<void (DtLocalObject*, const makVrfEvents::DtOwnershipAcquisitionAcquiredEvent&)> signal_preTranferComplete;
53 
54  virtual bool canTransferObjects() const;
55 
56 protected:
57  virtual void processTransferRequestEvent(const makVrfEvents::DtEvent&);
58  virtual void processOwnershipAcquired(const makVrfEvents::DtEvent&);
59  virtual void processOwnershipDivested(const makVrfEvents::DtEvent&);
60 
61  static void takeOwnershipCallback(DtSimMessage* msg, void* usr);
62  virtual void processTakeOwnership(DtSimMessage* msg);
63 
64 protected:
66  std::set<DtUUID> myConvertingToRemote;
68  boost::signals2::scoped_connection myTransferRequestEventConnection;
69  boost::signals2::scoped_connection myOwnershipAcquisitionAcquiredEventConnection;
70  boost::signals2::scoped_connection myOwnershipAcquisitionDivestedEventConnection;
71 };
class DtLocalObjectManager:
Definition: localObjectManager.h:157
makVrfEvents::DtEventManager * eventManager() const
Definition: ownershipTransferManager.h:38
boost::signals2::signal< void(DtLocalObject *, const makVrfEvents::DtOwnershipAcquisitionAcquiredEvent &)> signal_preTranferComplete
Signal sent before the local object is added to the local object manager to complete transfer...
Definition: ownershipTransferManager.h:52
DtLocalObjectManager * myObjectManager
Definition: ownershipTransferManager.h:65
The DtEventManager handles the sending and receipt of system events (fire, detonate, command, etc). It provides a thread-safe way for the sim engine to send and receive such events, between both components within this sim engine and other remote applications.
Definition: eventManager.h:33
boost::signals2::scoped_connection myOwnershipAcquisitionAcquiredEventConnection
Definition: ownershipTransferManager.h:69
Contains the DtUUID class declaration.
boost::signals2::scoped_connection myTransferRequestEventConnection
Definition: ownershipTransferManager.h:68
Definition: ownershipTransferManager.h:30
Definition: event.h:13
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
makVrfEvents::DtEventManager * myEventManager
Definition: ownershipTransferManager.h:67
File: simMsg.h.
Definition: simMessage.h:35
boost::signals2::signal< void(makVrfEvents::DtTransferResponseEvent &, bool &continueOn)> signal_preDivestEvent
Signal sent before a take acquisition response event is posted. Make the last variable false to rejec...
Definition: ownershipTransferManager.h:48
std::set< DtUUID > myConvertingToRemote
Definition: ownershipTransferManager.h:66
boost::signals2::signal< void(makVrfEvents::DtInitiateTakeEvent &, bool &continueOn)> signal_preTakeEvent
Signal sent before a take event is posted. Make the last variable false to reject this take event...
Definition: ownershipTransferManager.h:44
boost::signals2::scoped_connection myOwnershipAcquisitionDivestedEventConnection
Definition: ownershipTransferManager.h:70
A locally simulated VRF object.
Definition: localObject.h:98

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)