Medical Imaging Interaction Toolkit  2024.06.00
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
berryIJobChangeListener.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef BERRYIJOBCHANGELISTENER_H_
14 #define BERRYIJOBCHANGELISTENER_H_
15 
16 #include "berryIJobChangeEvent.h"
17 
18 namespace berry
19 {
20 
43 struct BERRY_JOBS IJobChangeListener
44 {
45 
46  struct BERRY_JOBS Events
47  {
48 
50 
51  enum Type
52  {
53  NONE = 0x00000000,
54  ABOUT_TO_RUN = 0x00000001,
55  AWAKE = 0x00000002,
56  DONE = 0x00000004,
57  RUNNING = 0x00000008,
58  SCHEDULED = 0x00000010,
59  SLEEPING = 0x00000020,
60 
61  ALL = 0xffffffff
62  };
63 
64  Q_DECLARE_FLAGS(Types, Type)
65 
66  JobChangeEventType jobAboutToRun;
69  JobChangeEventType jobRunning;
70  JobChangeEventType jobScheduled;
71  JobChangeEventType jobSleeping;
72 
73  void AddListener(IJobChangeListener* listener);
74  void RemoveListener(IJobChangeListener* listener);
75 
76  void SetExceptionHandler(const AbstractExceptionHandler& handler);
77 
78  typedef MessageDelegate1<IJobChangeListener, const IJobChangeEvent::ConstPointer&>
80  };
81 
82  virtual Events::Types GetEventTypes() = 0;
83 
89  virtual void AboutToRun(const IJobChangeEvent::ConstPointer& /*event*/)
90  {
91  }
92 
97  virtual void Awake(const IJobChangeEvent::ConstPointer& /*event*/)
98  {
99  }
100 
106  virtual void Done(const IJobChangeEvent::ConstPointer& /*event*/)
107  {
108  }
109 
113  virtual void Running(const IJobChangeEvent::ConstPointer& /*event*/)
114  {
115  }
116 
122  virtual void Scheduled(const IJobChangeEvent::ConstPointer& /*event*/)
123  {
124  }
125 
130  virtual void Sleeping(const IJobChangeEvent::ConstPointer& /*event*/)
131  {
132  }
133 
134 };
135 
136 }
137 
138 Q_DECLARE_OPERATORS_FOR_FLAGS(berry::IJobChangeListener::Events::Types)
139 
140 #endif /* BERRYIJOBCHANGELISTENER_H_ */
berry::IJobChangeListener::Awake
virtual void Awake(const IJobChangeEvent::ConstPointer &)
Definition: berryIJobChangeListener.h:97
berry::IJobChangeListener::Events
Definition: berryIJobChangeListener.h:46
berry::IJobChangeEvent
Definition: berryIJobChangeEvent.h:36
berryIJobChangeEvent.h
berry::SmartPointer
Implements transparent reference counting.
Definition: berryICommandCategoryListener.h:21
berry::AbstractExceptionHandler
Definition: berryMessage.h:354
berry::Message1< const IJobChangeEvent::ConstPointer & >
berry::MessageDelegate1
Definition: berryMessage.h:170
berry::IJobChangeListener::Events::JobChangeEventType
Message1< const IJobChangeEvent::ConstPointer & > JobChangeEventType
Definition: berryIJobChangeListener.h:49
berry::IJobChangeListener
Definition: berryIJobChangeListener.h:43
berry::IJobChangeListener::Sleeping
virtual void Sleeping(const IJobChangeEvent::ConstPointer &)
Definition: berryIJobChangeListener.h:130
berry::IJobChangeListener::Done
virtual void Done(const IJobChangeEvent::ConstPointer &)
Definition: berryIJobChangeListener.h:106
berry::IJobChangeListener::Running
virtual void Running(const IJobChangeEvent::ConstPointer &)
Definition: berryIJobChangeListener.h:113
berry::IJobChangeListener::Events::Type
Type
Definition: berryIJobChangeListener.h:51
berry::IJobChangeListener::Scheduled
virtual void Scheduled(const IJobChangeEvent::ConstPointer &)
Definition: berryIJobChangeListener.h:122
berry
Definition: QmitkPropertyItemModel.h:24