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 
67 
79  const QList<QUuid>& objectUUIDs,
80  const QList<QString>& acceptableTransferSyntaxUIDs,
81  bool includeBulkData);
82 
83  void releaseData(const QList<QUuid>& objectUUIDs);
84 
91 
99  bool publishData(const ctkDicomAppHosting::AvailableData& availableData, bool lastData);
100 
101  // Methods to support receiving data
108 
114  bool lastIncomingData() const;
115 
120  bool notifyDataAvailable(const ctkDicomAppHosting::AvailableData& data, bool lastData);
121 
129 
130 Q_SIGNALS:
131 
133 
134 private:
135 
136  Q_SIGNALS:
137 
139 
140 private:
141 
142  Q_DECLARE_PRIVATE(ctkDicomAbstractExchangeCache)
143  const QScopedPointer<ctkDicomAbstractExchangeCachePrivate> d_ptr;
145 };
146 
147 #endif // CTKDICOMABSTRACTEXCHANGECACHE_H
Provides a basic convenience methods for the data exchange.
virtual QList< ctkDicomAppHosting::ObjectLocator > getData(const QList< QUuid > &objectUUIDs, const QList< QString > &acceptableTransferSyntaxUIDs, bool includeBulkData)
Provide ctkDicomAppHosting::ObjectLocators to the other side.
void cleanIncomingData()
Clean internal data stucture that keeps the incoming data.
bool notifyDataAvailable(const ctkDicomAppHosting::AvailableData &data, bool lastData)
Receive notification from other side.
const ctkDicomAppHosting::AvailableData & getIncomingAvailableData() const
Return the incoming available data.
ctkDicomObjectLocatorCache * objectLocatorCache() const
Return the cache for outgoing data.
void releaseData(const QList< QUuid > &objectUUIDs)
virtual ctkDicomExchangeInterface * getOtherSideExchangeService() const =0
Gets the exchange service of the other side.
bool lastIncomingData() const
Return whether the incoming data was marked as lastData.
bool publishData(const ctkDicomAppHosting::AvailableData &availableData, bool lastData)
Publish data to other side.
virtual ~ctkDicomAbstractExchangeCache()
Destructor.
ctkDicomAbstractExchangeCache()
Construct object.