Medical Imaging Interaction Toolkit  2021.10.99-fd647480
Medical Imaging Interaction Toolkit
berry::ISafeRunnable Struct Referenceabstract

#include <berryISafeRunnable.h>

Inheritance diagram for berry::ISafeRunnable:
Collaboration diagram for berry::ISafeRunnable:

Public Types

typedef berry::ISafeRunnable Self
 
typedef berry::SmartPointer< SelfPointer
 
typedef berry::SmartPointer< const SelfConstPointer
 
typedef berry::WeakPointer< SelfWeakPtr
 
typedef berry::WeakPointer< const SelfConstWeakPtr
 
- Public Types inherited from berry::Object
typedef Object Self
 
typedef berry::SmartPointer< SelfPointer
 
typedef berry::SmartPointer< const SelfConstPointer
 
typedef berry::WeakPointer< SelfWeakPtr
 
typedef berry::WeakPointer< const SelfConstWeakPtr
 

Public Member Functions

virtual void HandleException (const ctkException &exception)=0
 
virtual void Run ()=0
 
- Public Member Functions inherited from berry::Object
virtual QString GetClassName () const
 
virtual Reflection::TypeInfo GetTypeInfo () const
 
virtual QList< Reflection::TypeInfoGetSuperclasses () const
 
virtual void Delete ()
 
QDebug Print (QDebug os, Indent Indent=0) const
 
virtual QString ToString () const
 
virtual uint HashCode () const
 
virtual bool operator< (const Object *) const
 
void Register () const
 
void UnRegister (bool del=true) const
 
int GetReferenceCount () const
 
void SetReferenceCount (int)
 
void AddDestroyListener (const MessageAbstractDelegate<> &delegate) const
 
void RemoveDestroyListener (const MessageAbstractDelegate<> &delegate) const
 
virtual bool operator== (const Object *) const
 

Static Public Member Functions

static const char * GetStaticClassName ()
 
- Static Public Member Functions inherited from berry::Object
static const char * GetStaticClassName ()
 
static Reflection::TypeInfo GetStaticTypeInfo ()
 
static QList< Reflection::TypeInfoGetStaticSuperclasses ()
 

Additional Inherited Members

- Protected Member Functions inherited from berry::Object
 Object ()
 
virtual ~Object ()
 
virtual QDebug PrintSelf (QDebug os, Indent indent) const
 
virtual QDebug PrintHeader (QDebug os, Indent indent) const
 
virtual QDebug PrintTrailer (QDebug os, Indent indent) const
 
- Protected Attributes inherited from berry::Object
QAtomicInt m_ReferenceCount
 
QMutex m_ReferenceCountLock
 

Detailed Description

Safe runnables represent blocks of code and associated exception handlers. They are typically used when a plug-in needs to call some untrusted code (e.g., code contributed by another plug-in via an extension).

This interface can be used without OSGi running.

Clients may implement this interface.

See also
SafeRunner::run(ISafeRunnable)

Definition at line 36 of file berryISafeRunnable.h.

Member Typedef Documentation

◆ ConstPointer

◆ ConstWeakPtr

◆ Pointer

◆ Self

◆ WeakPtr

Member Function Documentation

◆ GetStaticClassName()

static const char* berry::ISafeRunnable::GetStaticClassName ( )
inlinestatic

Definition at line 39 of file berryISafeRunnable.h.

◆ HandleException()

virtual void berry::ISafeRunnable::HandleException ( const ctkException &  exception)
pure virtual

Handles an exception thrown by this runnable's run method. The processing done here should be specific to the particular usecase for this runnable. Generalized exception processing (e.g., logging in the platform's log) is done by the Platform's run mechanism.

Parameters
exceptionan exception which occurred during processing the body of this runnable (i.e., in run())
See also
SafeRunner::run(ISafeRunnable)

Implemented in berry::SafeRunnableDelegate< R >, and berry::SafeRunnable.

◆ Run()

virtual void berry::ISafeRunnable::Run ( )
pure virtual

Runs this runnable. Any exceptions thrown from this method will be passed to this runnable's handleException method.

Exceptions
Exceptionif a problem occurred while running this method. The exception will be processed by handleException
See also
SafeRunner::run(ISafeRunnable)

Implemented in berry::SafeRunnableDelegate< R >.


The documentation for this struct was generated from the following file: