{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gio.Objects.ZlibCompressor
(
ZlibCompressor(..) ,
IsZlibCompressor ,
toZlibCompressor ,
noZlibCompressor ,
#if defined(ENABLE_OVERLOADING)
ResolveZlibCompressorMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
ZlibCompressorGetFileInfoMethodInfo ,
#endif
zlibCompressorGetFileInfo ,
zlibCompressorNew ,
#if defined(ENABLE_OVERLOADING)
ZlibCompressorSetFileInfoMethodInfo ,
#endif
zlibCompressorSetFileInfo ,
#if defined(ENABLE_OVERLOADING)
ZlibCompressorFileInfoPropertyInfo ,
#endif
clearZlibCompressorFileInfo ,
constructZlibCompressorFileInfo ,
getZlibCompressorFileInfo ,
setZlibCompressorFileInfo ,
#if defined(ENABLE_OVERLOADING)
zlibCompressorFileInfo ,
#endif
#if defined(ENABLE_OVERLOADING)
ZlibCompressorFormatPropertyInfo ,
#endif
constructZlibCompressorFormat ,
getZlibCompressorFormat ,
#if defined(ENABLE_OVERLOADING)
zlibCompressorFormat ,
#endif
#if defined(ENABLE_OVERLOADING)
ZlibCompressorLevelPropertyInfo ,
#endif
constructZlibCompressorLevel ,
getZlibCompressorLevel ,
#if defined(ENABLE_OVERLOADING)
zlibCompressorLevel ,
#endif
) 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.GI.Base.Signals as B.Signals
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.Enums as Gio.Enums
import {-# SOURCE #-} qualified GI.Gio.Interfaces.Converter as Gio.Converter
import {-# SOURCE #-} qualified GI.Gio.Objects.FileInfo as Gio.FileInfo
newtype ZlibCompressor = ZlibCompressor (ManagedPtr ZlibCompressor)
deriving (Eq)
foreign import ccall "g_zlib_compressor_get_type"
c_g_zlib_compressor_get_type :: IO GType
instance GObject ZlibCompressor where
gobjectType = c_g_zlib_compressor_get_type
instance B.GValue.IsGValue ZlibCompressor where
toGValue o = do
gtype <- c_g_zlib_compressor_get_type
B.ManagedPtr.withManagedPtr o (B.GValue.buildGValue gtype B.GValue.set_object)
fromGValue gv = do
ptr <- B.GValue.get_object gv :: IO (Ptr ZlibCompressor)
B.ManagedPtr.newObject ZlibCompressor ptr
class (GObject o, O.IsDescendantOf ZlibCompressor o) => IsZlibCompressor o
instance (GObject o, O.IsDescendantOf ZlibCompressor o) => IsZlibCompressor o
instance O.HasParentTypes ZlibCompressor
type instance O.ParentTypes ZlibCompressor = '[GObject.Object.Object, Gio.Converter.Converter]
toZlibCompressor :: (MonadIO m, IsZlibCompressor o) => o -> m ZlibCompressor
toZlibCompressor = liftIO . unsafeCastTo ZlibCompressor
noZlibCompressor :: Maybe ZlibCompressor
noZlibCompressor = Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveZlibCompressorMethod (t :: Symbol) (o :: *) :: * where
ResolveZlibCompressorMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveZlibCompressorMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveZlibCompressorMethod "convert" o = Gio.Converter.ConverterConvertMethodInfo
ResolveZlibCompressorMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveZlibCompressorMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveZlibCompressorMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveZlibCompressorMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveZlibCompressorMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveZlibCompressorMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveZlibCompressorMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveZlibCompressorMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveZlibCompressorMethod "reset" o = Gio.Converter.ConverterResetMethodInfo
ResolveZlibCompressorMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveZlibCompressorMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveZlibCompressorMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveZlibCompressorMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveZlibCompressorMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveZlibCompressorMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveZlibCompressorMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveZlibCompressorMethod "getFileInfo" o = ZlibCompressorGetFileInfoMethodInfo
ResolveZlibCompressorMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveZlibCompressorMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveZlibCompressorMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveZlibCompressorMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveZlibCompressorMethod "setFileInfo" o = ZlibCompressorSetFileInfoMethodInfo
ResolveZlibCompressorMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveZlibCompressorMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveZlibCompressorMethod t ZlibCompressor, O.MethodInfo info ZlibCompressor p) => OL.IsLabel t (ZlibCompressor -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
getZlibCompressorFileInfo :: (MonadIO m, IsZlibCompressor o) => o -> m Gio.FileInfo.FileInfo
getZlibCompressorFileInfo obj = liftIO $ checkUnexpectedNothing "getZlibCompressorFileInfo" $ B.Properties.getObjectPropertyObject obj "file-info" Gio.FileInfo.FileInfo
setZlibCompressorFileInfo :: (MonadIO m, IsZlibCompressor o, Gio.FileInfo.IsFileInfo a) => o -> a -> m ()
setZlibCompressorFileInfo obj val = liftIO $ B.Properties.setObjectPropertyObject obj "file-info" (Just val)
constructZlibCompressorFileInfo :: (IsZlibCompressor o, Gio.FileInfo.IsFileInfo a) => a -> IO (GValueConstruct o)
constructZlibCompressorFileInfo val = B.Properties.constructObjectPropertyObject "file-info" (Just val)
clearZlibCompressorFileInfo :: (MonadIO m, IsZlibCompressor o) => o -> m ()
clearZlibCompressorFileInfo obj = liftIO $ B.Properties.setObjectPropertyObject obj "file-info" (Nothing :: Maybe Gio.FileInfo.FileInfo)
#if defined(ENABLE_OVERLOADING)
data ZlibCompressorFileInfoPropertyInfo
instance AttrInfo ZlibCompressorFileInfoPropertyInfo where
type AttrAllowedOps ZlibCompressorFileInfoPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint ZlibCompressorFileInfoPropertyInfo = IsZlibCompressor
type AttrSetTypeConstraint ZlibCompressorFileInfoPropertyInfo = Gio.FileInfo.IsFileInfo
type AttrTransferTypeConstraint ZlibCompressorFileInfoPropertyInfo = Gio.FileInfo.IsFileInfo
type AttrTransferType ZlibCompressorFileInfoPropertyInfo = Gio.FileInfo.FileInfo
type AttrGetType ZlibCompressorFileInfoPropertyInfo = Gio.FileInfo.FileInfo
type AttrLabel ZlibCompressorFileInfoPropertyInfo = "file-info"
type AttrOrigin ZlibCompressorFileInfoPropertyInfo = ZlibCompressor
attrGet = getZlibCompressorFileInfo
attrSet = setZlibCompressorFileInfo
attrTransfer _ v = do
unsafeCastTo Gio.FileInfo.FileInfo v
attrConstruct = constructZlibCompressorFileInfo
attrClear = clearZlibCompressorFileInfo
#endif
getZlibCompressorFormat :: (MonadIO m, IsZlibCompressor o) => o -> m Gio.Enums.ZlibCompressorFormat
getZlibCompressorFormat obj = liftIO $ B.Properties.getObjectPropertyEnum obj "format"
constructZlibCompressorFormat :: (IsZlibCompressor o) => Gio.Enums.ZlibCompressorFormat -> IO (GValueConstruct o)
constructZlibCompressorFormat val = B.Properties.constructObjectPropertyEnum "format" val
#if defined(ENABLE_OVERLOADING)
data ZlibCompressorFormatPropertyInfo
instance AttrInfo ZlibCompressorFormatPropertyInfo where
type AttrAllowedOps ZlibCompressorFormatPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint ZlibCompressorFormatPropertyInfo = IsZlibCompressor
type AttrSetTypeConstraint ZlibCompressorFormatPropertyInfo = (~) Gio.Enums.ZlibCompressorFormat
type AttrTransferTypeConstraint ZlibCompressorFormatPropertyInfo = (~) Gio.Enums.ZlibCompressorFormat
type AttrTransferType ZlibCompressorFormatPropertyInfo = Gio.Enums.ZlibCompressorFormat
type AttrGetType ZlibCompressorFormatPropertyInfo = Gio.Enums.ZlibCompressorFormat
type AttrLabel ZlibCompressorFormatPropertyInfo = "format"
type AttrOrigin ZlibCompressorFormatPropertyInfo = ZlibCompressor
attrGet = getZlibCompressorFormat
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructZlibCompressorFormat
attrClear = undefined
#endif
getZlibCompressorLevel :: (MonadIO m, IsZlibCompressor o) => o -> m Int32
getZlibCompressorLevel obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "level"
constructZlibCompressorLevel :: (IsZlibCompressor o) => Int32 -> IO (GValueConstruct o)
constructZlibCompressorLevel val = B.Properties.constructObjectPropertyInt32 "level" val
#if defined(ENABLE_OVERLOADING)
data ZlibCompressorLevelPropertyInfo
instance AttrInfo ZlibCompressorLevelPropertyInfo where
type AttrAllowedOps ZlibCompressorLevelPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint ZlibCompressorLevelPropertyInfo = IsZlibCompressor
type AttrSetTypeConstraint ZlibCompressorLevelPropertyInfo = (~) Int32
type AttrTransferTypeConstraint ZlibCompressorLevelPropertyInfo = (~) Int32
type AttrTransferType ZlibCompressorLevelPropertyInfo = Int32
type AttrGetType ZlibCompressorLevelPropertyInfo = Int32
type AttrLabel ZlibCompressorLevelPropertyInfo = "level"
type AttrOrigin ZlibCompressorLevelPropertyInfo = ZlibCompressor
attrGet = getZlibCompressorLevel
attrSet = undefined
attrTransfer _ v = do
return v
attrConstruct = constructZlibCompressorLevel
attrClear = undefined
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList ZlibCompressor
type instance O.AttributeList ZlibCompressor = ZlibCompressorAttributeList
type ZlibCompressorAttributeList = ('[ '("fileInfo", ZlibCompressorFileInfoPropertyInfo), '("format", ZlibCompressorFormatPropertyInfo), '("level", ZlibCompressorLevelPropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
zlibCompressorFileInfo :: AttrLabelProxy "fileInfo"
zlibCompressorFileInfo = AttrLabelProxy
zlibCompressorFormat :: AttrLabelProxy "format"
zlibCompressorFormat = AttrLabelProxy
zlibCompressorLevel :: AttrLabelProxy "level"
zlibCompressorLevel = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList ZlibCompressor = ZlibCompressorSignalList
type ZlibCompressorSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "g_zlib_compressor_new" g_zlib_compressor_new ::
CUInt ->
Int32 ->
IO (Ptr ZlibCompressor)
zlibCompressorNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
Gio.Enums.ZlibCompressorFormat
-> Int32
-> m ZlibCompressor
zlibCompressorNew format level = liftIO $ do
let format' = (fromIntegral . fromEnum) format
result <- g_zlib_compressor_new format' level
checkUnexpectedReturnNULL "zlibCompressorNew" result
result' <- (wrapObject ZlibCompressor) result
return result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "g_zlib_compressor_get_file_info" g_zlib_compressor_get_file_info ::
Ptr ZlibCompressor ->
IO (Ptr Gio.FileInfo.FileInfo)
zlibCompressorGetFileInfo ::
(B.CallStack.HasCallStack, MonadIO m, IsZlibCompressor a) =>
a
-> m Gio.FileInfo.FileInfo
zlibCompressorGetFileInfo compressor = liftIO $ do
compressor' <- unsafeManagedPtrCastPtr compressor
result <- g_zlib_compressor_get_file_info compressor'
checkUnexpectedReturnNULL "zlibCompressorGetFileInfo" result
result' <- (newObject Gio.FileInfo.FileInfo) result
touchManagedPtr compressor
return result'
#if defined(ENABLE_OVERLOADING)
data ZlibCompressorGetFileInfoMethodInfo
instance (signature ~ (m Gio.FileInfo.FileInfo), MonadIO m, IsZlibCompressor a) => O.MethodInfo ZlibCompressorGetFileInfoMethodInfo a signature where
overloadedMethod = zlibCompressorGetFileInfo
#endif
foreign import ccall "g_zlib_compressor_set_file_info" g_zlib_compressor_set_file_info ::
Ptr ZlibCompressor ->
Ptr Gio.FileInfo.FileInfo ->
IO ()
zlibCompressorSetFileInfo ::
(B.CallStack.HasCallStack, MonadIO m, IsZlibCompressor a, Gio.FileInfo.IsFileInfo b) =>
a
-> Maybe (b)
-> m ()
zlibCompressorSetFileInfo compressor fileInfo = liftIO $ do
compressor' <- unsafeManagedPtrCastPtr compressor
maybeFileInfo <- case fileInfo of
Nothing -> return nullPtr
Just jFileInfo -> do
jFileInfo' <- unsafeManagedPtrCastPtr jFileInfo
return jFileInfo'
g_zlib_compressor_set_file_info compressor' maybeFileInfo
touchManagedPtr compressor
whenJust fileInfo touchManagedPtr
return ()
#if defined(ENABLE_OVERLOADING)
data ZlibCompressorSetFileInfoMethodInfo
instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsZlibCompressor a, Gio.FileInfo.IsFileInfo b) => O.MethodInfo ZlibCompressorSetFileInfoMethodInfo a signature where
overloadedMethod = zlibCompressorSetFileInfo
#endif