{-# LANGUAGE FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, MonoLocalBinds, MultiParamTypeClasses, ScopedTypeVariables, TypeSynonymInstances, UndecidableInstances #-} ---------- GENERATED FILE, EDITS WILL BE LOST ---------- module Graphics.UI.Qtah.Generated.Core.QTextDecoder ( QTextDecoderValue (..), QTextDecoderConstPtr (..), QTextDecoderPtr (..), toUnicodeRaw, toUnicodeByteArray, toUnicodeString, QTextDecoderConst (..), castQTextDecoderToConst, QTextDecoder (..), castQTextDecoderToNonconst, new, QTextDecoderSuper (..), QTextDecoderSuperConst (..), ) where 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.QString as M142 import qualified Graphics.UI.Qtah.Generated.Core.QTextCodec as M150 import Prelude (($), (.), (=<<), (==), (>>=)) import qualified Prelude as HoppyP import qualified Prelude as QtahP foreign import ccall "genpop__QTextDecoder_new" new' :: HoppyF.Ptr M150.QTextCodecConst -> HoppyP.IO (HoppyF.Ptr QTextDecoder) foreign import ccall "genpop__QTextDecoder_toUnicodeRaw" toUnicodeRaw' :: HoppyF.Ptr QTextDecoder -> HoppyF.Ptr HoppyFC.CChar -> HoppyFC.CInt -> HoppyP.IO (HoppyF.Ptr M142.QStringConst) foreign import ccall "genpop__QTextDecoder_toUnicodeByteArray" toUnicodeByteArray' :: HoppyF.Ptr QTextDecoder -> HoppyF.Ptr M12.QByteArrayConst -> HoppyP.IO (HoppyF.Ptr M142.QStringConst) foreign import ccall "genpop__QTextDecoder_toUnicodeString" toUnicodeString' :: HoppyF.Ptr QTextDecoder -> HoppyF.Ptr M142.QString -> HoppyF.Ptr HoppyFC.CChar -> HoppyFC.CInt -> HoppyP.IO () foreign import ccall "gendel__QTextDecoder" delete'QTextDecoder :: HoppyF.Ptr QTextDecoderConst -> HoppyP.IO () foreign import ccall "&gendel__QTextDecoder" deletePtr'QTextDecoder :: HoppyF.FunPtr (HoppyF.Ptr QTextDecoderConst -> HoppyP.IO ()) class QTextDecoderValue a where withQTextDecoderPtr :: a -> (QTextDecoderConst -> HoppyP.IO b) -> HoppyP.IO b instance {-# OVERLAPPABLE #-} QTextDecoderConstPtr a => QTextDecoderValue a where withQTextDecoderPtr = HoppyP.flip ($) . toQTextDecoderConst class (HoppyFHR.CppPtr this) => QTextDecoderConstPtr this where toQTextDecoderConst :: this -> QTextDecoderConst class (QTextDecoderConstPtr this) => QTextDecoderPtr this where toQTextDecoder :: this -> QTextDecoder toUnicodeRaw :: (QTextDecoderPtr this) => (this) {- ^ this -} -> (HoppyF.Ptr HoppyFC.CChar) -> (HoppyP.Int) -> (HoppyP.IO QtahP.String) toUnicodeRaw arg'1 arg'2 arg'3 = HoppyFHR.withCppPtr (toQTextDecoder arg'1) $ \arg'1' -> let arg'2' = arg'2 in ( HoppyP.return . HoppyFHR.coerceIntegral ) arg'3 >>= \arg'3' -> (HoppyFHR.decodeAndDelete . M142.QStringConst) =<< (toUnicodeRaw' arg'1' arg'2' arg'3') toUnicodeByteArray :: (QTextDecoderPtr this, M12.QByteArrayValue arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyP.IO QtahP.String) toUnicodeByteArray arg'1 arg'2 = HoppyFHR.withCppPtr (toQTextDecoder arg'1) $ \arg'1' -> M12.withQByteArrayPtr arg'2 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'2' -> (HoppyFHR.decodeAndDelete . M142.QStringConst) =<< (toUnicodeByteArray' arg'1' arg'2') toUnicodeString :: (QTextDecoderPtr this, M142.QStringPtr arg'2) => (this) {- ^ this -} -> (arg'2) -> (HoppyF.Ptr HoppyFC.CChar) -> (HoppyP.Int) -> (HoppyP.IO ()) toUnicodeString arg'1 arg'2 arg'3 arg'4 = HoppyFHR.withCppPtr (toQTextDecoder arg'1) $ \arg'1' -> HoppyFHR.withCppPtr (M142.toQString arg'2) $ \arg'2' -> let arg'3' = arg'3 in ( HoppyP.return . HoppyFHR.coerceIntegral ) arg'4 >>= \arg'4' -> (toUnicodeString' arg'1' arg'2' arg'3' arg'4') data QTextDecoderConst = QTextDecoderConst (HoppyF.Ptr QTextDecoderConst) | QTextDecoderConstGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QTextDecoderConst) deriving (HoppyP.Show) instance HoppyP.Eq QTextDecoderConst where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QTextDecoderConst where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQTextDecoderToConst :: QTextDecoder -> QTextDecoderConst castQTextDecoderToConst (QTextDecoder ptr') = QTextDecoderConst $ HoppyF.castPtr ptr' castQTextDecoderToConst (QTextDecoderGc fptr' ptr') = QTextDecoderConstGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QTextDecoderConst where nullptr = QTextDecoderConst HoppyF.nullPtr withCppPtr (QTextDecoderConst ptr') f' = f' ptr' withCppPtr (QTextDecoderConstGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QTextDecoderConst ptr') = ptr' toPtr (QTextDecoderConstGc _ ptr') = ptr' touchCppPtr (QTextDecoderConst _) = HoppyP.return () touchCppPtr (QTextDecoderConstGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QTextDecoderConst where delete (QTextDecoderConst ptr') = delete'QTextDecoder ptr' delete (QTextDecoderConstGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QTextDecoderConst", " object."] toGc this'@(QTextDecoderConst ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QTextDecoderConstGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QTextDecoder :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QTextDecoderConstGc {}) = HoppyP.return this' instance QTextDecoderConstPtr QTextDecoderConst where toQTextDecoderConst = HoppyP.id data QTextDecoder = QTextDecoder (HoppyF.Ptr QTextDecoder) | QTextDecoderGc (HoppyF.ForeignPtr ()) (HoppyF.Ptr QTextDecoder) deriving (HoppyP.Show) instance HoppyP.Eq QTextDecoder where x == y = HoppyFHR.toPtr x == HoppyFHR.toPtr y instance HoppyP.Ord QTextDecoder where compare x y = HoppyP.compare (HoppyFHR.toPtr x) (HoppyFHR.toPtr y) castQTextDecoderToNonconst :: QTextDecoderConst -> QTextDecoder castQTextDecoderToNonconst (QTextDecoderConst ptr') = QTextDecoder $ HoppyF.castPtr ptr' castQTextDecoderToNonconst (QTextDecoderConstGc fptr' ptr') = QTextDecoderGc fptr' $ HoppyF.castPtr ptr' instance HoppyFHR.CppPtr QTextDecoder where nullptr = QTextDecoder HoppyF.nullPtr withCppPtr (QTextDecoder ptr') f' = f' ptr' withCppPtr (QTextDecoderGc fptr' ptr') f' = HoppyF.withForeignPtr fptr' $ \_ -> f' ptr' toPtr (QTextDecoder ptr') = ptr' toPtr (QTextDecoderGc _ ptr') = ptr' touchCppPtr (QTextDecoder _) = HoppyP.return () touchCppPtr (QTextDecoderGc fptr' _) = HoppyF.touchForeignPtr fptr' instance HoppyFHR.Deletable QTextDecoder where delete (QTextDecoder ptr') = delete'QTextDecoder $ (HoppyF.castPtr ptr' :: HoppyF.Ptr QTextDecoderConst) delete (QTextDecoderGc _ _) = HoppyP.fail $ HoppyP.concat ["Deletable.delete: Asked to delete a GC-managed ", "QTextDecoder", " object."] toGc this'@(QTextDecoder ptr') = if ptr' == HoppyF.nullPtr then HoppyP.return this' else HoppyP.fmap (HoppyP.flip QTextDecoderGc ptr') $ HoppyF.newForeignPtr (HoppyF.castFunPtr deletePtr'QTextDecoder :: HoppyF.FunPtr (HoppyF.Ptr () -> HoppyP.IO ())) (HoppyF.castPtr ptr' :: HoppyF.Ptr ()) toGc this'@(QTextDecoderGc {}) = HoppyP.return this' instance QTextDecoderConstPtr QTextDecoder where toQTextDecoderConst (QTextDecoder ptr') = QTextDecoderConst $ (HoppyF.castPtr :: HoppyF.Ptr QTextDecoder -> HoppyF.Ptr QTextDecoderConst) ptr' toQTextDecoderConst (QTextDecoderGc fptr' ptr') = QTextDecoderConstGc fptr' $ (HoppyF.castPtr :: HoppyF.Ptr QTextDecoder -> HoppyF.Ptr QTextDecoderConst) ptr' instance QTextDecoderPtr QTextDecoder where toQTextDecoder = HoppyP.id new :: (M150.QTextCodecValue arg'1) => (arg'1) -> (HoppyP.IO QTextDecoder) new arg'1 = M150.withQTextCodecPtr arg'1 $ HoppyP.flip HoppyFHR.withCppPtr $ \arg'1' -> HoppyP.fmap QTextDecoder (new' arg'1') class QTextDecoderSuper a where downToQTextDecoder :: a -> QTextDecoder class QTextDecoderSuperConst a where downToQTextDecoderConst :: a -> QTextDecoderConst instance HoppyFHR.Assignable (HoppyF.Ptr (HoppyF.Ptr QTextDecoder)) QTextDecoder where assign ptr' value' = HoppyF.poke ptr' $ HoppyFHR.toPtr value' instance HoppyFHR.Decodable (HoppyF.Ptr (HoppyF.Ptr QTextDecoder)) QTextDecoder where decode = HoppyP.fmap QTextDecoder . HoppyF.peek