{-# 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