qtah-qt5-0.8.0: src/Graphics/UI/Qtah/Generated/Core/QTextEncoder.hs
{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-}
---------- GENERATED FILE, EDITS WILL BE LOST ----------
module Graphics.UI.Qtah.Generated.Core.QTextEncoder (
QTextEncoderValue (..),
QTextEncoderConstPtr (..),
QTextEncoderPtr (..),
fromUnicodeString,
fromUnicodeQChar,
QTextEncoderConst (..),
castQTextEncoderToConst,
QTextEncoder (..),
castQTextEncoderToNonconst,
new,
QTextEncoderSuper (..),
QTextEncoderSuperConst (..),
) where
import qualified Data.ByteString as QtahDBS
import qualified Foreign as HoppyF
import qualified Foreign.C as HoppyFC
import qualified Foreign.Hoppy.Runtime as HoppyFHR
import qualified Graphics.UI.Qtah.Generated.Core.QByteArray as M12
import qualified Graphics.UI.Qtah.Generated.Core.QChar as M16
import qualified Graphics.UI.Qtah.Generated.Core.QString as M142
import qualified Graphics.UI.Qtah.Generated.Core.QTextCodec as M150
import Prelude (($), (.), (=<<), (==), (>>=))
import qualified Prelude as HoppyP
foreign import ccall "genpop__QTextEncoder_new" new' :: HoppyF.Ptr M150.QTextCodec -> HoppyP.IO (HoppyF.Ptr QTextEncoder)
foreign import ccall "genpop__QTextEncoder_fromUnicodeString" fromUnicodeString' :: HoppyF.Ptr QTextEncoder -> HoppyF.Ptr M142.QStringConst -> HoppyP.IO (HoppyF.Ptr M12.QByteArrayConst)
foreign import ccall "genpop__QTextEncoder_fromUnicodeQChar" fromUnicodeQChar' :: HoppyF.Ptr QTextEncoder -> HoppyF.Ptr M16.QCharConst -> HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr M12.QByteArrayConst)
foreign import ccall "gendel__QTextEncoder" delete'QTextEncoder :: HoppyF.Ptr QTextEncoderConst -> HoppyP.IO ()
foreign import ccall "&gendel__QTextEncoder" deletePtr'QTextEncoder :: HoppyF.FunPtr (HoppyF.Ptr QTextEncoderConst -> HoppyP.IO ())
class QTextEncoderValue a where
withQTextEncoderPtr :: a -> (QTextEncoderConst -> HoppyP.IO b) -> HoppyP.IO b
instance {-# OVERLAPPABLE #-} QTextEncoderConstPtr a => QTextEncoderValue a where
withQTextEncoderPtr = HoppyP.flip ($) . toQTextEncoderConst
class (HoppyFHR.CppPtr this) => QTextEncoderConstPtr this where
toQTextEncoderConst :: this -> QTextEncoderConst
class (QTextEncoderConstPtr this) => QTextEncoderPtr this where
toQTextEncoder :: this -> QTextEncoder
fromUnicodeString :: (QTextEncoderPtr this, M142.QStringValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO QtahDBS.ByteString)
fromUnicodeString arg'1 arg'2 =
HoppyFHR.withCppPtr (toQTextEncoder arg'1) $ \arg'1' ->
M142.withQStringPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
(HoppyFHR.decodeAndDelete . M12.QByteArrayConst) =<<
(fromUnicodeString' arg'1' arg'2')
fromUnicodeQChar :: (QTextEncoderPtr this, M16.QCharValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.Int) -> (HoppyP.IO QtahDBS.ByteString)
fromUnicodeQChar arg'1 arg'2 arg'3 =
HoppyFHR.withCppPtr (toQTextEncoder arg'1) $ \arg'1' ->
M16.withQCharPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' ->
(
HoppyP.return . HoppyFHR.coerceIntegral
) arg'3 >>= \arg'3' ->
(HoppyFHR.decodeAndDelete . M12.QByteArrayConst) =<<
(fromUnicodeQChar' arg'1' arg'2' arg'3')
data QTextEncoderConst =
QTextEncoderConst (HoppyF.Ptr QTextEncoderConst)
| QTextEncoderConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QTextEncoderConst)
deriving (HoppyP.Show)
instance HoppyP.Eq QTextEncoderConst where
x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y
instance HoppyP.Ord QTextEncoderConst where
compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)
castQTextEncoderToConst :: QTextEncoder -> QTextEncoderConst
castQTextEncoderToConst (QTextEncoder ptr') = QTextEncoderConst $ HoppyF.castPtr ptr'
castQTextEncoderToConst (QTextEncoderGc fptr' ptr') = QTextEncoderConstGc fptr' $ HoppyF.castPtr ptr'
instance HoppyFHR.CppPtr QTextEncoderConst where
nullptr = QTextEncoderConst HoppyF.nullPtr
withCppPtr (QTextEncoderConst ptr') f' = f' ptr'
withCppPtr (QTextEncoderConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
toPtr (QTextEncoderConst ptr') = ptr'
toPtr (QTextEncoderConstGc _ ptr') = ptr'
touchCppPtr (QTextEncoderConst _) = HoppyP.return ()
touchCppPtr (QTextEncoderConstGc fptr' _) = HoppyF.touchForeignPtr fptr'
instance HoppyFHR.Deletable QTextEncoderConst where
delete (QTextEncoderConst ptr') = delete'QTextEncoder ptr'
delete (QTextEncoderConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QTextEncoderConst", " object."]
toGc this'@(QTextEncoderConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QTextEncoderConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QTextEncoder :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
toGc this'@(QTextEncoderConstGc {}) = HoppyP.return this'
instance QTextEncoderConstPtr QTextEncoderConst where
toQTextEncoderConst = HoppyP.id
data QTextEncoder =
QTextEncoder (HoppyF.Ptr QTextEncoder)
| QTextEncoderGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QTextEncoder)
deriving (HoppyP.Show)
instance HoppyP.Eq QTextEncoder where
x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y
instance HoppyP.Ord QTextEncoder where
compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y)
castQTextEncoderToNonconst :: QTextEncoderConst -> QTextEncoder
castQTextEncoderToNonconst (QTextEncoderConst ptr') = QTextEncoder $ HoppyF.castPtr ptr'
castQTextEncoderToNonconst (QTextEncoderConstGc fptr' ptr') = QTextEncoderGc fptr' $ HoppyF.castPtr ptr'
instance HoppyFHR.CppPtr QTextEncoder where
nullptr = QTextEncoder HoppyF.nullPtr
withCppPtr (QTextEncoder ptr') f' = f' ptr'
withCppPtr (QTextEncoderGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr'
toPtr (QTextEncoder ptr') = ptr'
toPtr (QTextEncoderGc _ ptr') = ptr'
touchCppPtr (QTextEncoder _) = HoppyP.return ()
touchCppPtr (QTextEncoderGc fptr' _) = HoppyF.touchForeignPtr fptr'
instance HoppyFHR.Deletable QTextEncoder where
delete (QTextEncoder ptr') = delete'QTextEncoder $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QTextEncoderConst)
delete (QTextEncoderGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QTextEncoder", " object."]
toGc this'@(QTextEncoder ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QTextEncoderGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QTextEncoder :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ())
toGc this'@(QTextEncoderGc {}) = HoppyP.return this'
instance QTextEncoderConstPtr QTextEncoder where
toQTextEncoderConst (QTextEncoder ptr') = QTextEncoderConst $ (HoppyF.castPtr :: HoppyF.Ptr QTextEncoder -> HoppyF.Ptr QTextEncoderConst) ptr'
toQTextEncoderConst (QTextEncoderGc fptr' ptr') = QTextEncoderConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QTextEncoder -> HoppyF.Ptr QTextEncoderConst) ptr'
instance QTextEncoderPtr QTextEncoder where
toQTextEncoder = HoppyP.id
new :: (M150.QTextCodecPtr arg'1) => (arg'1) -> (HoppyP.IO QTextEncoder)
new arg'1 =
HoppyFHR.withCppPtr (M150.toQTextCodec arg'1) $ \arg'1' ->
HoppyP.fmap QTextEncoder
(new' arg'1')
class QTextEncoderSuper a where
downToQTextEncoder :: a -> QTextEncoder
class QTextEncoderSuperConst a where
downToQTextEncoderConst :: a -> QTextEncoderConst
instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QTextEncoder)) QTextEncoder where
assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value'
instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QTextEncoder)) QTextEncoder where
decode = HoppyP.fmap QTextEncoder . HoppyF.peek