1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
|
/*=========================================================================
Program: ParaView
Module: vtkPVFilePathEncodingHelper.h
Copyright (c) Kitware, Inc.
All rights reserved.
See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
/**
* @class vtkPVFilePathEncodingHelper
* @brief server side object used to check if manipulate a directory
*
* Server side object to list, create and remove directory
* the main reason for this helper to exist is to convert
* the file path from utf8 to locale encoding
*/
#ifndef vtkPVFilePathEncodingHelper_h
#define vtkPVFilePathEncodingHelper_h
#include "vtkObject.h"
#include "vtkPVServerImplementationCoreModule.h" //needed for exports
class VTKPVSERVERIMPLEMENTATIONCORE_EXPORT vtkPVFilePathEncodingHelper : public vtkObject
{
public:
static vtkPVFilePathEncodingHelper* New();
vtkTypeMacro(vtkPVFilePathEncodingHelper, vtkObject);
void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
//@{
/**
* Get/Set the path that will be used by the helper
*/
vtkSetStringMacro(Path);
vtkGetStringMacro(Path);
//@}
//@{
/**
* Get/Set the secondary path that will potentially be used by the helper
*/
vtkSetStringMacro(SecondaryPath);
vtkGetStringMacro(SecondaryPath);
//@}
//@{
/**
* Get/Set the globalId of the vtkDirectory present of the server
* that we will use to manipulate directories.
*/
vtkGetMacro(ActiveGlobalId, int);
vtkSetMacro(ActiveGlobalId, int);
//@}
/**
* Create a directory named Path
*/
bool MakeDirectory();
/**
* Delete a directory named Path
*/
bool DeleteDirectory();
/**
* Open a directory named Path
*/
bool OpenDirectory();
/**
* Rename a directory named Path to SecondaryPath
*/
bool RenameDirectory();
/**
* Returns if this->Path is a readable file.
*/
bool GetActiveFileIsReadable();
protected:
vtkPVFilePathEncodingHelper();
~vtkPVFilePathEncodingHelper();
bool CallObjectMethod(const char* method, bool ignoreError = false);
char* Path;
char* SecondaryPath;
int ActiveGlobalId;
private:
vtkPVFilePathEncodingHelper(const vtkPVFilePathEncodingHelper&) VTK_DELETE_FUNCTION;
void operator=(const vtkPVFilePathEncodingHelper&) VTK_DELETE_FUNCTION;
};
#endif
|