module GI.GtkSource.Structs.Encoding
(
Encoding(..) ,
noEncoding ,
EncodingCopyMethodInfo ,
encodingCopy ,
EncodingFreeMethodInfo ,
encodingFree ,
encodingGetAll ,
EncodingGetCharsetMethodInfo ,
encodingGetCharset ,
encodingGetCurrent ,
encodingGetDefaultCandidates ,
encodingGetFromCharset ,
EncodingGetNameMethodInfo ,
encodingGetName ,
encodingGetUtf8 ,
EncodingToStringMethodInfo ,
encodingToString ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
newtype Encoding = Encoding (ManagedPtr Encoding)
foreign import ccall "gtk_source_encoding_get_type" c_gtk_source_encoding_get_type ::
IO GType
instance BoxedObject Encoding where
boxedType _ = c_gtk_source_encoding_get_type
noEncoding :: Maybe Encoding
noEncoding = Nothing
instance O.HasAttributeList Encoding
type instance O.AttributeList Encoding = EncodingAttributeList
type EncodingAttributeList = ('[ ] :: [(Symbol, *)])
foreign import ccall "gtk_source_encoding_copy" gtk_source_encoding_copy ::
Ptr Encoding ->
IO (Ptr Encoding)
encodingCopy ::
(B.CallStack.HasCallStack, MonadIO m) =>
Encoding
-> m Encoding
encodingCopy enc = liftIO $ do
enc' <- unsafeManagedPtrGetPtr enc
result <- gtk_source_encoding_copy enc'
checkUnexpectedReturnNULL "encodingCopy" result
result' <- (wrapBoxed Encoding) result
touchManagedPtr enc
return result'
data EncodingCopyMethodInfo
instance (signature ~ (m Encoding), MonadIO m) => O.MethodInfo EncodingCopyMethodInfo Encoding signature where
overloadedMethod _ = encodingCopy
foreign import ccall "gtk_source_encoding_free" gtk_source_encoding_free ::
Ptr Encoding ->
IO ()
encodingFree ::
(B.CallStack.HasCallStack, MonadIO m) =>
Encoding
-> m ()
encodingFree enc = liftIO $ do
enc' <- unsafeManagedPtrGetPtr enc
gtk_source_encoding_free enc'
touchManagedPtr enc
return ()
data EncodingFreeMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo EncodingFreeMethodInfo Encoding signature where
overloadedMethod _ = encodingFree
foreign import ccall "gtk_source_encoding_get_charset" gtk_source_encoding_get_charset ::
Ptr Encoding ->
IO CString
encodingGetCharset ::
(B.CallStack.HasCallStack, MonadIO m) =>
Encoding
-> m T.Text
encodingGetCharset enc = liftIO $ do
enc' <- unsafeManagedPtrGetPtr enc
result <- gtk_source_encoding_get_charset enc'
checkUnexpectedReturnNULL "encodingGetCharset" result
result' <- cstringToText result
touchManagedPtr enc
return result'
data EncodingGetCharsetMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo EncodingGetCharsetMethodInfo Encoding signature where
overloadedMethod _ = encodingGetCharset
foreign import ccall "gtk_source_encoding_get_name" gtk_source_encoding_get_name ::
Ptr Encoding ->
IO CString
encodingGetName ::
(B.CallStack.HasCallStack, MonadIO m) =>
Encoding
-> m T.Text
encodingGetName enc = liftIO $ do
enc' <- unsafeManagedPtrGetPtr enc
result <- gtk_source_encoding_get_name enc'
checkUnexpectedReturnNULL "encodingGetName" result
result' <- cstringToText result
touchManagedPtr enc
return result'
data EncodingGetNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo EncodingGetNameMethodInfo Encoding signature where
overloadedMethod _ = encodingGetName
foreign import ccall "gtk_source_encoding_to_string" gtk_source_encoding_to_string ::
Ptr Encoding ->
IO CString
encodingToString ::
(B.CallStack.HasCallStack, MonadIO m) =>
Encoding
-> m T.Text
encodingToString enc = liftIO $ do
enc' <- unsafeManagedPtrGetPtr enc
result <- gtk_source_encoding_to_string enc'
checkUnexpectedReturnNULL "encodingToString" result
result' <- cstringToText result
freeMem result
touchManagedPtr enc
return result'
data EncodingToStringMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo EncodingToStringMethodInfo Encoding signature where
overloadedMethod _ = encodingToString
foreign import ccall "gtk_source_encoding_get_all" gtk_source_encoding_get_all ::
IO (Ptr (GSList (Ptr Encoding)))
encodingGetAll ::
(B.CallStack.HasCallStack, MonadIO m) =>
m [Encoding]
encodingGetAll = liftIO $ do
result <- gtk_source_encoding_get_all
result' <- unpackGSList result
result'' <- mapM (newBoxed Encoding) result'
g_slist_free result
return result''
foreign import ccall "gtk_source_encoding_get_current" gtk_source_encoding_get_current ::
IO (Ptr Encoding)
encodingGetCurrent ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Encoding
encodingGetCurrent = liftIO $ do
result <- gtk_source_encoding_get_current
checkUnexpectedReturnNULL "encodingGetCurrent" result
result' <- (newBoxed Encoding) result
return result'
foreign import ccall "gtk_source_encoding_get_default_candidates" gtk_source_encoding_get_default_candidates ::
IO (Ptr (GSList (Ptr Encoding)))
encodingGetDefaultCandidates ::
(B.CallStack.HasCallStack, MonadIO m) =>
m [Encoding]
encodingGetDefaultCandidates = liftIO $ do
result <- gtk_source_encoding_get_default_candidates
result' <- unpackGSList result
result'' <- mapM (newBoxed Encoding) result'
g_slist_free result
return result''
foreign import ccall "gtk_source_encoding_get_from_charset" gtk_source_encoding_get_from_charset ::
CString ->
IO (Ptr Encoding)
encodingGetFromCharset ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> m (Maybe Encoding)
encodingGetFromCharset charset = liftIO $ do
charset' <- textToCString charset
result <- gtk_source_encoding_get_from_charset charset'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (newBoxed Encoding) result'
return result''
freeMem charset'
return maybeResult
foreign import ccall "gtk_source_encoding_get_utf8" gtk_source_encoding_get_utf8 ::
IO (Ptr Encoding)
encodingGetUtf8 ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Encoding
encodingGetUtf8 = liftIO $ do
result <- gtk_source_encoding_get_utf8
checkUnexpectedReturnNULL "encodingGetUtf8" result
result' <- (newBoxed Encoding) result
return result'
type family ResolveEncodingMethod (t :: Symbol) (o :: *) :: * where
ResolveEncodingMethod "copy" o = EncodingCopyMethodInfo
ResolveEncodingMethod "free" o = EncodingFreeMethodInfo
ResolveEncodingMethod "toString" o = EncodingToStringMethodInfo
ResolveEncodingMethod "getCharset" o = EncodingGetCharsetMethodInfo
ResolveEncodingMethod "getName" o = EncodingGetNameMethodInfo
ResolveEncodingMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveEncodingMethod t Encoding, O.MethodInfo info Encoding p) => O.IsLabelProxy t (Encoding -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveEncodingMethod t Encoding, O.MethodInfo info Encoding p) => O.IsLabel t (Encoding -> p) where
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif