OpendTect  6.6
Public Member Functions | Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Friends | List of all members
NotifierAccess Class Reference

Interface class for Notifier. See comments there.
More...

Inherited by CNotifier< uiTable, int >, CNotifier< uiDataPointSetCrossPlotter, bool >, CNotifier< uiBaseMap, int >, CNotifier< uiGraphicsItem, const MouseEvent & >, CNotifier< uiCrossAttrEvaluateDlg, int >, CNotifier< UserActionHandler, int >, CNotifier< Attrib::DescSet, Attrib::DescID >, CNotifier< visBase::RandomTrackDragger, int >, CNotifier< Network::Server, int >, CNotifier< uiToolBar, int >, CNotifier< uiEvaluateDlg, int >, CNotifier< Network::RequestConnection, od_int32 >, CNotifier< EM::EMObject, const EM::EMObjectCallbackData & >, CNotifier< uiObject, uiRect & >, CNotifier< ui3DViewer, bool >, CNotifier< FlatView::AuxDataEditor, bool >, CNotifier< BaseMapObject, const MouseEvent & >, CNotifier< visBase::EventCatcher, const visBase::EventInfo & >, CNotifier< uiSynthGenDlg, BufferString >, CNotifier< Well::Data, int >, CNotifier< ServiceClientMgr, Network::Service::ID >, CNotifier< Geometry::Element, const TypeSet< GeomPosID > * >, CNotifier< BatchServiceClientMgr, Network::Service::ID >, CNotifier< uiTabStack, int >, CNotifier< Vw2DDataManager, int >, CNotifier< Vel::Picks, const BinID & >, CNotifier< uiTextEditBase, bool >, CNotifier< MenuHandler, int >, CNotifier< visBase::ThumbWheel, float >, CNotifier< visBase::SelectionManager, int >, CNotifier< uiTabBar, int >, CNotifier< uiODHorizonParentTreeItem, int >, CNotifier< uiDataPointSetCrossPlotter, Interval< float > >, CNotifier< ServiceMgrBase, const OD::JSON::Object * >, CNotifier< ServiceMgrBase, BufferString >, CNotifier< uiStratLayerModelDisp, IOPar >, CNotifier< uiListBox, int >, CNotifier< uiDataPointSet, int >, CNotifier< uiODViewer2DMgr, int >, CNotifier< Geometry::RandomLineManager, int >, CNotifier< BaseMapObject, BufferString >, CNotifier< uiVisPartServer, int >, CNotifier< uiVisDataPointSetDisplayMgr, int >, CNotifier< uiTreeFactorySet, int >, CNotifier< uiODSceneMgr, int >, CNotifier< uiGraphicsViewBase, uiSize >, CNotifier< ServiceClientMgr, Network::Service * >, CNotifier< MouseCursorExchange, const MouseCursorExchange::Info & >, CNotifier< MonitoredObject, ChangeData >, CNotifier< Geometry::RandomLine, const Geometry::RandomLine::ChangeData & >, Notifier< visSurvey::WellDisplay >, Notifier< uiStratSynthDisp >, Notifier< uiStepOutSel >, Notifier< uiSEGYReadStartInfo >, Notifier< uiIOSelect >, Notifier< uiIOObjSelGrp >, Notifier< uiComboBox >, Notifier< uiColorTable >, Notifier< i_QPtrImpl >, Notifier< WellTie::uiInfoDlg >, Notifier< VW2DFaultSS3D >, Notifier< Timer >, Notifier< MPE::HorizonFlatViewEditor >, Notifier< visSurvey::MPEDisplay >, Notifier< visBase::Material >, Notifier< visBase::Dragger >, Notifier< uiStratTreeToDisp >, Notifier< uiSpinBox >, Notifier< uiSeisWaveletSel >, Notifier< uiODViewer2DPosGrp >, Notifier< uiMultiMapperRangeEditWin >, Notifier< uiMathFormula >, Notifier< uiIOObjSelWriteTranslator >, Notifier< uiGraphicsViewBase >, Notifier< uiGenInput >, Notifier< uiBatchJobDispatcherSel >, Notifier< ui3DViewer >, Notifier< Vw2DDataManager >, Notifier< Seis::PreLoadDataManager >, Notifier< PreStack::EventManager >, Notifier< Pick::SetMgr >, Notifier< Network::Socket >, Notifier< GestureEventHandler >, Notifier< FileSystemWatcher >, Notifier< ColTab::SeqMgr >, Notifier< uiWellPropSel >, Notifier< uiWellPartServer >, Notifier< uiWellMarkerSel >, Notifier< uiUnitSel >, Notifier< uiSynthGenDlg >, Notifier< uiSimilarityAttrib::uiSimiSteeringSel >, Notifier< uiImpExpPickSet >, Notifier< uiIOObjInserter >, Notifier< uiFlatViewControl >, Notifier< WellTie::uiWaveletView >, Notifier< Strat::RefTree >, Notifier< MouseEventHandler >, Notifier< MenuHandler >, Notifier< EM::HorizonPainter3D >, Notifier< DataPackMgr >, Notifier< ColTab::MapperSetup >, Notifier< BaseMapObject >, Notifier< Attrib::Processor >, Notifier< visSurvey::SceneTransformManager >, Notifier< visSurvey::PreStackDisplay >, Notifier< uiWellLogEditor >, Notifier< uiVisPickRetriever >, Notifier< uiVarWizard >, Notifier< uiTextEditBase >, Notifier< uiTableImpDataSel >, Notifier< uiStratSelUnits >, Notifier< uiFont >, Notifier< uiDialog >, Notifier< uiCreateHorizon >, Notifier< PreStack::ProcessManager >, Notifier< EM::HorizonPainter2D >, Notifier< visSurvey::LocationDisplay >, Notifier< visBase::FlatViewer >, Notifier< visBase::DataManager >, Notifier< uiTable >, Notifier< uiStratLevelSel >, Notifier< uiStratLayerModel >, Notifier< uiSlider >, Notifier< uiPosProvider >, Notifier< uiPosProvGroup >, Notifier< uiODSceneMgr >, Notifier< uiMathExpressionVariable >, Notifier< uiDial >, Notifier< uiAttribDescSetEd >, Notifier< VW2DPickSet >, Notifier< VW2DFault >, Notifier< PreStackView::uiViewer2DControl >, Notifier< PreStack::uiProcSel >, Notifier< NotSavedPrompter >, Notifier< MPE::Engine >, Notifier< Geometry::ElementEditor >, Notifier< CmdDrive::CmdDriver >, Notifier< visBase::Scene >, Notifier< visBase::RandomTrackDragger >, Notifier< visBase::BoxDragger >, Notifier< uiTextFile >, Notifier< uiPathSel >, Notifier< uiODMain >, Notifier< uiColorBarDialog >, Notifier< uiBitMapDisplay >, Notifier< uiAction >, Notifier< SeisSingleTraceProc >, Notifier< MPE::EMSeedPicker >, Notifier< Annotations::ImageDisplay >, Notifier< visSurvey::VolumeDisplay >, Notifier< visSurvey::MPEClickCatcher >, Notifier< uiWellDisplayControl >, Notifier< uiTabBar >, Notifier< uiStratLayModEditTools >, Notifier< uiSelNrRange >, Notifier< uiSeis2DLineSel >, Notifier< uiPrDenFunVarSel >, Notifier< uiODViewer2D >, Notifier< uiMathExpression >, Notifier< uiListBoxFilter >, Notifier< uiListBoxChoiceIO >, Notifier< uiImportHorizon2D >, Notifier< uiImpHorFromZMap >, Notifier< uiIOSurface >, Notifier< uiFunctionDisplay >, Notifier< uiFlatViewer >, Notifier< uiFlatViewColTabEd >, Notifier< uiFaultStickTransferDlg >, Notifier< uiDispEditMarkerDlg >, Notifier< WellTie::uiControlView >, Notifier< WellTie::PickSetMgr >, Notifier< Undo >, Notifier< Strat::UnitRef >, Notifier< Strat::LithologySet >, Notifier< SeisRandomProvider >, Notifier< ODGraphicsDynamicImageItem >, Notifier< MarchingCubesSurfaceEditor >, Notifier< MPE::uiHorizonSetupGroup >, Notifier< ColTab::Sequence >, Notifier< Annotations::Callout >, Notifier< visSurvey::RandomTrackDisplay >, Notifier< visSurvey::FaultSetDisplay >, Notifier< uiWellDispPropDlg >, Notifier< uiVelSel >, Notifier< uiSynthSeisGrp >, Notifier< uiSurveyInfoEditor >, Notifier< uiStratLayerModelDisp >, Notifier< uiStratGenDescTools >, Notifier< uiSettingsMgr >, Notifier< uiSEGYFileSpec >, Notifier< uiObjectItemView >, Notifier< uiODApplMgr >, Notifier< uiMdiArea >, Notifier< uiHorizonShiftDialog >, Notifier< uiHistogramSel >, Notifier< uiFillPattern >, Notifier< Strat::Level >, Notifier< ODNetworkReply >, Notifier< Geometry::RandomLine >, Notifier< visSurvey::ImageDisplay >, Notifier< visBase::Coordinates >, Notifier< uiSynthSlicePos >, Notifier< uiSEGYDefDlg >, Notifier< uiObject >, Notifier< uiListBox >, Notifier< uiIOObjTranslatorWriteOpts >, Notifier< uiDirectionalPlot >, Notifier< uiDataPointSetCrossPlotter >, Notifier< uiCompoundParSel >, Notifier< WellTie::uiTieView >, Notifier< PreStackView::uiViewer2DMainWin >, Notifier< MPE::ObjectEditor >, Notifier< JobRunner >, Notifier< visSurvey::MPEEditor >, Notifier< visSurvey::EMObjectDisplay >, Notifier< visBase::DataObjectGroup >, Notifier< uiWellLogDisplay::LogData >, Notifier< uiSlicePos >, Notifier< uiSizeSel >, Notifier< uiSeisPreLoadedDataSel >, Notifier< uiPropertyValFld >, Notifier< uiPolarDiagram >, Notifier< uiMeasureDlg >, Notifier< uiMadagascarMain >, Notifier< uiImportHorizon >, Notifier< uiFuncTaperDisp >, Notifier< uiEventFilter >, Notifier< uiCrossAttrEvaluateDlg >, Notifier< uiButton >, Notifier< ui2DGridLines >, Notifier< WellTie::WellDataMgr >, Notifier< Vel::GriddedSource >, Notifier< UserActionHandler >, Notifier< OD::PythonAccess >, Notifier< MPE::uiCorrelationGroup >, Notifier< EM::HorizonZTransform >, Notifier< visSurvey::Scene >, Notifier< uiWellImportAsc >, Notifier< uiWaveletExtraction >, Notifier< uiTreeView >, Notifier< uiToolBarCommandEditor >, Notifier< uiToolBar >, Notifier< uiStratViewControl >, Notifier< uiSGSel >, Notifier< uiMapperRangeEditor >, Notifier< uiGVFreehandAreaSelectionTool >, Notifier< uiFuncSelDraw >, Notifier< uiFaultParSel >, Notifier< WellTie::uiWavelet >, Notifier< Vw2DHorizon2D >, Notifier< Network::RequestServer >, Notifier< MPE::uiEventGroup >, Notifier< EM::FaultStickPainter >, Notifier< EM::EMManager >, Notifier< visSurvey::Sower >, Notifier< uiVisPartServer >, Notifier< uiSeisRandTo2DBase >, Notifier< uiSGSelGrp >, Notifier< uiMultiWellSel >, Notifier< uiMdiAreaWindow >, Notifier< uiMadagascarBldCmd >, Notifier< uiImportFault >, Notifier< uiHorizonInterpolDlg >, Notifier< uiColorTableMan >, Notifier< uiColorInput >, Notifier< uiAttrTypeSel >, Notifier< Vw2DHorizon3D >, Notifier< SeisRandomRepository >, Notifier< NamedCallBacker >, Notifier< MonitoredObject >, Notifier< MenuItemHolder >, Notifier< KeyboardEventHandler >, Notifier< Executor >, Notifier< visSurvey::FaultStickSetDisplay >, Notifier< uiShortcutsMgr >, Notifier< uiSeisWvltSliderDlg >, Notifier< uiMultiSurfaceRead >, Notifier< uiMainWin >, Notifier< uiEvaluateDlg >, Notifier< uiCheckList >, Notifier< uiBaseObject >, Notifier< Well::Data >, Notifier< TextTranslateMgr >, Notifier< Network::RequestConnection >, Notifier< MPE::HorizonTrackerMgr >, Notifier< IOMan >, Notifier< visBase::VisualObject >, Notifier< uiWellDispProperties >, Notifier< uiSystemTrayIcon >, Notifier< uiSteeringSel >, Notifier< uiSelZRange >, Notifier< uiSelLineStyle >, Notifier< uiODMenuMgr >, Notifier< uiFlatViewAuxDataEditorList >, Notifier< uiDataPointSet >, Notifier< uiCheckedCompoundParSel >, Notifier< uiAttribPartServer >, Notifier< Strat::LevelSet >, Notifier< MPE::HorizonFlatViewEditor3D >, Notifier< EM::Fault3DPainter >, Notifier< visSurvey::FaultDisplay >, Notifier< uiWellTo2DLineDlg >, Notifier< uiWellSinglePropSel >, Notifier< uiTabStack >, Notifier< uiStratLayerContent >, Notifier< uiSEGYReadDlg >, Notifier< uiSEGYImpType >, Notifier< uiMarkerStyle2D >, Notifier< uiMadIOSel >, Notifier< uiDateSel >, Notifier< uiColTabMarkerCanvas >, Notifier< uiAttrVolOut >, Notifier< uiArrowDialog >, Notifier< VW2DSeis >, Notifier< Threads::WorkManager >, Notifier< SurveyInfo >, Notifier< PreStack::uiProcessorManager >, Notifier< MarchingCubesSurface >, Notifier< MPE::HorizonFlatViewEditor2D >, Notifier< BatchProgram >, Notifier< visSurvey::PlaneDataDisplay >, Notifier< visBase::DraggerBase >, Notifier< uiWellParSel >, Notifier< uiTreeViewItem >, Notifier< uiTextBrowser >, Notifier< uiSeis2DLineNameSel >, Notifier< uiSaveImageDlg >, Notifier< uiColTabMarkerDlg >, Notifier< uiBouncy::uiBouncySettingsDlg >, Notifier< Vel::uiFunctionSel >, Notifier< UserAction >, Notifier< visSurvey::Seis2DDisplay >, Notifier< visBase::OrthogonalSlice >, Notifier< visBase::DepthTabPlaneDragger >, Notifier< visBase::Camera >, Notifier< uiWellLogDispDlg >, Notifier< uiSynthCorrectionsGrp >, Notifier< uiSeisSubSel >, Notifier< uiSeisEventSnapper >, Notifier< uiSEGYFilePars >, Notifier< uiSEGYFileOpts >, Notifier< uiRayTracerSel >, Notifier< uiRayTracer1D >, Notifier< uiPosSubSel >, Notifier< uiLineEdit >, Notifier< uiHistogramDisplay >, Notifier< uiGraphicsScene >, Notifier< uiGenInputBoolFld >, Notifier< uiFreqFilterSelFreq >, Notifier< uiEditObjectList >, Notifier< uiEMDataPointSetPickDlg >, Notifier< uiChangeHorizonDlg >, Notifier< uiBouncy::BouncyDisplay >, Notifier< VW2DFaultSS2D >, Notifier< PreStackView::uiViewer2DPosDlg >, Notifier< MPE::uiPreviewGroup >, Notifier< FlatView::Sower >, Notifier< FlatView::AuxDataEditor >, Notifier< Coords::uiCoordSystemSel >, Notifier< Bouncy::BouncyController >, CNotifier< T, PayLoad >, and Notifier< T >.

Public Member Functions

 NotifierAccess ()
 
 NotifierAccess (const NotifierAccess &)
 
virtual ~NotifierAccess ()
 
void disable ()
 
void enable (bool yn=true)
 
bool isEmpty () const
 
bool isEnabled () const
 
bool isShutdownSubscribed (const CallBacker *) const
 Only for debugging purposes, don't use. More...
 
void notify (const CallBack &, bool first=false) const
 
bool notifyIfNotNotified (const CallBack &) const
 
void remove (const CallBack &) const
 
bool removeWith (const CallBacker *, bool wait=true) const
 
void setEmpty ()
 
void transferCBSTo (const NotifierAccess &, const CallBacker *only_for, const CallBacker *not_for=0) const
 
bool willCall (const CallBacker *) const
 

Public Attributes

CallBackercber_
 
CallBackSetcbs_
 

Protected Member Functions

void addShutdownSubscription (const CallBacker *) const
 
bool removeShutdownSubscription (const CallBacker *, bool wait) const
 

Static Protected Member Functions

static void doTrigger (CallBackSet &, const CallBacker *)
 

Protected Attributes

Threads::Lock shutdownsubscriberlock_
 
ObjectSet< const CallBackershutdownsubscribers_
 

Friends

class CallBacker
 
class NotifyStopper
 

