gi-gio-0.2.46.13: GI/Gio/Objects/CharsetConverter.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}
module GI.Gio.Objects.CharsetConverter
(
-- * Exported types
CharsetConverter(..) ,
CharsetConverterK ,
toCharsetConverter ,
noCharsetConverter ,
-- * Methods
-- ** charsetConverterGetNumFallbacks
CharsetConverterGetNumFallbacksMethodInfo,
charsetConverterGetNumFallbacks ,
-- ** charsetConverterGetUseFallback
CharsetConverterGetUseFallbackMethodInfo,
charsetConverterGetUseFallback ,
-- ** charsetConverterNew
charsetConverterNew ,
-- ** charsetConverterSetUseFallback
CharsetConverterSetUseFallbackMethodInfo,
charsetConverterSetUseFallback ,
-- * Properties
-- ** FromCharset
CharsetConverterFromCharsetPropertyInfo ,
constructCharsetConverterFromCharset ,
getCharsetConverterFromCharset ,
-- ** ToCharset
CharsetConverterToCharsetPropertyInfo ,
constructCharsetConverterToCharset ,
getCharsetConverterToCharset ,
-- ** UseFallback
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
type family ResolveCharsetConverterMethod (t :: Symbol) (o :: *) :: * where
ResolveCharsetConverterMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
ResolveCharsetConverterMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
ResolveCharsetConverterMethod "convert" o = ConverterConvertMethodInfo
ResolveCharsetConverterMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
ResolveCharsetConverterMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
ResolveCharsetConverterMethod "init" o = InitableInitMethodInfo
ResolveCharsetConverterMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
ResolveCharsetConverterMethod "notify" o = GObject.ObjectNotifyMethodInfo
ResolveCharsetConverterMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
ResolveCharsetConverterMethod "ref" o = GObject.ObjectRefMethodInfo
ResolveCharsetConverterMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
ResolveCharsetConverterMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
ResolveCharsetConverterMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
ResolveCharsetConverterMethod "reset" o = ConverterResetMethodInfo
ResolveCharsetConverterMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
ResolveCharsetConverterMethod "stealData" o = GObject.ObjectStealDataMethodInfo
ResolveCharsetConverterMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
ResolveCharsetConverterMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
ResolveCharsetConverterMethod "unref" o = GObject.ObjectUnrefMethodInfo
ResolveCharsetConverterMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
ResolveCharsetConverterMethod "getData" o = GObject.ObjectGetDataMethodInfo
ResolveCharsetConverterMethod "getNumFallbacks" o = CharsetConverterGetNumFallbacksMethodInfo
ResolveCharsetConverterMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
ResolveCharsetConverterMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
ResolveCharsetConverterMethod "getUseFallback" o = CharsetConverterGetUseFallbackMethodInfo
ResolveCharsetConverterMethod "setData" o = GObject.ObjectSetDataMethodInfo
ResolveCharsetConverterMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
ResolveCharsetConverterMethod "setUseFallback" o = CharsetConverterSetUseFallbackMethodInfo
ResolveCharsetConverterMethod l o = MethodResolutionFailed l o
instance (info ~ ResolveCharsetConverterMethod t CharsetConverter, MethodInfo info CharsetConverter p) => IsLabelProxy t (CharsetConverter -> p) where
fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveCharsetConverterMethod t CharsetConverter, MethodInfo info CharsetConverter p) => IsLabel t (CharsetConverter -> p) where
fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
#endif
-- VVV Prop "from-charset"
-- Type: TBasicType TUTF8
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
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 = "from-charset"
attrGet _ = getCharsetConverterFromCharset
attrSet _ = undefined
attrConstruct _ = constructCharsetConverterFromCharset
-- VVV Prop "to-charset"
-- Type: TBasicType TUTF8
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]
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 = "to-charset"
attrGet _ = getCharsetConverterToCharset
attrSet _ = undefined
attrConstruct _ = constructCharsetConverterToCharset
-- VVV Prop "use-fallback"
-- Type: TBasicType TBoolean
-- Flags: [PropertyReadable,PropertyWritable,PropertyConstruct]
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 = "use-fallback"
attrGet _ = getCharsetConverterUseFallback
attrSet _ = setCharsetConverterUseFallback
attrConstruct _ = constructCharsetConverterUseFallback
type instance AttributeList CharsetConverter = CharsetConverterAttributeList
type CharsetConverterAttributeList = ('[ '("fromCharset", CharsetConverterFromCharsetPropertyInfo), '("toCharset", CharsetConverterToCharsetPropertyInfo), '("useFallback", CharsetConverterUseFallbackPropertyInfo)] :: [(Symbol, *)])
type instance SignalList CharsetConverter = CharsetConverterSignalList
type CharsetConverterSignalList = ('[ '("notify", GObject.ObjectNotifySignalInfo)] :: [(Symbol, *)])
-- method CharsetConverter::new
-- method type : Constructor
-- Args : [Arg {argCName = "to_charset", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "from_charset", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gio" "CharsetConverter"
-- throws : True
-- Skip return : False
foreign import ccall "g_charset_converter_new" g_charset_converter_new ::
CString -> -- to_charset : TBasicType TUTF8
CString -> -- from_charset : TBasicType TUTF8
Ptr (Ptr GError) -> -- error
IO (Ptr CharsetConverter)
charsetConverterNew ::
(MonadIO m) =>
T.Text -- toCharset
-> T.Text -- fromCharset
-> m CharsetConverter -- result
charsetConverterNew toCharset fromCharset = liftIO $ do
toCharset' <- textToCString toCharset
fromCharset' <- textToCString fromCharset
onException (do
result <- propagateGError $ g_charset_converter_new toCharset' fromCharset'
checkUnexpectedReturnNULL "g_charset_converter_new" result
result' <- (wrapObject CharsetConverter) result
freeMem toCharset'
freeMem fromCharset'
return result'
) (do
freeMem toCharset'
freeMem fromCharset'
)
-- method CharsetConverter::get_num_fallbacks
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gio" "CharsetConverter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TUInt32
-- throws : False
-- Skip return : False
foreign import ccall "g_charset_converter_get_num_fallbacks" g_charset_converter_get_num_fallbacks ::
Ptr CharsetConverter -> -- _obj : TInterface "Gio" "CharsetConverter"
IO Word32
charsetConverterGetNumFallbacks ::
(MonadIO m, CharsetConverterK a) =>
a -- _obj
-> m Word32 -- result
charsetConverterGetNumFallbacks _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_charset_converter_get_num_fallbacks _obj'
touchManagedPtr _obj
return result
data CharsetConverterGetNumFallbacksMethodInfo
instance (signature ~ (m Word32), MonadIO m, CharsetConverterK a) => MethodInfo CharsetConverterGetNumFallbacksMethodInfo a signature where
overloadedMethod _ = charsetConverterGetNumFallbacks
-- method CharsetConverter::get_use_fallback
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gio" "CharsetConverter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "g_charset_converter_get_use_fallback" g_charset_converter_get_use_fallback ::
Ptr CharsetConverter -> -- _obj : TInterface "Gio" "CharsetConverter"
IO CInt
charsetConverterGetUseFallback ::
(MonadIO m, CharsetConverterK a) =>
a -- _obj
-> m Bool -- result
charsetConverterGetUseFallback _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- g_charset_converter_get_use_fallback _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data CharsetConverterGetUseFallbackMethodInfo
instance (signature ~ (m Bool), MonadIO m, CharsetConverterK a) => MethodInfo CharsetConverterGetUseFallbackMethodInfo a signature where
overloadedMethod _ = charsetConverterGetUseFallback
-- method CharsetConverter::set_use_fallback
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gio" "CharsetConverter", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "use_fallback", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "g_charset_converter_set_use_fallback" g_charset_converter_set_use_fallback ::
Ptr CharsetConverter -> -- _obj : TInterface "Gio" "CharsetConverter"
CInt -> -- use_fallback : TBasicType TBoolean
IO ()
charsetConverterSetUseFallback ::
(MonadIO m, CharsetConverterK a) =>
a -- _obj
-> Bool -- useFallback
-> m () -- result
charsetConverterSetUseFallback _obj useFallback = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let useFallback' = (fromIntegral . fromEnum) useFallback
g_charset_converter_set_use_fallback _obj' useFallback'
touchManagedPtr _obj
return ()
data CharsetConverterSetUseFallbackMethodInfo
instance (signature ~ (Bool -> m ()), MonadIO m, CharsetConverterK a) => MethodInfo CharsetConverterSetUseFallbackMethodInfo a signature where
overloadedMethod _ = charsetConverterSetUseFallback