{-# LINE 1 "./System/Glib/Utils.chs" #-}
module System.Glib.Utils
( getApplicationName
, setApplicationName
, getProgramName
, setProgramName
) where
import System.Glib.FFI
import System.Glib.UTFString
{-# LINE 37 "./System/Glib/Utils.chs" #-}
getApplicationName :: GlibString string => IO (Maybe string)
getApplicationName :: forall string. GlibString string => IO (Maybe string)
getApplicationName = IO (Ptr CChar)
g_get_application_name IO (Ptr CChar)
-> (Ptr CChar -> IO (Maybe string)) -> IO (Maybe string)
forall a b. IO a -> (a -> IO b) -> IO b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (Ptr CChar -> IO string) -> Ptr CChar -> IO (Maybe string)
forall a b. (Ptr a -> IO b) -> Ptr a -> IO (Maybe b)
maybePeek Ptr CChar -> IO string
forall s. GlibString s => Ptr CChar -> IO s
peekUTFString
setApplicationName :: GlibString string => string -> IO ()
setApplicationName :: forall string. GlibString string => string -> IO ()
setApplicationName = (string -> (Ptr CChar -> IO ()) -> IO ())
-> (Ptr CChar -> IO ()) -> string -> IO ()
forall a b c. (a -> b -> c) -> b -> a -> c
flip string -> (Ptr CChar -> IO ()) -> IO ()
forall a. string -> (Ptr CChar -> IO a) -> IO a
forall s a. GlibString s => s -> (Ptr CChar -> IO a) -> IO a
withUTFString Ptr CChar -> IO ()
g_set_application_name
{-# LINE 64 "./System/Glib/Utils.chs" #-}
getProgramName :: GlibString string => IO (Maybe string)
getProgramName :: forall string. GlibString string => IO (Maybe string)
getProgramName = IO (Ptr CChar)
g_get_prgname IO (Ptr CChar)
-> (Ptr CChar -> IO (Maybe string)) -> IO (Maybe string)
forall a b. IO a -> (a -> IO b) -> IO b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (Ptr CChar -> IO string) -> Ptr CChar -> IO (Maybe string)
forall a b. (Ptr a -> IO b) -> Ptr a -> IO (Maybe b)
maybePeek Ptr CChar -> IO string
forall s. GlibString s => Ptr CChar -> IO s
peekUTFString
setProgramName :: GlibString string => string -> IO ()
setProgramName :: forall string. GlibString string => string -> IO ()
setProgramName = (string -> (Ptr CChar -> IO ()) -> IO ())
-> (Ptr CChar -> IO ()) -> string -> IO ()
forall a b c. (a -> b -> c) -> b -> a -> c
flip string -> (Ptr CChar -> IO ()) -> IO ()
forall a. string -> (Ptr CChar -> IO a) -> IO a
forall s a. GlibString s => s -> (Ptr CChar -> IO a) -> IO a
withUTFString Ptr CChar -> IO ()
g_set_prgname
{-# LINE 80 "./System/Glib/Utils.chs" #-}
foreign import ccall unsafe "g_get_application_name"
g_get_application_name :: (IO (Ptr CChar))
foreign import ccall unsafe "g_set_application_name"
g_set_application_name :: ((Ptr CChar) -> (IO ()))
foreign import ccall unsafe "g_get_prgname"
g_get_prgname :: (IO (Ptr CChar))
foreign import ccall unsafe "g_set_prgname"
g_set_prgname :: ((Ptr CChar) -> (IO ()))