e57::StringNodeImpl Class Reference

#include <StringNodeImpl.h>

Public Member Functions

void checkLeavesInSet (const StringSet &pathNames, NodeImplSharedPtr origin) override
bool isDefined (const ustring &pathName) override
bool isTypeEquivalent (NodeImplSharedPtr ni) override
 StringNodeImpl (ImageFileImplWeakPtr destImageFile, const ustring &value="")
NodeType type () const override
ustring value ()
void writeXml (ImageFileImplSharedPtr imf, CheckedFile &cf, int indent, const char *forcedFieldName=nullptr) override
 ~StringNodeImpl () override=default
- Public Member Functions inherited from e57::NodeImpl
void checkBuffers (const std::vector< SourceDestBuffer > &sdbufs, bool allowMissing)
void checkImageFileOpen (const char *srcFileName, int srcLineNumber, const char *srcFunctionName) const
virtual void checkLeavesInSet (const StringSet &pathNames, NodeImplSharedPtr origin)=0
ImageFileImplSharedPtr destImageFile ()
ustring elementName () const
bool findTerminalPosition (const NodeImplSharedPtr &target, uint64_t &countFromLeft)
virtual NodeImplSharedPtr get (const ustring &pathName)
ustring imageFileName () const
bool isAttached () const
virtual bool isDefined (const ustring &pathName)=0
bool isRoot () const
bool isTypeConstrained ()
virtual bool isTypeEquivalent (NodeImplSharedPtr ni)=0
NodeImplSharedPtr parent ()
ustring pathName () const
ustring relativePathName (const NodeImplSharedPtr &origin, ustring childPathName=ustring()) const
virtual void set (const StringList &fields, unsigned level, NodeImplSharedPtr ni, bool autoPathCreate=false)
virtual void set (const ustring &pathName, NodeImplSharedPtr ni, bool autoPathCreate=false)
virtual void setAttachedRecursive ()
void setParent (NodeImplSharedPtr parent, const ustring &elementName)
virtual NodeType type () const =0
virtual void writeXml (ImageFileImplSharedPtr imf, CheckedFile &cf, int indent, const char *forcedFieldName=nullptr)=0
virtual ~NodeImpl ()=default

Additional Inherited Members

- Protected Member Functions inherited from e57::NodeImpl
NodeImplSharedPtr getRoot ()
virtual NodeImplSharedPtr lookup (const ustring &)
 NodeImpl (ImageFileImplWeakPtr destImageFile)
NodeImploperator= (NodeImpl &n)
- Protected Attributes inherited from e57::NodeImpl
ImageFileImplWeakPtr destImageFile_
ustring elementName_
bool isAttached_
NodeImplWeakPtr parent_

Constructor & Destructor Documentation

◆ StringNodeImpl()

e57::StringNodeImpl::StringNodeImpl ( ImageFileImplWeakPtr  destImageFile,
const ustring value = "" 

◆ ~StringNodeImpl()

e57::StringNodeImpl::~StringNodeImpl ( )

Member Function Documentation

◆ checkLeavesInSet()

void e57::StringNodeImpl::checkLeavesInSet ( const StringSet pathNames,
NodeImplSharedPtr  origin 

We are a leaf node, so verify that we are listed in set.

Implements e57::NodeImpl.

References e57::E57_ERROR_NO_BUFFER_FOR_ELEMENT, e57::NodeImpl::pathName(), and e57::NodeImpl::relativePathName().

◆ isDefined()

bool e57::StringNodeImpl::isDefined ( const ustring pathName)

We have no sub-structure, so if path not empty return false

Implements e57::NodeImpl.

References e57::NodeImpl::pathName().

◆ isTypeEquivalent()

bool e57::StringNodeImpl::isTypeEquivalent ( NodeImplSharedPtr  ni)

Same node type?

ignore value_, doesn't have to match

Types match

Implements e57::NodeImpl.

References e57::E57_STRING.

◆ type()

NodeType e57::StringNodeImpl::type ( ) const

◆ value()

◆ writeXml()

void e57::StringNodeImpl::writeXml ( ImageFileImplSharedPtr  imf,
CheckedFile cf,
int  indent,
const char *  forcedFieldName = nullptr 

Write value as child text, unless it is the default value

Loop, searching for occurrences of "]]>", which will be split across two CDATA directives

Didn't find any more "]]>", so can send the rest.

Must output in two pieces, first send up to end of "]]" (don't send the following ">").

Then start a new CDATA

Keep looping to send the ">" plus the remaining part of the string

Implements e57::NodeImpl.

References e57::NodeImpl::elementName_, and e57::space().

The documentation for this class was generated from the following files: