Medical Imaging Interaction Toolkit  2023.12.00
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
berryIExtensionTracker.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 The Medical Imaging Interaction Toolkit (MITK)
14 
15 Copyright (c) German Cancer Research Center (DKFZ)
16 All rights reserved.
17 
18 Use of this source code is governed by a 3-clause BSD license that can be
19 found in the LICENSE file.
20 
21 ============================================================================*/
22 
23 #ifndef BERRYIEXTENSIONTRACKER_H
24 #define BERRYIEXTENSIONTRACKER_H
25 
27 
28 #include "berrySmartPointer.h"
29 
30 #include <QList>
31 
32 namespace berry {
33 
34 struct IExtension;
35 struct IExtensionChangeHandler;
36 struct IExtensionPointFilter;
37 
38 class Object;
39 
51 {
52 
58 
62  REF_WEAK
63  };
64 
65  virtual ~IExtensionTracker();
66 
73  virtual void RegisterHandler(IExtensionChangeHandler* handler, const IExtensionPointFilter& filter) = 0;
74 
81  virtual void RegisterHandler(IExtensionChangeHandler *handler, const QString& extensionPointId = QString()) = 0;
82 
88  virtual void UnregisterHandler(IExtensionChangeHandler* handler) = 0;
89 
99  virtual void RegisterObject(const SmartPointer<IExtension>& extension,
100  const SmartPointer<Object>& object, ReferenceType referenceType) = 0;
101 
108  virtual void UnregisterObject(const SmartPointer<IExtension>& extension,
109  const SmartPointer<Object>& object) = 0;
110 
118  virtual QList<SmartPointer<Object> > UnregisterObject(const SmartPointer<IExtension>& extension) = 0;
119 
129  virtual QList<SmartPointer<Object> > GetObjects(const SmartPointer<IExtension>& extension) const = 0;
130 
134  virtual void Close() = 0;
135 };
136 
137 }
138 
139 #endif // BERRYIEXTENSIONTRACKER_H
org_blueberry_core_runtime_Export.h
berry::IExtensionPointFilter
Definition: berryIExtensionPointFilter.h:32
berry::IExtensionTracker
Definition: berryIExtensionTracker.h:50
berry::SmartPointer
Implements transparent reference counting.
Definition: berryICommandCategoryListener.h:21
berry::IExtensionTracker::REF_STRONG
@ REF_STRONG
Definition: berryIExtensionTracker.h:57
org_blueberry_core_runtime_EXPORT
#define org_blueberry_core_runtime_EXPORT
Definition: org_blueberry_core_runtime_Export.h:26
berry::IExtensionChangeHandler
Definition: berryIExtensionChangeHandler.h:36
berrySmartPointer.h
berry::IExtensionTracker::ReferenceType
ReferenceType
Definition: berryIExtensionTracker.h:53
berry
Definition: QmitkPropertyItemModel.h:24