gio-0.12.4: Binding to the GIO.

Portability | portable (depends on GHC)
Stability | alpha
Maintainer | gtk2hs-devel@lists.sourceforge.net
Safe Haskell | None

System.GIO.File.FileInfo

Contents

- Details
- Types
- Enums,
- Methods

Description

Synopsis

- newtype FileInfo = FileInfo (ForeignPtr FileInfo)
- class GObjectClass o => FileInfoClass o
- data FileAttributeStatus
  - = FileAttributeStatusUnset
  - | FileAttributeStatusSet
  - | FileAttributeStatusErrorSetting
- fileInfoNew :: IO FileInfo
- fileInfoDup :: FileInfoClass info => info -> IO FileInfo
- fileInfoCopyInto :: (FileInfoClass srcInfo, FileInfoClass destInfo) => srcInfo -> destInfo -> IO ()
- fileInfoHasAttribute :: FileInfoClass info => info -> String -> Bool
- fileInfoHasNamespace :: FileInfoClass info => info -> String -> Bool
- fileInfoListAttributes :: FileInfoClass info => info -> String -> IO [String]
- fileInfoGetAttributeType :: FileInfoClass info => info -> String -> IO FileAttributeType
- fileInfoRemoveAttribute :: FileInfoClass info => info -> String -> IO ()
- fileInfoGetAttributeAsString :: FileInfoClass info => info -> String -> IO String
- fileInfoGetAttributeStatus :: FileInfoClass info => info -> String -> IO FileAttributeStatus
- fileInfoGetAttributeString :: FileInfoClass info => info -> String -> IO String
- fileInfoGetAttributeStringList :: FileInfoClass info => info -> String -> IO [String]
- fileInfoGetAttributeByteString :: FileInfoClass info => info -> String -> IO ByteString
- fileInfoGetAttributeBool :: FileInfoClass info => info -> String -> IO Bool
- fileInfoGetAttributeWord32 :: FileInfoClass info => info -> String -> IO Word32
- fileInfoGetAttributeInt32 :: FileInfoClass info => info -> String -> IO Int32
- fileInfoGetAttributeWord64 :: FileInfoClass info => info -> String -> IO Word64
- fileInfoGetAttributeInt64 :: FileInfoClass info => info -> String -> IO Int64
- fileInfoGetAttributeObject :: FileInfoClass info => info -> String -> IO (Maybe GObject)
- fileInfoSetAttributeStatus :: FileInfoClass info => info -> String -> FileAttributeStatus -> IO Bool
- fileInfoSetAttributeString :: FileInfoClass info => info -> String -> String -> IO ()
- fileInfoSetAttributeStringList :: FileInfoClass info => info -> String -> [String] -> IO ()
- fileInfoSetAttributeByteString :: FileInfoClass info => info -> String -> ByteString -> IO ()
- fileInfoSetAttributeBool :: FileInfoClass info => info -> String -> Bool -> IO ()
- fileInfoSetAttributeWord32 :: FileInfoClass info => info -> String -> Word32 -> IO ()
- fileInfoSetAttributeInt32 :: FileInfoClass info => info -> String -> Int32 -> IO ()
- fileInfoSetAttributeWord64 :: FileInfoClass info => info -> String -> Word64 -> IO ()
- fileInfoSetAttributeInt64 :: FileInfoClass info => info -> String -> Int64 -> IO ()
- fileInfoSetAttributeObject :: FileInfoClass info => info -> String -> GObject -> IO ()
- fileInfoClearStatus :: FileInfoClass info => info -> IO ()
- fileInfoGetFileType :: FileInfoClass info => info -> FileType
- fileInfoGetIsHidden :: FileInfoClass info => info -> Bool
- fileInfoGetIsBackup :: FileInfoClass info => info -> Bool
- fileInfoGetIsSymlink :: FileInfoClass info => info -> Bool
- fileInfoGetName :: FileInfoClass info => info -> Maybe ByteString
- fileInfoGetDisplayName :: FileInfoClass info => info -> Maybe String
- fileInfoGetEditName :: FileInfoClass info => info -> Maybe String
- fileInfoGetIcon :: FileInfoClass info => info -> IO Icon
- fileInfoGetContentType :: FileInfoClass info => info -> Maybe String
- fileInfoGetModificationTime :: FileInfoClass info => info -> GTimeVal
- fileInfoGetSize :: FileInfoClass info => info -> Int64
- fileInfoGetSymlinkTarget :: FileInfoClass info => info -> Maybe String
- fileInfoGetEtag :: FileInfoClass info => info -> Maybe String
- fileInfoGetSortOrder :: FileInfoClass info => info -> Int
- fileInfoUnsetAttributeMask :: FileInfoClass info => info -> IO ()
- fileInfoSetFileType :: FileInfoClass info => info -> FileType -> IO ()
- fileInfoSetIsHidden :: FileInfoClass info => info -> Bool -> IO ()
- fileInfoSetIsSymlink :: FileInfoClass info => info -> Bool -> IO ()
- fileInfoSetName :: FileInfoClass info => info -> ByteString -> IO ()
- fileInfoSetDisplayName :: FileInfoClass info => info -> String -> IO ()
- fileInfoSetEditName :: FileInfoClass info => info -> String -> IO ()
- fileInfoSetIcon :: FileInfoClass info => info -> Icon -> IO ()
- fileInfoSetContentType :: FileInfoClass info => info -> String -> IO ()
- fileInfoSetModificationTime :: FileInfoClass info => info -> GTimeVal -> IO ()
- fileInfoSetSize :: FileInfoClass info => info -> Int64 -> IO ()
- fileInfoSetSortOrder :: FileInfoClass info => info -> Int -> IO ()

# 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

newtype FileInfo

Constructors

FileInfo (ForeignPtr FileInfo) |

Instances

Eq FileInfo |
Ord FileInfo |
GObjectClass FileInfo |
FileInfoClass FileInfo |

class GObjectClass o => FileInfoClass o

Instances

FileInfoClass AppLaunchContext |
FileInfoClass FileInfo |

# Enums,

data FileAttributeStatus

Used by `fileSetAttributesFromInfo` when setting file attributes.

Constructors

FileAttributeStatusUnset |
FileAttributeStatusSet |
FileAttributeStatusErrorSetting |

Instances

Bounded FileAttributeStatus |
Enum FileAttributeStatus |
Eq FileAttributeStatus |
Ord FileAttributeStatus |
Show FileAttributeStatus |
Typeable FileAttributeStatus |

# 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`.