00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef ACE_DIRENT_SELECTOR_H
00016 #define ACE_DIRENT_SELECTOR_H
00017 #include "ace/pre.h"
00018
00019 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00020 #pragma once
00021 #endif
00022
00023 #include "ace/ACE_export.h"
00024
00025
00026
00027
00028
00029
00030
00031 class ACE_Export ACE_Dirent_Selector
00032 {
00033 public:
00034
00035 ACE_Dirent_Selector (void);
00036
00037
00038 virtual ~ACE_Dirent_Selector (void);
00039
00040
00041 int length (void) const;
00042
00043
00044 dirent *operator[] (const int index) const;
00045
00046
00047 int close (void);
00048
00049
00050
00051 int open (const ACE_TCHAR *dir,
00052 int (*selector)(const dirent *d) = 0,
00053 int (*comparator)(const dirent **d1, const dirent **d2) = 0);
00054
00055 protected:
00056
00057 dirent **namelist_;
00058
00059
00060 int n_;
00061 };
00062
00063 #if defined (__ACE_INLINE__)
00064 #include "ace/Dirent_Selector.inl"
00065 #endif
00066
00067 #include "ace/post.h"
00068 #endif