From 6788eea3b896e923c5d28643c07a0a205d55feca Mon Sep 17 00:00:00 2001 From: "David A. Mellis" Date: Sat, 20 Nov 2010 11:01:38 -0500 Subject: [PATCH] Further SD API cleanup. Making file and fileOpenMode private. Removing old functions. --- libraries/SD/SD.cpp | 3 +-- libraries/SD/SD.h | 25 +++++++++++-------------- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/libraries/SD/SD.cpp b/libraries/SD/SD.cpp index 05c130dad..8c9e63dd4 100644 --- a/libraries/SD/SD.cpp +++ b/libraries/SD/SD.cpp @@ -327,8 +327,7 @@ void SDClass::begin(uint8_t csPin) { } -File SDClass::open(char *filepath, - boolean write, boolean append) { +File SDClass::open(char *filepath, boolean write, boolean append) { /* Open the supplied file path for reading or writing. diff --git a/libraries/SD/SD.h b/libraries/SD/SD.h index 5e8d7c9e9..704d0655d 100644 --- a/libraries/SD/SD.h +++ b/libraries/SD/SD.h @@ -12,8 +12,8 @@ */ -#ifndef __MEMORY_CARD_DEVICE_H__ -#define __MEMORY_CARD_DEVICE_H__ +#ifndef __SD_H__ +#define __SD_H__ #include @@ -43,37 +43,34 @@ class SDClass { public: - // This needs to be called to set up the connection to the memory card + // This needs to be called to set up the connection to the SD card // before other methods are used. void begin(uint8_t csPin = SD_CARD_CHIP_SELECT_PIN); // Open the specified file/directory with the supplied mode (e.g. read or - // write, etc). Once opened the file can be accessed via the - // `MemoryCard.file` field which is a standard `sdfatlib` file object. + // write, etc). Returns a File object for interacting with the file. + // Note that currently only one file can be open at a time. File open(char *filename, boolean write = false, boolean append = true); - // Close an opened file object. - //boolean close(); - // Methods to determine if the requested file path exists. boolean exists(char *filepath); - //boolean exists(char *filepath, SdFile& parentDir); // Create the requested directory heirarchy--if intermediate directories // do not exist they will be created. boolean makeDir(char *filepath); - // At the moment this is how a developer interacts with a file they've - // opened. It's unclear whether it would be better to make - // `MemoryCard` provide a `Stream` interface instead. - SdFile file; // TODO: Don't make this public? + private: + SdFile file; // This is used to determine the mode used to open a file // it's here because it's the easiest place to pass the // information through the directory walking function. But // it's probably not the best place for it. // It shouldn't be set directly--it is set via the parameters to `open`. - int fileOpenMode; // TODO: Don't make this public? + int fileOpenMode; + + friend class File; + friend boolean callback_openPath(SdFile&, char *, boolean, void *); }; extern SDClass SD;