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 FileInfoSource

Creates a new file info structure.

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

Duplicates a file info structure.

fileInfoCopyIntoSource

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.

fileInfoHasAttributeSource

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.

fileInfoHasNamespaceSource

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.

fileInfoListAttributesSource

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.

fileInfoGetAttributeTypeSource

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.

fileInfoRemoveAttributeSource

Arguments

:: FileInfoClass info 
=> info 
-> String

attribute a file attribute key.

-> IO () 

Removes all cases of attribute from info if it exists.

fileInfoGetAttributeAsStringSource

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.

fileInfoGetAttributeStatusSource

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.

fileInfoGetAttributeStringSource

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.

fileInfoGetAttributeStringListSource

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

fileInfoGetAttributeByteStringSource

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.

fileInfoGetAttributeBoolSource

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.

fileInfoGetAttributeWord32Source

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.

fileInfoGetAttributeInt32Source

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.

fileInfoGetAttributeWord64Source

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.

fileInfoGetAttributeInt64Source

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.

fileInfoGetAttributeObjectSource

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.

fileInfoSetAttributeStatusSource

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.

fileInfoSetAttributeStringSource

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.

fileInfoSetAttributeStringListSource

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.

fileInfoSetAttributeByteStringSource

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.

fileInfoSetAttributeBoolSource

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.

fileInfoSetAttributeWord32Source

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.

fileInfoSetAttributeInt32Source

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.

fileInfoSetAttributeWord64Source

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.

fileInfoSetAttributeInt64Source

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 ()Source

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

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

Clears the status information from info.

fileInfoGetFileTypeSource

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.

fileInfoGetIsHiddenSource

Arguments

:: FileInfoClass info 
=> info 
-> Bool

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

Checks if a file is hidden.

fileInfoGetIsBackupSource

Arguments

:: FileInfoClass info 
=> info 
-> Bool

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

Checks if a file is a backup file.

fileInfoGetIsSymlinkSource

Arguments

:: FileInfoClass info 
=> info 
-> Bool

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

Checks if a file is a symlink file.

fileInfoGetNameSource

Arguments

:: FileInfoClass info 
=> info 
-> Maybe ByteString

returns a string containing the file name.

Gets the name for a file.

fileInfoGetDisplayNameSource

Arguments

:: FileInfoClass info 
=> info 
-> Maybe String

returns a string containing the display name.

Gets the display name for a file.

fileInfoGetEditNameSource

Arguments

:: FileInfoClass info 
=> info 
-> Maybe String

returns a string containing the edit name.

Gets the edit name for a file.

fileInfoGetIconSource

Arguments

:: FileInfoClass info 
=> info 
-> IO Icon

returns Icon for the given info.

Gets the icon for a file.

fileInfoGetContentTypeSource

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 -> GTimeValSource

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

fileInfoGetSizeSource

Arguments

:: FileInfoClass info 
=> info 
-> Int64

returns a Offset containing the file's size.

Gets the file's size.

fileInfoGetSymlinkTargetSource

Arguments

:: FileInfoClass info 
=> info 
-> Maybe String

returns a string containing the symlink target.

Gets the symlink target for a given FileInfo.

fileInfoGetEtagSource

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.

fileInfoGetSortOrderSource

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 ()Source

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Sets the icon for a given FileInfo. See FileAttributeStandardIcon.

fileInfoSetContentTypeSource

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 ()Source

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

fileInfoSetSizeSource

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.

fileInfoSetSortOrderSource

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.