{-# OPTIONS_GHC -optc-D__GLASGOW_HASKELL__=606 #-} {-# OPTIONS_GHC -optc-DDARWIN #-} {-# OPTIONS_GHC -optc-DSIGPROCMASK_SETS_THREAD_MASK #-} {-# INCLUDE "HsSVN.h" #-} {-# LINE 1 "Subversion/FileSystem/DirEntry.hsc" #-} {- -*- haskell -*- -} {-# LINE 2 "Subversion/FileSystem/DirEntry.hsc" #-} -- |This module only defines the 'DirEntry' type. {-# LINE 6 "Subversion/FileSystem/DirEntry.hsc" #-} module Subversion.FileSystem.DirEntry ( DirEntry(..) ) where import Foreign.C.String import Foreign.Storable import Subversion.Hash import Subversion.Types -- |The type of a Subversion directory entry. -- -- Note that @svn_fs_dirent_t.id@ is currently unavailable in this -- binding. Add one if you really need it. data DirEntry = DirEntry { entName :: String -- ^ The name of this directory entry. , entKind :: NodeKind -- ^ The node kind. } deriving (Show, Eq) instance HashValue DirEntry where marshal ent = fail "marshalling DirEntry is not supported" unmarshal finalizer entPtr = do namePtr <- ((\hsc_ptr -> peekByteOff hsc_ptr 0)) entPtr {-# LINE 35 "Subversion/FileSystem/DirEntry.hsc" #-} name <- peekCString namePtr kind <- ((\hsc_ptr -> peekByteOff hsc_ptr 8)) entPtr {-# LINE 37 "Subversion/FileSystem/DirEntry.hsc" #-} finalizer return DirEntry { entName = name , entKind = unmarshalNodeKind kind }