Portability | portable (depends on GHC) |
---|---|
Stability | alpha |
Maintainer | gtk2hs-devel@lists.sourceforge.net |
Safe Haskell | None |
- newtype FileInfo = FileInfo (ForeignPtr FileInfo)
- class GObjectClass o => FileInfoClass o
- data FileAttributeStatus
- 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
Enums,
data FileAttributeStatus Source
Used by fileSetAttributesFromInfo
when setting file attributes.
Methods
fileInfoNew :: IO FileInfoSource
Creates a new file info structure.
fileInfoDup :: FileInfoClass info => info -> IO FileInfoSource
Duplicates a file info structure.
:: (FileInfoClass srcInfo, FileInfoClass destInfo) | |
=> srcInfo |
|
-> destInfo |
|
-> IO () |
Copies all of the FileAttributes
from srcInfo
to destInfo
.
:: FileInfoClass info | |
=> info | |
-> String |
|
-> Bool | returns |
Checks if a file info structure has an attribute named attribute.
:: FileInfoClass info | |
=> info | |
-> String |
|
-> Bool | returns |
Checks if a file info structure has an attribute in the specified nameSpace
.
:: FileInfoClass info | |
=> info | |
-> String |
|
-> IO [String] | returns a array of strings of all of the possible attribute types for the given |
Lists the file info structure's attributes.
fileInfoGetAttributeTypeSource
:: FileInfoClass info | |
=> info | |
-> String |
|
-> IO FileAttributeType | returns a |
Gets the attribute type for an attribute key.
:: FileInfoClass info | |
=> info | |
-> String |
|
-> IO () |
Removes all cases of attribute from info if it exists.
fileInfoGetAttributeAsStringSource
:: FileInfoClass info | |
=> info | |
-> String |
|
-> 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
:: FileInfoClass info | |
=> info | |
-> String |
|
-> IO FileAttributeStatus | returns a |
Gets the attribute status for an attribute key.
fileInfoGetAttributeStringSource
:: FileInfoClass info | |
=> info | |
-> String |
|
-> IO String | returns the contents of the attribute value as a string |
Gets the value of a string attribute.
fileInfoGetAttributeStringListSource
:: FileInfoClass info | |
=> info | |
-> String |
|
-> 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
:: FileInfoClass info | |
=> info | |
-> String |
|
-> IO ByteString | returns the contents of the attribute value as a ByteString |
Gets the value of a byte string attribute.
fileInfoGetAttributeBoolSource
:: FileInfoClass info | |
=> info | |
-> String |
|
-> IO Bool | returns the contents of the attribute value as a bool |
Gets the value of a boolean attribute.
fileInfoGetAttributeWord32Source
:: FileInfoClass info | |
=> info | |
-> String |
|
-> IO Word32 | returns the contents of the attribute value as a bool |
Gets an Word32 contained within the attribute.
fileInfoGetAttributeInt32Source
:: FileInfoClass info | |
=> info | |
-> String |
|
-> IO Int32 | returns the contents of the attribute value as a bool |
Gets an Int32 contained within the attribute.
fileInfoGetAttributeWord64Source
:: FileInfoClass info | |
=> info | |
-> String |
|
-> IO Word64 | returns the contents of the attribute value as a bool |
Gets an Word64 contained within the attribute.
fileInfoGetAttributeInt64Source
:: FileInfoClass info | |
=> info | |
-> String |
|
-> IO Int64 | returns the contents of the attribute value as a bool |
Gets an Int64 contained within the attribute.
fileInfoGetAttributeObjectSource
:: FileInfoClass info | |
=> info | |
-> String |
|
-> IO (Maybe GObject) | returns the contents of the attribute value as a object |
Gets the value of a GObject attribute.
fileInfoSetAttributeStatusSource
:: FileInfoClass info | |
=> info | |
-> String |
|
-> FileAttributeStatus |
|
-> IO Bool | returns |
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
:: FileInfoClass info | |
=> info | |
-> String |
|
-> String |
|
-> IO () |
Sets the attribute to contain the given attrValue
, if possible.
fileInfoSetAttributeStringListSource
:: FileInfoClass info | |
=> info | |
-> String |
|
-> [String] |
|
-> IO () |
Sets the attribute to contain the given attrValue
, if possible.
fileInfoSetAttributeByteStringSource
:: FileInfoClass info | |
=> info | |
-> String |
|
-> ByteString |
|
-> IO () |
Sets the attribute to contain the given attrValue
, if possible.
fileInfoSetAttributeBoolSource
:: FileInfoClass info | |
=> info | |
-> String |
|
-> Bool |
|
-> IO () |
Sets the attribute to contain the given attrValue
, if possible.
fileInfoSetAttributeWord32Source
:: FileInfoClass info | |
=> info | |
-> String |
|
-> Word32 |
|
-> IO () |
Sets the attribute to contain the given attrValue
, if possible.
fileInfoSetAttributeInt32Source
:: FileInfoClass info | |
=> info | |
-> String |
|
-> Int32 |
|
-> IO () |
Sets the attribute to contain the given attrValue
, if possible.
fileInfoSetAttributeWord64Source
:: FileInfoClass info | |
=> info | |
-> String |
|
-> Word64 |
|
-> IO () |
Sets the attribute to contain the given attrValue
, if possible.
fileInfoSetAttributeInt64Source
:: FileInfoClass info | |
=> info | |
-> String |
|
-> 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.
:: FileInfoClass info | |
=> info | |
-> FileType | returns a |
Gets a file's type (whether it is a regular file, symlink, etc). This is different from the file's
content type, see fileInfoGetContentType
.
:: FileInfoClass info | |
=> info | |
-> Bool |
Checks if a file is hidden.
:: FileInfoClass info | |
=> info | |
-> Bool |
Checks if a file is a backup file.
:: FileInfoClass info | |
=> info | |
-> Bool | returns |
Checks if a file is a symlink file.
:: FileInfoClass info | |
=> info | |
-> Maybe ByteString | returns a string containing the file name. |
Gets the name for a file.
:: FileInfoClass info | |
=> info | |
-> Maybe String | returns a string containing the display name. |
Gets the display name for a file.
:: FileInfoClass info | |
=> info | |
-> Maybe String | returns a string containing the edit name. |
Gets the edit name for a file.
:: FileInfoClass info | |
=> info | |
-> IO Icon | returns |
Gets the icon for a file.
:: 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.
:: FileInfoClass info | |
=> info | |
-> Int64 | returns a |
Gets the file's size.
fileInfoGetSymlinkTargetSource
:: FileInfoClass info | |
=> info | |
-> Maybe String | returns a string containing the symlink target. |
Gets the symlink target for a given FileInfo
.
:: 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
.
:: 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
.
:: FileInfoClass info | |
=> info | |
-> String |
|
-> 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.
:: FileInfoClass info | |
=> info | |
-> Int64 |
|
-> IO () |
Sets the FileAttributeStandardSize
attribute in the file info to the given size.
:: FileInfoClass info | |
=> info | |
-> Int |
|
-> 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
.