Class: TEmbedderModel

Declaration: CompoundDocument.h

Taxonomy Categories:

Member Functions:


Interface Category:

API.

Inherits From:

TModel

Inherited By:

None.

Purpose:

This model is a list of document components. Its primary purpose is to support data exchange of document components. This model can also serve as a base class for models that want to provide simple embedding support.

Instantiation:

Allocate on the heap or the stack.

Deriving Classes:

This model is provided as a standard transport for document components. It will not usually be derived from.

Concurrency:

Not multithread safe.

Resource Use:

No special requirements.

Member Function: TEmbedderModel::TEmbedderModel

  1. TEmbedderModel ()
  2. TEmbedderModel (const TEmbedderModel &)
  3. TEmbedderModel (TDocumentComponent* aChildToEmbed)

Interface Category:

API.

Purpose:

  1. Default constructor.
  2. Copy constructor.
  3. Creates an embedder model with an embedded component.

Calling Context:

  1. Called to create an empty model.
  2. Called to copy an object.
  3. Call this function directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TEmbedderModel::~TEmbedderModel

virtual ~ TEmbedderModel ()

Interface Category:

API.

Purpose:

Destructor.

Calling Context:

Called to destroy an object.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TEmbedderModel::CreateSelection

virtual TModelSelection * CreateSelection () const

Interface Category:

API.

Purpose:

Creates a compatible selection for TEmbedderModels. It simply creates a TModelSelection.

Calling Context:

Call this function directly.

Parameters:

Return Value:

Returns a default selection on this model.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TEmbedderModel::AdoptAndEmbed

virtual void AdoptAndEmbed (TDocumentComponent *)

Interface Category:

API.

Purpose:

Adopts the component and adds it to the embedding hierarchy.

Calling Context:

Call this function directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

Preconditions: Assertion (TDocumentComponent* != NIL).

Member Function: TEmbedderModel::OrphanAndUnembed

virtual TDocumentComponent * OrphanAndUnembed (TDocumentComponent &)

Interface Category:

API.

Purpose:

Orphans an embedded component, removing it from the embedding hierarchy.

Calling Context:

Call this function directly.

Parameters:

Return Value:

Returns the orphaned document component.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TEmbedderModel::CreateComponentIterator

virtual TIteratorOver < TDocumentComponent > * CreateComponentIterator () const

Interface Category:

API.

Purpose:

Creates an iterator over all the components embedded in this model.

Calling Context:

Call this function directly.

Parameters:

Return Value:

Returns an iterator over all the components in the model.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TEmbedderModel::operator=

TEmbedderModel & operator =(const TEmbedderModel &)

Interface Category:

API.

Purpose:

Assignment operator.

Calling Context:

Called when an object is assigned to another compatible object.

Parameters:

Return Value:

Returns a const reference to the left-hand side object.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TEmbedderModel::operator>>=

virtual TStream & operator >>=(TStream &) const

Interface Category:

API.

Purpose:

Stream-out operator.

Calling Context:

Called to stream out data.

Parameters:

Return Value:

Returns a reference to the stream the object streams itself out to.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TEmbedderModel::operator<<=

virtual TStream & operator <<= (TStream &)

Interface Category:

API.

Purpose:

Stream-in operator.

Calling Context:

Called to stream in data.

Parameters:

Return Value:

Returns a reference to the stream the object streams itself in from.

Exceptions:

Throws a TInvalidVersionError if the version of the object on the stream is unknown to the version of the shared library installed.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TEmbedderModel::LookupForReading

static const TEmbedderModel * LookupForReading (const TModelReference &)

Interface Category:

API.

Purpose:

Looks up a model from a reference for read access.

Calling Context:

Called to access a model safely in a concurrent environment.

Parameters:

Return Value:

Returns a const pointer to a TModel instance.

Exceptions:

Throws TCompoundDocumentException::kModelDoesNotExist if the model is not in the document. Throws TCompoundDocumentException::kModelNotLocked if the component containing the model is not locked.

Concurrency:

Not multithread safe.

Other Considerations:

Preconditions: Assertion( the associated model is read locked or is not inside a document ).

Member Function: TEmbedderModel::LookupForWriting

static TEmbedderModel * LookupForWriting (const TModelReference &)

Interface Category:

API.

Purpose:

Looks up a model from a reference for read/write access.

Calling Context:

Called to access a model safely in a concurrent environment.

Parameters:

Return Value:

Returns a pointer to a TModel object.

Exceptions:

Throws TCompoundDocumentException::KModelDoesNotExist if the model is not in the document. Throws TCompoundDocumentException::kModelNotLocked if the component containing the model is not read/write locked. To lock the component, a TDocumentComponentWriteEntry for the component must be in scope at the time of lookup. The model pointer must not be held outside the scope of the entry.

Concurrency:

Not multithread safe.

Other Considerations:

Preconditions: Assertion( the associated model is read-write locked or is not inside a document ).

Member Function: TEmbedderModel::GetTypeDescription

static const TTypeDescription & GetTypeDescription ()

Interface Category:

API.

Purpose:

Returns the data type contained by this embedder model.

Calling Context:

Call this function directly.

Parameters:

Return Value:

Returns the data type contained by this embedder model.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

This is a static member function.
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.