InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IScriptObjectParent Class Referenceabstract

#include <IScriptObjectParent.h>

Inheritance diagram for IScriptObjectParent:
IPMUnknown

Public Types

enum  { kDefaultIID = IID_ISCRIPTOBJECTPARENT }
 

Public Member Functions

virtual void SetParent (const IPMUnknown *parent, const RequestContext &context, bool16 notifyParent=kTrue)=0
 
virtual void ClearParent (bool16 notifyParent=kTrue)=0
 
virtual IDataBaseGetParentDataBase () const =0
 
virtual IPMUnknownQueryParent (const PMIID &iid) const =0
 
virtual bool16 IsParentSet () const =0
 
- Public Member Functions inherited from IPMUnknown
virtual IPMUnknownQueryInterface (PMIID interfaceID) const =0
 
virtual void AddRef () const =0
 
virtual void Release () const =0
 

Detailed Description

Interface for storing parent of a proxy script object. Works in tandem with parent database's IScriptObjectMgr interface to track proxy script objects for deletion.

Most clients should use the default implementation (kScriptObjectParentImpl), along with the base proxy script object implementation (kCProxyScriptImpl) or a subclass thereof. The simplest approach is by boss inheritance (from kBaseProxyScriptObjectBoss).

Except for calling SetParent during creation of a proxy object, methods on this interface are generally for INTERNAL USE ONLY by the scripting architecture. Actual calls to this interface should therefore be very rare.

See Also
IScriptObjectMgr

Member Function Documentation

virtual void IScriptObjectParent::ClearParent (bool16 notifyParent = kTrue)
pure virtual

Clear the parent.

virtual IDataBase* IScriptObjectParent::GetParentDataBase () const
pure virtual

Returns parent's true or de facto database (i.e., even if parent is not persistent). Use of IScript::GetDataBase() is preferred.

virtual bool16 IScriptObjectParent::IsParentSet () const
pure virtual

Returns kTrue if parent has been set.

virtual IPMUnknown* IScriptObjectParent::QueryParent (const PMIIDiid) const
pure virtual

Queries the parent (will return nil if parent no longer exists). Use of IScript::QueryParent() is preferred.

virtual void IScriptObjectParent::SetParent (const IPMUnknownparent,
const RequestContextcontext,
bool16 notifyParent = kTrue 
)
pure virtual

Stores the parent. Called when creating a proxy object (e.g., from IScriptUtils::CreateProxyScriptObject).