diff options
author | weidai <weidai11@users.noreply.github.com> | 2009-07-11 01:48:12 +0000 |
---|---|---|
committer | weidai <weidai11@users.noreply.github.com> | 2009-07-11 01:48:12 +0000 |
commit | 92718c4754c21d77de7309609758d5de578e22b9 (patch) | |
tree | 4315ffeaf27d7ecbe96c9cf2bf595ecdfb748900 /files.h | |
parent | 1f00d79595c8d9a978c6a64ace603c3046b7a653 (diff) | |
download | cryptopp-git-92718c4754c21d77de7309609758d5de578e22b9.tar.gz |
handle Unicode filenames
Diffstat (limited to 'files.h')
-rw-r--r-- | files.h | 17 |
1 files changed, 16 insertions, 1 deletions
@@ -27,6 +27,11 @@ public: {StoreInitialize(MakeParameters(Name::InputStreamPointer(), &in));} FileStore(const char *filename) {StoreInitialize(MakeParameters(Name::InputFileName(), filename));} +#if defined(CRYPTOPP_UNIX_AVAILABLE) || _MSC_VER >= 1400 + //! specify file with Unicode name. On non-Windows OS, this function assumes that setlocale() has been called. + FileStore(const wchar_t *filename) + {StoreInitialize(MakeParameters(Name::InputFileNameWide(), filename));} +#endif std::istream* GetStream() {return m_stream;} @@ -59,6 +64,11 @@ public: : SourceTemplate<FileStore>(attachment) {SourceInitialize(pumpAll, MakeParameters(Name::InputStreamPointer(), &in));} FileSource(const char *filename, bool pumpAll, BufferedTransformation *attachment = NULL, bool binary=true) : SourceTemplate<FileStore>(attachment) {SourceInitialize(pumpAll, MakeParameters(Name::InputFileName(), filename)(Name::InputBinaryMode(), binary));} +#if defined(CRYPTOPP_UNIX_AVAILABLE) || _MSC_VER >= 1400 + //! specify file with Unicode name. On non-Windows OS, this function assumes that setlocale() has been called. + FileSource(const wchar_t *filename, bool pumpAll, BufferedTransformation *attachment = NULL, bool binary=true) + : SourceTemplate<FileStore>(attachment) {SourceInitialize(pumpAll, MakeParameters(Name::InputFileNameWide(), filename)(Name::InputBinaryMode(), binary));} +#endif std::istream* GetStream() {return m_store.GetStream();} }; @@ -79,7 +89,12 @@ public: FileSink(std::ostream &out) {IsolatedInitialize(MakeParameters(Name::OutputStreamPointer(), &out));} FileSink(const char *filename, bool binary=true) - {IsolatedInitialize(MakeParameters(Name::OutputFileName(), filename)("OutputBinaryMode", binary));} + {IsolatedInitialize(MakeParameters(Name::OutputFileName(), filename)(Name::OutputBinaryMode(), binary));} +#if defined(CRYPTOPP_UNIX_AVAILABLE) || _MSC_VER >= 1400 + //! specify file with Unicode name. On non-Windows OS, this function assumes that setlocale() has been called. + FileSink(const wchar_t *filename, bool binary=true) + {IsolatedInitialize(MakeParameters(Name::OutputFileNameWide(), filename)(Name::OutputBinaryMode(), binary));} +#endif std::ostream* GetStream() {return m_stream;} |