IPcellCPPDefMgr Class Reference

Inheritance diagram for IPcellCPPDefMgr:

IBase


Public Methods

virtual void open (oaLib *lib)=0
virtual void close ()=0
virtual void save ()=0
virtual void destroy ()=0
virtual oaBoolean findDef (const oaString &platformName, const oaString &pgName, oaString &dmFileName)=0
virtual void createDef (const oaString &platformName, const oaString &pgName, const oaString &dmFileName, const oaString &sharedLibPath)=0
virtual void setDef (const oaString &platformName, const oaString &pgName, const oaString &dmFileName, const oaString &sharedLibPath)=0
virtual void destroyDef (const oaString &platformName, const oaString &pgName)=0
virtual void getPlatforms (oaArray< oaString > &platformNames)=0
virtual void getDefs (const oaString &platformName, oaArray< oaString > &pgNames)=0

Static Public Methods

const GuidgetId ()

Detailed Description

This is an interface provided by oaPcellCPP for managing PcellGen definitions and the associated DM files in a design library. It provides functions to set and get attributes of the IPcellGen definitions and it creates and destroys the associated DM files for the IPcellGen definition. An IPcellGen definition is identified by its name and the platform name that it supports. The definition is associated with a DM file that is linked to a shared library. For information about using IPcellCPPDefMgr and about writing a C++ Pcell Generator, see the Programmers Guide article: Writing a C++ Pcell Generator.

OpenAccess does not support unloading of plugIn libraries, which includes the IPcellGen shared libraries that PcellGen definitions are associated with. A IPcellGen shared library is loaded when opening a superMaster or defining a new superMaster using a PcellGen definiton that is associated with this IPcellGen shared library. Once the IPcellGen shared library is loaded, no more changes are allowed in the CPP Def manager. An IException is thrown when the functions destroyDef(), createDef(), setDef(), save(), and destroy() are used.


Member Function Documentation

void IPcellCPPDefMgr::close   [pure virtual]
 

This function closes the PcellGen definitions in the library, and the PcellGen definitions cache is cleared.

void IPcellCPPDefMgr::createDef const oaString &    platformName,
const oaString &    pgName,
const oaString &    dmFileName,
const oaString &    sharedLibPath
[pure virtual]
 

This function creates a PcellGen definition in the cache with the specified parameters.

Parameters:
platformName Name of the platform.
pgName Name of the PcellGen.
dmFileName Name of the oaDMFile associated with the shared library.
sharedLibPath Path to the shared library to be copied into the oaDMFile.

void IPcellCPPDefMgr::destroy   [pure virtual]
 

This function removes all PcellGen definitions in the library and all associated DM files.

void IPcellCPPDefMgr::destroyDef const oaString &    platformName,
const oaString &    pgName
[pure virtual]
 

This function removes the specified PcellGen definition in the cache, and its associated DM file is deleted.

Parameters:
platformName Name of the platform.
pgName Name of the PcellGen.

oaBoolean IPcellCPPDefMgr::findDef const oaString &    platformName,
const oaString &    pgName,
oaString &    dmFileName
[pure virtual]
 

This function finds a PcellGen definition in the cache and returns its associated DM file for the shared library. It returns true if a PcellGen definition is found, otherwise false is returned.

Parameters:
platformName Name of the platform.
pgName Name of the PcellGen.
dmFileName Name of the oaDMFile associated with the shared library.

void IPcellCPPDefMgr::getDefs const oaString &    platformName,
oaArray< oaString > &    pgNames
[pure virtual]
 

This function returns the def names of the specified platforms in the manager.

Parameters:
platformName Name of the platform.
pgNames An oaString array filled with PcellGen definitions for the specified platform in the manager.

static const Guid & IPcellCPPDefMgr::getId   [inline, static]
 

This function returns the id of this interface.

void IPcellCPPDefMgr::getPlatforms oaArray< oaString > &    platformNames [pure virtual]
 

This function returns the names of platforms in the manager.

Parameters:
platformNames An oaString array filled with platforms specified in the manager.

void IPcellCPPDefMgr::open oaLib *    lib [pure virtual]
 

This function opens the PcellGen definitions in the specified library. It returns true if the definitions are loaded successfully. The PcellGen definitions for the library are cached in this manager.

Parameters:
lib The library that this manager is opened with.

void IPcellCPPDefMgr::save   [pure virtual]
 

This function saves all the cached PcellGen definitions in the library.

void IPcellCPPDefMgr::setDef const oaString &    platformName,
const oaString &    pgName,
const oaString &    dmFileName,
const oaString &    sharedLibPath
[pure virtual]
 

This function sets the PcellGen definition in the cache with the specified parameters.

Parameters:
platformName Name of the platform.
pgName Name of the PcellGen.
dmFileName Name of the oaDMFile associated with the shared library.
sharedLibPath Path to the shared library to be copied into the oaDMFile.


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

Return to top of page