VISH  0.2
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Attributes | Friends
Wizt::VManagedObject Class Reference

Common class for all objects that may be created through the database. More...

#include </home/werner/origo/vish/ocean/plankton/VManagedObject.hpp>

List of all members.

Classes

Public Types

Public Member Functions

Static Public Member Functions

Static Public Attributes

Protected Attributes

Friends


Detailed Description

Common class for all objects that may be created through the database.

As a core property, each of them may contain various combinations of interfaces that determine the properties of the specific object instance.


Member Function Documentation

void Wizt::VManagedObject::insert ( const string s,
int  priority = DEFAULT_PRIORITY 
)

Insert new objects into the object data base.

Note:
The value of the global variable CurrentLoadModule is used to provide additional information about which module is responsible for the current object. In practice, only static objects in the respective module will be affected by this value through VLoadModule(). After loading the library has been finished, this CurrentLoadModule is set to empty, and this empty value is the one seen by dynamically created objects.

Note also that this due to the usage of this global variable the insertion routine is not threadsafe. However, this situation would only occur if two different shared libraries are loaded in different threads at the same time, which is not a good idea anyway.

void Wizt::VManagedObject::remove ( )

Remove this object from the database.

Note that the object is not deleted if strong reference points to it remain.

Reimplemented in Wizt::VManagedDomainObject.

int Wizt::VManagedObject::traverse ( const type_info &  t,
VManagedObjectIterator VIt,
int  p_start,
int  p_end 
) [static]

Iterate through a domain for certain levels.

Returns:
How many objects have been successfully traversed?

Member Data Documentation

The name of the current shared library/DLL/plugin which provides the code of the currently loaded objects.

Note that this is a global variable and thus not threadsafe.


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