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();
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 & orig) const { return !(*this == orig); };
67  bool operator==(const DtRwUUID & orig) const;
68 
69  bool operator<(const DtRwUUID & rhs) const { return myUUID < rhs; };
70  bool operator>(const DtRwUUID & rhs) const { return myUUID > rhs; };
71 
72  virtual const char* xmlType() const override
73  {
74  return theXmlType();
75  }
76 
77  const DtUUID& uuid() const { return myUUID; };
78  DtUUID& uuid() { return myUUID; };
79 
80  virtual void clearUUID();
81  virtual DtString uuidString() const;
82  virtual bool isValid() const;
83  virtual void generateUUID();
84  virtual void setUUID(const DtVrlUuid& u);
85  virtual void setUUID(const DtRwUUID& u);
86  virtual void setUUID(const DtString& uuid);
87  virtual void setStringUUID(const DtString& uuid);
88  bool isVrfUUID() const;
89 
90  const char* data() const;
91 
92  unsigned int dataSize() const;
93  void setBuffer(const char*);
94 
95  virtual DtlObjPtr getData(DtlObjPtr args, const SearchPaths& searchPaths,
96  const DtVariableBindingsList& variableBindings) override;
97  virtual void getSelf(DtlObjPtr args, const SearchPaths& searchPaths = DtReaderWriter::SearchPaths(),
98  const DtVariableBindingsList& variableBindings = DtVariableBindingsList()) override;
99  virtual void getSelf(const DtEnvironmentSP env, const DtEnvValueSP root,
101  const DtVariableBindingsList& varBindings = DtVariableBindingsList()) override;
102  virtual void getData(const DtEnvironmentSP, const DtEnvValueSP,
103  const SearchPaths& searchPaths = SearchPaths(),
104  const DtVariableBindingsList& bindings = DtVariableBindingsList()) override;
105  virtual void putSelf(std::string& fp, int indentLevel = 0,
106  bool writeUnspecified = false, const DtFilename& path =
107  DtFilename::nullFilename()) override;
108  virtual void putSelf(DtEnvironmentSP env, DtEnvValueSP parent) const override;
109  virtual void putData(DtEnvironmentSP, DtEnvValueSP value) const override;
110  virtual void putData(std::string& fp, int) override;
111 
112  virtual DtVrlUuid vrlUuid() const;
113 
114  virtual DtString prettyPrint() const override;
115 
116 protected:
118  virtual void noRwValueSpecified();
119 
122  virtual void uuidChanged() override;
123 
124 protected:
125  mutable DtUUID myUUID;
126 };
127 
131 {
132 public:
134  DtRwObjectName();
135 
137  DtRwObjectName(const DtString& name, DtReaderWriterRegistry* const parentRegistry = nullptr);
138  DtRwObjectName(const DtSymbolString& name, DtReaderWriterRegistry* const parentRegistry = nullptr);
139 
141  DtRwObjectName(const DtString& name,
142  const char* fromChars,
143  DtReaderWriterRegistry* const parentRegistry = nullptr);
144 
145  DtRwObjectName(const DtSymbolString& name,
146  const char* fromChars,
147  DtReaderWriterRegistry* const parentRegistry = nullptr);
148 
149  DtRwObjectName(const DtString& name,
150  const DtString& fromString,
151  DtReaderWriterRegistry* const parentRegistry = nullptr);
152 
153  DtRwObjectName(const DtSymbolString& name,
154  const DtString& fromString,
155  DtReaderWriterRegistry* const parentRegistry = nullptr);
156 
157  DtRwObjectName(const DtString& name,
158  const DtRwObjectName& fromString,
159  DtReaderWriterRegistry* const parentRegistry = nullptr);
160 
161  DtRwObjectName(const DtSymbolString& name,
162  const DtRwObjectName& fromString,
163  DtReaderWriterRegistry* const parentRegistry = nullptr);
164 
166  DtRwObjectName(const DtRwObjectName& orig, DtReaderWriterRegistry* const parentRegistry = nullptr);
167 
169  DtRwObjectName& operator=(const DtRwObjectName & orig);
170  DtRwObjectName& operator=(const DtUUID & orig);
171 
172  virtual ~DtRwObjectName();
173 
175  static const char* theXmlType();
176 
177  virtual const char* xmlType() const override
178  {
179  return theXmlType();
180  }
181 
185  virtual const char* readerWriterType() const override;
186 };
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:72
virtual const char * xmlType() const override
Definition: rwUUID.h:177
DT_DLL_readerWriter DtBoost::shared_ptr< DtEnvironment > DtEnvironmentSP
Definition: readerWriter.h:30
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:69
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:70
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:130
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...
bool operator!=(const DtRwUUID &orig) const
Definition: rwUUID.h:66
const DtUUID & uuid() const
Definition: rwUUID.h:77
DtUUID myUUID
Definition: rwUUID.h:125
virtual void putData(std::string &fp, int indentLevel=0)
Deriving class overrides these to get/put class specific data.
#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:78
const DtReaderWriter & operator=(const DtReaderWriter &orig)
assignment operator
static const char * theXmlType()
The type that is used when archiving to an XML stream.
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 Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)