VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrlinkOwnershipTransferTranslator.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2025 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
7 
8 #pragma once
9 
12 #include <vl/transferControlInteraction.h>
13 #include <vl/acknowledgeInteraction.h>
14 
15 #include <vrfutil/uuid.h>
16 
18 class DtEntityPublisher;
19 class DtReflectedEntity;
20 class DtReflectedDIGuyObject;
21 
22 #if DtHLA
23 class DtHlaObject;
24 namespace makVrfVrlinkExtToolkit
25 {
26  class DtReflectedExtendedAttributesObject;
27 }
28 #endif
29 
30 namespace makVrfEvents
31 {
32  class DtInitiateTakeEvent;
33  class DtTransferResponseEvent;
34 }
35 
36 namespace makVrf
37 {
38  class DtVrfTransferControlManager;
39 
41  {
42  public:
44  {
45  VrfDatumRecord = 613
46  };
47 
48  public:
50  virtual ~DtVrlinkOwnershipTransferTranslator() override;
51 
52  virtual void init(DtVrlinkNetworkInterface*) override;
53 
54  static void transferControlRequestNotificationCallback(DtTransferControlInteraction* tci, void* user);
55  virtual void processTransferControlRequestNotification(DtTransferControlInteraction*);
56 
57  static void acknowledgeMentNotificationCallback(DtAcknowledgeInteraction* tci, void* user);
58  virtual void processAcknowledgeMentNotification(DtAcknowledgeInteraction*);
59 
60  static void gainedOwnershipOfEntityCallback(DtEntityPublisher* newEntityPublisher, DtU32 requestIdentifier, void* usr);
61  virtual void processGainedOwnershipOfEntity(DtEntityPublisher* newEntityPublisher, DtU32 requestIdentifier);
62 
63  static void lostOwnershipOfEntityCallback(DtReflectedEntity* lostEntity, void* usr);
64  virtual void processLostOwnershipOfEntity(DtReflectedEntity* lostEntity);
65 
67  virtual bool supportsOwnershipTransfer() const;
68 
69  protected:
70  virtual bool processEvent(const makVrfEvents::DtEvent&) override;
71 
72 #if DtHLA
73  static bool pullRequestCallback(DtHlaObject*, void*);
74  static void lostOwnershipOfDIGuyCallback(DtReflectedDIGuyObject* lostDiguy, void* usr);
75  virtual void processLostOwnershipOfDIGuy(DtReflectedDIGuyObject* lostDiguy);
76 
77  static void lostOwnershipOfExtendedAttributesCallback(makVrfVrlinkExtToolkit::DtReflectedExtendedAttributesObject* lostExtAttr, void* usr);
78  virtual void processLostOwnershipOfExtendedAttributes(makVrfVrlinkExtToolkit::DtReflectedExtendedAttributesObject* lostExtAttr);
79 #else
80  static bool pullRequestCallback(const DtEntityIdentifier*, void*);
81 #endif
82 
83  virtual void initiateTake(const makVrfEvents::DtInitiateTakeEvent&);
84  virtual void transferResponse(const makVrfEvents::DtTransferResponseEvent&);
85 
86  protected:
87  DtVrfTransferControlManager* myControlManager = nullptr;
88  std::set<DtUUID> myAwaitingTransfer;
89  };
90 }
Contains the DtUUID class declaration.
Definition: vrfTransferControlManager.h:41
Definition: event.h:13
Definition: initiateTakeEvent.h:15
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
Definition: transferResponseEvent.h:15

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)