VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfObjectParametersList.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2020 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <readerWriter/rwList.h>
14 #include <vlpi/entityType.h>
15 #include <tbb/spin_rw_mutex.h>
16 
19 class DtString;
21 class DtListItem;
22 
25 {
26 
27 protected:
30 
31 public:
33  DtVrfObjectParametersList(const DtString & writeName,
34  DtReaderWriterRegistry * const parentRegistry = 0);
35 
36 protected:
39 
42 
43 public:
44 
45  virtual ~DtVrfObjectParametersList() override;
46 
47  virtual void addParameters(DtVrfObjectParameters * parameters);
48 
49  virtual DtVrfObjectParameters * lookupParameters(
50  const DtEntityType & objectType, DtEntityType * matchingType) const;
51 
53  virtual void removeParameters(const DtEntityType & objectType);
54 
57  virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths = DtReaderWriter::SearchPaths(),
58  const DtVariableBindingsList& variableBindings = nullVariableReference()) override;
59 
62  virtual DtlObjPtr getData(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
63  const DtVariableBindingsList& variableBindings) override;
64 
65  virtual void inheritValuesFromAncestors();
66 
70  void emptyList();
71 
72 protected:
73 
74  virtual DtListItem * lookupParameters(const DtEntityType & objectType) const;
75 
76 protected:
77 
81  mutable tbb::spin_rw_mutex myMutex;
82 };
Instances of DtVrfObjectParameters are the readable/writeable objects that contain the information ne...
Definition: vrfObjectParameters.h:64
virtual DtlObjPtr getData(DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings) override=0
This method must be overridden by a subclass. Within this method, new instances of the DtReaderWriter...
A Readable, Writable version of DtList. This class cannot be used directly, but must be inherited to ...
Definition: rwList.h:26
#define DT_DLL_vrfobjparam
This file is used to determine how to build.
Definition: vrfobjparamDefines.h:28
DtString myNameFromStream
For backward compatibility with version 1.x parameter files. Name of the object from the mtl stream...
Definition: vrfObjectParametersList.h:80
Definition: readerWriterRegistry.h:39
tbb::spin_rw_mutex myMutex
Definition: vrfObjectParametersList.h:81
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference()) override
Top level to read itself from an input stream. searchPath is passed down to all DtReaderWriter member...
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
static const DtVariableBindingsList & nullVariableReference()
const DtRwList & operator=(const DtRwList &orig)
Calls down to DtReaderWriter::operator=(). List elements are not copied.
Definition: vrfObjectParametersList.h:24

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)