Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

plist Namespace Reference


Detailed Description

A collection of classes to implement the Propery List data storage format, a XML standard used by Apple and others.


Classes

class  PolymorphicLoader
 allows us to use the LoadSave suite for loading and parsing general XML functions, but forwards loadXML to plist::loadXML() and stores the result as a member More...
class  Listener
 Base class for the plist listener callbacks. More...
class  PrimitiveListener
 If you wish to be notified any time a particular plist primitive's value has been changed, inherit from this and implement the callback, then register it with the plist object through Primitive::addPrimitiveListener(). More...
class  CollectionListener
 If you wish to be notified any time an entry is added, removed, or replaced from a Dictionary, Array, or Vector, inherit from this and implement one or both of the functions, then register it with the collection's addCollectionListener(). More...
class  ObjectBase
 This base class provides the root functionality for all plist entities -- Dictionary and the various templated subclasses of PrimitiveBase. More...
class  PrimitiveBase
 Provides common functionality to all primitive value classes (implemented in a templated subclass Primitive). More...
class  Collection
 Provides a common base class for the collection-oriented primitives, Dictionary and Array. More...
class  Dictionary
 Maintains a set of (key,value) pairs, where a value can be any subclass of ObjectBase. More...
class  ArrayBase
class  ArrayOf
 A collection of plist objects, similar to a Dictionary, but no keys -- order matters!, see plist::Array. More...
class  Primitive
 Implements type-specific functionality through template specialization, mainly involving value conversion and stringification formatting. More...
class  Primitive< char >
 provides a char specialization of plist::Primitive<T>, adds a unique numeric property to the usual template implementation More...
class  Primitive< unsigned char >
 provides an unsigned char specialization of plist::Primitive<T>, adds a unique numeric property to the usual template implementation More...
class  NamedEnumerationBase
 provides some accessors common across NamedEnumeration types More...
class  NamedEnumeration
 Provides an interface for the use of enumerations in a plist -- you can specify values by either the string name or the corresponding integer value. More...
class  Primitive< std::string >
 Provides a std::string specialization of Primitive<T>. More...

Typedefs

typedef ArrayOf< ObjectBaseArray

Functions

ObjectBaseloadXML (xmlNode *node)
 From the name of node, will instantiate a new ObjectBase subclass to load it.
ObjectBaseloadFile (const std::string &file)
 Attempts to parse the file found at file, using plist::loadXML().
ObjectBaseloadBuffer (const char *buf, unsigned int len)
 Attempts to parse the buffer found at buf, using plist::loadXML().
std::ostream & operator<< (std::ostream &os, const ObjectBase &pb)
 output of an ObjectBase to a stream
std::ostream & operator<< (std::ostream &os, const PrimitiveBase &pb)
 output stringified value (from PrimitiveBase::get()) to stream
std::istream & operator>> (std::istream &is, PrimitiveBase &pb)
 input value from next word in is, via PrimitiveBase::set()
std::ostream & operator<< (std::ostream &os, const Dictionary &d)
 provides textual output
std::ostream & operator<< (std::ostream &os, const ArrayBase &d)
 provides textual output
 PLIST_CLONE_IMPT2 (PO, Alloc, ArrayOf,(new ArrayOf< PO, Alloc >(*this)))
 implements the clone function for Array


Function Documentation

ObjectBase * plist::loadXML ( xmlNode node  ) 

From the name of node, will instantiate a new ObjectBase subclass to load it.

The mapping from node names to actual instantiated types is:

If successful, returns a pointer to a newly allocated region, which the caller is responsible for freeing. If an error occurs, NULL is returned.

Definition at line 7 of file plist.cc.

Referenced by plist::PolymorphicLoader::loadXML(), plist::ArrayOf< PO, Alloc >::loadXMLNode(), and plist::Dictionary::loadXMLNode().


Tekkotsu v3.0
Generated Fri May 11 20:09:05 2007 by Doxygen 1.4.7