summaryrefslogtreecommitdiffstats
path: root/Source/kwsys/Directory.hxx.in
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2003-04-08 17:10:44 (GMT)
committerBrad King <brad.king@kitware.com>2003-04-08 17:10:44 (GMT)
commit7dff3a7f69d1ec1e36d38903e94e433f6583d96e (patch)
tree52188fec4a7e35d1fd08e3ed6c3dcfbf1095a818 /Source/kwsys/Directory.hxx.in
parent7f48313225537a7bcc92c0f1c73754bdc50a2ca4 (diff)
downloadCMake-7dff3a7f69d1ec1e36d38903e94e433f6583d96e.zip
CMake-7dff3a7f69d1ec1e36d38903e94e433f6583d96e.tar.gz
CMake-7dff3a7f69d1ec1e36d38903e94e433f6583d96e.tar.bz2
ENH: Added kwsys library for platform-independent system tools.
Diffstat (limited to 'Source/kwsys/Directory.hxx.in')
-rw-r--r--Source/kwsys/Directory.hxx.in65
1 files changed, 65 insertions, 0 deletions
diff --git a/Source/kwsys/Directory.hxx.in b/Source/kwsys/Directory.hxx.in
new file mode 100644
index 0000000..7182a28
--- /dev/null
+++ b/Source/kwsys/Directory.hxx.in
@@ -0,0 +1,65 @@
+/*=========================================================================
+
+ Program: KWSys - Kitware System Library
+ Module: $RCSfile$
+ Language: C++
+ Date: $Date$
+ Version: $Revision$
+
+ Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved.
+ See http://www.cmake.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 notices for more information.
+
+=========================================================================*/
+#ifndef @KWSYS_NAMESPACE@_Directory_hxx
+#define @KWSYS_NAMESPACE@_Directory_hxx
+
+#include <@KWSYS_NAMESPACE@/StandardIncludes.hxx>
+
+#include <string>
+#include <vector>
+
+namespace @KWSYS_NAMESPACE@
+{
+
+/** \class Directory
+ * \brief Portable directory/filename traversal.
+ *
+ * Directory provides a portable way of finding the names of the files
+ * in a system directory.
+ *
+ * Directory currently works with Windows and Unix operating systems.
+ */
+
+class Directory
+{
+public:
+ /**
+ * Load the specified directory and load the names of the files
+ * in that directory. 0 is returned if the directory can not be
+ * opened, 1 if it is opened.
+ */
+ bool Load(const char* dir);
+
+ /**
+ * Return the number of files in the current directory.
+ */
+ size_t GetNumberOfFiles() { return m_Files.size();}
+
+ /**
+ * Return the file at the given index, the indexing is 0 based
+ */
+ const char* GetFile(size_t );
+
+private:
+ kwsys_std::vector<kwsys_std::string> m_Files; // Array of Files
+ kwsys_std::string m_Path; // Path to Open'ed directory
+
+}; // End Class: Directory
+
+} // namespace @KWSYS_NAMESPACE@
+
+#endif