[Pkg-haskell-commits] [SCM] haskell-testpack branch, master, updated. debian/1.0.2-1-4-gb0d6b36

John Goerzen jgoerzen at complete.org
Fri Apr 23 14:51:25 UTC 2010


The following commit has been merged in the master branch:
commit ec3acf571e70194e40e8093016116dfaa4d1ed83
Author: John Goerzen <jgoerzen at complete.org>
Date:   Mon Dec 20 22:03:58 2004 +0100

    Checkpointing -- initial interface done
    
    Keywords:
    
    
    (jgoerzen at complete.org--projects/missingh--head--0.7--patch-88)

diff --git a/ChangeLog b/ChangeLog
index 3410727..29512b6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,18 @@
 # arch-tag: automatic-ChangeLog--jgoerzen at complete.org--projects/missingh--head--0.7
 #
 
+2004-12-20 15:03:58 GMT	John Goerzen <jgoerzen at complete.org>	patch-88
+
+    Summary:
+      Checkpointing -- initial interface done
+    Revision:
+      missingh--head--0.7--patch-88
+
+
+    modified files:
+     ChangeLog libsrc/MissingH/IO/HVFS.hs
+
+
 2004-12-20 14:44:49 GMT	John Goerzen <jgoerzen at complete.org>	patch-87
 
     Summary:
diff --git a/libsrc/MissingH/IO/HVFS.hs b/libsrc/MissingH/IO/HVFS.hs
index 4a784f2..1a079c1 100644
--- a/libsrc/MissingH/IO/HVFS.hs
+++ b/libsrc/MissingH/IO/HVFS.hs
@@ -33,25 +33,58 @@ Copyright (c) 2004 John Goerzen, jgoerzen\@complete.org
 -}
 
 module MissingH.IO.HVFS(-- * Implementation Classes
+                        HVFS, HVFSStat,
+                        -- * Re-exported types from other modules
+                        FilePath, DeviceID, FileID, FileMode, LinkCount,
+                        UserID, GroupID, FileOffset, EpochTime,
+                        
                     )
 where
 
 import MissingH.IO.HVIO
 import System.IO
+import System.Posix.Files
+import System.Posix.Types
+import System.Time
 
-class HVFSGeneric a where
+class HVFSStat b where
+    vDeviceID :: b -> DeviceID
+    vFileID :: b -> FileID
+    vFileMode :: b -> FileMode
+    vLinkCount :: b -> LinkCount
+    vFileOwner :: b -> UserID
+    vFileGroup :: b -> GroupID
+    vSpecialDeviceID :: b -> DeviceID
+    vFileSize :: b -> FileOffset
+    vAccessTime :: b -> EpochTime
+    vModificationTime :: b -> EpochTime
+    vStatusChangeTime :: b -> EpochTime
+    vIsBlockDevice :: b -> Bool
+    vIsCharacterDevice :: b -> Bool
+    vIsNamedPipe :: b -> Bool
+    vIsRegularFile :: b -> Bool
+    vIsDirectory :: b -> Bool
+    vIsSymbolicLink :: b -> Bool
+    vIsSocket :: b -> Bool
+
+class HVFS a where
     vGetCurrentDirectory :: a -> IO FilePath
     vSetCurrentDirectory :: a -> FilePath -> IO ()
-
-class HVFSGeneric a => HVFSReader a where
     vGetDirectoryContents :: a -> FilePath -> IO [FilePath]
     vDoesFileExist :: a -> FilePath -> IO Bool
     vDoesDirectoryExist :: a -> FilePath -> IO Bool
-    
-class HVFSGeneric a => HVFSWriter a where
     vCreateDirectory :: a -> FilePath -> IO ()
     vRemoveDirectory :: a -> FilePath -> IO ()
     vRenameDirectory :: a -> FilePath -> FilePath -> IO ()
     vRemoveFile :: a -> FilePath -> IO ()
     vRenameFile :: a -> FilePath -> FilePath -> IO ()
-    
\ No newline at end of file
+    vGetFileStatus :: HVFSStat b => a -> FilePath -> IO b
+    vGetSymbolicLinkStatus :: HVFSStat b => a -> FilePath -> IO b
+    vGetModificationTime :: a -> FilePath -> IO ClockTime
+
+class (HVFS a, HVIOGeneric b) => HVFSOpenable a b where
+    vOpen :: a -> FilePath -> IO b
+
+----------------------------------------------------------------------
+-- Standard implementations
+----------------------------------------------------------------------

-- 
haskell-testpack



More information about the Pkg-haskell-commits mailing list