interreality.org [VOS]
[Home] [About]
[Screenshots]
[Download]
[News]
[Community]
[Documentation] [Manual]
[Bugs & Requests] [Wiki]

VOS::VobjectExtension Class Reference
[libvos]

#include <vos/vos/vobjectextension.hh>

Inheritance diagram for VOS::VobjectExtension:

VOS::Dispatchable VOS::FileSystemPersistance VOS::RemoteVobject VOS::SQLPersistance VOS::VersionedVobject VOS::RevisionControlPersistance List of all members.

Detailed Description

Virtual Object System extension interface.

Allows you to hook into various methods on a Vobject to extend their functionality. You want to subclass this and override the methods you are interested in. The pre_ methods are called prior to running the default behavior of the method. The post_ methods are run after the default behavior of the method has executed. If you return false or a non-null value (depending on the particular method) from a pre_ method this will prevent the default behavior from being run, meaning it will return after running all the pre_ extensions; this also means it will also skip running any post_ methods.

Definition at line 78 of file vobjectextension.hh.

Public Member Functions


Constructor & Destructor Documentation

virtual VOS::VobjectExtension::~VobjectExtension (  )  [inline, virtual]

Definition at line 81 of file vobjectextension.hh.


Member Function Documentation

virtual void VOS::VobjectExtension::destroy (  )  [inline, virtual]

Destry this extension.

By default will do "delete this" but can be overridden if that's not what you want (such as if the extension is shared among several Vobjects.)

Reimplemented in VOS::FileSystemPersistance, VOS::VersionedVobject, and VOS::SQLPersistance.

Definition at line 89 of file vobjectextension.hh.

virtual void VOS::VobjectExtension::extensionAttachedTo ( VobjectBase vb  )  [inline, virtual]

Reimplemented in VOS::RemoteVobject.

Definition at line 83 of file vobjectextension.hh.

virtual void VOS::VobjectExtension::post_addChildListener ( VobjectState state,
boost::recursive_mutex::scoped_lock &  state_lock,
Vobject requester,
ChildChangeListener t,
bool  refresh 
) [inline, virtual]

Definition at line 186 of file vobjectextension.hh.

virtual void VOS::VobjectExtension::post_addParentListener ( VobjectState state,
boost::recursive_mutex::scoped_lock &  state_lock,
Vobject requester,
ParentChangeListener t,
bool  refresh 
) [inline, virtual]

Definition at line 200 of file vobjectextension.hh.

virtual void VOS::VobjectExtension::post_addToACL ( AccessControlState acs,
Vobject requester,
const std::string &  ACLname,
Vobject id,
const std::string &  oldACLname 
) [inline, virtual]

virtual void VOS::VobjectExtension::post_addType ( VobjectState state,
boost::recursive_mutex::scoped_lock &  state_lock,
Vobject requester,
const std::string &  s 
) [inline, virtual]

virtual void VOS::VobjectExtension::post_addTypeListener ( VobjectState state,
boost::recursive_mutex::scoped_lock &  state_lock,
Vobject requester,
TypeChangeListener t,
bool  refresh 
) [inline, virtual]

Definition at line 172 of file vobjectextension.hh.

virtual void VOS::VobjectExtension::post_deleteACL ( AccessControlState acs,
Vobject requester,
const std::string &  policies,
AccessControlList oldacl 
) [inline, virtual]

virtual void VOS::VobjectExtension::post_insertChild ( VobjectState state,
boost::recursive_mutex::scoped_lock &  state_lock,
Vobject requester,
int  position,
const std::string &  contextual_name,
Vobject child 
) [inline, virtual]

virtual void VOS::VobjectExtension::post_removeChild ( VobjectState state,
boost::recursive_mutex::scoped_lock &  state_lock,
Vobject requester,
ParentChildRelation pcr,
bool  strict 
) [inline, virtual]

virtual void VOS::VobjectExtension::post_removeChildListener ( VobjectState state,
boost::recursive_mutex::scoped_lock &  state_lock,
Vobject requester,
ChildChangeListener t 
) [inline, virtual]

Reimplemented in VOS::RemoteVobject.

Definition at line 193 of file vobjectextension.hh.

virtual void VOS::VobjectExtension::post_removeFromACL ( AccessControlState acs,
Vobject requester,
const std::string &  ACLname,
Vobject id 
) [inline, virtual]

virtual void VOS::VobjectExtension::post_removeParentListener ( VobjectState state,
boost::recursive_mutex::scoped_lock &  state_lock,
Vobject requester,
ParentChangeListener t 
) [inline, virtual]

Reimplemented in VOS::RemoteVobject.

Definition at line 207 of file vobjectextension.hh.

virtual void VOS::VobjectExtension::post_removeType ( VobjectState state,
boost::recursive_mutex::scoped_lock &  state_lock,
Vobject requester,
const std::string &  s 
) [inline, virtual]

