From 434e29032fdbff103182aa97bb66af48332f9dc8 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Mon, 16 Jul 2007 20:38:42 +0000 Subject: [PATCH] add wxUSE_BASE64 checks around DoRead/WriteBinary() functions git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/confbase.h | 10 +++++++++- include/wx/fileconf.h | 4 ++++ src/common/fileconf.cpp | 8 ++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/include/wx/confbase.h b/include/wx/confbase.h index 58f3b646fb..39d06305b8 100644 --- a/include/wx/confbase.h +++ b/include/wx/confbase.h @@ -178,10 +178,12 @@ public: bool Read(const wxString& key, bool* val) const; bool Read(const wxString& key, bool* val, bool defVal) const; +#if wxUSE_BASE64 // read a binary data block bool Read(const wxString& key, wxMemoryBuffer* data) const - { return DoReadBinary(key, data); } + { return DoReadBinary(key, data); } // no default version since it does not make sense for binary data +#endif // wxUSE_BASE64 // convenience functions returning directly the value (we don't have them for // int/double/bool as there would be ambiguities with the long one then) @@ -208,8 +210,10 @@ public: bool Write(const wxString& key, bool value) { return DoWriteBool(key, value); } +#if wxUSE_BASE64 bool Write(const wxString& key, const wxMemoryBuffer& buf) { return DoWriteBinary(key, buf); } +#endif // wxUSE_BASE64 // we have to provide a separate version for C strings as otherwise they // would be converted to bool and not to wxString as expected! @@ -282,14 +286,18 @@ protected: virtual bool DoReadInt(const wxString& key, int *pi) const; virtual bool DoReadDouble(const wxString& key, double* val) const; virtual bool DoReadBool(const wxString& key, bool* val) const; +#if wxUSE_BASE64 virtual bool DoReadBinary(const wxString& key, wxMemoryBuffer* buf) const = 0; +#endif // wxUSE_BASE64 virtual bool DoWriteString(const wxString& key, const wxString& value) = 0; virtual bool DoWriteLong(const wxString& key, long value) = 0; virtual bool DoWriteInt(const wxString& key, int value); virtual bool DoWriteDouble(const wxString& key, double value); virtual bool DoWriteBool(const wxString& key, bool value); +#if wxUSE_BASE64 virtual bool DoWriteBinary(const wxString& key, const wxMemoryBuffer& buf) = 0; +#endif // wxUSE_BASE64 private: // are we doing automatic environment variable expansion? diff --git a/include/wx/fileconf.h b/include/wx/fileconf.h index 276ad96f8a..accb4e6fac 100644 --- a/include/wx/fileconf.h +++ b/include/wx/fileconf.h @@ -194,11 +194,15 @@ public: protected: virtual bool DoReadString(const wxString& key, wxString *pStr) const; virtual bool DoReadLong(const wxString& key, long *pl) const; +#if wxUSE_BASE64 virtual bool DoReadBinary(const wxString& key, wxMemoryBuffer* buf) const; +#endif // wxUSE_BASE64 virtual bool DoWriteString(const wxString& key, const wxString& szValue); virtual bool DoWriteLong(const wxString& key, long lValue); +#if wxUSE_BASE64 virtual bool DoWriteBinary(const wxString& key, const wxMemoryBuffer& buf); +#endif // wxUSE_BASE64 private: // GetXXXFileName helpers: return ('/' terminated) directory names diff --git a/src/common/fileconf.cpp b/src/common/fileconf.cpp index 229e7a8b8d..7a82bf45ae 100644 --- a/src/common/fileconf.cpp +++ b/src/common/fileconf.cpp @@ -918,6 +918,8 @@ bool wxFileConfig::DoReadLong(const wxString& key, long *pl) const return str.ToLong(pl); } +#if wxUSE_BASE64 + bool wxFileConfig::DoReadBinary(const wxString& key, wxMemoryBuffer* buf) const { wxCHECK_MSG( buf, false, _T("NULL buffer") ); @@ -930,6 +932,8 @@ bool wxFileConfig::DoReadBinary(const wxString& key, wxMemoryBuffer* buf) const return true; } +#endif // wxUSE_BASE64 + bool wxFileConfig::DoWriteString(const wxString& key, const wxString& szValue) { wxConfigPathChanger path(this, key); @@ -995,11 +999,15 @@ bool wxFileConfig::DoWriteLong(const wxString& key, long lValue) return Write(key, wxString::Format(_T("%ld"), lValue)); } +#if wxUSE_BASE64 + bool wxFileConfig::DoWriteBinary(const wxString& key, const wxMemoryBuffer& buf) { return Write(key, wxBase64Encode(buf)); } +#endif // wxUSE_BASE64 + bool wxFileConfig::Flush(bool /* bCurrentOnly */) { if ( !IsDirty() || !m_fnLocalFile.GetFullPath() ) -- 2.45.2