Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

IObjectManager Class Reference
[Managed Objects]

IObjectManager Class Definition. More...

#include <IObjectManager.h>

Inheritance diagram for IObjectManager:

Inheritance graph
[legend]
List of all members.

Public Methods

virtual ~IObjectManager ()
virtual WDError subscribe (IManagedObject *inObject, void *inTargetNode)=0
virtual void release (IManagedObject *inObject)=0
virtual void * getRoot ()=0
virtual void * getChild (void *inNode, int inIndex)=0
virtual void getType (void *inNode, char *outType, int inMaxLength)=0
virtual WDError setAttribute (void *inNode, const char *inAttribute, const char *inValue)=0
virtual WDError getAttribute (void *inNode, const char *inAttribute, char *outValue, int inMaxLength)=0
virtual WDError saveToFile (const char *inFileName)=0
virtual void * newChildNode (const char *inType, void *inParent)=0
virtual int getChildCount (void *inNode)=0
virtual void * getParentNode (void *inNode)=0
virtual void * findNode (const char *nodeID, void *inRoot)=0
virtual int getIndex (void *inNode)=0
virtual void registerObject (void *inObject)=0
virtual void notifyChanged (void *inNode)=0
virtual void notifyChildAdded (void *inStartNode, void *inChildNode)=0
virtual void notifyChildChanged (void *inStartNode, void *inChildNode)=0

Detailed Description

IObjectManager Class Definition.

Interface for the ObjectManager family. An ObjectManager acts as a gateway between the actual database and the ManagedObject. It also provides subscribing services for the observers.


Constructor & Destructor Documentation

virtual IObjectManager::~IObjectManager   [inline, virtual]
 


Member Function Documentation

virtual void* IObjectManager::findNode const char *    nodeID,
void *    inRoot
[pure virtual]
 

Returns the node with the specified ID searching from the specified root

Parameters:
nodeID  Name of the data node to look for
inRoot  Root from which to start searching

Implemented in ObjectManager.

virtual WDError IObjectManager::getAttribute void *    inNode,
const char *    inAttribute,
char *    outValue,
int    inMaxLength
[pure virtual]
 

Returns an attribute of the specified data node

Parameters:
inNode  The data node on which to perform the operation
inAttribute  The attribute to get
outValue  The value of the attribute
inMaxLength  The size of the character buffer

Implemented in ObjectManager.

virtual void* IObjectManager::getChild void *    inNode,
int    inIndex
[pure virtual]
 

Returns the child of the specified node at the specified index.

Parameters:
inNode  The data node whose child is requested
inIndex  The index of the child requested

Implemented in ObjectManager.

virtual int IObjectManager::getChildCount void *    inNode [pure virtual]
 

Returns the number of child associated with the data node

Parameters:
inNode  The data node on which to perform the operation

Implemented in ObjectManager.

virtual int IObjectManager::getIndex void *    inNode [pure virtual]
 

Returns the index of the data node with regard to its parent

Parameters:
inNode  The data node on which to perform the operation

Implemented in ObjectManager.

virtual void* IObjectManager::getParentNode void *    inNode [pure virtual]
 

Returns the parent of the specified data node

Parameters:
inNode  The data node whose parent is requested

Implemented in ObjectManager.

virtual void* IObjectManager::getRoot   [pure virtual]
 

Returns the root of the database

Implemented in ObjectManager.

virtual void IObjectManager::getType void *    inNode,
char *    outType,
int    inMaxLength
[pure virtual]
 

Returns the type of the specified data node

Parameters:
inNode  The data node whose type is requested
outType  The type of the specified node
inMaxLength  The size of the character buffer.

Implemented in ObjectManager.

virtual void* IObjectManager::newChildNode const char *    inType,
void *    inParent
[pure virtual]
 

Creates a new node in the database

Parameters:
inType  Type of the node to create
inParent  Parent of the node to create

Implemented in ObjectManager.

virtual void IObjectManager::notifyChanged void *    inNode [pure virtual]
 

Notifies the observers that the data node has changed

Parameters:
inNode  The node that changed

Implemented in ObjectManager.

virtual void IObjectManager::notifyChildAdded void *    inStartNode,
void *    inChildNode
[pure virtual]
 

Notifies the observers that a child was added to the node or to a child of the node

Parameters:
inStartNode  The first parent to be notified
inChildNode  The child which changed

Implemented in ObjectManager.

virtual void IObjectManager::notifyChildChanged void *    inStartNode,
void *    inChildNode
[pure virtual]
 

Notifies the observers that a child to the node or to a child of the node has changed

Parameters:
inStartNode  The first parent to be notified
inChildNode  The child which changed

Implemented in ObjectManager.

virtual void IObjectManager::registerObject void *    inObject [pure virtual]
 

Temporary hack - we need to have at least one ManagedObject of for each node loaded in memory all the time - and I don't feel like telling you why. Go ask Etienne instead...

Implemented in ObjectManager.

virtual void IObjectManager::release IManagedObject   inObject [pure virtual]
 

Removes an IManagedObject from the subscriber list

Parameters:
inObject  The object to remove the the subscribing list

Implemented in ObjectManager.

virtual WDError IObjectManager::saveToFile const char *    inFileName [pure virtual]
 

Saves the database to a file

Parameters:
inFileName  Name of the file
Note:
If a file already exists with the same name, it will be overwritten

Implemented in ObjectManager.

virtual WDError IObjectManager::setAttribute void *    inNode,
const char *    inAttribute,
const char *    inValue
[pure virtual]
 

Sets an attribute of the specified data node

Parameters:
inNode  The data node on which to perform the operation
inAttribute  The attribute to set
inValue  The value at which the attribute should be set

Implemented in ObjectManager.

virtual WDError IObjectManager::subscribe IManagedObject   inObject,
void *    inTargetNode
[pure virtual]
 

Subscribes the observer to the data node

Parameters:
inObject  The data node
inTargetNode  The observer

Implemented in ObjectManager.


The documentation for this class was generated from the following file:
Generated on Mon Apr 15 15:23:17 2002 for WhiteDwarf by doxygen1.2.15