/*----------------------------------------------------------------------------- * osd_readdir: return information about the next entry in the directory * * Parameters: * * dir - pointer to an osd_directory that was returned from a prior * call to osd_opendir * * Return value: * * a constant pointer to an osd_directory_entry representing the current item * in the directory, or NULL, indicating that no more entries are * present * -----------------------------------------------------------------------------*/ public override osd_directory_entry osd_readdir(osd_directory dir) { osd_directory_WinForms dirWinForms = (osd_directory_WinForms)dir; if (dirWinForms.m_directoryIdx < dirWinForms.m_directories.Length) { osd_directory_entry entry = new osd_directory_entry(); entry.name = dirWinForms.m_directories[dirWinForms.m_directoryIdx++].Name; entry.type = osd_dir_entry_type.ENTTYPE_DIR; return(entry); } else if (dirWinForms.m_fileIdx < dirWinForms.m_files.Length) { osd_directory_entry entry = new osd_directory_entry(); entry.name = dirWinForms.m_files[dirWinForms.m_fileIdx++].Name; entry.type = osd_dir_entry_type.ENTTYPE_FILE; return(entry); } else { return(null); } }
/*----------------------------------------------------------------------------- * osd_closedir: close an open directory for iteration * * Parameters: * * dir - pointer to an osd_directory that was returned from a prior * call to osd_opendir * * Return value: * * frees any allocated memory and resources associated with the open * directory * -----------------------------------------------------------------------------*/ public override void osd_closedir(osd_directory dir) { }