oaObserver Class Template Reference

Inheritance diagram for oaObserver:

oaStdObserver<T, oaTraits<T>::modTypeType> oaBaseObserver


Public Methods

 oaObserver (oaUInt4 priorityIn, oaBoolean enabledIn=true)

Detailed Description

template<class T>
class oaObserver< T >

Observers are a set of classes that allow applications to request notification whenever certain changes occur to the state and contents of open databases. This allows a complex application to keep its internal state consistent with changes made by other code in the same process.

The oaObserver<> class is an abstract template class used as the base class for observers in OpenAccess. OpenAccess defines which classes can have observers, and what the modification enum is for observers that provide modification notification. Observers are allowed at a certain level of the managed class hierarchy where the observer is expected to map to the needs of applications. For example, there is no oaFig observer. All the observers for figures are at a lower level of the class hierarchy. There is an observer for oaShapes. There is no observer specific to oaRects, and an application that only wants to know about changes to oaRects would have to create an oaShape observer and test the type of the shape in its oaShape observer notification functions.

The OpenAccess Observer Table, below, lists the available OpenAccess observers and provides information about the notifications associated with each observer and the modification enum associated with each observer that provides modification notifications (see Observer Notifications in the Programmers Guide for additional information).

To derive an observer, an application must do the following:

OpenAccess Observer Table

Refer to Observer Notification Functions in the Programmers Guide for information about the difference between standard observer notifications and special observer notifications.

Observer<oaClassName>
Notification Functions

modType Enum
(if applicable)

oaObserver<oaAnalysisLib>

standard notifications

oaAnalysisLibModTypeEnum

oaObserver<oaAnalysisOpPoint>

standard notifications

N/A

oaObserver<oaAnalysisPoint>

standard notifications

oaAnalysisPointModTypeEnum

oaObserver<oaAppDef>

see oaObserver<oaAppDef>

N/A

oaObserver<oaAppObject>

standard notifications

N/A

oaObserver<oaAssignment>

standard notifications

oaAssignmentModTypeEnum

oaObserver<oaBlock>

standard notifications

oaBlockModTypeEnum

oaObserver<oaBlockage>

standard notifications

oaBlockageModTypeEnum

oaObserver<oaBoundary>

standard notifications

oaBoundaryModTypeEnum

oaObserver<oaBusNetDef>

standard notifications

oaBusNetDefModTypeEnum

oaObserver<oaBusTermDef>

standard notifications

oaBusTermDefModTypeEnum

oaObserver<oaCell>

standard notifications

N/A

oaObserver<oaCellView>

standard notifications

oaCellViewModTypeEnum

oaObserver<oaCluster>

standard notifications

oaClusterModTypeEnum

oaObserver<oaCMap>

standard notifications

oaCMapModTypeEnum

oaObserver<oaConnectDef>

standard notifications

N/A

oaObserver<oaConstraint>

standard notifications

oaConstraintModTypeEnum

oaObserver<oaConstraintDef>

see oaObserver<oaConstraintDef>

N/A

oaObserver<oaConstraintGroup>

standard notifications

N/A

oaObserver<oaConstraintGroupDef>

standard notifications

N/A

oaObserver<oaConstraintGroupMem>

standard notifications

oaConstraintGroupMemModTypeEnum

oaObserver<oaConstraintParam>

standard notifications

oaConstraintParamModTypeEnum

oaObserver<oaConstraintParamDef>

see oaObserver<oaConstraintParamDef>

N/A

oaObserver<oaDesign>

see oaObserver<oaDesign>

oaDesignModTypeEnum

oaObserver<oaDesignInst>

standard notifications

oaDesignInstModTypeEnum

oaObserver<oaDevice>

standard notifications

oaDeviceModTypeEnum

oaObserver<oaDMData>

see oaObserver<oaDMData>

N/A

oaObserver<oaDMFile>

standard notifications

oaDMFileModTypeEnum

oaObserver<oaElmore>

standard notifications

oaElmoreModTypeEnum

oaObserver<oaFigGroup>

