Chromium Embedded Framework (CEF)  117.1.0+ga287baf+chromium-117.0.5938.62
CefXmlObject Class Reference

Thread safe class for representing XML data as a structured object. More...

#include "include/wrapper/cef_xml_object.h"

Inheritance diagram for CefXmlObject:
base::RefCountedThreadSafe< CefXmlObject >

Public Types

using ObjectVector = std::vector< CefRefPtr< CefXmlObject > >
 
using AttributeMap = std::map< CefString, CefString >
 

Public Member Functions

 CefXmlObject (const CefString &name)
 Create a new object with the specified name. More...
 
 CefXmlObject (const CefXmlObject &)=delete
 
CefXmlObjectoperator= (const CefXmlObject &)=delete
 
bool Load (CefRefPtr< CefStreamReader > stream, CefXmlReader::EncodingType encodingType, const CefString &URI, CefString *loadError)
 Load the contents of the specified XML stream into this object. More...
 
void Set (CefRefPtr< CefXmlObject > object)
 Set the name, children and attributes of this object to a duplicate of the specified object's contents. More...
 
void Append (CefRefPtr< CefXmlObject > object, bool overwriteAttributes)
 Append a duplicate of the children and attributes of the specified object to this object. More...
 
CefRefPtr< CefXmlObjectDuplicate ()
 Return a new object with the same name, children and attributes as this object. More...
 
void Clear ()
 Clears this object's children and attributes. More...
 
CefString GetName ()
 Access the object's name. More...
 
bool SetName (const CefString &name)
 
bool HasParent ()
 Access the object's parent. More...
 
CefRefPtr< CefXmlObjectGetParent ()
 
bool HasValue ()
 Access the object's value. More...
 
CefString GetValue ()
 
bool SetValue (const CefString &value)
 
bool HasAttributes ()
 Access the object's attributes. More...
 
size_t GetAttributeCount ()
 
bool HasAttribute (const CefString &name)
 
CefString GetAttributeValue (const CefString &name)
 
bool SetAttributeValue (const CefString &name, const CefString &value)
 
size_t GetAttributes (AttributeMap &attributes)
 
void ClearAttributes ()
 
bool HasChildren ()
 Access the object's children. More...
 
size_t GetChildCount ()
 
bool HasChild (CefRefPtr< CefXmlObject > child)
 
bool AddChild (CefRefPtr< CefXmlObject > child)
 
bool RemoveChild (CefRefPtr< CefXmlObject > child)
 
size_t GetChildren (ObjectVector &children)
 
void ClearChildren ()
 
CefRefPtr< CefXmlObjectFindChild (const CefString &name)
 Find the first child with the specified name. More...
 
size_t FindChildren (const CefString &name, ObjectVector &children)
 Find all children with the specified name. More...
 
- Public Member Functions inherited from base::RefCountedThreadSafe< CefXmlObject >
 RefCountedThreadSafe ()
 
 RefCountedThreadSafe (const RefCountedThreadSafe &)=delete
 
RefCountedThreadSafeoperator= (const RefCountedThreadSafe &)=delete
 
void AddRef () const
 
void Release () const
 

Friends

class base::RefCountedThreadSafe< CefXmlObject >
 

Additional Inherited Members

- Static Public Attributes inherited from base::RefCountedThreadSafe< CefXmlObject >
static constexpr cef_subtle::StartRefCountFromZeroTag kRefCountPreference
 
- Protected Member Functions inherited from base::RefCountedThreadSafe< CefXmlObject >
 ~RefCountedThreadSafe ()=default
 

Detailed Description

Thread safe class for representing XML data as a structured object.

This class should not be used with large XML documents because all data will be resident in memory at the same time. This implementation supports a restricted set of XML features:

  1. Processing instructions, whitespace and comments are ignored.
  2. Elements and attributes must always be referenced using the fully qualified name (ie, namespace:localname).
  3. Empty elements ("<a/>") and elements with zero-length values ("<a></a>") are considered the same.
  4. Element nodes are considered part of a value if:
    1. The element node follows a non-element node at the same depth (see 5), or
    2. The element node does not have a namespace and the parent node does.
  5. Mixed node types at the same depth are combined into a single element value as follows:
    1. All node values are concatenated to form a single string value.
    2. Entity reference nodes are resolved to the corresponding entity value.
    3. Element nodes are represented by their outer XML string.

Member Typedef Documentation

◆ AttributeMap

◆ ObjectVector

