diff options
-rw-r--r-- | src/core/basetypes/MCData.cpp | 10 | ||||
-rw-r--r-- | src/core/basetypes/MCData.h | 2 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/core/basetypes/MCData.cpp b/src/core/basetypes/MCData.cpp index 8b689036..be4497a7 100644 --- a/src/core/basetypes/MCData.cpp +++ b/src/core/basetypes/MCData.cpp @@ -718,6 +718,16 @@ void Data::importSerializable(HashMap * serializable) setData(((String *) (serializable->objectForKey(MCSTR("data"))))->decodedBase64Data()); } +ErrorCode Data::writeToFile(String * filename) +{ + FILE * f = fopen(filename->fileSystemRepresentation(), "wb"); + size_t result = fwrite(bytes(), length(), 1, f); + if (result == 0) { + return ErrorFile; + } + return ErrorNone; +} + #if __APPLE__ static CFStringEncoding encodingFromCString(const char * charset) { diff --git a/src/core/basetypes/MCData.h b/src/core/basetypes/MCData.h index bec75008..0bb1bc07 100644 --- a/src/core/basetypes/MCData.h +++ b/src/core/basetypes/MCData.h @@ -44,6 +44,8 @@ namespace mailcore { virtual Data * decodedDataUsingEncoding(Encoding encoding); virtual String * base64String(); + + virtual ErrorCode writeToFile(String * filename); public: // private virtual String * charsetWithFilteredHTML(bool filterHTML, String * hintCharset = NULL); |