template class CCL::Persistence::PersistentObject

Overview

Standard implementation template of IPersistentObject. More…

#include <persistence.h>

template <class BaseUnknown>
class PersistentObject:
    public BaseUnknown,
    public CCL::Persistence::IPersistentObject
{
public:
    // methods

    virtual void CCL_API connectPersistentOwner (
        IPersistentOwner* owner,
        ObjectID oid
    );

    virtual ObjectID CCL_API getObjectID ();
    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr);
    virtual unsigned int CCL_API retain ();
    virtual unsigned int CCL_API release ();
};

Inherited Members

public:
    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;

    virtual void CCL_API connectPersistentOwner (
        IPersistentOwner* owner,
        ObjectID oid
    ) = 0;

    virtual ObjectID CCL_API getObjectID () = 0;
    virtual void CCL_API storeMembers (IObjectState& state) const = 0;
    virtual void CCL_API restoreMembers (IObjectState& state) = 0;

Detailed Documentation

Standard implementation template of IPersistentObject.

Methods

virtual void CCL_API connectPersistentOwner (
    IPersistentOwner* owner,
    ObjectID oid
)

Connect object to an owner.

virtual ObjectID CCL_API getObjectID ()

Get object id passed in connectPersistentOwner.

virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr)

Obtain pointer to another interface supported by this object.

In case of success, the caller holds a reference to this interface, which must be released afterwards.

Parameters:

iid

ID of requested interface (e.g. “ccl_iid<ISomething> ()”)

ptr

receives pointer to requested interface

Returns:

kResultOk for success, kResultNoInterface if unsupported.

virtual unsigned int CCL_API retain ()

Increments the object’s reference count.

virtual unsigned int CCL_API release ()

Decrement the object’s reference count.

If the reference count reaches zero, the object is freed in memory.