2 #include "ace/Log_Category.h"
4 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
7 ACE_Dirent::open (const ACE_TCHAR *dirname)
9 // If the directory stream is already open, close it to prevent
10 // possible resource leaks.
14 ACE_OS::closedir (this->dirp_);
18 this->dirp_ = ACE_OS::opendir (dirname);
27 ACE_Dirent::ACE_Dirent (void)
33 ACE_Dirent::ACE_Dirent (const ACE_TCHAR *dirname)
36 if (this->open (dirname) == -1)
37 ACELIB_ERROR ((LM_ERROR,
39 ACE_TEXT ("ACE_Dirent::ACE_Dirent")));
43 ACE_Dirent::~ACE_Dirent (void)
46 ACE_OS::closedir (this->dirp_);
49 ACE_INLINE ACE_DIRENT *
50 ACE_Dirent::read (void)
52 return this->dirp_ ? ACE_OS::readdir (this->dirp_) : 0;
56 ACE_Dirent::read (struct ACE_DIRENT *entry,
57 struct ACE_DIRENT **result)
60 ? ACE_OS::readdir_r (this->dirp_, entry, result)
65 ACE_Dirent::close (void)
69 ACE_OS::closedir (this->dirp_);
71 // Prevent double closure
77 ACE_Dirent::rewind (void)
80 ACE_OS::rewinddir (this->dirp_);
84 ACE_Dirent::seek (long loc)
87 ACE_OS::seekdir (this->dirp_, loc);
91 ACE_Dirent::tell (void)
93 return this->dirp_ ? ACE_OS::telldir (this->dirp_) : 0;
96 ACE_END_VERSIONED_NAMESPACE_DECL