IPcell Class Reference

Inheritance diagram for IPcell:

IBase


Public Methods

virtual ~IPcell ()
virtual oaPcellDefgetPcellDef ()=0
virtual void getName (oaString &name)=0
virtual void onBind (oaDesign *design, oaPcellDef *pcellDef)=0
virtual void onUnbind (oaDesign *design, oaPcellDef *pcellDef)=0
virtual void onEval (oaDesign *design, oaPcellDef *pcellDef)=0
virtual void onRead (oaDesign *design, oaMapFileWindow &mapWindow, oaUInt4 &loc, oaPcellDef *pcellDef)=0
virtual void onWrite (oaDesign *design, oaMapFileWindow &mapWindow, oaUInt4 &loc, oaPcellDef *pcellDef)=0
virtual oaUInt4 calcDiskSize (oaPcellDef *pcellDef) const=0

Static Public Methods

const GuidgetId ()

Detailed Description

The IPcell class implements the interfaces required to build and maintain parameterized cells in the OpenAccess database. Any application that needs to provide parameterized cells as a feature is required to derive this class, and the derived class is identified as a pcell evaluator. An IPcell can be provided in memory or through a plug-in module. When the IPcell is provided in memory, the application needs to create its IPcell derived class and call oaPcellLink::create() to register with OpenAccess. When IPcell is provided through a plug-in module, oaPcellLink::find() and oaPcellLink::getPcellDef() can be used to access the IPcell in the plug-in module.


Constructor & Destructor Documentation

virtual IPcell::~IPcell   [virtual]
 


Member Function Documentation

oaUInt4 IPcell::calcDiskSize oaPcellDef *    pcellDef const [pure virtual]
 

Parameters:
pcellDef A pointer to the application specific pcellDef
This function returns the required disk space for the specified pcellDef. The pcellDef contains information for exactly one superMaster design. Disk space requirements are needed before writing to disk.

const Guid & IPcell::getId   [static]
 

This function returns the GUID for IPcell.

void IPcell::getName oaString &    name [pure virtual]
 

Parameters:
name The name of the Pcell.
This function returns the name of the IPcell.

oaPcellDef * IPcell::getPcellDef   [pure virtual]
 

This function creates and returns an application-specific pcellDef. This is used by the database when creating Pcells in memory.

void IPcell::onBind oaDesign *    design,
oaPcellDef *    pcellDef
[pure virtual]
 

This function is called when a superMaster is bound to an IPcell and it is called once when defining a superMaster, and it allows the application to set superMaster-specific data in the pcellDef.

Parameters:
design The design in which this Pcell is bound.
pcellDef A pointer to the application specific pcellDef.

void IPcell::onEval oaDesign *    design,
oaPcellDef *    pcellDef
[pure virtual]
 

Parameters:
design The design in which this subMaster is required.
pcellDef A pointer to the application specific pcellDef.
This function is called when a new subMaster is required. This function also get call when oaDesign::evalSuperMaster() is called on the superMaster.

void IPcell::onRead oaDesign *    design,
oaMapFileWindow &    mapWindow,
oaUInt4 &    loc,
oaPcellDef *    pcellDef
[pure virtual]
 

This function reads superMaster specific data for a design. An application implements this function to receive notification when the supermaster is read.

Parameters:
design The design in which this superMaster is read.
mapWindow A handle to a memory-mapped disk file for reading.
loc The location in the memory-mapped disk file to read.
pcellDef A pointer to the application specific pcellDef.

void IPcell::onUnbind oaDesign *    design,
oaPcellDef *    pcellDef
[pure virtual]
 

This function is called when a superMaster is deleted from memory or is converted to a regular design. An application can cleanup its data in this function.

Parameters:
design The design in which this Pcell is unbound.
pcellDef A pointer to the application specific pcellDef.

void IPcell::onWrite oaDesign *    design,
oaMapFileWindow &    mapWindow,
oaUInt4 &    loc,
oaPcellDef *    pcellDef
[pure virtual]
 

This function is called to write the contents of a superMaster to disk. An application must write enough information for OpenAccess to recreate subMaster designs.

Parameters:
design The design in which this superMaster is written.
mapWindow A handle to a memory-mapped disk file for writing.
loc The location in the memory-mapped disk file to write.
pcellDef A pointer to the application specific pcellDef.


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

Return to top of page