Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
vtkURIHandler.h
Go to the documentation of this file.
1#ifndef __vtkURIHandler_h
2#define __vtkURIHandler_h
3
4// MRML includes
5#include "vtkMRML.h"
7
8// VTK includes
9#include <vtkObject.h>
10
11class VTK_MRML_EXPORT vtkURIHandler : public vtkObject
12{
13public:
15 // static vtkURIHandler* New() { return nullptr; };
16 static vtkURIHandler* New();
17 vtkTypeMacro(vtkURIHandler, vtkObject);
18 void PrintSelf(ostream& os, vtkIndent indent) override;
19
20 vtkGetStringMacro(HostName);
21 vtkSetStringMacro(HostName);
22
26 virtual void StageFileRead(const char* source, const char* destination);
27 virtual void StageFileWrite(const char* source, const char* destination);
28
31 virtual void StageFileRead(const char* source, const char* destination, const char* username, const char* password, const char* hostname);
32
33 virtual void StageFileWrite(const char* source, const char* username, const char* password, const char* hostname, const char* sessionID);
34
36
40 virtual int CanHandleURI(const char* vtkNotUsed(uri)) { return 0; };
41
44 size_t BufferedWrite(char* buffer, size_t size, size_t nitems);
45
48 // virtual void SetLocalFile ( std::ofstream* localFile );
49 virtual void SetLocalFile(FILE* localFile);
50
53 int ProgressCallback(FILE* outputFile, double dltotal, double dlnow, double ultotal, double ulnow);
54
55 vtkGetMacro(RequiresPermission, int);
56 vtkSetMacro(RequiresPermission, int);
57 vtkGetObjectMacro(PermissionPrompter, vtkPermissionPrompter);
59 vtkGetStringMacro(Prefix);
60 vtkSetStringMacro(Prefix);
61 vtkGetStringMacro(Name);
62 vtkSetStringMacro(Name);
63
64private:
65 //--- Methods to configure and close transfer
67 virtual void InitTransfer();
68 virtual int CloseTransfer() { return 0; }
69
70 int RequiresPermission;
71 vtkPermissionPrompter* PermissionPrompter;
72
73protected:
75 ~vtkURIHandler() override;
78
81 // std::ofstream* LocalFile;
82 FILE* LocalFile;
83 char* Prefix;
84 char* Name;
85 char* HostName;
86};
87
88#endif
virtual void SetLocalFile(FILE *localFile)
Use this function to set LocalFile.
int ProgressCallback(FILE *outputFile, double dltotal, double dlnow, double ultotal, double ulnow)
This function gives us some feedback on how our download is going.
virtual void StageFileRead(const char *source, const char *destination, const char *username, const char *password, const char *hostname)
various Read/Write method footprints useful to redefine in specific handlers.
~vtkURIHandler() override
virtual void StageFileWrite(const char *source, const char *username, const char *password, const char *hostname, const char *sessionID)
void PrintSelf(ostream &os, vtkIndent indent) override
virtual void SetPermissionPrompter(vtkPermissionPrompter *prompter)
virtual int CanHandleURI(const char *vtkNotUsed(uri))
need something that goes the other way too...
void operator=(const vtkURIHandler &)
FILE * LocalFile
local file, it gets passed to C functions in the CURL library
static vtkURIHandler * New()
The Usual vtk class functions.
size_t BufferedWrite(char *buffer, size_t size, size_t nitems)
This function writes the downloaded data in a buffered manner.
vtkURIHandler(const vtkURIHandler &)
virtual void StageFileRead(const char *source, const char *destination)
virtual void StageFileWrite(const char *source, const char *destination)