Constructor & Destructor Documentation

◆ CefXmlObject() [1/2]

CefXmlObject::CefXmlObject ( const CefString name)
explicit

Create a new object with the specified name.

An object name must always be at least one character long.

◆ CefXmlObject() [2/2]

CefXmlObject::CefXmlObject ( const CefXmlObject )
delete

Member Function Documentation

◆ AddChild()

bool CefXmlObject::AddChild ( CefRefPtr< CefXmlObject child)

◆ Append()

void CefXmlObject::Append ( CefRefPtr< CefXmlObject object,
bool  overwriteAttributes 
)

Append a duplicate of the children and attributes of the specified object to this object.

If |overwriteAttributes| is true then any attributes in this object that also exist in the specified object will be overwritten with the new values. The name of this object is not changed.

◆ Clear()

void CefXmlObject::Clear ( )

Clears this object's children and attributes.

The name and parenting of this object are not changed.

◆ ClearAttributes()

void CefXmlObject::ClearAttributes ( )

◆ ClearChildren()

void CefXmlObject::ClearChildren ( )

◆ Duplicate()

CefRefPtr<CefXmlObject> CefXmlObject::Duplicate ( )

Return a new object with the same name, children and attributes as this object.

The parent of the new object will be NULL.

◆ FindChild()

CefRefPtr<CefXmlObject> CefXmlObject::FindChild ( const CefString name)

Find the first child with the specified name.

◆ FindChildren()

size_t CefXmlObject::FindChildren ( const CefString name,
ObjectVector children 
)

Find all children with the specified name.

◆ GetAttributeCount()

size_t CefXmlObject::GetAttributeCount ( )

◆ GetAttributes()

size_t CefXmlObject::GetAttributes ( AttributeMap attributes)

◆ GetAttributeValue()

CefString CefXmlObject::GetAttributeValue ( const CefString name)

◆ GetChildCount()

size_t CefXmlObject::GetChildCount ( )

◆ GetChildren()

size_t CefXmlObject::GetChildren ( ObjectVector children)

◆ GetName()

CefString CefXmlObject::GetName ( )

Access the object's name.

An object name must always be at least one character long.

◆ GetParent()

CefRefPtr<CefXmlObject> CefXmlObject::GetParent ( )

◆ GetValue()

CefString CefXmlObject::GetValue ( )

◆ HasAttribute()

bool CefXmlObject::HasAttribute ( const CefString name)

◆ HasAttributes()

bool CefXmlObject::HasAttributes ( )

Access the object's attributes.

Attributes must have unique names.

◆ HasChild()

bool CefXmlObject::HasChild ( CefRefPtr< CefXmlObject child)

◆ HasChildren()

bool CefXmlObject::HasChildren ( )

Access the object's children.

Each object can only have one parent so attempting to add an object that already has a parent will fail. Removing a child will set the child's parent to NULL. Adding a child will set the child's parent to this object. This object's value, if any, will be cleared if a child is added.

◆ HasParent()

bool CefXmlObject::HasParent ( )

Access the object's parent.

The parent can be NULL if this object has not been added as the child on another object.

◆ HasValue()

bool CefXmlObject::HasValue ( )

Access the object's value.

An object cannot have a value if it also has children. Attempting to set the value while children exist will fail.

◆ Load()

bool CefXmlObject::Load ( CefRefPtr< CefStreamReader stream,
CefXmlReader::EncodingType  encodingType,
const CefString URI,
CefString loadError 
)

Load the contents of the specified XML stream into this object.

The existing children and attributes, if any, will first be cleared.

◆ operator=()

CefXmlObject& CefXmlObject::operator= ( const CefXmlObject )
delete

◆ RemoveChild()

bool CefXmlObject::RemoveChild ( CefRefPtr< CefXmlObject child)

◆ Set()

void CefXmlObject::Set ( CefRefPtr< CefXmlObject object)

Set the name, children and attributes of this object to a duplicate of the specified object's contents.

The existing children and attributes, if any, will first be cleared.

◆ SetAttributeValue()

bool CefXmlObject::SetAttributeValue ( const CefString name,
const CefString value 
)

◆ SetName()

bool CefXmlObject::SetName ( const CefString name)

◆ SetValue()

bool CefXmlObject::SetValue ( const CefString value)

Friends And Related Function Documentation

◆ base::RefCountedThreadSafe< CefXmlObject >

friend class base::RefCountedThreadSafe< CefXmlObject >
friend

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