gio-0.12.4: Binding to the GIO.

Portabilityportable (depends on GHC)
Stabilityalpha
Maintainergtk2hs-devel@lists.sourceforge.net
Safe HaskellNone

System.GIO.File.FileInfo

Contents

Description

 

Synopsis

Details

Functionality for manipulating basic metadata for files. FileInfo implements methods for getting information that all files should contain, and allows for manipulation of extended attributes.

See FileAttribute for more information on how GIO handles file attributes.

To obtain a FileInfo for a File, use fileQueryInfo. To obtain a FileInfo for a file input or output stream, use fileInputStreamQueryInfo or fileOutputStreamQueryInfo.

To change the actual attributes of a file, you should then set the attribute in the FileInfo and call fileSetAttributesFromInfo on a File.

However, not all attributes can be changed in the file. For instance, the actual size of a file cannot be changed via fileInfoSetSize and fileQueryWritableNamespaces to discover the settable attributes of a particular file at runtime.

FileAttributeMatcher allows for searching through a FileInfo for attributes.

Types

Enums,

Methods

fileInfoNew :: IO FileInfo

Creates a new file info structure.

fileInfoDup :: FileInfoClass info => info -> IO FileInfo

Duplicates a file info structure.

fileInfoCopyInto

Arguments

:: (FileInfoClass srcInfo, FileInfoClass destInfo) 
=> srcInfo

srcInfo source to copy attributes from.

-> destInfo

destInfo destination to copy attributes to.

-> IO () 

Copies all of the FileAttributes from srcInfo to destInfo.

fileInfoHasAttribute

Arguments

:: FileInfoClass info 
=> info 
-> String

attribute a file attribute key.

-> Bool

returns True if Ginfo has an attribute named attribute, False otherwise.

Checks if a file info structure has an attribute named attribute.

fileInfoHasNamespace

Arguments

:: FileInfoClass info 
=> info 
-> String

namespace a file namespace key.

-> Bool

returns True if Ginfo has an namespace named namespace, False otherwise.

Checks if a file info structure has an attribute in the specified nameSpace.

fileInfoListAttributes

Arguments

:: FileInfoClass info 
=> info 
-> String

nameSpace a file attribute key's namespace.

-> IO [String]

returns a array of strings of all of the possible attribute types for the given nameSpace

Lists the file info structure's attributes.

fileInfoGetAttributeType

Arguments

:: FileInfoClass info 
=> info 
-> String

attribute a file attribute key.

-> IO FileAttributeType

returns a FileAttributeType for the given attribute, or FileAttributeTypeInvalid if the key is not set.

Gets the attribute type for an attribute key.

fileInfoRemoveAttribute

Arguments

:: FileInfoClass info 
=> info 
-> String

attribute a file attribute key.

-> IO () 

Removes all cases of attribute from info if it exists.

fileInfoGetAttributeAsString

Arguments

:: FileInfoClass info 
=> info 
-> String

attribute a file attribute key.

-> IO String

returns a UTF-8 string associated with the given attribute.

Gets the value of a attribute, formated as a string. This escapes things as needed to make the string valid utf8.

fileInfoGetAttributeStatus

Arguments

:: FileInfoClass info 
=> info 
-> String

attribute a file attribute key.

-> IO FileAttributeStatus

returns a FileAttributeStatus for the given attribute, or FileAttributeStatusUnset if the key is invalid.

Gets the attribute status for an attribute key.

fileInfoGetAttributeString

Arguments

:: FileInfoClass info 
=> info 
-> String

attribute a file attribute key.

-> IO String

returns the contents of the attribute value as a string

Gets the value of a string attribute.

fileInfoGetAttributeStringList

Arguments

:: FileInfoClass info 
=> info 
-> String

attribute a file attribute key.

-> IO [String]

returns the contents of the attribute value as a string list

Gets the value of a stringv attribute. If the attribute does not contain a stringv

fileInfoGetAttributeByteString

Arguments

:: FileInfoClass info 
=> info 
-> String

attribute a file attribute key.

-> IO ByteString

returns the contents of the attribute value as a ByteString

Gets the value of a byte string attribute.

fileInfoGetAttributeBool

Arguments

:: FileInfoClass info 
=> info 
-> String

attribute a file attribute key.

-> IO Bool

returns the contents of the attribute value as a bool

Gets the value of a boolean attribute.

fileInfoGetAttributeWord32

Arguments

:: FileInfoClass info 
=> info 
-> String

