VTK  9.2.6
vtkPDirectory.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPDirectory.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14  =========================================================================*/
28 #ifndef vtkPDirectory_h
29 #define vtkPDirectory_h
30 
31 #include "vtkObject.h"
32 #include "vtkParallelCoreModule.h" // For export macro
33 #include <string> // for string functions in Directory
34 
35 class vtkStringArray;
36 
37 class VTKPARALLELCORE_EXPORT vtkPDirectory : public vtkObject
38 {
39 public:
40  static vtkPDirectory* New();
41  vtkTypeMacro(vtkPDirectory, vtkObject);
42  void PrintSelf(ostream& os, vtkIndent indent) override;
43 
45 
52  bool Load(const std::string&);
53  int Open(const char* dir);
55 
59  vtkIdType GetNumberOfFiles() const;
60 
64  VTK_FILEPATH const char* GetFile(vtkIdType index) const;
65 
72  int FileIsDirectory(const char* name);
73 
75 
78  vtkGetObjectMacro(Files, vtkStringArray);
80 
84  VTK_FILEPATH const char* GetPath() const;
85 
90  void Clear();
91 
95  static VTK_FILEPATH const char* GetCurrentWorkingDirectory(char* buf, unsigned int len);
96 
100  static int MakeDirectory(VTK_FILEPATH const char* dir);
101 
105  static int DeleteDirectory(VTK_FILEPATH const char* dir);
106 
110  static int Rename(VTK_FILEPATH const char* oldname, VTK_FILEPATH const char* newname);
111 
112 protected:
113  vtkPDirectory();
114  ~vtkPDirectory() override;
115 
116 private:
117  // Array of Files
118  vtkStringArray* Files; // VTK array of files
119 
120  // Path to Open'ed directory
121  std::string Path;
122 
123  vtkPDirectory(const vtkPDirectory&) = delete;
124  void operator=(const vtkPDirectory&) = delete;
125 }; // End Class: vtkPDirectory
126 
127 #endif
abstract base class for most VTK objects
Definition: vtkObject.h:62
vtkPDirectory provides a portable way of finding the names of the files in a system directory where p...
Definition: vtkPDirectory.h:37
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a vtkAbstractArray subclass for strings
int vtkIdType
Definition: vtkType.h:332
a simple class to control print indentation
Definition: vtkIndent.h:39
#define VTK_FILEPATH
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...