standard notifications

oaFigGroupModTypeEnum

oaObserver<oaFigGroupMem>

standard notifications

N/A

oaObserver<oaFrame>

standard notifications

oaFrameModTypeEnum

oaObserver<oaFrameInst>

standard notifications

oaFrameInstModTypeEnum

oaObserver<oaGCellPattern>

standard notifications

N/A

oaObserver<oaGroup>

standard notifications

oaGroupModTypeEnum

oaObserver<oaGroupDef>

standard notifications

N/A

oaObserver<oaGroupMember>

standard notifications

oaGroupMemberModTypeEnum

oaObserver<oaGuide>

standard notifications

oaGuideModTypeEnum

oaObserver<oaImage>

standard notifications

oaImageModTypeEnum

oaObserver<oaInst>

standard notifications

oaInstModTypeEnum

oaObserver<oaInstHeader>

standard notifications

oaInstHeaderModTypeEnum

oaObserver<oaInstTerm>

standard notifications

oaInstTermModTypeEnum

oaObserver<oaLayer>

standard notifications

oaLayerModTypeEnum

oaObserver<oaLayerHeader>

standard notifications

oaLayerHeaderModTypeEnum

oaObserver<oaLib>

see oaObserver<oaLib>

oaDMLibModTypeEnum

oaObserver<oaLibDefList>

see oaObserver<oaLibDefList>

N/A
oaObserver<oaLibDefListMem> standard notifications oaLibDefListMemModTypeEnum

oaObserver<oaLPPHeader>

standard notifications

oaLPPHeaderModTypeEnum

oaObserver<oaMarker>

standard notifications

oaMarkerModTypeEnum

oaObserver<oaModAssignment>

standard notifications

oaAssignmentModTypeEnum

oaObserver<oaModBusNetDef>

standard notifications

oaBusNetDefModTypeEnum

oaObserver<oaModConnectDef>

standard notifications

N/A

oaObserver<oaModInst>

standard notifications

oaInstModTypeEnum

oaObserver<oaModInstHeader>

standard notifications

oaInstHeaderModTypeEnum

oaObserver<oaModInstTerm>

standard notifications

oaInstTermModTypeEnum

oaObserver<oaModModuleInstHeader>

standard notifications

oaModuleInstHeaderModTypeEnum

oaObserver<oaModNet>

standard notifications

oaNetModTypeEnum

oaObserver<oaModTerm>

standard notifications

oaTermModTypeEnum

oaObserver<oaModule>

standard notifications

oaModuleModTypeEnum

oaObserver<oaModVectorInstDef>

standard notifications

oaVectorInstDefModTypeEnum

oaObserver<oaNet>

standard notifications

oaNetModTypeEnum

oaObserver<oaNode>

standard notifications

oaNodeModTypeEnum

oaObserver<oaOccAssignment>

standard notifications

oaAssignmentModTypeEnum

oaObserver<oaOccBusNetDef>

standard notifications

oaBusNetDefModTypeEnum

oaObserver<oaOccBusTermDef>

standard notifications

oaBusTermDefModTypeEnum

oaObserver<oaOccConnectDef>

standard notifications

N/A

oaObserver<oaOccInst>

standard notifications

oaInstModTypeEnum

oaObserver<oaOccInstHeader>

standard notifications

oaInstHeaderModTypeEnum

oaObserver<oaOccInstTerm>

standard notifications

oaInstTermModTypeEnum

oaObserver<oaOccModuleInstHeader>

standard notifications

oaModuleInstHeaderModTypeEnum

oaObserver<oaOccNet>

standard notifications

oaNetModTypeEnum

oaObserver<oaOccTerm>

standard notifications

oaTermModTypeEnum

oaObserver<oaOccurrence>

standard notifications

oaOccurrenceModTypeEnum

oaObserver<oaOccVectorInstDef>

standard notifications

oaVectorInstDefModTypeEnum

oaObserver<oaOpPoint>

standard notifications

oaOpPointModTypeEnum

oaObserver<oaOpPointHeader>

standard notifications