virtual void VOS::VobjectExtension::post_removeTypeListener ( VobjectState state,
boost::recursive_mutex::scoped_lock &  state_lock,
Vobject requester,
TypeChangeListener t 
) [inline, virtual]

Reimplemented in VOS::RemoteVobject.

Definition at line 179 of file vobjectextension.hh.

virtual void VOS::VobjectExtension::post_setChild ( VobjectState state,
boost::recursive_mutex::scoped_lock &  state_lock,
Vobject requester,
int  position,
const std::string &  contextual_name,
Vobject child,
const std::string &  oldcontextual_name,
Vobject oldchild 
) [inline, virtual]

virtual void VOS::VobjectExtension::post_setDefaultPolicy ( AccessControlState acs,
Vobject requester,
const std::string &  policy,
const std::string &  oldpolicy 
) [inline, virtual]

virtual bool VOS::VobjectExtension::pre_addChildListener ( VobjectState state,
boost::recursive_mutex::scoped_lock &  state_lock,
Vobject requester,
ChildChangeListener t,
bool  refresh 
) [inline, virtual]

Reimplemented in VOS::RemoteVobject.

Definition at line 183 of file vobjectextension.hh.

virtual bool VOS::VobjectExtension::pre_addParentListener ( VobjectState state,
boost::recursive_mutex::scoped_lock &  state_lock,
Vobject requester,
ParentChangeListener t,
bool  refresh 
) [inline, virtual]

Reimplemented in VOS::RemoteVobject.

Definition at line 197 of file vobjectextension.hh.

virtual bool VOS::VobjectExtension::pre_addToACL ( AccessControlState acs,
Vobject requester,
const std::string &  ACLname,
Vobject id 
) [inline, virtual]

Reimplemented in VOS::VersionedVobject, and VOS::RemoteVobject.

Definition at line 219 of file vobjectextension.hh.

virtual bool VOS::VobjectExtension::pre_addType ( VobjectState state,
boost::recursive_mutex::scoped_lock &  state_lock,
Vobject requester,
const std::string &  s 
) [inline, virtual]

Reimplemented in VOS::VersionedVobject, and VOS::RemoteVobject.

Definition at line 125 of file vobjectextension.hh.

virtual bool VOS::VobjectExtension::pre_addTypeListener ( VobjectState state,
boost::recursive_mutex::scoped_lock &  state_lock,
Vobject requester,
TypeChangeListener t,
bool  refresh 
) [inline, virtual]

Reimplemented in VOS::RemoteVobject.

Definition at line 169 of file vobjectextension.hh.

virtual bool VOS::VobjectExtension::pre_deleteACL ( AccessControlState acs,
Vobject requester,
const std::string &  policies 
) [inline, virtual]

Reimplemented in VOS::RemoteVobject.

Definition at line 231 of file vobjectextension.hh.

virtual VUtil::vRef<ParentChildRelation> VOS::VobjectExtension::pre_findChild ( VobjectState state,
boost::recursive_mutex::scoped_lock &  state_lock,
Vobject requester,
int  pos 
) [inline, virtual]

Reimplemented in VOS::RemoteVobject.

Definition at line 115 of file vobjectextension.hh.

virtual VUtil::vRef<ParentChildRelation> VOS::VobjectExtension::pre_findChild ( VobjectState state,
boost::recursive_mutex::scoped_lock &  state_lock,
Vobject requester,
const std::string &  path 
) [inline, virtual]

Reimplemented in VOS::RemoteVobject.

Definition at line 110 of file vobjectextension.hh.

virtual VUtil::vRef<ParentChildRelation> VOS::VobjectExtension::pre_findObject ( VobjectState state,
boost::recursive_mutex::scoped_lock &  state_lock,
Vobject requester,
const std::string &  path 
) [inline, virtual]

Reimplemented in VOS::RemoteVobject.

Definition at line 105 of file vobjectextension.hh.

virtual VUtil::vRef<ParentChildRelation> VOS::VobjectExtension::pre_findParent ( VobjectState state,
boost::recursive_mutex::scoped_lock &  state_lock,
Vobject requester,
Vobject parent 
) [inline, virtual]

Reimplemented in VOS::RemoteVobject.

Definition at line 120 of file vobjectextension.hh.

virtual ACLIterator* VOS::VobjectExtension::pre_getAllACLs ( AccessControlState acs,
Vobject requester 
) [inline, virtual]

Reimplemented in VOS::RemoteVobject.

Definition at line 245 of file vobjectextension.hh.

virtual StringIterator* VOS::VobjectExtension::pre_getAvailablePolicies ( AccessControlState acs,
Vobject requester,
const std::string &  domain 
) [inline, virtual]

Reimplemented in VOS::RemoteVobject.

Definition at line 214 of file vobjectextension.hh.

