Medical Imaging Interaction Toolkit  2018.4.99-87d68d9f
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 
52 {
53 
59 
63  REF_WEAK
64  };
65 
66  virtual ~IExtensionTracker();
67 
74  virtual void RegisterHandler(IExtensionChangeHandler* handler, const IExtensionPointFilter& filter) = 0;
75 
82  virtual void RegisterHandler(IExtensionChangeHandler *handler, const QString& extensionPointId = QString()) = 0;
83 
89  virtual void UnregisterHandler(IExtensionChangeHandler* handler) = 0;
90 
100  virtual void RegisterObject(const SmartPointer<IExtension>& extension,
101  const SmartPointer<Object>& object, ReferenceType referenceType) = 0;
102 
109  virtual void UnregisterObject(const SmartPointer<IExtension>& extension,
110  const SmartPointer<Object>& object) = 0;
111 
119  virtual QList<SmartPointer<Object> > UnregisterObject(const SmartPointer<IExtension>& extension) = 0;
120 
130  virtual QList<SmartPointer<Object> > GetObjects(const SmartPointer<IExtension>& extension) const = 0;
131 
135  virtual void Close() = 0;
136 };
137 
138 }
139 
140 #endif // BERRYIEXTENSIONTRACKER_H
static MsgHandler handler
Definition: usUtils.cpp:261
Implements transparent reference counting.
#define org_blueberry_core_runtime_EXPORT