00001 #ifndef __vtkDataIOManagerLogic_h 00002 #define __vtkDataIOManagerLogic_h 00003 00004 #include "vtkObject.h" 00005 #include "vtkUnsignedLongArray.h" 00006 #include "vtkSmartPointer.h" 00007 #include "vtkIntArray.h" 00008 #include "vtkMRML.h" 00009 00010 #include "vtkSlicerModuleLogic.h" 00011 #include "vtkSlicerApplicationLogic.h" 00012 #include "vtkSlicerTask.h" 00013 00014 #include "vtkDataTransfer.h" 00015 #include "vtkDataIOManager.h" 00016 #include "vtkMRMLNode.h" 00017 00018 00019 #ifndef vtkObjectPointer 00020 #define vtkObjectPointer(xx) (reinterpret_cast <vtkObject **>( (xx) )) 00021 #endif 00022 00023 00024 class VTK_SLICER_BASE_LOGIC_EXPORT vtkDataIOManagerLogic : public vtkSlicerModuleLogic 00025 { 00026 public: 00027 00029 static vtkDataIOManagerLogic *New(); 00030 vtkTypeRevisionMacro(vtkDataIOManagerLogic,vtkSlicerModuleLogic); 00031 void PrintSelf(ostream& os, vtkIndent indent); 00032 00033 vtkGetObjectMacro ( DataIOManager, vtkDataIOManager ); 00034 virtual void SetAndObserveDataIOManager ( vtkDataIOManager *); 00035 00036 virtual void ProcessMRMLEvents( vtkObject *caller, unsigned long event, void *calldata ); 00037 00040 virtual int QueueRead ( vtkMRMLNode *node ); 00041 00044 virtual int QueueWrite ( vtkMRMLNode *node ); 00045 00048 virtual void ApplyTransfer(void *clientdata); 00049 00052 static void ProgressCallback ( void * ); 00053 00057 virtual void AddNewDataTransfer ( vtkDataTransfer *transfer, vtkMRMLNode *node ); 00058 virtual void CancelDataTransfer ( vtkDataTransfer *transfer ); 00059 virtual void ClearCache(); 00060 virtual void DeleteDataTransferFromCache ( vtkDataTransfer *transfer); 00061 00062 private: 00063 vtkDataIOManager *DataIOManager; 00064 00065 protected: 00066 vtkDataIOManagerLogic(); 00067 virtual ~vtkDataIOManagerLogic(); 00068 vtkDataIOManagerLogic(const vtkDataIOManagerLogic&); 00069 void operator=(const vtkDataIOManagerLogic&); 00070 00071 }; 00072 00073 #endif 00074
1.6.1