oaOpPointHeaderModTypeEnum

oaObserver<oaParasiticNetwork>

see oaObserver<oaParasiticNetwork>

oaParasiticNetworkModTypeEnum

oaObserver<oaPin>

standard notifications

oaPinModTypeEnum

oaObserver<oaPoleResidue>

standard notifications

oaPoleResidueModTypeEnum

oaObserver<oaProp>

standard notifications

oaPropModTypeEnum

oaObserver<oaPurpose>

standard notifications

oaPurposeModTypeEnum

oaObserver<oaReducedModel>

standard notifications

oaReducedModTypeEnum

oaObserver<oaReticle>

standard notifications

oaReticleModTypeEnum

oaObserver<oaReticleRef>

standard notifications

oaReticleRefModTypeEnum

oaObserver<oaRoute>

standard notifications

oaRouteModTypeEnum

oaObserver<oaRow>

standard notifications

oaRowModTypeEnum

oaObserver<oaRowHeader>

standard notifications

oaRowHeaderModTypeEnum

oaObserver<oaScanChain>

standard notifications

oaScanChainModTypeEnum

oaObserver<oaScanChainInst>

standard notifications

oaScanChainInstModTypeEnum

oaObserver<oaScanChainSet>

standard notifications

oaScanChainSetModTypeEnum

oaObserver<oaShape>

standard notifications

oaShapeModTypeEnum

oaObserver<oaSiteDef>

standard notifications

oaSiteDefModTypeEnum

oaObserver<oaSteiner>

standard notifications

oaSteinerModTypeEnum

oaObserver<oaStepperMap>

standard notifications

oaStepperMapModTypeEnum

oaObserver<oaSubNetwork>

standard notifications

oaSubNetworkModTypeEnum

oaObserver<oaTech>

see oaObserver<oaTech>

oaTechModTypeEnum

oaObserver<oaTechHeader>

standard notifications

oaTechHeaderModTypeEnum

oaObserver<oaTechLayerHeader>

standard notifications

oaTechLayerHeaderModTypeEnum

oaObserver<oaTechViaDefHeader>

standard notifications

oaTechViaDefHeaderModTypeEnum

oaObserver<oaTerm>

standard notifications

oaTermModTypeEnum

oaObserver<oaTrackPattern>

standard notifications

oaTrackPatternModTypeEnum

oaObserver<oaValue>

standard notifications

oaValueModTypeEnum

oaObserver<oaVectorInstDef>

standard notifications

oaVectorInstDefModTypeEnum

oaObserver<oaVia>

standard notifications

oaViaModTypeEnum

oaObserver<oaViaDef>

standard notifications

oaViaDefModTypeEnum

oaObserver<oaViaHeader>

standard notifications

oaViaHeaderModTypeEnum

oaObserver<oaViaSpec>

standard notifications

oaViaSpecModTypeEnum

oaObserver<oaView>

standard notifications

N/A

oaObserver<oaViewType>

see oaObserver<oaViewType>

N/A

oaObserver<oaWafer>

see oaObserver<oaWafer>

oaWaferModTypeEnum

oaObserver<oaWaferDesc>

standard notifications

oaWaferDescModTypeEnum

oaObserver<oaWaferFeature>

standard notifications

oaWaferFeatureModTypeEnum

oaObserver Class Implementation

Because of drop-in compatibility requirements, the oaObserver class template is actually implemented as oaVersionedObserver with #define oaObserver oaVersionedObserver. Application code must reference oaObserver. Direct reference of oaVersionedObserver is not supported except in the case of scoped observers.

Refer to OpenAccess Observers in the Programmers Guide for more information. This document includes:


Constructor & Destructor Documentation

template<class T>
oaObserver< T >::oaObserver oaUInt4    priorityIn,
oaBoolean    enabledIn = true
 

This is the constructor for the oaObserver<T> class. Observers are ordered by priority from lowest to highest.

Parameters:
priorityIn Priority of this observer.
enabledIn Determines whether this observer is called when an observed event occurs.


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

Return to top of page