3 // $Id: Dirent.inl 80826 2008-03-04 14:51:23Z wotte $
5 #include "ace/Log_Msg.h"
7 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
10 ACE_Dirent::open (const ACE_TCHAR *dirname)
12 // If the directory stream is already open, close it to prevent
13 // possible resource leaks.
17 ACE_OS::closedir (this->dirp_);
21 this->dirp_ = ACE_OS::opendir (dirname);
30 ACE_Dirent::ACE_Dirent (void)
36 ACE_Dirent::ACE_Dirent (const ACE_TCHAR *dirname)
39 if (this->open (dirname) == -1)
42 ACE_TEXT ("ACE_Dirent::ACE_Dirent")));
46 ACE_Dirent::~ACE_Dirent (void)
49 ACE_OS::closedir (this->dirp_);
52 ACE_INLINE ACE_DIRENT *
53 ACE_Dirent::read (void)
55 return this->dirp_ ? ACE_OS::readdir (this->dirp_) : 0;
59 ACE_Dirent::read (struct ACE_DIRENT *entry,
60 struct ACE_DIRENT **result)
63 ? ACE_OS::readdir_r (this->dirp_, entry, result)
68 ACE_Dirent::close (void)
72 ACE_OS::closedir (this->dirp_);
74 // Prevent double closure
80 ACE_Dirent::rewind (void)
83 ACE_OS::rewinddir (this->dirp_);
87 ACE_Dirent::seek (long loc)
90 ACE_OS::seekdir (this->dirp_, loc);
94 ACE_Dirent::tell (void)
96 return this->dirp_ ? ACE_OS::telldir (this->dirp_) : 0;
99 ACE_END_VERSIONED_NAMESPACE_DECL