attribute a file attribute key.

-> IO Word32

returns the contents of the attribute value as a bool

Gets an Word32 contained within the attribute.

fileInfoGetAttributeInt32

Arguments

:: FileInfoClass info 
=> info 
-> String

attribute a file attribute key.

-> IO Int32

returns the contents of the attribute value as a bool

Gets an Int32 contained within the attribute.

fileInfoGetAttributeWord64

Arguments

:: FileInfoClass info 
=> info 
-> String

attribute a file attribute key.

-> IO Word64

returns the contents of the attribute value as a bool

Gets an Word64 contained within the attribute.

fileInfoGetAttributeInt64

Arguments

:: FileInfoClass info 
=> info 
-> String

attribute a file attribute key.

-> IO Int64

returns the contents of the attribute value as a bool

Gets an Int64 contained within the attribute.

fileInfoGetAttributeObject

Arguments

:: FileInfoClass info 
=> info 
-> String

attribute a file attribute key.

-> IO (Maybe GObject)

returns the contents of the attribute value as a object

Gets the value of a GObject attribute.

fileInfoSetAttributeStatus

Arguments

:: FileInfoClass info 
=> info 
-> String

attribute a file attribute key

-> FileAttributeStatus

status a FileAttributeStatus

-> IO Bool

returns True if the status was changed, False if the key was not set.

Sets the attribute status for an attribute key. This is only needed by external code that implement fileSetAttributesFromInfo or similar functions.

The attribute must exist in info for this to work. Otherwise False is returned and info is unchanged.

fileInfoSetAttributeString

Arguments

:: FileInfoClass info 
=> info 
-> String

attribute a file attribute key.

-> String

attrValue a string.

-> IO () 

Sets the attribute to contain the given attrValue, if possible.

fileInfoSetAttributeStringList

Arguments

:: FileInfoClass info 
=> info 
-> String

attribute a file attribute key.

-> [String]

attrValue a string.

-> IO () 

Sets the attribute to contain the given attrValue, if possible.

fileInfoSetAttributeByteString

Arguments

:: FileInfoClass info 
=> info 
-> String

attribute a file attribute key.

-> ByteString

attrValue a string.

-> IO () 

Sets the attribute to contain the given attrValue, if possible.

fileInfoSetAttributeBool

Arguments

:: FileInfoClass info 
=> info 
-> String

attribute a file attribute key.

-> Bool

attrValue a string.

-> IO () 

Sets the attribute to contain the given attrValue, if possible.

fileInfoSetAttributeWord32

Arguments

:: FileInfoClass info 
=> info 
-> String

attribute a file attribute key.

-> Word32

attrValue an Word32

-> IO () 

Sets the attribute to contain the given attrValue, if possible.

fileInfoSetAttributeInt32

Arguments

:: FileInfoClass info 
=> info 
-> String

attribute a file attribute key.

-> Int32

attrValue an Int32

-> IO () 

Sets the attribute to contain the given attrValue, if possible.

fileInfoSetAttributeWord64

Arguments

:: FileInfoClass info 
=> info 
-> String

attribute a file attribute key.

-> Word64

attrValue an Word64

-> IO () 

Sets the attribute to contain the given attrValue, if possible.

fileInfoSetAttributeInt64

Arguments

:: FileInfoClass info 
=> info 
-> String

attribute a file attribute key.

-> Int64

attrValue an Int64

-> IO () 

Sets the attribute to contain the given attrValue, if possible.

fileInfoSetAttributeObject :: FileInfoClass info => info -> String -> GObject -> IO ()

Sets the attribute to contain the given attrValue, if possible.

fileInfoClearStatus :: FileInfoClass info => info -> IO ()

Clears the status information from info.

fileInfoGetFileType

Arguments

:: FileInfoClass info 
=> info 
-> FileType

returns a FileType for the given file.

Gets a file's type (whether it is a regular file, symlink, etc). This is different from the file's content type, see fileInfoGetContentType.

fileInfoGetIsHidden

Arguments

:: FileInfoClass info 
=> info 
-> Bool

returns True if the file is a hidden file, False otherwise.

Checks if a file is hidden.

fileInfoGetIsBackup

Arguments

:: FileInfoClass info 
=> info 
-> Bool

returns True if the file is a backup file, False otherwise.

Checks if a file is a backup file.

fileInfoGetIsSymlink

Arguments

:: FileInfoClass info 
=> info 
-> Bool

returns True if the file is a symlink file, False otherwise.

