VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtAttributeGroupTemplateManager.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 
8 #include <vrvVrl/vrvVrl.h>
9 
11 #include <vrvUtil/signalslib.h>
12 
13 #include <vl/globalObjectDesignator.h>
14 
15 #ifndef DT_PROTOCOL_NAMESPACE
16 #error Namespace Protocol Macro DT_PROTOCOL_NAMESPACE not defined.
17 #endif
18 
19 namespace makVrv
20 {
21  namespace DT_PROTOCOL_NAMESPACE
22  {
23  class DtVrlinkConnection;
24 
29  {
30  public:
33 
36 
38  virtual void addAttributeTemplate(const DtGlobalObjectDesignator& groupId,
39  const std::string& name, int attributeType, double minRange, double maxRange);
40 
42  virtual bool getAttributeTemplateInfo(const DtGlobalObjectDesignator& groupId,
43  const std::string& name, int& attributeType, double& minRange, double& maxRange,
44  int& index);
45 
46  virtual void removeAttributeTemplate(const DtGlobalObjectDesignator& groupId,
47  const std::string& name);
48 
49  boost::signalslib::signal<void (const DtGlobalObjectDesignator& groupId, const std::string& name,
50  int attributeType, double minRange, double maxRange, int index)> signal_templateAdded;
51 
52  private:
55 
58 
59  protected:
61 
62  protected:
64  {
65  double myMinRange;
66  double myMaxRange;
68  int myIndex;
69  };
70 
72  typedef std::map<std::pair<DtGlobalObjectDesignator, std::string>, DtAttributeTemplateInfo> AttributeTemplateMap;
74  std::map<DtGlobalObjectDesignator, int> myAttributesPerGroup;
75 
76  };
77  }
78 }
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
The DtAttributeGroupTemplateManager object is a rooted singleton that is responsible for managing att...
Definition: DtAttributeGroupTemplateManager.h:28
std::map< std::pair< DtGlobalObjectDesignator, std::string >, DtAttributeTemplateInfo > AttributeTemplateMap
Definition: DtAttributeGroupTemplateManager.h:72
#define DL_DLL_IGCONVRLINK
Definition: dllExport.h:26
boost::signalslib::signal< void(const DtGlobalObjectDesignator &groupId, const std::string &name, int attributeType, double minRange, double maxRange, int index)> signal_templateAdded
Definition: DtAttributeGroupTemplateManager.h:50
#define DT_PROTOCOL_NAMESPACE
Contains DLL export macros.
Definition: vrfDis.h:17
Contains makVrv::DtVirtualBaseClass class.
DtVrlinkConnection & mySimulation
Definition: DtAttributeGroupTemplateManager.h:71
AttributeTemplateMap myAttributeTemplateMap
Definition: DtAttributeGroupTemplateManager.h:73
std::map< DtGlobalObjectDesignator, int > myAttributesPerGroup
Definition: DtAttributeGroupTemplateManager.h:74
Contains DLL export macros.

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)