]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/file.cpp
WM_MOVE processing added (wxMoveEvent generated)
[wxWidgets.git] / src / common / file.cpp
index 1cdd2bd0fcaa1ce5eb92673dea9a9e7efad91783..48683353e0b8c333b2d40bb45048c8be5d741e74 100644 (file)
@@ -87,6 +87,9 @@
 
   #define   S_IFDIR     _S_IFDIR
   #define   S_IFREG     _S_IFREG
+
+  #define   W_OK        2
+  #define   R_OK        4
 #else
   #define   tell(fd)    lseek(fd, 0, SEEK_CUR)
 #endif  //_MSC_VER
 // ----------------------------------------------------------------------------
 // static functions
 // ----------------------------------------------------------------------------
-bool wxFile::Exists(const char *sz)
+bool wxFile::Exists(const char *name)
 {
   struct stat st;
-  return !access(sz, 0) && !stat(sz, &st) && (st.st_mode & S_IFREG);
+  return !access(name, 0) && !stat(name, &st) && (st.st_mode & S_IFREG);
+}
+
+bool wxFile::Access(const char *name, OpenMode mode)
+{
+  int how;
+
+  switch ( mode ) {
+    case read:
+      how = R_OK;
+      break;
+
+    case write:
+      how = W_OK;
+      break;
+
+    default:
+      wxFAIL_MSG("bad wxFile::Access mode parameter.");
+  }
+
+  return access(name, how) == 0;
 }
 
 // ----------------------------------------------------------------------------