Home

entity_mgr_factory Class Reference
[Assembly Modeling]

Abstract class from which customers derive factory objects to create entity manager sub-class objects. More...

#include <entity_mgr_factory.hxx>

Inheritance diagram for entity_mgr_factory:

Inheritance graph
[legend]
Collaboration diagram for entity_mgr_factory:

Collaboration graph
[legend]

List of all members.

Public Member Functions

void lose ()
 Requests that this entity manager factory destruct itself.

Protected Member Functions

virtual asm_model_entity_mgrcreate_entity_mgr_vf (asm_model_info const &model_info, HISTORY_STREAM *share_stream)=0
 Creates a new entity manager using ACIS_NEW.
virtual void lose_vf ()
 Requests that this entity manager factory destruct itself.


Detailed Description

Abstract class from which customers derive factory objects to create entity manager sub-class objects.



Role: Interface class to provide a factory method for creating customer entity managers.

An entity_mgr_factory object is used by asmi_restore_model_list to create a customer-defined entity manager object for each model in the ASAT file being read. Customers who derive their own entity manager sub-class should derive a corresponding subclass of entity_mgr_factory.

See also:
asm_model_entity_mgr

Member Function Documentation

virtual asm_model_entity_mgr* entity_mgr_factory::create_entity_mgr_vf ( asm_model_info const &  model_info,
HISTORY_STREAM share_stream 
) [protected, pure virtual]

Creates a new entity manager using ACIS_NEW.



Role: Subclasses must override this function.

This routine is called by asmi_restore_model list, once for each model, to create an entity manager for each model.

Parameters:
model model to which the new entity manager should be bound. This model should not already be bound to an entity manager.
share_stream if non-NULL, the new entity manager should be bound to this history stream. Care should be taken that this stream is the stream to which the entities in ents belong.

Implemented in acis_ha_part_entity_mgr_factory, acis_pm_entity_mgr_factory, acis_scm_entity_mgr_factory, and default_entity_mgr_factory.

void entity_mgr_factory::lose (  ) 

Requests that this entity manager factory destruct itself.

virtual void entity_mgr_factory::lose_vf (  )  [protected, virtual]

Requests that this entity manager factory destruct itself.



Role: This function is necessary so that customer code can match allocation and deletion strategies A default implementation that calls ACIS_DELETE on the this pointer is provided.