glib-0.13.11.0: Binding to the GLIB library for Gtk2Hs.
Maintainergtk2hs-users@lists.sourceforge.net
Stabilityprovisional
Portabilityportable (depends on GHC)
Safe HaskellSafe-Inferred
LanguageHaskell98

System.Glib.UTFString

Description

This module adds CString-like functions that handle UTF8 strings.

Synopsis

Documentation

class (IsString s, Monoid s, Show s) => GlibString s where Source #

Methods

withUTFString :: s -> (CString -> IO a) -> IO a Source #

Like withCString but using the UTF-8 encoding.

withUTFStringLen :: s -> (CStringLen -> IO a) -> IO a Source #

Like withCStringLen but using the UTF-8 encoding.

peekUTFString :: CString -> IO s Source #

Like peekCString but using the UTF-8 encoding.

maybePeekUTFString :: CString -> IO (Maybe s) Source #

Like maybePeek peekCString but using the UTF-8 encoding to retrieve UTF-8 from a CString which may be the nullPtr.

peekUTFStringLen :: CStringLen -> IO s Source #

Like peekCStringLen but using the UTF-8 encoding.

newUTFString :: s -> IO CString Source #

Like newCString but using the UTF-8 encoding.

newUTFStringLen :: s -> IO CStringLen Source #

Like Define newUTFStringLen to emit UTF-8.

genUTFOfs :: s -> UTFCorrection Source #

Create a list of offset corrections.

stringLength :: s -> Int Source #

Length of the string in characters

unPrintf :: s -> s Source #

readUTFString :: GlibString s => CString -> IO s Source #

Like like peekUTFString but then frees the string using g_free

readCString :: CString -> IO String Source #

Like peekCString but then frees the string using g_free.

withUTFStrings :: GlibString s => [s] -> ([CString] -> IO a) -> IO a Source #

Temporarily allocate a list of UTF-8 CStrings.

withUTFStringArray :: GlibString s => [s] -> (Ptr CString -> IO a) -> IO a Source #

Temporarily allocate an array of UTF-8 encoded CStrings.

withUTFStringArray0 :: GlibString s => [s] -> (Ptr CString -> IO a) -> IO a Source #

Temporarily allocate a null-terminated array of UTF-8 encoded CStrings.

peekUTFStringArray :: GlibString s => Int -> Ptr CString -> IO [s] Source #

Convert an array (of the given length) of UTF-8 encoded CStrings to a list of Haskell Strings.

peekUTFStringArray0 :: GlibString s => Ptr CString -> IO [s] Source #

Convert a null-terminated array of UTF-8 encoded CStrings to a list of Haskell Strings.

readUTFStringArray0 :: GlibString s => Ptr CString -> IO [s] Source #

Like peekUTFStringArray0 but then free the string array including all strings.

To be used when functions indicate that their return value should be freed with g_strfreev.

data UTFCorrection Source #

Offset correction for String to UTF8 mapping.

Instances

Instances details
Show UTFCorrection Source # 
Instance details

Defined in System.Glib.UTFString

class fp ~ FilePath => GlibFilePath fp where Source #

Methods

withUTFFilePath :: fp -> (CString -> IO a) -> IO a Source #

peekUTFFilePath :: CString -> IO fp Source #

Instances

Instances details
GlibFilePath FilePath Source # 
Instance details

Defined in System.Glib.UTFString

withUTFFilePaths :: GlibFilePath fp => [fp] -> ([CString] -> IO a) -> IO a Source #

withUTFFilePathArray :: GlibFilePath fp => [fp] -> (Ptr CString -> IO a) -> IO a Source #

withUTFFilePathArray0 :: GlibFilePath fp => [fp] -> (Ptr CString -> IO a) -> IO a Source #