#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Gio.Objects.ConverterInputStream
(
ConverterInputStream(..) ,
IsConverterInputStream ,
toConverterInputStream ,
noConverterInputStream ,
#if ENABLE_OVERLOADING
ConverterInputStreamGetConverterMethodInfo,
#endif
converterInputStreamGetConverter ,
converterInputStreamNew ,
#if ENABLE_OVERLOADING
ConverterInputStreamConverterPropertyInfo,
#endif
constructConverterInputStreamConverter ,
#if ENABLE_OVERLOADING
converterInputStreamConverter ,
#endif
getConverterInputStreamConverter ,
) 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.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
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
import qualified GHC.OverloadedLabels as OL
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Gio.Interfaces.Converter as Gio.Converter
import {-# SOURCE #-} qualified GI.Gio.Interfaces.PollableInputStream as Gio.PollableInputStream
import {-# SOURCE #-} qualified GI.Gio.Objects.FilterInputStream as Gio.FilterInputStream
import {-# SOURCE #-} qualified GI.Gio.Objects.InputStream as Gio.InputStream
newtype ConverterInputStream = ConverterInputStream (ManagedPtr ConverterInputStream)
foreign import ccall "g_converter_input_stream_get_type"
c_g_converter_input_stream_get_type :: IO GType
instance GObject ConverterInputStream where
gobjectType = c_g_converter_input_stream_get_type
class (GObject o, O.IsDescendantOf ConverterInputStream o) => IsConverterInputStream o
instance (GObject o, O.IsDescendantOf ConverterInputStream o) => IsConverterInputStream o
instance O.HasParentTypes ConverterInputStream
type instance O.ParentTypes ConverterInputStream = '[Gio.FilterInputStream.FilterInputStream, Gio.InputStream.InputStream, GObject.Object.Object, Gio.PollableInputStream.PollableInputStream]
toConverterInputStream :: (MonadIO m, IsConverterInputStream o) => o -> m ConverterInputStream
toConverterInputStream = liftIO . unsafeCastTo ConverterInputStream
noConverterInputStream :: Maybe ConverterInputStream
noConverterInputStream = Nothing
#if ENABLE_OVERLOADING
type family ResolveConverterInputStreamMethod (t :: Symbol) (o :: *) :: * where
ResolveConverterInputStreamMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveConverterInputStreamMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveConverterInputStreamMethod "canPoll" o = Gio.PollableInputStream.PollableInputStreamCanPollMethodInfo
ResolveConverterInputStreamMethod "clearPending" o = Gio.InputStream.InputStreamClearPendingMethodInfo
ResolveConverterInputStreamMethod "close" o = Gio.InputStream.InputStreamCloseMethodInfo
ResolveConverterInputStreamMethod "closeAsync" o = Gio.InputStream.InputStreamCloseAsyncMethodInfo
ResolveConverterInputStreamMethod "closeFinish" o = Gio.InputStream.InputStreamCloseFinishMethodInfo
ResolveConverterInputStreamMethod "createSource" o = Gio.PollableInputStream.PollableInputStreamCreateSourceMethodInfo
ResolveConverterInputStreamMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveConverterInputStreamMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveConverterInputStreamMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveConverterInputStreamMethod "hasPending" o = Gio.InputStream.InputStreamHasPendingMethodInfo
ResolveConverterInputStreamMethod "isClosed" o = Gio.InputStream.InputStreamIsClosedMethodInfo
ResolveConverterInputStreamMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveConverterInputStreamMethod "isReadable" o = Gio.PollableInputStream.PollableInputStreamIsReadableMethodInfo
ResolveConverterInputStreamMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveConverterInputStreamMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveConverterInputStreamMethod "read" o = Gio.InputStream.InputStreamReadMethodInfo
ResolveConverterInputStreamMethod "readAll" o = Gio.InputStream.InputStreamReadAllMethodInfo
ResolveConverterInputStreamMethod "readAllAsync" o = Gio.InputStream.InputStreamReadAllAsyncMethodInfo
ResolveConverterInputStreamMethod "readAllFinish" o = Gio.InputStream.InputStreamReadAllFinishMethodInfo
ResolveConverterInputStreamMethod "readAsync" o = Gio.InputStream.InputStreamReadAsyncMethodInfo
ResolveConverterInputStreamMethod "readBytes" o = Gio.InputStream.InputStreamReadBytesMethodInfo
ResolveConverterInputStreamMethod "readBytesAsync" o = Gio.InputStream.InputStreamReadBytesAsyncMethodInfo
ResolveConverterInputStreamMethod "readBytesFinish" o = Gio.InputStream.InputStreamReadBytesFinishMethodInfo
ResolveConverterInputStreamMethod "readFinish" o = Gio.InputStream.InputStreamReadFinishMethodInfo
ResolveConverterInputStreamMethod "readNonblocking" o = Gio.PollableInputStream.PollableInputStreamReadNonblockingMethodInfo
ResolveConverterInputStreamMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveConverterInputStreamMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveConverterInputStreamMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveConverterInputStreamMethod "skip" o = Gio.InputStream.InputStreamSkipMethodInfo
ResolveConverterInputStreamMethod "skipAsync" o = Gio.InputStream.InputStreamSkipAsyncMethodInfo
ResolveConverterInputStreamMethod "skipFinish" o = Gio.InputStream.InputStreamSkipFinishMethodInfo
ResolveConverterInputStreamMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveConverterInputStreamMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveConverterInputStreamMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveConverterInputStreamMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveConverterInputStreamMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveConverterInputStreamMethod "getBaseStream" o = Gio.FilterInputStream.FilterInputStreamGetBaseStreamMethodInfo
ResolveConverterInputStreamMethod "getCloseBaseStream" o = Gio.FilterInputStream.FilterInputStreamGetCloseBaseStreamMethodInfo
ResolveConverterInputStreamMethod "getConverter" o = ConverterInputStreamGetConverterMethodInfo
ResolveConverterInputStreamMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveConverterInputStreamMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveConverterInputStreamMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveConverterInputStreamMethod "setCloseBaseStream" o = Gio.FilterInputStream.FilterInputStreamSetCloseBaseStreamMethodInfo
ResolveConverterInputStreamMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveConverterInputStreamMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveConverterInputStreamMethod "setPending" o = Gio.InputStream.InputStreamSetPendingMethodInfo
ResolveConverterInputStreamMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveConverterInputStreamMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveConverterInputStreamMethod t ConverterInputStream, O.MethodInfo info ConverterInputStream p) => OL.IsLabel t (ConverterInputStream -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif
getConverterInputStreamConverter :: (MonadIO m, IsConverterInputStream o) => o -> m Gio.Converter.Converter
getConverterInputStreamConverter obj = liftIO $ checkUnexpectedNothing "getConverterInputStreamConverter" $ B.Properties.getObjectPropertyObject obj "converter" Gio.Converter.Converter
constructConverterInputStreamConverter :: (IsConverterInputStream o, Gio.Converter.IsConverter a) => a -> IO (GValueConstruct o)
constructConverterInputStreamConverter val = B.Properties.constructObjectPropertyObject "converter" (Just val)
#if ENABLE_OVERLOADING
data ConverterInputStreamConverterPropertyInfo
instance AttrInfo ConverterInputStreamConverterPropertyInfo where
type AttrAllowedOps ConverterInputStreamConverterPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint ConverterInputStreamConverterPropertyInfo = Gio.Converter.IsConverter
type AttrBaseTypeConstraint ConverterInputStreamConverterPropertyInfo = IsConverterInputStream
type AttrGetType ConverterInputStreamConverterPropertyInfo = Gio.Converter.Converter
type AttrLabel ConverterInputStreamConverterPropertyInfo = "converter"
type AttrOrigin ConverterInputStreamConverterPropertyInfo = ConverterInputStream
attrGet _ = getConverterInputStreamConverter
attrSet _ = undefined
attrConstruct _ = constructConverterInputStreamConverter
attrClear _ = undefined
#endif
#if ENABLE_OVERLOADING
instance O.HasAttributeList ConverterInputStream
type instance O.AttributeList ConverterInputStream = ConverterInputStreamAttributeList
type ConverterInputStreamAttributeList = ('[ '("baseStream", Gio.FilterInputStream.FilterInputStreamBaseStreamPropertyInfo), '("closeBaseStream", Gio.FilterInputStream.FilterInputStreamCloseBaseStreamPropertyInfo), '("converter", ConverterInputStreamConverterPropertyInfo)] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
converterInputStreamConverter :: AttrLabelProxy "converter"
converterInputStreamConverter = AttrLabelProxy
#endif
#if ENABLE_OVERLOADING
type instance O.SignalList ConverterInputStream = ConverterInputStreamSignalList
type ConverterInputStreamSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "g_converter_input_stream_new" g_converter_input_stream_new ::
Ptr Gio.InputStream.InputStream ->
Ptr Gio.Converter.Converter ->
IO (Ptr ConverterInputStream)
converterInputStreamNew ::
(B.CallStack.HasCallStack, MonadIO m, Gio.InputStream.IsInputStream a, Gio.Converter.IsConverter b) =>
a
-> b
-> m ConverterInputStream
converterInputStreamNew baseStream converter = liftIO $ do
baseStream' <- unsafeManagedPtrCastPtr baseStream
converter' <- unsafeManagedPtrCastPtr converter
result <- g_converter_input_stream_new baseStream' converter'
checkUnexpectedReturnNULL "converterInputStreamNew" result
result' <- (wrapObject ConverterInputStream) result
touchManagedPtr baseStream
touchManagedPtr converter
return result'
#if ENABLE_OVERLOADING
#endif
foreign import ccall "g_converter_input_stream_get_converter" g_converter_input_stream_get_converter ::
Ptr ConverterInputStream ->
IO (Ptr Gio.Converter.Converter)
converterInputStreamGetConverter ::
(B.CallStack.HasCallStack, MonadIO m, IsConverterInputStream a) =>
a
-> m Gio.Converter.Converter
converterInputStreamGetConverter converterStream = liftIO $ do
converterStream' <- unsafeManagedPtrCastPtr converterStream
result <- g_converter_input_stream_get_converter converterStream'
checkUnexpectedReturnNULL "converterInputStreamGetConverter" result
result' <- (newObject Gio.Converter.Converter) result
touchManagedPtr converterStream
return result'
#if ENABLE_OVERLOADING
data ConverterInputStreamGetConverterMethodInfo
instance (signature ~ (m Gio.Converter.Converter), MonadIO m, IsConverterInputStream a) => O.MethodInfo ConverterInputStreamGetConverterMethodInfo a signature where
overloadedMethod _ = converterInputStreamGetConverter
#endif