o Replaced WIN32 directory scanner with dirent_win.h
[asdcplib.git] / src / KM_fileio.h
index a6970bfb4b2e32996b5ea1888aa3ed41c7b7a1f1..264509a601e8384493ae86b0f57e913b999955d7 100755 (executable)
@@ -1,5 +1,5 @@
 /*
-Copyright (c) 2004-2014, John Hurst
+Copyright (c) 2004-2016, John Hurst
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
@@ -37,6 +37,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 #ifdef KM_WIN32
 # include <io.h>
+# include "dirent_win.h"
 #else
 # include <dirent.h>
 # include <unistd.h>
@@ -55,12 +56,7 @@ namespace Kumu
   class DirScanner
     {
     public:
-#ifdef KM_WIN32
-      __int64               m_Handle;
-      struct _finddatai64_t m_FileInfo;
-#else
       DIR*       m_Handle;
-#endif
 
       DirScanner(void);
       ~DirScanner() { Close(); }
@@ -83,12 +79,7 @@ namespace Kumu
   class DirScannerEx
   {
     std::string m_Dirname;
-#ifdef KM_WIN32
-    __int64               m_Handle;
-    struct _finddatai64_t m_FileInfo;
-#else
     DIR*       m_Handle;
-#endif
 
     KM_NO_COPY_CONSTRUCT(DirScannerEx);
 
@@ -220,7 +211,7 @@ namespace Kumu
   {
   public:
     virtual ~PathMatchAny() {}
-    inline bool Match(const std::string& s) const { return true; }
+    inline bool Match(const std::string&) const { return true; }
   };
 
 #ifndef KM_WIN32
@@ -261,6 +252,8 @@ namespace Kumu
   PathList_t& FindInPaths(const IPathMatch& Pattern, const PathList_t& SearchPaths,
                          PathList_t& FoundPaths, bool one_shot = false, char separator = '/');
 
+  std::string GetExecutablePath(const std::string& default_path);
+
   //------------------------------------------------------------------------------------------
   // Directory Manipulation
   //------------------------------------------------------------------------------------------