diff --git a/Modules/CMakeLists.txt b/Modules/CMakeLists.txt index bac394edeb..f297b66c57 100644 --- a/Modules/CMakeLists.txt +++ b/Modules/CMakeLists.txt @@ -1,79 +1,80 @@ # Modules must be listed according to their dependencies set(module_dirs DataTypesExt AlgorithmsExt MapperExt IOExt DICOMReader DICOMTesting Qt4Qt5TestModule SceneSerializationBase PlanarFigure ImageDenoising ImageExtraction ImageStatistics LegacyAdaptors IpPicSupport Ext SceneSerialization GraphAlgorithms ContourModel SurfaceInterpolation Segmentation PlanarFigureSegmentation OpenViewCore QmlItems QtWidgets QtWidgetsExt SegmentationUI DiffusionImaging GPGPU IGTBase IGT CameraCalibration RigidRegistration RigidRegistrationUI DeformableRegistration DeformableRegistrationUI OpenCL OpenCVVideoSupport Overlays InputDevices ToFHardware ToFProcessing ToFUI US USUI DicomUI Simulation Remeshing Python Persistence IGTUI VtkShaders + XNAT ) if(MITK_ENABLE_PIC_READER) list(APPEND module_dirs IpPicSupportIO) endif() set(MITK_DEFAULT_SUBPROJECTS MITK-Modules) foreach(module_dir ${module_dirs}) add_subdirectory(${module_dir}) endforeach() if(MITK_PRIVATE_MODULES) file(GLOB all_subdirs RELATIVE ${MITK_PRIVATE_MODULES} ${MITK_PRIVATE_MODULES}/*) foreach(subdir ${all_subdirs}) string(FIND ${subdir} "." _result) if(_result EQUAL -1) if(EXISTS ${MITK_PRIVATE_MODULES}/${subdir}/CMakeLists.txt) message(STATUS "Found private module ${subdir}") add_subdirectory(${MITK_PRIVATE_MODULES}/${subdir} private_modules/${subdir}) endif() endif() endforeach() endif(MITK_PRIVATE_MODULES) diff --git a/Modules/XNAT/CMakeLists.txt b/Modules/XNAT/CMakeLists.txt new file mode 100644 index 0000000000..efb735587d --- /dev/null +++ b/Modules/XNAT/CMakeLists.txt @@ -0,0 +1,4 @@ +MITK_CREATE_MODULE( XNAT + PACKAGE_DEPENDS CTK Qt + EXPORT_DEFINE MITK_XNAT_EXPORT +) diff --git a/Modules/XNAT/files.cmake b/Modules/XNAT/files.cmake new file mode 100644 index 0000000000..a15795d20d --- /dev/null +++ b/Modules/XNAT/files.cmake @@ -0,0 +1,8 @@ +SET(CPP_FILES + mitkXnatSessionTracker.cpp +) + +SET(H_FILES + mitkXnatSession.h + mitkXnatSessionTracker.h +) diff --git a/Modules/XNAT/mitkXnatSession.h b/Modules/XNAT/mitkXnatSession.h new file mode 100644 index 0000000000..f646b95085 --- /dev/null +++ b/Modules/XNAT/mitkXnatSession.h @@ -0,0 +1,31 @@ +/*=================================================================== + +The Medical Imaging Interaction Toolkit (MITK) + +Copyright (c) German Cancer Research Center, +Division of Medical and Biological Informatics. +All rights reserved. + +This software is distributed WITHOUT ANY WARRANTY; without +even the implied warranty of MERCHANTABILITY or FITNESS FOR +A PARTICULAR PURPOSE. + +See LICENSE.txt or http://www.mitk.org for details. + +===================================================================*/ + +#ifndef MITKXNATSESSION_H +#define MITKXNATSESSION_H + +#include + +#include + +namespace mitk { + + typedef ctkXnatSession XnatSession; + +} +US_DECLARE_SERVICE_INTERFACE(mitk::XnatSession, "org.mitk.services.XnatSession") + +#endif // MITKCTKXNATSESSION_H diff --git a/Modules/XNAT/mitkXnatSessionTracker.cpp b/Modules/XNAT/mitkXnatSessionTracker.cpp new file mode 100644 index 0000000000..cb14ddc031 --- /dev/null +++ b/Modules/XNAT/mitkXnatSessionTracker.cpp @@ -0,0 +1,26 @@ +/*=================================================================== + +The Medical Imaging Interaction Toolkit (MITK) + +Copyright (c) German Cancer Research Center, +Division of Medical and Biological Informatics. +All rights reserved. + +This software is distributed WITHOUT ANY WARRANTY; without +even the implied warranty of MERCHANTABILITY or FITNESS FOR +A PARTICULAR PURPOSE. + +See LICENSE.txt or http://www.mitk.org for details. + +===================================================================*/ + +#include "mitkXnatSessionTracker.h" + +namespace mitk { + +XnatSessionTracker::XnatSessionTracker(us::ModuleContext* context) + : Superclass(context), + m_context(context) +{} + +} // end of namespace mitk diff --git a/Modules/XNAT/mitkXnatSessionTracker.h b/Modules/XNAT/mitkXnatSessionTracker.h new file mode 100644 index 0000000000..ba00af3547 --- /dev/null +++ b/Modules/XNAT/mitkXnatSessionTracker.h @@ -0,0 +1,55 @@ +/*=================================================================== + +The Medical Imaging Interaction Toolkit (MITK) + +Copyright (c) German Cancer Research Center, +Division of Medical and Biological Informatics. +All rights reserved. + +This software is distributed WITHOUT ANY WARRANTY; without +even the implied warranty of MERCHANTABILITY or FITNESS FOR +A PARTICULAR PURPOSE. + +See LICENSE.txt or http://www.mitk.org for details. + +===================================================================*/ + +#ifndef MITKXNATSESSIONTRACKER_H +#define MITKXNATSESSIONTRACKER_H + +#include "mitkXnatSession.h" +#include + +namespace mitk { + +class MITK_XNAT_EXPORT XnatSessionTracker : public us::ServiceTracker, public QObject +{ + Q_OBJECT + +public: + XnatSessionTracker(us::ModuleContext* context); + + virtual void Open(); + virtual void Close(); + + public signals: + void Opened(XnatSession*); + void AboutToBeClosed(XnatSession*); + + private slots: + void SessionOpened(); + void SessionAboutToBeClosed(): + +private: + typedef us::ServiceTracker Superclass; + + us::ModuleContext* m_Context; + + virtual TrackedType AddingService(const ServiceReferenceType &reference); + virtual void RemovedService(const ServiceReferenceType& /*reference*/, TrackedType tracked); + +}; + +} // end of namespace mitk + +#endif // MITKXNATSESSIONTRACKER_H