Slicer 5.9
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
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
24class VTK_SLICER_BASE_LOGIC_EXPORT vtkDataIOManagerLogic : public vtkSlicerModuleLogic
25{
26 public:
27
31 void PrintSelf(ostream& os, vtkIndent indent) override;
32
33 vtkGetObjectMacro ( DataIOManager, 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();
59
60 private:
61 vtkDataIOManager *DataIOManager;
62
63 protected:
68
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
vtkObserverManager * DataIOObserverManager
virtual void ClearCache()
static void DataIOManagerCallback(vtkObject *caller, unsigned long eid, void *clientData, void *callData)
virtual void CancelDataTransfer(vtkDataTransfer *transfer)
virtual void AddNewDataTransfer(vtkDataTransfer *transfer, vtkMRMLNode *node)
vtkDataIOManagerLogic(const vtkDataIOManagerLogic &)
~vtkDataIOManagerLogic() override
virtual void ProcessDataIOManagerEvents(vtkObject *caller, unsigned long event, void *calldata)
virtual void DeleteDataTransferFromCache(vtkDataTransfer *transfer)
virtual void ApplyTransfer(void *clientdata)
The method that executes the data transfer in another thread.
virtual int QueueWrite(vtkMRMLNode *node)
Method that queues the write.
virtual int QueueRead(vtkMRMLNode *node)
Methods that Queues the read.
static void ProgressCallback(void *)
static vtkDataIOManagerLogic * New()
The Usual vtk class functions.
void operator=(const vtkDataIOManagerLogic &)
virtual void SetAndObserveDataIOManager(vtkDataIOManager *)
vtkObserverManager * GetDataIOObserverManager()
void PrintSelf(ostream &os, vtkIndent indent) override
Abstract Superclass for all specific types of MRML nodes.
Manages adding and deleting of observers with events.