module GI.Gio.Objects.CharsetConverter
(
CharsetConverter(..) ,
CharsetConverterK ,
toCharsetConverter ,
noCharsetConverter ,
charsetConverterGetNumFallbacks ,
charsetConverterGetUseFallback ,
charsetConverterNew ,
charsetConverterSetUseFallback ,
CharsetConverterFromCharsetPropertyInfo ,
constructCharsetConverterFromCharset ,
getCharsetConverterFromCharset ,
CharsetConverterToCharsetPropertyInfo ,
constructCharsetConverterToCharset ,
getCharsetConverterToCharset ,
CharsetConverterUseFallbackPropertyInfo ,
constructCharsetConverterUseFallback ,
getCharsetConverterUseFallback ,
setCharsetConverterUseFallback ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.Gio.Types
import GI.Gio.Callbacks
import qualified GI.GObject as GObject
newtype CharsetConverter = CharsetConverter (ForeignPtr CharsetConverter)
foreign import ccall "g_charset_converter_get_type"
c_g_charset_converter_get_type :: IO GType
type instance ParentTypes CharsetConverter = CharsetConverterParentTypes
type CharsetConverterParentTypes = '[GObject.Object, Converter, Initable]
instance GObject CharsetConverter where
gobjectIsInitiallyUnowned _ = False
gobjectType _ = c_g_charset_converter_get_type
class GObject o => CharsetConverterK o
instance (GObject o, IsDescendantOf CharsetConverter o) => CharsetConverterK o
toCharsetConverter :: CharsetConverterK o => o -> IO CharsetConverter
toCharsetConverter = unsafeCastTo CharsetConverter
noCharsetConverter :: Maybe CharsetConverter
noCharsetConverter = Nothing
getCharsetConverterFromCharset :: (MonadIO m, CharsetConverterK o) => o -> m T.Text
getCharsetConverterFromCharset obj = liftIO $ getObjectPropertyString obj "from-charset"
constructCharsetConverterFromCharset :: T.Text -> IO ([Char], GValue)
constructCharsetConverterFromCharset val = constructObjectPropertyString "from-charset" val
data CharsetConverterFromCharsetPropertyInfo
instance AttrInfo CharsetConverterFromCharsetPropertyInfo where
type AttrAllowedOps CharsetConverterFromCharsetPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint CharsetConverterFromCharsetPropertyInfo = (~) T.Text
type AttrBaseTypeConstraint CharsetConverterFromCharsetPropertyInfo = CharsetConverterK
type AttrGetType CharsetConverterFromCharsetPropertyInfo = T.Text
type AttrLabel CharsetConverterFromCharsetPropertyInfo = "CharsetConverter::from-charset"
attrGet _ = getCharsetConverterFromCharset
attrSet _ = undefined
attrConstruct _ = constructCharsetConverterFromCharset
getCharsetConverterToCharset :: (MonadIO m, CharsetConverterK o) => o -> m T.Text
getCharsetConverterToCharset obj = liftIO $ getObjectPropertyString obj "to-charset"
constructCharsetConverterToCharset :: T.Text -> IO ([Char], GValue)
constructCharsetConverterToCharset val = constructObjectPropertyString "to-charset" val
data CharsetConverterToCharsetPropertyInfo
instance AttrInfo CharsetConverterToCharsetPropertyInfo where
type AttrAllowedOps CharsetConverterToCharsetPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint CharsetConverterToCharsetPropertyInfo = (~) T.Text
type AttrBaseTypeConstraint CharsetConverterToCharsetPropertyInfo = CharsetConverterK
type AttrGetType CharsetConverterToCharsetPropertyInfo = T.Text
type AttrLabel CharsetConverterToCharsetPropertyInfo = "CharsetConverter::to-charset"
attrGet _ = getCharsetConverterToCharset
attrSet _ = undefined
attrConstruct _ = constructCharsetConverterToCharset
getCharsetConverterUseFallback :: (MonadIO m, CharsetConverterK o) => o -> m Bool
getCharsetConverterUseFallback obj = liftIO $ getObjectPropertyBool obj "use-fallback"
setCharsetConverterUseFallback :: (MonadIO m, CharsetConverterK o) => o -> Bool -> m ()
setCharsetConverterUseFallback obj val = liftIO $ setObjectPropertyBool obj "use-fallback" val
constructCharsetConverterUseFallback :: Bool -> IO ([Char], GValue)
constructCharsetConverterUseFallback val = constructObjectPropertyBool "use-fallback" val
data CharsetConverterUseFallbackPropertyInfo
instance AttrInfo CharsetConverterUseFallbackPropertyInfo where
type AttrAllowedOps CharsetConverterUseFallbackPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint CharsetConverterUseFallbackPropertyInfo = (~) Bool
type AttrBaseTypeConstraint CharsetConverterUseFallbackPropertyInfo = CharsetConverterK
type AttrGetType CharsetConverterUseFallbackPropertyInfo = Bool
type AttrLabel CharsetConverterUseFallbackPropertyInfo = "CharsetConverter::use-fallback"
attrGet _ = getCharsetConverterUseFallback
attrSet _ = setCharsetConverterUseFallback
attrConstruct _ = constructCharsetConverterUseFallback
type instance AttributeList CharsetConverter = CharsetConverterAttributeList
type CharsetConverterAttributeList = ('[ '("from-charset", CharsetConverterFromCharsetPropertyInfo), '("to-charset", CharsetConverterToCharsetPropertyInfo), '("use-fallback", CharsetConverterUseFallbackPropertyInfo)] :: [(Symbol, *)])
type instance SignalList CharsetConverter = CharsetConverterSignalList
type CharsetConverterSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo), '("notify::[property]", GObjectNotifySignalInfo)] :: [(Symbol, *)])
foreign import ccall "g_charset_converter_new" g_charset_converter_new ::
CString ->
CString ->
Ptr (Ptr GError) ->
IO (Ptr CharsetConverter)
charsetConverterNew ::
(MonadIO m) =>
T.Text ->
T.Text ->
m CharsetConverter
charsetConverterNew to_charset from_charset = liftIO $ do
to_charset' <- textToCString to_charset
from_charset' <- textToCString from_charset
onException (do
result <- propagateGError $ g_charset_converter_new to_charset' from_charset'
checkUnexpectedReturnNULL "g_charset_converter_new" result
result' <- (wrapObject CharsetConverter) result
freeMem to_charset'
freeMem from_charset'
return result'
) (do
freeMem to_charset'
freeMem from_charset'
)
foreign import ccall "g_charset_converter_get_num_fallbacks" g_charset_converter_get_num_fallbacks ::
Ptr CharsetConverter ->
IO Word32
charsetConverterGetNumFallbacks ::
(MonadIO m, CharsetConverterK a) =>
a ->
m Word32
charsetConverterGetNumFallbacks _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_charset_converter_get_num_fallbacks _obj'
touchManagedPtr _obj
return result
foreign import ccall "g_charset_converter_get_use_fallback" g_charset_converter_get_use_fallback ::
Ptr CharsetConverter ->
IO CInt
charsetConverterGetUseFallback ::
(MonadIO m, CharsetConverterK a) =>
a ->
m Bool
charsetConverterGetUseFallback _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_charset_converter_get_use_fallback _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
foreign import ccall "g_charset_converter_set_use_fallback" g_charset_converter_set_use_fallback ::
Ptr CharsetConverter ->
CInt ->
IO ()
charsetConverterSetUseFallback ::
(MonadIO m, CharsetConverterK a) =>
a ->
Bool ->
m ()
charsetConverterSetUseFallback _obj use_fallback = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let use_fallback' = (fromIntegral . fromEnum) use_fallback
g_charset_converter_set_use_fallback _obj' use_fallback'
touchManagedPtr _obj
return ()