Checks if a file is a symlink file.

fileInfoGetName

Arguments

:: FileInfoClass info 
=> info 
-> Maybe ByteString

returns a string containing the file name.

Gets the name for a file.

fileInfoGetDisplayName

Arguments

:: FileInfoClass info 
=> info 
-> Maybe String

returns a string containing the display name.

Gets the display name for a file.

fileInfoGetEditName

Arguments

:: FileInfoClass info 
=> info 
-> Maybe String

returns a string containing the edit name.

Gets the edit name for a file.

fileInfoGetIcon

Arguments

:: FileInfoClass info 
=> info 
-> IO Icon

returns Icon for the given info.

Gets the icon for a file.

fileInfoGetContentType

Arguments

:: FileInfoClass info 
=> info 
-> Maybe String

returns a string containing the file's content type.

Gets the file's content type.

fileInfoGetModificationTime :: FileInfoClass info => info -> GTimeVal

Gets the modification time of the current info and sets it in result.

fileInfoGetSize

Arguments

:: FileInfoClass info 
=> info 
-> Int64

returns a Offset containing the file's size.

Gets the file's size.

fileInfoGetSymlinkTarget

Arguments

:: FileInfoClass info 
=> info 
-> Maybe String

returns a string containing the symlink target.

Gets the symlink target for a given FileInfo.

fileInfoGetEtag

Arguments

:: FileInfoClass info 
=> info 
-> Maybe String

returns a string containing the value of the etag:value attribute.

Gets the entity tag for a given FileInfo. See FileAttributeEtagValue.

fileInfoGetSortOrder

Arguments

:: FileInfoClass info 
=> info 
-> Int

returns the value of the "standard::sort_order" attribute.

Gets the value of the sortOrder attribute from the FileInfo. See FileAttributeStandardSortOrder.

fileInfoUnsetAttributeMask :: FileInfoClass info => info -> IO ()

Unsets a mask set by fileInfoSetAttributeMask, if one is set.

fileInfoSetFileType :: FileInfoClass info => info -> FileType -> IO ()

Sets the file type in a FileInfo to type. See FileAttributeStandardType.

fileInfoSetIsHidden :: FileInfoClass info => info -> Bool -> IO ()

Sets the isHidden attribute in a FileInfo according to isSymlink. See FileAttributeStandardIsHidden.

fileInfoSetIsSymlink :: FileInfoClass info => info -> Bool -> IO ()

Sets the isSymlink attribute in a FileInfo according to isSymlink. See FileAttributeStandardIsSymlink.

fileInfoSetName :: FileInfoClass info => info -> ByteString -> IO ()

Sets the name attribute for the current FileInfo. See FileAttributeStandardName.

fileInfoSetDisplayName :: FileInfoClass info => info -> String -> IO ()

Sets the display name for the current FileInfo. See FileAttributeStandardDisplayName.

fileInfoSetEditName :: FileInfoClass info => info -> String -> IO ()

Sets the edit name for the current FileInfo. See FileAttributeStandardEditName.

fileInfoSetIcon :: FileInfoClass info => info -> Icon -> IO ()

Sets the icon for a given FileInfo. See FileAttributeStandardIcon.

fileInfoSetContentType

Arguments

:: FileInfoClass info 
=> info 
-> String

contentType a content type. See GContentType.

-> IO () 

Sets the content type attribute for a given FileInfo. See FileAttributeStandardContentType.

fileInfoSetModificationTime :: FileInfoClass info => info -> GTimeVal -> IO ()

Sets the FileAttributeTimeModified attribute in the file info to the given time value.

fileInfoSetSize

Arguments

:: FileInfoClass info 
=> info 
-> Int64

size a goffset containing the file's size.

-> IO () 

Sets the FileAttributeStandardSize attribute in the file info to the given size.

fileInfoSetSortOrder

Arguments

:: FileInfoClass info 
=> info 
-> Int

sortOrder a sort order integer.

-> IO () 

Sets the FileAttributeStandardSymlinkTarget attribute in the file info to the given symlink target. fileInfoSetSymlinkTarget :: FileInfoClass info => info -> String -- ^ symlinkTarget a static string containing a path to a symlink target. -> IO () fileInfoSetSymlinkTarget info symlinkTarget = withUTFString symlinkTarget $ symlinkTargetPtr -> {} (toFileInfo info) symlinkTargetPtr

Sets the sort order attribute in the file info structure. See FileAttributeStandardSortOrder.