Slicer  5.0
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
vtkDataIOManagerLogic.h
Go to the documentation of this file.
1 #ifndef __vtkDataIOManagerLogic_h
2 #define __vtkDataIOManagerLogic_h
3 
4 #include "vtkObject.h"
5 #include "vtkUnsignedLongArray.h"
6 #include "vtkSmartPointer.h"
7 #include "vtkIntArray.h"
8 #include "vtkMRML.h"
9 
10 #include "vtkSlicerModuleLogic.h"
12 #include "vtkSlicerTask.h"
13 
14 #include "vtkDataTransfer.h"
15 #include "vtkDataIOManager.h"
16 #include "vtkMRMLNode.h"
17 
18 
19 #ifndef vtkObjectPointer
20 #define vtkObjectPointer(xx) (reinterpret_cast <vtkObject **>( (xx) ))
21 #endif
22 
23 
24 class VTK_SLICER_BASE_LOGIC_EXPORT vtkDataIOManagerLogic : public vtkSlicerModuleLogic
25 {
26  public:
27 
29  static vtkDataIOManagerLogic *New();
31  void PrintSelf(ostream& os, vtkIndent indent) override;
32 
33  vtkGetObjectMacro ( DataIOManager, vtkDataIOManager );
34  virtual void SetAndObserveDataIOManager ( vtkDataIOManager *);
35 
38  virtual int QueueRead ( vtkMRMLNode *node );
39 
42  virtual int QueueWrite ( vtkMRMLNode *node );
43 
46  virtual void ApplyTransfer(void *clientdata);
47 
50  static void ProgressCallback ( void * );
51 
55  virtual void AddNewDataTransfer ( vtkDataTransfer *transfer, vtkMRMLNode *node );
56  virtual void CancelDataTransfer ( vtkDataTransfer *transfer );
57  virtual void ClearCache();
58  virtual void DeleteDataTransferFromCache ( vtkDataTransfer *transfer);
59 
60  private:
61  vtkDataIOManager *DataIOManager;
62 
63  protected:
65  ~vtkDataIOManagerLogic() override;
67  void operator=(const vtkDataIOManagerLogic&);
68 
69  vtkObserverManager* GetDataIOObserverManager();
71  static void DataIOManagerCallback(vtkObject *caller, unsigned long eid, void *clientData, void *callData);
72  virtual void ProcessDataIOManagerEvents( vtkObject *caller, unsigned long event, void *calldata );
73 };
74 
75 #endif
76 
void PrintSelf(ostream &os, vtkIndent indent) override
static vtkSlicerModuleLogic * New()
The Usual vtk class functions.
Manages adding and deleting of obserevers with events.
Abstract Superclass for all specific types of MRML nodes.
Definition: vtkMRMLNode.h:167
vtkObserverManager * DataIOObserverManager