VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
rwUUID.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2022 MAK Technologies, Inc.
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include "vrfutil/vrfutilDefines.h"
13 #include "vrfutil/uuid.h"
16 #include <boost/uuid/uuid.hpp>
17 
18 
19 
20 #include <vlutil/vlUuid.h>
21 
27 {
28 public:
30  DtRwUUID();
31  DtRwUUID(const char* name, DtReaderWriterRegistry* const parentRegistry = nullptr);
32  DtRwUUID(const DtString& name, DtReaderWriterRegistry* const parentRegistry);
33  DtRwUUID(const DtSymbolString& name, DtReaderWriterRegistry* const parentRegistry);
34 
36  DtRwUUID(const DtString& name, const DtRwUUID&, DtReaderWriterRegistry* const parentRegistry);
37  DtRwUUID(const DtSymbolString& name, const DtRwUUID&, DtReaderWriterRegistry* const parentRegistry);
38  DtRwUUID(const DtSymbolString& name, const DtUUID&, DtReaderWriterRegistry* const parentRegistry);
39  DtRwUUID(const DtString& name, const DtUUID&, DtReaderWriterRegistry* const parentRegistry);
40  DtRwUUID(const DtString& name, const char*, DtReaderWriterRegistry* const parentRegistry);
41  DtRwUUID(const DtSymbolString& name, const char*, DtReaderWriterRegistry* const parentRegistry);
42  DtRwUUID(const DtRwUUID&, DtReaderWriterRegistry* const parentRegistry);
43  DtRwUUID(const DtRwUUID&);
44  DtRwUUID(const DtUUID&);
45  DtRwUUID(const DtVrlUuid&);
46 
47  virtual ~DtRwUUID() override;
48 
52  virtual const char* readerWriterType() const override;
53 
54  virtual void setMarkingText(const DtString&);
55  virtual DtString markingText() const;
56 
58  static const char* theXmlType();
59 
60  operator const DtUUID& () const { return myUUID; };
61 
62  DtRwUUID& operator=(const DtRwUUID & orig);
63  DtRwUUID& operator=(const DtUUID & orig);
64  DtRwUUID& operator=(const DtVrlUuid & orig);
65 
66  bool operator!=(const DtRwUUID & otherUuid) const { return !(*this == otherUuid); };
67  bool operator==(const DtRwUUID & otherUuid) const;
68  bool operator==(const DtUUID& otherUuid) const;
69 
70  bool operator<(const DtRwUUID & rhs) const { return myUUID < rhs; };
71  bool operator>(const DtRwUUID & rhs) const { return myUUID > rhs; };
72 
73  virtual const char* xmlType() const override
74  {
75  return theXmlType();
76  }
77 
78  const DtUUID& uuid() const { return myUUID; };
79  DtUUID& uuid() { return myUUID; };
80 
81  virtual void clearUUID();
82  virtual DtString uuidString() const;
83  virtual bool isValid() const;
84  virtual void generateUUID();
85  virtual void setUUID(const DtVrlUuid& u);
86  virtual void setUUID(const DtRwUUID& u);
87  virtual void setUUID(const DtString& uuid);
88  virtual void setStringUUID(const DtString& uuid);
89  bool isVrfUUID() const;
90 
91  const char* data() const;
92 
93  unsigned int dataSize() const;
94  void setBuffer(const char*);
95 
96  virtual DtlObjPtr getData(DtlObjPtr args, const SearchPaths& searchPaths,
97  const DtVariableBindingsList& variableBindings) override;
98  virtual void getSelf(DtlObjPtr args, const SearchPaths& searchPaths = DtReaderWriter::SearchPaths(),
99  const DtVariableBindingsList& variableBindings = DtVariableBindingsList()) override;
100  virtual void getSelf(const DtEnvironmentSP env, const DtEnvValueSP root,
102  const DtVariableBindingsList& varBindings = DtVariableBindingsList()) override;
103  virtual void getData(const DtEnvironmentSP, const DtEnvValueSP,
104  const SearchPaths& searchPaths = SearchPaths(),
105  const DtVariableBindingsList& bindings = DtVariableBindingsList()) override;
106  virtual void putSelf(std::string& fp, int indentLevel = 0,
107  bool writeUnspecified = false, const DtFilename& path =
108  DtFilename::nullFilename()) override;
109  virtual void putSelf(DtEnvironmentSP env, DtEnvValueSP parent) const override;
110  virtual void putData(DtEnvironmentSP, DtEnvValueSP value) const override;
111  virtual void putData(std::string& fp, int) override;
112 
113  virtual DtVrlUuid vrlUuid() const;
114 
115  virtual DtString prettyPrint() const override;
116 
117 protected:
119  virtual void noRwValueSpecified();
120 
123  virtual void uuidChanged() override;
124 
125 protected:
126  mutable DtUUID myUUID;
127 };
128 
132 {
133 public:
135  DtRwObjectName();
136 
138  DtRwObjectName(const DtString& name, DtReaderWriterRegistry* const parentRegistry = nullptr);
139  DtRwObjectName(const DtSymbolString& name, DtReaderWriterRegistry* const parentRegistry = nullptr);
140 
142  DtRwObjectName(const DtString& name,
143  const char* fromChars,
144  DtReaderWriterRegistry* const parentRegistry = nullptr);
145 
146  DtRwObjectName(const DtSymbolString& name,
147  const char* fromChars,
148  DtReaderWriterRegistry* const parentRegistry = nullptr);
149 
150  DtRwObjectName(const DtString& name,
151  const DtString& fromString,
152  DtReaderWriterRegistry* const parentRegistry = nullptr);
153 
154  DtRwObjectName(const DtSymbolString& name,
155  const DtString& fromString,
156  DtReaderWriterRegistry* const parentRegistry = nullptr);
157 
158  DtRwObjectName(const DtString& name,
159  const DtRwObjectName& fromString,
160  DtReaderWriterRegistry* const parentRegistry = nullptr);
161 
162  DtRwObjectName(const DtSymbolString& name,
163  const DtRwObjectName& fromString,
164  DtReaderWriterRegistry* const parentRegistry = nullptr);
165 
167  DtRwObjectName(const DtRwObjectName& orig, DtReaderWriterRegistry* const parentRegistry = nullptr);
168 
170  DtRwObjectName& operator=(const DtRwObjectName & orig);
171  DtRwObjectName& operator=(const DtUUID & orig);
172 
173  virtual ~DtRwObjectName() override;
174 
176  static const char* theXmlType();
177 
178  virtual const char* xmlType() const override
179  {
180  return theXmlType();
181  }
182 
186  virtual const char* readerWriterType() const override;
187 };
bool operator==(const DtReaderWriter &) const
Equivalence operator.
UUID is a unique ID wrapper class.
Definition: uuid.h:59
virtual const char * readerWriterType() const
Used to supply a string type that this reader writer type is. This can be used in place of dynamic-ca...
This class allows one to collect and compare strings using an index number instead of having to do st...
Definition: symbolString.h:27
virtual const char * xmlType() const override
Definition: rwUUID.h:73
virtual const char * xmlType() const override
Definition: rwUUID.h:178
Contains the DtUUID class declaration.
virtual DtlObjPtr getData(DtlObjPtr args, const SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
Deriving class overrides these to get/put class specific data.
Definition: readerWriter.h:85
bool operator<(const DtRwUUID &rhs) const
Definition: rwUUID.h:70
Definition: readerWriterRegistry.h:39
virtual DtString prettyPrint() const
Routine to return a human readable form of the reader/writer variable. Not all reader/writer classes ...
uuid class
Definition: rwUUID.h:26
virtual void uuidChanged()=0
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
Optional owner of this UUID. Since the UUID can change when remapped, supply an owner to be notified ...
Definition: uuid.h:22
static const char * theXmlType()
The type that is used when archiving to an XML stream.
DtRwUUID & operator=(const DtRwUUID &orig)
bool operator>(const DtRwUUID &rhs) const
Definition: rwUUID.h:71
virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
Top level to read itself from an input stream. searchPath is passed down to all DtReaderWriter member...
Simple wrapper class that will be used by Lua to indicate to create a scripted vrf object from the su...
Definition: rwUUID.h:131
virtual void putSelf(std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
Top level call to write itself to file. If write unspecified is true, will write entries that are uns...
const DtUUID & uuid() const
Definition: rwUUID.h:78
DtUUID myUUID
Definition: rwUUID.h:126
virtual void putData(std::string &fp, int indentLevel=0)
Deriving class overrides these to get/put class specific data.
bool operator!=(const DtRwUUID &otherUuid) const
Definition: rwUUID.h:66
#define DT_DLL_vrfutil
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfutilDefines.h:34
DtUUID & uuid()
Definition: rwUUID.h:79
const DtReaderWriter & operator=(const DtReaderWriter &orig)
assignment operator
static const char * theXmlType()
The type that is used when archiving to an XML stream.
DT_DLL_readerWriter std::shared_ptr< DtEnvironment > DtEnvironmentSP
Definition: readerWriter.h:30
virtual const char * readerWriterType() const override
Used to supply a string type that this reader writer type is. This can be used in place of dynamic-ca...

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)