From b4f4029fa306b2753357c5f9c3e53968c3ba8e08 Mon Sep 17 00:00:00 2001 From: Henri Herscher Date: Mon, 19 Feb 2007 19:36:46 +0000 Subject: Moved recursive mkdir function to Utils. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@411 09dcff7a-b715-0410-9601-b79a96267cd0 --- orkbasecxx/Utils.cpp | 20 ++++++++++++++++++++ orkbasecxx/Utils.h | 2 +- orkbasecxx/audiofile/AudioFile.cpp | 20 -------------------- orkbasecxx/audiofile/AudioFile.h | 1 - orkbasecxx/audiofile/LibSndFileFile.cpp | 2 +- orkbasecxx/audiofile/MediaChunkFile.cpp | 3 ++- orkbasecxx/audiofile/PcmFile.cpp | 3 ++- 7 files changed, 26 insertions(+), 25 deletions(-) (limited to 'orkbasecxx') diff --git a/orkbasecxx/Utils.cpp b/orkbasecxx/Utils.cpp index d4e7f8a..d1139ba 100644 --- a/orkbasecxx/Utils.cpp +++ b/orkbasecxx/Utils.cpp @@ -1,6 +1,7 @@ #include "Utils.h" #include "ace/OS_NS_stdio.h" #include "ace/OS_NS_arpa_inet.h" +#include "ace/OS_NS_sys_stat.h" //======================================================== // file related stuff @@ -65,6 +66,25 @@ bool FileCanOpen(CStdString& path) return false; } +void FileRecursiveMkdir(CStdString& path) +{ + int position = 0; + bool done = false; + while (!done) + { + position = path.Find('/', position+1); + if (position == -1) + { + done = true; + } + else + { + CStdString level = path.Left(position); + ACE_OS::mkdir((PCSTR)level); + } + } +} + //===================================================== // Network related stuff diff --git a/orkbasecxx/Utils.h b/orkbasecxx/Utils.h index 0317399..f6d1762 100644 --- a/orkbasecxx/Utils.h +++ b/orkbasecxx/Utils.h @@ -73,7 +73,7 @@ CStdString DLL_IMPORT_EXPORT_ORKBASE FileBaseName(CStdString& path); CStdString DLL_IMPORT_EXPORT_ORKBASE FilePath(CStdString& path); CStdString DLL_IMPORT_EXPORT_ORKBASE FileStripExtension(CStdString& filename); bool DLL_IMPORT_EXPORT_ORKBASE FileCanOpen(CStdString& path); - +void DLL_IMPORT_EXPORT_ORKBASE FileRecursiveMkdir(CStdString& path); //===================================================== diff --git a/orkbasecxx/audiofile/AudioFile.cpp b/orkbasecxx/audiofile/AudioFile.cpp index 7db3ceb..0f12958 100644 --- a/orkbasecxx/audiofile/AudioFile.cpp +++ b/orkbasecxx/audiofile/AudioFile.cpp @@ -19,26 +19,6 @@ void AudioFile::Open(fileOpenModeEnum mode, bool stereo , int sampleRate) Open(m_filename, mode, stereo, sampleRate); } - -void AudioFile::RecursiveMkdir(CStdString& path) -{ - int position = 0; - bool done = false; - while (!done) - { - position = path.Find('/', position+1); - if (position == -1) - { - done = true; - } - else - { - CStdString level = path.Left(position); - ACE_OS::mkdir((PCSTR)level); - } - } -} - void AudioFile::MoveOrig() { CStdString newName = m_filename + ".orig"; diff --git a/orkbasecxx/audiofile/AudioFile.h b/orkbasecxx/audiofile/AudioFile.h index ef43373..cc37e4c 100644 --- a/orkbasecxx/audiofile/AudioFile.h +++ b/orkbasecxx/audiofile/AudioFile.h @@ -58,7 +58,6 @@ public: virtual CStdString GetExtension() = 0; virtual int GetSampleRate(); - static void RecursiveMkdir(CStdString& path); protected: CStdString m_filename; fileOpenModeEnum m_mode; diff --git a/orkbasecxx/audiofile/LibSndFileFile.cpp b/orkbasecxx/audiofile/LibSndFileFile.cpp index 0eba13a..3da3b77 100644 --- a/orkbasecxx/audiofile/LibSndFileFile.cpp +++ b/orkbasecxx/audiofile/LibSndFileFile.cpp @@ -54,7 +54,7 @@ void LibSndFileFile::Open(CStdString& filename, fileOpenModeEnum mode, bool ster throw(CStdString("libsndfile: Selected output format not supported")); } - RecursiveMkdir(m_filename); + FileRecursiveMkdir(m_filename); int sndFileMode; mode == READ ? sndFileMode = SFM_READ : sndFileMode = SFM_WRITE; diff --git a/orkbasecxx/audiofile/MediaChunkFile.cpp b/orkbasecxx/audiofile/MediaChunkFile.cpp index e8fc437..83a1b9d 100644 --- a/orkbasecxx/audiofile/MediaChunkFile.cpp +++ b/orkbasecxx/audiofile/MediaChunkFile.cpp @@ -14,6 +14,7 @@ #include "ConfigManager.h" #include "MediaChunkFile.h" +#include "Utils.h" #define MAX_CHUNK_SIZE 100000 @@ -168,7 +169,7 @@ void MediaChunkFile::Open(CStdString& filename, fileOpenModeEnum mode, bool ster } else { - RecursiveMkdir(m_filename); + FileRecursiveMkdir(m_filename); m_stream = ACE_OS::fopen((PCSTR)m_filename, "wb"); } if(!m_stream) diff --git a/orkbasecxx/audiofile/PcmFile.cpp b/orkbasecxx/audiofile/PcmFile.cpp index 706cb18..7c66cd5 100644 --- a/orkbasecxx/audiofile/PcmFile.cpp +++ b/orkbasecxx/audiofile/PcmFile.cpp @@ -11,6 +11,7 @@ * */ +#include "Utils.h" #include "PcmFile.h" PcmFile::PcmFile() @@ -103,7 +104,7 @@ void PcmFile::Open(CStdString& filename, fileOpenModeEnum mode, bool stereo, int } else { - RecursiveMkdir(m_filename); + FileRecursiveMkdir(m_filename); m_stream = ACE_OS::fopen((PCSTR)m_filename, "wb"); } if(!m_stream) -- cgit v1.2.3