aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/basetypes/MCData.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/basetypes/MCData.h')
-rw-r--r--src/core/basetypes/MCData.h88
1 files changed, 46 insertions, 42 deletions
diff --git a/src/core/basetypes/MCData.h b/src/core/basetypes/MCData.h
index a8f3fe8b..f54cada0 100644
--- a/src/core/basetypes/MCData.h
+++ b/src/core/basetypes/MCData.h
@@ -9,54 +9,58 @@
namespace mailcore {
- class String;
+ class String;
- class Data : public Object {
- public:
- Data();
- Data(int capacity);
- Data(const char * bytes, unsigned int length);
- virtual ~Data();
-
- static Data * data();
- static Data * dataWithCapacity(int capacity);
- static Data * dataWithContentsOfFile(String * filename);
- static Data * dataWithBytes(const char * bytes, unsigned int length);
-
- virtual char * bytes();
- virtual unsigned int length();
-
- virtual void appendData(Data * otherData);
- virtual void appendBytes(const char * bytes, unsigned int length);
- virtual void setBytes(const char * bytes, unsigned int length);
- virtual void setData(Data * otherData);
-
- // Helpers
- virtual String * stringWithDetectedCharset();
- virtual String * stringWithDetectedCharset(String * charset, bool isHTML);
- virtual String * stringWithCharset(const char * charset);
- virtual Data * decodedDataUsingEncoding(Encoding encoding);
+ class Data : public Object {
+ public:
+ Data();
+ Data(int capacity);
+ Data(const char * bytes, unsigned int length);
+ virtual ~Data();
+
+ static Data * data();
+ static Data * dataWithCapacity(int capacity);
+ static Data * dataWithContentsOfFile(String * filename);
+ static Data * dataWithBytes(const char * bytes, unsigned int length);
+
+ virtual char * bytes();
+ virtual unsigned int length();
+
+ virtual void appendData(Data * otherData);
+ virtual void appendBytes(const char * bytes, unsigned int length);
+ virtual void setBytes(const char * bytes, unsigned int length);
+ virtual void setData(Data * otherData);
+
+ // Helpers
+ virtual String * stringWithDetectedCharset();
+ virtual String * stringWithDetectedCharset(String * charset, bool isHTML);
+ virtual String * stringWithCharset(const char * charset);
+ virtual Data * decodedDataUsingEncoding(Encoding encoding);
+
+ virtual String * base64String();
public: // private
- virtual String * charsetWithFilteredHTML(bool filterHTML, String * hintCharset = NULL);
+ virtual String * charsetWithFilteredHTML(bool filterHTML, String * hintCharset = NULL);
public: // subclass behavior
- Data(Data * otherData);
- virtual String * description();
- virtual Object * copy();
- virtual bool isEqual(Object * otherObject);
- virtual unsigned int hash();
+ Data(Data * otherData);
+ virtual String * description();
+ virtual Object * copy();
+ virtual bool isEqual(Object * otherObject);
+ virtual unsigned int hash();
+ virtual HashMap * serializable();
+ virtual void importSerializable(HashMap * serializable);
+
+ private:
+ char * mBytes;
+ unsigned int mLength;
+ unsigned int mAllocated;
+ void allocate(unsigned int length);
+ void reset();
+ static String * normalizeCharset(String * charset);
+ String * charsetWithFilteredHTMLWithoutHint(bool filterHTML);
- private:
- char * mBytes;
- unsigned int mLength;
- unsigned int mAllocated;
- void allocate(unsigned int length);
- void reset();
- static String * normalizeCharset(String * charset);
- String * charsetWithFilteredHTMLWithoutHint(bool filterHTML);
-
- };
+ };
}