Detailed Description

Interface class for Notifier. See comments there.

<>

Constructor & Destructor Documentation

◆ NotifierAccess() [1/2]

NotifierAccess::NotifierAccess ( const NotifierAccess )

◆ NotifierAccess() [2/2]

NotifierAccess::NotifierAccess ( )

◆ ~NotifierAccess()

virtual NotifierAccess::~NotifierAccess ( )
virtual

Member Function Documentation

◆ addShutdownSubscription()

void NotifierAccess::addShutdownSubscription ( const CallBacker ) const
protected

◆ disable()

void NotifierAccess::disable ( )
inline

◆ doTrigger()

static void NotifierAccess::doTrigger ( CallBackSet ,
const CallBacker  
)
staticprotected

◆ enable()

void NotifierAccess::enable ( bool  yn = true)
inline

◆ isEmpty()

bool NotifierAccess::isEmpty ( ) const
inline

◆ isEnabled()

bool NotifierAccess::isEnabled ( ) const
inline

◆ isShutdownSubscribed()

bool NotifierAccess::isShutdownSubscribed ( const CallBacker ) const

Only for debugging purposes, don't use.

◆ notify()

void NotifierAccess::notify ( const CallBack ,
bool  first = false 
) const

◆ notifyIfNotNotified()

bool NotifierAccess::notifyIfNotNotified ( const CallBack ) const

