summaryrefslogtreecommitdiff
path: root/dir.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'dir.cpp')
-rwxr-xr-xdir.cpp58
1 files changed, 58 insertions, 0 deletions
diff --git a/dir.cpp b/dir.cpp
new file mode 100755
index 0000000..7c5ef08
--- /dev/null
+++ b/dir.cpp
@@ -0,0 +1,58 @@
+#ifndef DIR_CPP
+#define DIR_CPP
+
+#include "dir.h"
+
+using namespace std;
+
+dir::dir()
+{
+ p_dir_vec = new vector<string>;
+}
+
+dir::~dir()
+{
+ p_dir_vec->clear();
+}
+
+
+
+bool
+dir::open_dir( char *c_dir )
+{
+ return open_dir( *new string( c_dir ) );
+}
+
+bool
+dir::open_dir( string &s_dir )
+{
+ dp = opendir( s_dir.c_str() );
+
+ if ( dp == NULL )
+ return false; // Could not open dir.
+
+ return true; // Could open dir with success.
+}
+
+void
+dir::close_dir()
+{
+ if ( dp != NULL )
+ closedir( dp );
+}
+
+void
+dir::read_dir()
+{
+ if ( dp != NULL )
+ while( ep = readdir( dp ) )
+ p_dir_vec->push_back( *new string( ep->d_name ) );
+}
+
+vector<string>*
+dir::get_dir_vec()
+{
+ return p_dir_vec;
+}
+
+#endif