DirectoryList library by Okano-san
Fork of DirectoryList by
DirectoryList.h@0:3cd1685a4c22, 2015-01-23 (annotated)
- Committer:
- okano
- Date:
- Fri Jan 23 22:37:38 2015 +0000
- Revision:
- 0:3cd1685a4c22
- Child:
- 1:0233769f991c
Initial version
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
okano | 0:3cd1685a4c22 | 1 | /** |
okano | 0:3cd1685a4c22 | 2 | * DirectoryList library |
okano | 0:3cd1685a4c22 | 3 | * |
okano | 0:3cd1685a4c22 | 4 | * @author Tedd OKANO |
okano | 0:3cd1685a4c22 | 5 | * @version 0.1 |
okano | 0:3cd1685a4c22 | 6 | * @date Jan-2015 |
okano | 0:3cd1685a4c22 | 7 | * |
okano | 0:3cd1685a4c22 | 8 | * A simple directory listing interface |
okano | 0:3cd1685a4c22 | 9 | */ |
okano | 0:3cd1685a4c22 | 10 | |
okano | 0:3cd1685a4c22 | 11 | #ifndef MBED_DIRECTORY_LIST_H |
okano | 0:3cd1685a4c22 | 12 | #define MBED_DIRECTORY_LIST_H |
okano | 0:3cd1685a4c22 | 13 | |
okano | 0:3cd1685a4c22 | 14 | #include <vector> |
okano | 0:3cd1685a4c22 | 15 | #include <string> |
okano | 0:3cd1685a4c22 | 16 | |
okano | 0:3cd1685a4c22 | 17 | /** DirectoryList class |
okano | 0:3cd1685a4c22 | 18 | * |
okano | 0:3cd1685a4c22 | 19 | * Simple interface to get file name list of directory |
okano | 0:3cd1685a4c22 | 20 | * which is specified by path. |
okano | 0:3cd1685a4c22 | 21 | * |
okano | 0:3cd1685a4c22 | 22 | * The DirectoryList instance will be an object of "std::vector<std::string>". |
okano | 0:3cd1685a4c22 | 23 | * |
okano | 0:3cd1685a4c22 | 24 | * This library works on local strage on mbed as well as on USB strage. |
okano | 0:3cd1685a4c22 | 25 | * (It has not been tested on SD yet.) |
okano | 0:3cd1685a4c22 | 26 | * |
okano | 0:3cd1685a4c22 | 27 | * Example: |
okano | 0:3cd1685a4c22 | 28 | * @code |
okano | 0:3cd1685a4c22 | 29 | * #include "mbed.h" |
okano | 0:3cd1685a4c22 | 30 | * #include "DirectoryList.h" |
okano | 0:3cd1685a4c22 | 31 | * |
okano | 0:3cd1685a4c22 | 32 | * LocalFileSystem local( "local" ); |
okano | 0:3cd1685a4c22 | 33 | * |
okano | 0:3cd1685a4c22 | 34 | * int main(void) |
okano | 0:3cd1685a4c22 | 35 | * { |
okano | 0:3cd1685a4c22 | 36 | * DirectoryList dir( "/local" ); |
okano | 0:3cd1685a4c22 | 37 | * |
okano | 0:3cd1685a4c22 | 38 | * if ( dir.error_check() ) |
okano | 0:3cd1685a4c22 | 39 | * error( "directory could not be opened\r\n" ); |
okano | 0:3cd1685a4c22 | 40 | * |
okano | 0:3cd1685a4c22 | 41 | * for ( int i = 0; i < dir.size(); i++ ) |
okano | 0:3cd1685a4c22 | 42 | * printf( "%s\r\n", dir[ i ].c_str() ); |
okano | 0:3cd1685a4c22 | 43 | * } |
okano | 0:3cd1685a4c22 | 44 | * @endcode |
okano | 0:3cd1685a4c22 | 45 | */ |
okano | 0:3cd1685a4c22 | 46 | |
okano | 0:3cd1685a4c22 | 47 | class DirectoryList : public std::vector<std::string> |
okano | 0:3cd1685a4c22 | 48 | { |
okano | 0:3cd1685a4c22 | 49 | typedef enum { |
okano | 0:3cd1685a4c22 | 50 | NO_ERROR = 0, |
okano | 0:3cd1685a4c22 | 51 | NOT_INITIALIZED, |
okano | 0:3cd1685a4c22 | 52 | ERROR_AT_FILE_OPEN |
okano | 0:3cd1685a4c22 | 53 | } ErrorCode; |
okano | 0:3cd1685a4c22 | 54 | |
okano | 0:3cd1685a4c22 | 55 | public: |
okano | 0:3cd1685a4c22 | 56 | |
okano | 0:3cd1685a4c22 | 57 | /** Create a DirectoryList instance of specified path |
okano | 0:3cd1685a4c22 | 58 | * |
okano | 0:3cd1685a4c22 | 59 | * @param path string which tells directory path |
okano | 0:3cd1685a4c22 | 60 | */ |
okano | 0:3cd1685a4c22 | 61 | DirectoryList( char *path ); |
okano | 0:3cd1685a4c22 | 62 | |
okano | 0:3cd1685a4c22 | 63 | /** Create a DirectoryList instance of specified path |
okano | 0:3cd1685a4c22 | 64 | * |
okano | 0:3cd1685a4c22 | 65 | * @param path string which tells directory path |
okano | 0:3cd1685a4c22 | 66 | */ |
okano | 0:3cd1685a4c22 | 67 | DirectoryList( std::string path ); |
okano | 0:3cd1685a4c22 | 68 | |
okano | 0:3cd1685a4c22 | 69 | /** Destructor of DirectoryList |
okano | 0:3cd1685a4c22 | 70 | */ |
okano | 0:3cd1685a4c22 | 71 | ~DirectoryList(); |
okano | 0:3cd1685a4c22 | 72 | |
okano | 0:3cd1685a4c22 | 73 | /** Error check function |
okano | 0:3cd1685a4c22 | 74 | * |
okano | 0:3cd1685a4c22 | 75 | * @return zero if no error |
okano | 0:3cd1685a4c22 | 76 | */ |
okano | 0:3cd1685a4c22 | 77 | int error_check( void ); |
okano | 0:3cd1685a4c22 | 78 | |
okano | 0:3cd1685a4c22 | 79 | private: |
okano | 0:3cd1685a4c22 | 80 | |
okano | 0:3cd1685a4c22 | 81 | void init( std::string path ); |
okano | 0:3cd1685a4c22 | 82 | int error_flag; |
okano | 0:3cd1685a4c22 | 83 | }; |
okano | 0:3cd1685a4c22 | 84 | |
okano | 0:3cd1685a4c22 | 85 | #endif // MBED_DIRECTORY_LIST_H |