virtual ChildListIterator* VOS::VobjectExtension::pre_getChildren ( VobjectState state,
boost::recursive_mutex::scoped_lock &  state_lock,
Vobject requester,
int  start,
int  end 
) [inline, virtual]

Reimplemented in VOS::RemoteVobject.

Definition at line 97 of file vobjectextension.hh.

virtual std::string VOS::VobjectExtension::pre_getDefaultPolicy ( AccessControlState acs,
Vobject requester,
const std::string &  domain 
) [inline, virtual]

Reimplemented in VOS::RemoteVobject.

Definition at line 237 of file vobjectextension.hh.

virtual ParentSetIterator* VOS::VobjectExtension::pre_getParents ( VobjectState state,
boost::recursive_mutex::scoped_lock &  state_lock,
Vobject requester 
) [inline, virtual]

Reimplemented in VOS::RemoteVobject.

Definition at line 94 of file vobjectextension.hh.

virtual StringIterator* VOS::VobjectExtension::pre_getPolicy ( AccessControlState acs,
Vobject requester,
const std::string &  domain,
Identity id 
) [inline, virtual]

Reimplemented in VOS::RemoteVobject.

Definition at line 211 of file vobjectextension.hh.

virtual TypeSetIterator* VOS::VobjectExtension::pre_getTypes ( VobjectState state,
boost::recursive_mutex::scoped_lock &  state_lock,
Vobject requester 
) [inline, virtual]

Reimplemented in VOS::RemoteVobject.

Definition at line 91 of file vobjectextension.hh.

virtual bool VOS::VobjectExtension::pre_insertChild ( VobjectState state,
boost::recursive_mutex::scoped_lock &  state_lock,
Vobject requester,
int  position,
const std::string &  contextual_name,
Vobject child 
) [inline, virtual]

Reimplemented in VOS::VersionedVobject, and VOS::RemoteVobject.

Definition at line 138 of file vobjectextension.hh.

virtual int VOS::VobjectExtension::pre_numChildren ( VobjectState state,
boost::recursive_mutex::scoped_lock &  state_lock,
Vobject requester 
) [inline, virtual]

Reimplemented in VOS::RemoteVobject.

Definition at line 101 of file vobjectextension.hh.

virtual bool VOS::VobjectExtension::pre_removeChild ( VobjectState state,
boost::recursive_mutex::scoped_lock &  state_lock,
Vobject requester,
ParentChildRelation pcr,
bool  strict 
) [inline, virtual]

Reimplemented in VOS::VersionedVobject, and VOS::RemoteVobject.

Definition at line 160 of file vobjectextension.hh.

virtual bool VOS::VobjectExtension::pre_removeChildListener ( VobjectState state,
boost::recursive_mutex::scoped_lock &  state_lock,
Vobject requester,
ChildChangeListener t 
) [inline, virtual]

Definition at line 190 of file vobjectextension.hh.

virtual bool VOS::VobjectExtension::pre_removeFromACL ( AccessControlState acs,
Vobject requester,
const std::string &  ACLname,
Vobject id 
) [inline, virtual]

Reimplemented in VOS::VersionedVobject, and VOS::RemoteVobject.

Definition at line 225 of file vobjectextension.hh.

virtual bool VOS::VobjectExtension::pre_removeParentListener ( VobjectState state,
boost::recursive_mutex::scoped_lock &  state_lock,
Vobject requester,
ParentChangeListener t 
) [inline, virtual]

Definition at line 204 of file vobjectextension.hh.

virtual bool VOS::VobjectExtension::pre_removeType ( VobjectState state,
boost::recursive_mutex::scoped_lock &  state_lock,
Vobject requester,
const std::string &  s 
) [inline, virtual]

Reimplemented in VOS::VersionedVobject, and VOS::RemoteVobject.

Definition at line 131 of file vobjectextension.hh.

virtual bool VOS::VobjectExtension::pre_removeTypeListener ( VobjectState state,
boost::recursive_mutex::scoped_lock &  state_lock,
Vobject requester,
TypeChangeListener t 
) [inline, virtual]

Definition at line 176 of file vobjectextension.hh.

virtual bool VOS::VobjectExtension::pre_setChild ( VobjectState state,
boost::recursive_mutex::scoped_lock &  state_lock,
Vobject requester,
int  position,
const std::string &  contextual_name,
Vobject child 
) [inline, virtual]

Reimplemented in VOS::VersionedVobject, and VOS::RemoteVobject.

Definition at line 149 of file vobjectextension.hh.

virtual bool VOS::VobjectExtension::pre_setDefaultPolicy ( AccessControlState acs,
Vobject requester,
const std::string &  policy 
) [inline, virtual]

Reimplemented in VOS::VersionedVobject, and VOS::RemoteVobject.

Definition at line 240 of file vobjectextension.hh.


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