◆ remove()

void NotifierAccess::remove ( const CallBack ) const
Returns
true if it was added

◆ removeShutdownSubscription()

bool NotifierAccess::removeShutdownSubscription ( const CallBacker ,
bool  wait 
) const
protected
Returns
false only if wait and no lock could be got

◆ removeWith()

bool NotifierAccess::removeWith ( const CallBacker ,
bool  wait = true 
) const
Returns
false only if wait and no lock could be got

◆ setEmpty()

void NotifierAccess::setEmpty ( )
inline

◆ transferCBSTo()

void NotifierAccess::transferCBSTo ( const NotifierAccess ,
const CallBacker only_for,
const CallBacker not_for = 0 
) const

◆ willCall()

bool NotifierAccess::willCall ( const CallBacker ) const
Returns
true if the callback list contains CallBacker.

Friends And Related Function Documentation

◆ CallBacker

friend class CallBacker
friend

◆ NotifyStopper

friend class NotifyStopper
friend

Member Data Documentation

◆ cber_

CallBacker* NotifierAccess::cber_

◆ cbs_

CallBackSet& NotifierAccess::cbs_

◆ shutdownsubscriberlock_

Threads::Lock NotifierAccess::shutdownsubscriberlock_
mutableprotected

◆ shutdownsubscribers_

ObjectSet<const CallBacker> NotifierAccess::shutdownsubscribers_
mutableprotected
Returns
previous status

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2022