Inheritance diagram for oaLib:
Public Methods | |
void | close () |
void | getName (oaScalarName &name) const |
void | getName (const oaNameSpace &ns, oaString &out) const |
void | getPath (oaString &path) const |
void | getFullPath (oaString &fullPath) const |
void | getWritePath (oaString &writePath) const |
oaLibMode | getMode () const |
void | getDMSystemName (oaString &dmSystem) const |
void | getAttributes (oaDMAttrArray &attrs) const |
oaBoolean | isReadable () const |
oaBoolean | isWritable () const |
oaBoolean | isMarkedToBeClosed () const |
void | setAttributes (const oaDMAttrArray &attrs) |
oaBoolean | getAccess (oaLibAccess accessType, oaUInt4 timeout=0) |
void | releaseAccess () |
oaLibAccessLevel | getAccessLevel () const |
oaBoolean | hasVC () const |
oaUInt8 | calcVMSize () const |
oaDMObjectIter | getControlledObjects (oaVCQueryDepth depth=oacCellViewFileVCQueryDepth, oaDMObject *top=NULL, oaBoolean localOnly=false) |
oaDMObjectVersionRefIter | getWorkingVersions (oaVCQueryDepth depth=oacCellViewFileVCQueryDepth) const |
oaCollection< oaCell, oaLib > | getCells () const |
oaCollection< oaView, oaLib > | getViews () const |
oaCollection< oaView, oaLib > | getViewsByName (const oaScalarName &name) const |
oaCollection< oaCellView, oaLib > | getCellViews () const |
oaCollection< oaGroup, oaLib > | getGroups () const |
oaCollection< oaGroup, oaLib > | getGroups (oaGroupDef *def) const |
oaCollection< oaGroup, oaLib > | getGroupsByName (const oaString &name) const |
Static Public Methods | |
oaLib * | create (const oaScalarName &name, const oaString &libPath, oaLibMode mode=oacSharedLibMode, const oaString &dmSystem="oaDMSystem", const oaDMAttrArray *dmAttrList=NULL) |
oaLib * | open (const oaScalarName &name, const oaString &libPath, const oaString &writePath="", oaLibMode mode=oacSharedLibMode) |
oaLib * | find (const oaScalarName &name) |
oaBoolean | exists (const oaString &libPath) |
oaCollection< oaLib, oaLib > | getOpenLibs () |
Public Types | |
enum | { dtIndex = oacLibDataType } |
The library database contains all information about the on-disk library including the cells, views, cellViews, associated data files on disk, and associated information about this data.
Libraries have several different roles and purposes:
It is possible to store all these types of data in a single library. Usually, however, the reference data and technology parameters are stored in a single library.
A library is also a logical container object that contains cells, views, cellViews, and files, as follows:
Each view has a designated viewType, which is persistent. The oaViewType utility class is used to represent a viewType. There are several reserved viewTypes used by OpenAccess, which are represented in the oaReservedViewType enum wrapper class. You can specify the view type with the viewType argument to oaDesign::open.
A cellView will always have a single oaDMFile that holds the primary data for the cellView and is known as the primary file. This correlates to the master file definition in previous versions of OpenAccess. The view's viewType attribute indicates the type of this file. The primary oaDMFile can be empty (or not exist on disk).
The oaLib class can be observed by deriving from oaObserver<oaLib>.
Before any library structure data -- such as oaCells, oaViews, oaCellViews, oaDMFiles, and their attributes -- is accessed, the application must obtain read library access. Before changing anything in the library structure, the application must obtain write library access. Read and write library access is obtained through the appropriate oaLib::getAccess call.
For example, read-only oaLib functions, such as oaLib::getCells, oaLib::getViews, and oaLib::getCellViews, require read access to the library, and set() functions, such as oaLib::setAttributes, require write access to the library. However, oaLib static functions and oaLib functions that access static data on an oaLib, such as oaLib::create, oaLib::open, or oaLib::find, do not require library access.
Note: If an oaLib function requires library access, this requirement is noted in the function description. If the library access must be write access, this requirement also is noted.
You can use oaLib::hasAccess(), oaLib::hasWriteAccess and oaLib::getAccessType() to obtain information about library access status. Library access persists until ended through an oaLib::releaseAccess call.
The OpenAccess design, wafer, tech, and parasitic database functions have library access built in -- users do not have to obtain library access to open or modify the oaDesign, oaWafer, oaTech, and parasitics databases. Before opening any of these database objects, OpenAccess first looks to see if the user has obtained library access; if not, OpenAccess will attempt to get access. If Open Access cannot get library access, an exception is thrown. When OA obtains library access, it is held for as short a time as possible within the span of the API call.
For more Information on accessing and working with OpenAccess libraries, see OpenAccess 2.2 Libraries and Design Management in the Programmers Guide.
|
This function calculates and returns the amount of virtual memory this library database is currently using. Note: This function does not require library access. For more information on library access, see Library Access in the detailed description for oaLib. |
|
This function closes the library. All of its contents become inaccessible, all its library access calls are released, and its non-committed changes are lost. Note: This function does not require library access. For more information on library access, see classoaLib.html Library Access in the detailed description for oaLib. classoaLib.html classoaLib.html |
|
This function creates the library using the specified name and attributes. The directory specified by libPath will be created to hold the library files.
Example: If libPath is specified as Note that the creator of a library is responsible for adding the library definition (library name and path) of the newly-created library in the library definition file used by OpenAccess applications (see oaLibDefFile::addLib for more information). Note: This function does not require library access. For more information on library access, see Library Access in the detailed description for oaLib.
|
|
This function returns true if a library directory exists at the given libPath. Note: This function does not require library access. For more information on library access, see Library Access in the detailed description for oaLib.
|
|
This function attempts to find an open library with the specified name. If found, a pointer to the library is returned. If the library cannot be found, NULL is returned. Note: This function does not require library access. For more information on library access, see Library Access in the detailed description for oaLib.
|
|
This function tries to get the requested access for the library. A boolean is returned which indicates success or failure. Library access cannot be upgraded (changed from read to write), so an exception is thrown if this is attempted.
|
|
This function returns the level of access that the user has on the library. There are three levels of access: no access, read access, and write access. |
|
This function returns the attributes defined for this library and its Design Management (DM) and Version Control (VC) systems when the library was created. Note: This function requires access to this library (through oaLib::getAccess). An oacLibAccessDenied exception is thrown if access to the library does not exist. For more information on library access, see Library Access in the detailed description for oaLib.
|
|
This function returns a collection of cells in this library. Note: This function requires access to this library (through oaLib::getAccess). An oacLibAccessDenied exception is thrown if access to this library does not exist. For more information on library access, see Library Access in the detailed description for oaLib.
|
|
This function returns a collection of cellViews in this library. Note: This function requires access to this library (through oaLib::getAccess). An oacLibAccessDenied exception is thrown if access to this library does not exist. For more information on library access, see Library Access in the detailed description for oaLib.
|
|
This function returns an array of the objects that the version control system reports as being controlled in this library. Note: This function requires access to this library (through oaLib::getAccess). An oacLibAccessDenied exception is thrown if access to this library does not exist. For more information on library access, see Library Access in the detailed description for oaLib.
oacCellVCQueryDepth: stop the query at the Cell level, not including "cell files" oacViewVCQueryDepth: stop the query at the View level, not including "view files" oacCellViewVCQueryDepth: stop the query at the CellView level, not including "cellView" files oacCellViewFileVCQueryDepth: stop the query at the CellView file level. This is currently the lowest level oacMaxQueryDepth: query to the bottom of the hierarchy
|
|
This function returns the name of the DMSystem associated with this library. Note: This function does not require library access. For more information on library access, see Library Access in the detailed description for oaLib.
|
|
This function returns the full (absolute) path to this library. Note: This function does not require library access. For more information on library access, see Library Access in the detailed description for oaLib.
|
|
This functions return a collection of groups in this lib database with the specified group definition.
|
|
This function returns a collection of groups in this lib database. Note: This function requires access to this library (through oaLib::getAccess). An oacLibAccessDenied exception is thrown if access to this library does not exist. For more information on library access, see Library Access in the detailed description for oaLib.
|
|
This function returns a collection of groups in this library database with the specified name. Note: This function requires access to this library (through oaLib::getAccess). An oacLibAccessDenied exception is thrown if access to the library does not exist. For more information on library access, see Library Access in the detailed description for oaLib.
|
|
This function returns the access mode of this library. This is the mode that was passed in when the library was opened or created. Note: This function does not require library access. For more information on library access, see Library Access in the detailed description for oaLib. |
|
This function returns the name of this library. The name is returned as an oaString mapped to the specified namespace. Note: This function does not require library access. For more information on library access, see Library Access in the detailed description for oaLib. |
|
This function returns the name of this library. The name is returned as an oaScalarName. Note: This function does not require library access. For more information on library access, see Library Access in the detailed description for oaLib. |
|
This function returns a collection of open library databases. Note: This function does not require library access. For more information on library access, see Library Access in the detailed description for oaLib. |
|
This function returns the path to this library. Note: This function does not require library access. For more information on library access, see Library Access in the detailed description for oaLib.
|
|
This function returns a collection of views in this library. Note: This function requires access to this library (through oaLib::getAccess). An oacLibAccessDenied exception is thrown if access to this library does not exist. For more information on library access, see Library Access in the detailed description for oaLib.
|
|
This function returns a collection of views in this library database with the specified name. Note: This function requires access to this library (through oaLib::getAccess). An oacLibAccessDenied exception is thrown if access to this library does not exist. For more information on library access, see Library Access in the detailed description for oaLib.
|
|
This function retrieves the version information of this library. The version information reported back is the version of the file that is currently visible in the user's workspace. The objects in the array must all be versionable and belong to this library. Note: This function requires access to this library (through oaLib::getAccess). An oacLibAccessDenied exception is thrown if access to this library does not exist. For more information on library access, see Library Access in the detailed description for oaLib.
oacCellVCQueryDepth: stop the query at the Cell level, not including "cell files" oacViewVCQueryDepth: stop the query at the View level, not including "view files" oacCellViewVCQueryDepth: stop the query at the CellView level, not including "cellView" files oacCellViewFileVCQueryDepth: stop the query at the CellView file level. This is currently the lowest level oacMaxQueryDepth: query to the bottom of the hierarchy
|
|
This function returns the write path to this library. This is the path to the directory that may be used as a place to create temporary files (using oaDMObject::getTempFile). The writePath is a non-persistent attribute of the library. If the library is opened using oaLib::create, the writePath is the same as the library path. If the library is opened using oaLib::open, the writePath can be specified through the oaLib::open API. When a library is specified in the library definition file (see oaLibDefList Detailed Description), the writePath may be specified as an attribute using the ASSIGN syntax, with the library attribute name of "writePath". If the writePath is not specified, it will default to the library path. Note: This function does not require library access. For more information on library access, see Library Access in the detailed description for oaLib.
|
|
This function returns a boolean that indicates whether or not the library has a version control system associated with it. Note: This function does not require library access. For more information on library access, see Library Access in the detailed description for oaLib. |
|
This function returns a boolean indicating whether or not this library is marked to be closed. Libraries can be marked "to be closed" when the current session's library definitions are being reloaded from the library definitions file. Note: This function does not require library access. For more information on library access, see Library Access in the detailed description for oaLib. |
|
This function returns true if the library is readable; false if not. Note: This function does not require library access. For more information on library access, see Library Access in the detailed description for oaLib. |
|
This function returns true if the library is writable; false if not. Note: This function does not require library access. For more information on library access, see Library Access in the detailed description for oaLib. |
|
This function opens an existing library at the given path, using the specified name and attributes. An oacCannotOpenOpenedLib exception is thrown if the library is open. Note: This function does not require library access. For more information on library access, see Library Access in the detailed description for oaLib.
|
|
This function requests that the current access on this library be released. An exception is thrown if the library is not currently being accessed.
|
|
This function sets the attributes specified in the given attrList array for this library and its associated Design Management (DM) and Version Control (VC) systems. The attributes are specific to the DM and VC systems, which may impose restrictions on what attributes may be changed. Note: This function requires write access to this library (through oaLib::getAccess). An oacLibAccessDenied exception is thrown if write access to this library does not exist. For more information on library access, see Library Access in the detailed description for oaLib.
|
|
|
Copyright © 2002 - 2010 Cadence Design Systems, Inc.
All Rights Reserved.