Medical Imaging Interaction Toolkit  2021.10.99-9c07a326
Medical Imaging Interaction Toolkit
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
Implements transparent reference counting.
#define org_blueberry_core_runtime_EXPORT