gio-0.13.3.0: Binding to GIO

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

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,

data FileAttributeStatus Source #

Used by fileSetAttributesFromInfo when setting file attributes.

Instances

Bounded FileAttributeStatus Source # 
Enum FileAttributeStatus Source # 
Eq FileAttributeStatus Source # 
Ord FileAttributeStatus Source # 
Show FileAttributeStatus Source # 

Methods

fileInfoNew :: IO FileInfo Source #

Creates a new file info structure.

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

Duplicates a file info structure.

fileInfoCopyInto Source #

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 Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> 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 Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> 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 Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> 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 Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> 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 Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> info 
-> string

attribute a file attribute key.

-> IO () 

Removes all cases of attribute from info if it exists.

fileInfoGetAttributeAsString Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> 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 Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> 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 Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> 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 Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> 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 Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> 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 Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> 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 Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> 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 Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> 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 Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> 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 Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> 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 Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> 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 Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> 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 Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> info 
-> string

attribute a file attribute key.

-> string

attrValue a string.

-> IO () 

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

fileInfoSetAttributeStringList Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> info 
-> string

attribute a file attribute key.

-> [string]

attrValue a string.

-> IO () 

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

fileInfoSetAttributeByteString Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> info 
-> string

attribute a file attribute key.

-> ByteString

attrValue a string.

-> IO () 

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

fileInfoSetAttributeBool Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> info 
-> string

attribute a file attribute key.

-> Bool

attrValue a string.

-> IO () 

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

fileInfoSetAttributeWord32 Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> info 
-> string

attribute a file attribute key.

-> Word32

attrValue an Word32

-> IO () 

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

fileInfoSetAttributeInt32 Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> info 
-> string

attribute a file attribute key.

-> Int32

attrValue an Int32

-> IO () 

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

fileInfoSetAttributeWord64 Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> info 
-> string

attribute a file attribute key.

-> Word64

attrValue an Word64

-> IO () 

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

fileInfoSetAttributeInt64 Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> 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, GlibString string) => 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.

fileInfoGetFileType Source #

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 Source #

Arguments

:: FileInfoClass info 
=> info 
-> Bool

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

Checks if a file is hidden.

fileInfoGetIsBackup Source #

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 Source #

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 Source #

Arguments

:: FileInfoClass info 
=> info 
-> Maybe ByteString

returns a string containing the file name.

Gets the name for a file.

fileInfoGetDisplayName Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> info 
-> Maybe string

returns a string containing the display name.

Gets the display name for a file.

fileInfoGetEditName Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> info 
-> Maybe string

returns a string containing the edit name.

Gets the edit name for a file.

fileInfoGetIcon Source #

Arguments

:: FileInfoClass info 
=> info 
-> IO Icon

returns Icon for the given info.

Gets the icon for a file.

fileInfoGetContentType Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> info 
-> Maybe string

returns a string containing the file's content type.

Gets the file's content type.

fileInfoGetModificationTime :: FileInfoClass info => info -> GTimeVal Source #

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

fileInfoGetSize Source #

Arguments

:: FileInfoClass info 
=> info 
-> Int64

returns a Offset containing the file's size.

Gets the file's size.

fileInfoGetSymlinkTarget Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> info 
-> Maybe string

returns a string containing the symlink target.

Gets the symlink target for a given FileInfo.

fileInfoGetEtag Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> 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 Source #

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, GlibString string) => info -> string -> IO () Source #

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

fileInfoSetEditName :: (FileInfoClass info, GlibString string) => 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.

fileInfoSetContentType Source #

Arguments

:: (FileInfoClass info, GlibString string) 
=> 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.

fileInfoSetSize Source #

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 Source #

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.