CTK  0.1.0
The Common Toolkit is a community effort to provide support code for medical image analysis, surgical navigation, and related projects.
ctkDicomAbstractExchangeCache.h
Go to the documentation of this file.
1 /*=============================================================================
2 
3  Library: CTK
4 
5  Copyright (c) German Cancer Research Center,
6  Division of Medical and Biological Informatics
7 
8  Licensed under the Apache License, Version 2.0 (the "License");
9  you may not use this file except in compliance with the License.
10  You may obtain a copy of the License at
11 
12  http://www.apache.org/licenses/LICENSE-2.0
13 
14  Unless required by applicable law or agreed to in writing, software
15  distributed under the License is distributed on an "AS IS" BASIS,
16  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  See the License for the specific language governing permissions and
18  limitations under the License.
19 
20 =============================================================================*/
21 
22 #ifndef CTKDICOMABSTRACTEXCHANGECACHE_H
23 #define CTKDICOMABSTRACTEXCHANGECACHE_H
24 
26 #include <QScopedPointer>
27 
28 #include <org_commontk_dah_core_Export.h>
29 
30 class ctkDicomAbstractExchangeCachePrivate;
32 
38 class org_commontk_dah_core_EXPORT ctkDicomAbstractExchangeCache : public QObject, public virtual ctkDicomExchangeInterface
39 {
40  Q_OBJECT
41  Q_INTERFACES(ctkDicomExchangeInterface)
42 
43 public:
44 
51 
57 
66  virtual ctkDicomExchangeInterface* getOtherSideExchangeService() const = 0;
67 
79  const QList<QUuid>& objectUUIDs,
80  const QList<QString>& acceptableTransferSyntaxUIDs,
81  bool includeBulkData);
82 
83  void releaseData(const QList<QUuid>& objectUUIDs);
84 
90  ctkDicomObjectLocatorCache* objectLocatorCache() const;
91 
99  bool publishData(const ctkDicomAppHosting::AvailableData& availableData, bool lastData);
100 
101  // Methods to support receiving data
107  const ctkDicomAppHosting::AvailableData& getIncomingAvailableData() const;
108 
114  bool lastIncomingData() const;
115 
120  bool notifyDataAvailable(const ctkDicomAppHosting::AvailableData& data, bool lastData);
121 
128  void cleanIncomingData();
129 
130 Q_SIGNALS:
131 
132  void dataAvailable();
133 
134 private:
135 
136  Q_SIGNALS:
137 
138  void internalDataAvailable();
139 
140 private:
141 
142  Q_DECLARE_PRIVATE(ctkDicomAbstractExchangeCache)
143  const QScopedPointer<ctkDicomAbstractExchangeCachePrivate> d_ptr;
145 };
146 
147 #endif // CTKDICOMABSTRACTEXCHANGECACHE_H
virtual bool notifyDataAvailable(const ctkDicomAppHosting::AvailableData &data, bool lastData)=0
virtual QList< ctkDicomAppHosting::ObjectLocator > getData(const QList< QUuid > &objectUUIDs, const QList< QString > &acceptableTransferSyntaxUIDs, bool includeBulkData)=0
Provides a basic convenience methods for the data exchange.
virtual void releaseData(const QList< QUuid > &objectUUIDs)=0