NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
niftkIGIDataSourceFactoryServiceI.h
Go to the documentation of this file.
1 /*=============================================================================
2 
3  NifTK: A software platform for medical image computing.
4 
5  Copyright (c) University College London (UCL). All rights reserved.
6 
7  This software is distributed WITHOUT ANY WARRANTY; without even
8  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
9  PURPOSE.
10 
11  See LICENSE.txt in the top level directory for details.
12 
13 =============================================================================*/
14 
15 #ifndef niftkIGIDataSourceFactoryServiceI_h
16 #define niftkIGIDataSourceFactoryServiceI_h
17 
18 #include "niftkIGIDataSourcesExports.h"
19 #include "niftkIGIDataSourceI.h"
22 
23 #include <mitkServiceInterface.h>
24 #include <mitkDataStorage.h>
25 
26 #include <QWidget>
27 #include <QList>
28 
29 namespace niftk
30 {
31 
38 class NIFTKIGIDATASOURCES_EXPORT IGIDataSourceFactoryServiceI
39 {
40 
41 public:
42 
46  virtual IGIDataSourceI::Pointer CreateService(mitk::DataStorage::Pointer dataStorage,
47  const IGIDataSourceProperties& properties) const = 0;
48 
52  virtual IGIInitialisationDialog* CreateInitialisationDialog(QWidget *parent) const = 0;
53 
57  virtual IGIConfigurationDialog* CreateConfigurationDialog(QWidget *parent,
58  niftk::IGIDataSourceI::Pointer) const = 0;
59 
63  virtual QString GetName() const;
64 
68  virtual QList<QString> GetLegacyClassNames() const = 0;
69 
70  bool HasInitialiseGui() const;
71  bool HasConfigurationGui() const;
72 
73 protected:
74 
76  bool hasInitialiseGui,
77  bool hasConfigurationGui);
79 
80 private:
81 
82  IGIDataSourceFactoryServiceI(const IGIDataSourceFactoryServiceI&); // deliberately not implemented
83  IGIDataSourceFactoryServiceI& operator=(const IGIDataSourceFactoryServiceI&); // deliberately not implemented
84 
85  QString m_Name;
86  bool m_HasInitialiseGui;
87  bool m_HasConfigurationGui;
88 };
89 
90 } // end namespace
91 
92 MITK_DECLARE_SERVICE_INTERFACE(niftk::IGIDataSourceFactoryServiceI, "uk.ac.ucl.cmic.IGIDataSourceFactoryServiceI");
93 
94 #endif
Initialisation dialogs must export their properties on completion.
Definition: niftkIGIInitialisationDialog.h:34
QMap< QString, QVariant > IGIDataSourceProperties
Definition: niftkIGIDataSourceI.h:33
Used to send parameters to and from the IGIDataSourceServiceI at runtime.
Definition: niftkIGIConfigurationDialog.h:33
MITK_DECLARE_SERVICE_INTERFACE(niftk::IGIDataSourceFactoryServiceI,"uk.ac.ucl.cmic.IGIDataSourceFactoryServiceI")
GLuint const GLchar * name
Definition: glew.h:1798
Definition: niftkExceptionObject.h:21
Interface for a factory to create niftk::IGIDataSourceServiceI.
Definition: niftkIGIDataSourceFactoryServiceI.h:38