mbed library sources
Fork of mbed-src by
Diff: cpp/FileSystemLike.h
- Revision:
- 2:143cac498751
- Parent:
- 1:62685faffa05
--- a/cpp/FileSystemLike.h Thu Nov 29 15:41:14 2012 +0000 +++ b/cpp/FileSystemLike.h Mon Feb 18 11:44:18 2013 +0000 @@ -1,42 +1,24 @@ /* mbed Microcontroller Library - * Copyright (c) 2006-2012 ARM Limited + * Copyright (c) 2006-2013 ARM Limited * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. + * http://www.apache.org/licenses/LICENSE-2.0 * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ #ifndef MBED_FILESYSTEMLIKE_H #define MBED_FILESYSTEMLIKE_H -#ifdef __ARMCC_VERSION -# define O_RDONLY 0 -# define O_WRONLY 1 -# define O_RDWR 2 -# define O_CREAT 0x0200 -# define O_TRUNC 0x0400 -# define O_APPEND 0x0008 -typedef int mode_t; - -#else -# include <sys/fcntl.h> -#endif - #include "platform.h" +#include "FileBase.h" #include "FileHandle.h" #include "DirHandle.h" @@ -48,7 +30,7 @@ * Implementations must define at least open (the default definitions * of the rest of the functions just return error values). */ -class FileSystemLike { +class FileSystemLike : public FileBase { public: /** FileSystemLike constructor @@ -56,21 +38,12 @@ * @param name The name to use for the filesystem. */ FileSystemLike(const char *name); - + virtual ~FileSystemLike(); - - /* Function lookup - * Lookup and return the object that has the given name. - * - * Variables - * name - the name to lookup. - * len - the length of name. - */ - static FileSystemLike *lookup(const char *name, unsigned int len); - + static DirHandle *opendir(); friend class BaseDirHandle; - + /** Opens a file from the filesystem * * @param filename The name of the file to open. @@ -124,23 +97,6 @@ virtual int mkdir(const char *name, mode_t mode) { return -1; } // TODO other filesystem functions (mkdir, rm, rn, ls etc) - -protected: - static FileSystemLike *_head; - FileSystemLike *_next; - const char *_name; -}; - -class FilePath { -public: - FilePath(const char* file_path); - - const char* fileName(void); - FileSystemLike* fileSystem(void); - -private: - const char* file_name; - FileSystemLike* fs; }; } // namespace mbed