Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

WindowsDirectory Class Reference

Inheritance diagram for WindowsDirectory:

Inheritance graph
Collaboration diagram for WindowsDirectory:

Collaboration graph
List of all members.

Public Types

enum  { DirGood = 0, DirBad = 1 }

Public Member Functions

virtual bool nextFile (std::string &)
 WindowsDirectory (const std::string &)
virtual ~WindowsDirectory ()

Private Attributes

string dirname
HANDLE searchHandle
string searchName
int status

Member Enumeration Documentation

anonymous enum
 

Enumeration values:
DirGood 
DirBad 

Definition at line 25 of file windirectory.cpp.

00025          {
00026         DirGood = 0,
00027         DirBad = 1
00028     };


Constructor & Destructor Documentation

WindowsDirectory::WindowsDirectory const std::string  ) 
 

Definition at line 38 of file windirectory.cpp.

References dirname, and searchName.

00038                                                             :
00039     dirname(_dirname),
00040     status(DirGood),
00041     searchHandle(INVALID_HANDLE_VALUE)
00042 {
00043     searchName = dirname + string("\\*");
00044     // Check to make sure that this file is a directory
00045 }

WindowsDirectory::~WindowsDirectory  )  [virtual]
 

Definition at line 48 of file windirectory.cpp.

References searchHandle.

00049 {
00050     if (searchHandle != INVALID_HANDLE_VALUE)
00051         FindClose(searchHandle);
00052     searchHandle = NULL;
00053 }


Member Function Documentation

bool WindowsDirectory::nextFile std::string  )  [virtual]
 

Implements Directory.

Definition at line 56 of file windirectory.cpp.

References DirBad, DirGood, searchHandle, searchName, and status.

00057 {
00058     WIN32_FIND_DATA findData;
00059 
00060     if (status != DirGood)
00061         return false;
00062 
00063     if (searchHandle == INVALID_HANDLE_VALUE)
00064     {
00065         searchHandle = FindFirstFile(const_cast<LPCTSTR>(searchName.c_str()),
00066                                      &findData);
00067         if (searchHandle == INVALID_HANDLE_VALUE)
00068         {
00069             status = DirBad;
00070             return false;
00071         }
00072         else
00073         {
00074             filename = findData.cFileName;
00075             return true;
00076         }
00077     }
00078     else
00079     {
00080         if (FindNextFile(searchHandle, &findData))
00081         {
00082             filename = findData.cFileName;
00083             return true;
00084         }
00085         else
00086         {
00087             status = DirBad;
00088             return false;
00089         }
00090     }
00091 }


Member Data Documentation

string WindowsDirectory::dirname [private]
 

Definition at line 31 of file windirectory.cpp.

Referenced by WindowsDirectory().

HANDLE WindowsDirectory::searchHandle [private]
 

Definition at line 34 of file windirectory.cpp.

Referenced by nextFile(), and ~WindowsDirectory().

string WindowsDirectory::searchName [private]
 

Definition at line 32 of file windirectory.cpp.

Referenced by nextFile(), and WindowsDirectory().

int WindowsDirectory::status [private]
 

Definition at line 33 of file windirectory.cpp.

Referenced by nextFile().


The documentation for this class was generated from the following file:
Generated on Sat Jan 14 22:33:43 2006 for Celestia by  doxygen 1.4.1