VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
resupplySupplierController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vrfMsgTransport/events.h>
14 
16 
19 
21 
22 
26 {
27 public:
28 
35  DtVrfObject* owner,
36  DtSimManager* simManager,
37  DtComponentDescriptor* compDesc = 0,
38  DtReaderWriterRegistry* parentRegistry = 0);
39 
42 
43  virtual const char* type() const;
44 
47  virtual bool postAddComponentsInit();
48 
50  virtual bool init();
51 
57  static void setSupplyingCallback(DtSimMessage * msg, void * usr);
58 
62  virtual void processSetSupplying(DtSimMessage * msg);
63 
66  virtual void addSetDataCallbacks();
67 
70  void removeSetDataCallbacks();
71 
74  virtual void tick();
75 
76  static DtSimComponent* creator(const DtString& name,
77  DtVrfObject* owner,
78  DtSimManager* simManager,
80  DtReaderWriterRegistry* parentRegistry);
81 
82 protected:
83 
86 
89  orig);
90 
94 
96  virtual const DtResupplySupplierControllerDescriptor* getDescriptor();
97 
99 
100  virtual void serviceRequestEvent(const DtEvent&);
101  virtual void processServiceRequest(const DtServiceRequestInteraction& serviceRequest);
102  virtual void resupplyReceivedEvent(const DtEvent&);
103  virtual void processResupplyReceived(const DtResupplyRecInteraction& resupplyReceived);
104  virtual void resupplyCancelEvent(const DtEvent&);
105  virtual void processResupplyCancel(const DtResupplyCancelInteraction& resupplyCancel);
107 
109 
110  virtual std::shared_ptr<DtResupplyOfferInteraction> createResupplyOfferInteraction(const DtGlobalObjectDesignator& receiver);
112  virtual void sendResupplyOfferInteraction(DtResupplyOfferInteraction& resupplyOffer);
113  virtual std::shared_ptr<DtResupplyCancelInteraction> createResupplyCancelInteraction(const DtGlobalObjectDesignator& receiver);
114  virtual void sendResupplyCancelInteraction(DtResupplyCancelInteraction& resupplyCancel);
116 
117 protected:
118  virtual void transferSupplies();
119  virtual void processReadyState(const DtGlobalObjectDesignator& receiver);
120  virtual void processOfferingState(const DtGlobalObjectDesignator& receiver);
121 
122  virtual void updateRequestedSupplies(const DtServiceRequestInteraction& serviceRequest);
123  virtual void updateOfferedSupplies(const DtGlobalObjectDesignator& receiver);
124  virtual void updateSentSupplies(const DtResupplyRecInteraction& resupplyReceived);
125  virtual void removeSentSupplies(const DtGlobalObjectDesignator& receiver);
126  virtual bool checkSuppliesRequested(const DtGlobalObjectDesignator& receiver);
127  virtual bool checkResourcesAvailable(const DtGlobalObjectDesignator& receiver);
128  virtual bool checkResourceAvailable(DtEntityType type);
129  virtual bool checkResourceAvailable(DtString supplyName);
130  virtual double resourceAvailable(DtEntityType type);
131  virtual double resourceAvailable(DtString supplyName);
132  virtual void updateResource(DtEntityType type, double quantity);
133  virtual void updateResource(DtString supplyName, double quantity);
134 
135  virtual const DtString lookUpSupplyType(const DtEntityType& type) const;
136 
137  virtual DtTime currentSimTime();
138 
139 protected:
142 
144  std::map<DtGlobalObjectDesignator, DtResupplySupplierStateData> mySupplierStateData;
145 
146 protected:
151  const DtTime theOfferingStateDefaultTimeout = 120.0;
152 };
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
virtual bool postAddComponentsInit()
Called after all components have been created, initialized and added to the component manager...
Definition: simComponent.h:146
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
This class provides a base class for all controllers that are capable of executing a DtSimTask...
Definition: singleTaskControllerComponent.h:20
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:42
Definition: readerWriterRegistry.h:39
virtual const char * type() const =0
Returns a string identifies the class type of component.
virtual bool init()
Calls setRadio()
const DtResupplySupplierControllerDescriptor * myResupplySupplierDesc
Controller descriptor.
Definition: resupplySupplierController.h:141
std::map< DtGlobalObjectDesignator, DtResupplySupplierStateData > mySupplierStateData
Controller state transition class.
Definition: resupplySupplierController.h:144
Definition: events.h:49
File: simMsg.h.
Definition: simMessage.h:35
virtual void tick()
This gives the thread of control to the component.
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
const DtTaskControllerComponent & operator=(const DtTaskControllerComponent &orig)
assignment operator
This class implements a controller, which gives the unit the capability to provide supplies...
Definition: resupplySupplierController.h:25
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:103
DtResupplySupplierControllerDescriptor is a DtComponentDescriptor that has additional information nee...
Definition: resupplySupplierControllerDescriptor.h:20

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)