Medical Imaging Interaction Toolkit  2024.12.99-0da743f6
Medical Imaging Interaction Toolkit
berry::ISchedulingRule Struct Referenceabstract

#include <berryISchedulingRule.h>

Inheritance diagram for berry::ISchedulingRule:
Collaboration diagram for berry::ISchedulingRule:

Public Member Functions

 berryObjectMacro (berry::ISchedulingRule)
 
virtual bool Contains (ISchedulingRule::Pointer rule) const =0
 
virtual bool IsConflicting (ISchedulingRule::Pointer myRule) const =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
 

Additional Inherited Members

- 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
 
- Static Public Member Functions inherited from berry::Object
static const char * GetStaticClassName ()
 
static Reflection::TypeInfo GetStaticTypeInfo ()
 
static QList< Reflection::TypeInfoGetStaticSuperclasses ()
 
- 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

Scheduling rules are used by jobs to indicate when they need exclusive access to a resource.

The job manager guarantees that no two jobs with conflicting scheduling rules will run concurrently.

Clients may implement this interface.

See also
Job::GetRule()
Job::SetRule(ISchedulingRule)
Job::Schedule(long)
IJobManager::BeginRule(ISchedulingRule, org.eclipse.core.runtime.IProgressMonitor)
IJobManager::EndRule(ISchedulingRule)

Definition at line 45 of file berryISchedulingRule.h.

Member Function Documentation

◆ berryObjectMacro()

berry::ISchedulingRule::berryObjectMacro ( berry::ISchedulingRule  )

◆ Contains()

virtual bool berry::ISchedulingRule::Contains ( ISchedulingRule::Pointer  rule) const
pure virtual

Returns whether this scheduling rule completely contains another scheduling rule. Rules can only be nested within a thread if the inner rule is completely contained within the outer rule.

Implementations of this method must obey the rules of a partial order relation on the set of all scheduling rules. In particular, implementations must be reflexive (a.contains(a) is always true), antisymmetric (a.contains(b) and b.contains(a) iff equals(b), and transitive (if a.contains(b) and b.contains(c), then a.contains(c)). Implementations of this method must return false when compared to a rule they know nothing about.

Parameters
rulethe rule to check for containment
Returns
true if this rule contains the given rule, and false otherwise.

Implemented in mitk::DataStorageAccessRule.

◆ IsConflicting()

virtual bool berry::ISchedulingRule::IsConflicting ( ISchedulingRule::Pointer  myRule) const
pure virtual

Returns whether this scheduling rule is compatible with another scheduling rule. If true is returned, then no job with this rule will be run at the same time as a job with the conflicting rule. If false is returned, then the job manager is free to run jobs with these rules at the same time.

Implementations of this method must be reflexive, symmetric, and consistent, and must return false when compared to a rule they know nothing about.

Parameters
myRulethe rule to check for conflicts
Returns
true if the rule is conflicting, and false otherwise.

Implemented in mitk::DataStorageAccessRule.


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