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
30class ctkDicomAbstractExchangeCachePrivate;
32
38class org_commontk_dah_core_EXPORT ctkDicomAbstractExchangeCache : public QObject, public virtual ctkDicomExchangeInterface
39{
40 Q_OBJECT
41 Q_INTERFACES(ctkDicomExchangeInterface)
42
43public:
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
121
129
130Q_SIGNALS:
131
133
134private:
135
136 Q_SIGNALS:
137
139
140private:
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.
void cleanIncomingData()
Clean internal data stucture that keeps the incoming data.
virtual ctkDicomExchangeInterface * getOtherSideExchangeService() const =0
Gets the exchange service of the other side.
bool notifyDataAvailable(const ctkDicomAppHosting::AvailableData &data, bool lastData)
Receive notification from other side.
void releaseData(const QList< QUuid > &objectUUIDs)
ctkDicomObjectLocatorCache * objectLocatorCache() const
Return the cache for outgoing data.
const ctkDicomAppHosting::AvailableData & getIncomingAvailableData() const
Return the incoming available data.
bool lastIncomingData() const
Return whether the incoming data was marked as lastData.
virtual QList< ctkDicomAppHosting::ObjectLocator > getData(const QList< QUuid > &objectUUIDs, const QList< QString > &acceptableTransferSyntaxUIDs, bool includeBulkData)
Provide ctkDicomAppHosting::ObjectLocators to the other side.
bool publishData(const ctkDicomAppHosting::AvailableData &availableData, bool lastData)
Publish data to other side.
virtual ~ctkDicomAbstractExchangeCache()
Destructor.
ctkDicomAbstractExchangeCache()
Construct object.