{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GtkSource.Objects.FileSaver
(
FileSaver(..) ,
IsFileSaver ,
toFileSaver ,
#if defined(ENABLE_OVERLOADING)
ResolveFileSaverMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
FileSaverGetBufferMethodInfo ,
#endif
fileSaverGetBuffer ,
#if defined(ENABLE_OVERLOADING)
FileSaverGetCompressionTypeMethodInfo ,
#endif
fileSaverGetCompressionType ,
#if defined(ENABLE_OVERLOADING)
FileSaverGetEncodingMethodInfo ,
#endif
fileSaverGetEncoding ,
#if defined(ENABLE_OVERLOADING)
FileSaverGetFileMethodInfo ,
#endif
fileSaverGetFile ,
#if defined(ENABLE_OVERLOADING)
FileSaverGetFlagsMethodInfo ,
#endif
fileSaverGetFlags ,
#if defined(ENABLE_OVERLOADING)
FileSaverGetLocationMethodInfo ,
#endif
fileSaverGetLocation ,
#if defined(ENABLE_OVERLOADING)
FileSaverGetNewlineTypeMethodInfo ,
#endif
fileSaverGetNewlineType ,
fileSaverNew ,
fileSaverNewWithTarget ,
#if defined(ENABLE_OVERLOADING)
FileSaverSaveAsyncMethodInfo ,
#endif
fileSaverSaveAsync ,
#if defined(ENABLE_OVERLOADING)
FileSaverSaveFinishMethodInfo ,
#endif
fileSaverSaveFinish ,
#if defined(ENABLE_OVERLOADING)
FileSaverSetCompressionTypeMethodInfo ,
#endif
fileSaverSetCompressionType ,
#if defined(ENABLE_OVERLOADING)
FileSaverSetEncodingMethodInfo ,
#endif
fileSaverSetEncoding ,
#if defined(ENABLE_OVERLOADING)
FileSaverSetFlagsMethodInfo ,
#endif
fileSaverSetFlags ,
#if defined(ENABLE_OVERLOADING)
FileSaverSetNewlineTypeMethodInfo ,
#endif
fileSaverSetNewlineType ,
#if defined(ENABLE_OVERLOADING)
FileSaverBufferPropertyInfo ,
#endif
constructFileSaverBuffer ,
#if defined(ENABLE_OVERLOADING)
fileSaverBuffer ,
#endif
getFileSaverBuffer ,
#if defined(ENABLE_OVERLOADING)
FileSaverCompressionTypePropertyInfo ,
#endif
constructFileSaverCompressionType ,
#if defined(ENABLE_OVERLOADING)
fileSaverCompressionType ,
#endif
getFileSaverCompressionType ,
setFileSaverCompressionType ,
#if defined(ENABLE_OVERLOADING)
FileSaverEncodingPropertyInfo ,
#endif
clearFileSaverEncoding ,
constructFileSaverEncoding ,
#if defined(ENABLE_OVERLOADING)
fileSaverEncoding ,
#endif
getFileSaverEncoding ,
setFileSaverEncoding ,
#if defined(ENABLE_OVERLOADING)
FileSaverFilePropertyInfo ,
#endif
constructFileSaverFile ,
#if defined(ENABLE_OVERLOADING)
fileSaverFile ,
#endif
getFileSaverFile ,
#if defined(ENABLE_OVERLOADING)
FileSaverFlagsPropertyInfo ,
#endif
constructFileSaverFlags ,
#if defined(ENABLE_OVERLOADING)
fileSaverFlags ,
#endif
getFileSaverFlags ,
setFileSaverFlags ,
#if defined(ENABLE_OVERLOADING)
FileSaverLocationPropertyInfo ,
#endif
constructFileSaverLocation ,
#if defined(ENABLE_OVERLOADING)
fileSaverLocation ,
#endif
getFileSaverLocation ,
#if defined(ENABLE_OVERLOADING)
FileSaverNewlineTypePropertyInfo ,
#endif
constructFileSaverNewlineType ,
#if defined(ENABLE_OVERLOADING)
fileSaverNewlineType ,
#endif
getFileSaverNewlineType ,
setFileSaverNewlineType ,
) 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.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
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 Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
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 GHC.Records as R
import qualified GI.GLib.Callbacks as GLib.Callbacks
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gio.Callbacks as Gio.Callbacks
import qualified GI.Gio.Interfaces.AsyncResult as Gio.AsyncResult
import qualified GI.Gio.Interfaces.File as Gio.File
import qualified GI.Gio.Objects.Cancellable as Gio.Cancellable
import {-# SOURCE #-} qualified GI.GtkSource.Enums as GtkSource.Enums
import {-# SOURCE #-} qualified GI.GtkSource.Flags as GtkSource.Flags
import {-# SOURCE #-} qualified GI.GtkSource.Objects.Buffer as GtkSource.Buffer
import {-# SOURCE #-} qualified GI.GtkSource.Objects.File as GtkSource.File
import {-# SOURCE #-} qualified GI.GtkSource.Structs.Encoding as GtkSource.Encoding
newtype FileSaver = FileSaver (SP.ManagedPtr FileSaver)
deriving (FileSaver -> FileSaver -> Bool
(FileSaver -> FileSaver -> Bool)
-> (FileSaver -> FileSaver -> Bool) -> Eq FileSaver
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: FileSaver -> FileSaver -> Bool
== :: FileSaver -> FileSaver -> Bool
$c/= :: FileSaver -> FileSaver -> Bool
/= :: FileSaver -> FileSaver -> Bool
Eq)
instance SP.ManagedPtrNewtype FileSaver where
toManagedPtr :: FileSaver -> ManagedPtr FileSaver
toManagedPtr (FileSaver ManagedPtr FileSaver
p) = ManagedPtr FileSaver
p
foreign import ccall "gtk_source_file_saver_get_type"
c_gtk_source_file_saver_get_type :: IO B.Types.GType
instance B.Types.TypedObject FileSaver where
glibType :: IO GType
glibType = IO GType
c_gtk_source_file_saver_get_type
instance B.Types.GObject FileSaver
class (SP.GObject o, O.IsDescendantOf FileSaver o) => IsFileSaver o
instance (SP.GObject o, O.IsDescendantOf FileSaver o) => IsFileSaver o
instance O.HasParentTypes FileSaver
type instance O.ParentTypes FileSaver = '[GObject.Object.Object]
toFileSaver :: (MIO.MonadIO m, IsFileSaver o) => o -> m FileSaver
toFileSaver :: forall (m :: * -> *) o.
(MonadIO m, IsFileSaver o) =>
o -> m FileSaver
toFileSaver = IO FileSaver -> m FileSaver
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO FileSaver -> m FileSaver)
-> (o -> IO FileSaver) -> o -> m FileSaver
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr FileSaver -> FileSaver) -> o -> IO FileSaver
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr FileSaver -> FileSaver
FileSaver
instance B.GValue.IsGValue (Maybe FileSaver) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_gtk_source_file_saver_get_type
gvalueSet_ :: Ptr GValue -> Maybe FileSaver -> IO ()
gvalueSet_ Ptr GValue
gv Maybe FileSaver
P.Nothing = Ptr GValue -> Ptr FileSaver -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr FileSaver
forall a. Ptr a
FP.nullPtr :: FP.Ptr FileSaver)
gvalueSet_ Ptr GValue
gv (P.Just FileSaver
obj) = FileSaver -> (Ptr FileSaver -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr FileSaver
obj (Ptr GValue -> Ptr FileSaver -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe FileSaver)
gvalueGet_ Ptr GValue
gv = do
Ptr FileSaver
ptr <- Ptr GValue -> IO (Ptr FileSaver)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr FileSaver)
if Ptr FileSaver
ptr Ptr FileSaver -> Ptr FileSaver -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr FileSaver
forall a. Ptr a
FP.nullPtr
then FileSaver -> Maybe FileSaver
forall a. a -> Maybe a
P.Just (FileSaver -> Maybe FileSaver)
-> IO FileSaver -> IO (Maybe FileSaver)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr FileSaver -> FileSaver)
-> Ptr FileSaver -> IO FileSaver
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr FileSaver -> FileSaver
FileSaver Ptr FileSaver
ptr
else Maybe FileSaver -> IO (Maybe FileSaver)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe FileSaver
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveFileSaverMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveFileSaverMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveFileSaverMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveFileSaverMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveFileSaverMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveFileSaverMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveFileSaverMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveFileSaverMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveFileSaverMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveFileSaverMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveFileSaverMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveFileSaverMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveFileSaverMethod "saveAsync" o = FileSaverSaveAsyncMethodInfo
ResolveFileSaverMethod "saveFinish" o = FileSaverSaveFinishMethodInfo
ResolveFileSaverMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveFileSaverMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveFileSaverMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveFileSaverMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveFileSaverMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveFileSaverMethod "getBuffer" o = FileSaverGetBufferMethodInfo
ResolveFileSaverMethod "getCompressionType" o = FileSaverGetCompressionTypeMethodInfo
ResolveFileSaverMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveFileSaverMethod "getEncoding" o = FileSaverGetEncodingMethodInfo
ResolveFileSaverMethod "getFile" o = FileSaverGetFileMethodInfo
ResolveFileSaverMethod "getFlags" o = FileSaverGetFlagsMethodInfo
ResolveFileSaverMethod "getLocation" o = FileSaverGetLocationMethodInfo
ResolveFileSaverMethod "getNewlineType" o = FileSaverGetNewlineTypeMethodInfo
ResolveFileSaverMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveFileSaverMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveFileSaverMethod "setCompressionType" o = FileSaverSetCompressionTypeMethodInfo
ResolveFileSaverMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveFileSaverMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveFileSaverMethod "setEncoding" o = FileSaverSetEncodingMethodInfo
ResolveFileSaverMethod "setFlags" o = FileSaverSetFlagsMethodInfo
ResolveFileSaverMethod "setNewlineType" o = FileSaverSetNewlineTypeMethodInfo
ResolveFileSaverMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveFileSaverMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveFileSaverMethod t FileSaver, O.OverloadedMethod info FileSaver p) => OL.IsLabel t (FileSaver -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveFileSaverMethod t FileSaver, O.OverloadedMethod info FileSaver p, R.HasField t FileSaver p) => R.HasField t FileSaver p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveFileSaverMethod t FileSaver, O.OverloadedMethodInfo info FileSaver) => OL.IsLabel t (O.MethodProxy info FileSaver) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
getFileSaverBuffer :: (MonadIO m, IsFileSaver o) => o -> m GtkSource.Buffer.Buffer
getFileSaverBuffer :: forall (m :: * -> *) o. (MonadIO m, IsFileSaver o) => o -> m Buffer
getFileSaverBuffer o
obj = IO Buffer -> m Buffer
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Buffer -> m Buffer) -> IO Buffer -> m Buffer
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Buffer) -> IO Buffer
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getFileSaverBuffer" (IO (Maybe Buffer) -> IO Buffer) -> IO (Maybe Buffer) -> IO Buffer
forall a b. (a -> b) -> a -> b
$ o -> String -> (ManagedPtr Buffer -> Buffer) -> IO (Maybe Buffer)
forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyObject o
obj String
"buffer" ManagedPtr Buffer -> Buffer
GtkSource.Buffer.Buffer
constructFileSaverBuffer :: (IsFileSaver o, MIO.MonadIO m, GtkSource.Buffer.IsBuffer a) => a -> m (GValueConstruct o)
constructFileSaverBuffer :: forall o (m :: * -> *) a.
(IsFileSaver o, MonadIO m, IsBuffer a) =>
a -> m (GValueConstruct o)
constructFileSaverBuffer a
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe a -> IO (GValueConstruct o)
forall a o.
GObject a =>
String -> Maybe a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyObject String
"buffer" (a -> Maybe a
forall a. a -> Maybe a
P.Just a
val)
#if defined(ENABLE_OVERLOADING)
data FileSaverBufferPropertyInfo
instance AttrInfo FileSaverBufferPropertyInfo where
type AttrAllowedOps FileSaverBufferPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint FileSaverBufferPropertyInfo = IsFileSaver
type AttrSetTypeConstraint FileSaverBufferPropertyInfo = GtkSource.Buffer.IsBuffer
type AttrTransferTypeConstraint FileSaverBufferPropertyInfo = GtkSource.Buffer.IsBuffer
type AttrTransferType FileSaverBufferPropertyInfo = GtkSource.Buffer.Buffer
type AttrGetType FileSaverBufferPropertyInfo = GtkSource.Buffer.Buffer
type AttrLabel FileSaverBufferPropertyInfo = "buffer"
type AttrOrigin FileSaverBufferPropertyInfo = FileSaver
attrGet = getFileSaverBuffer
attrSet = undefined
attrTransfer _ v = do
unsafeCastTo GtkSource.Buffer.Buffer v
attrConstruct = constructFileSaverBuffer
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GtkSource.Objects.FileSaver.buffer"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtksource-3.0.28/docs/GI-GtkSource-Objects-FileSaver.html#g:attr:buffer"
})
#endif
getFileSaverCompressionType :: (MonadIO m, IsFileSaver o) => o -> m GtkSource.Enums.CompressionType
getFileSaverCompressionType :: forall (m :: * -> *) o.
(MonadIO m, IsFileSaver o) =>
o -> m CompressionType
getFileSaverCompressionType o
obj = IO CompressionType -> m CompressionType
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO CompressionType -> m CompressionType)
-> IO CompressionType -> m CompressionType
forall a b. (a -> b) -> a -> b
$ o -> String -> IO CompressionType
forall a b. (GObject a, Enum b, BoxedEnum b) => a -> String -> IO b
B.Properties.getObjectPropertyEnum o
obj String
"compression-type"
setFileSaverCompressionType :: (MonadIO m, IsFileSaver o) => o -> GtkSource.Enums.CompressionType -> m ()
setFileSaverCompressionType :: forall (m :: * -> *) o.
(MonadIO m, IsFileSaver o) =>
o -> CompressionType -> m ()
setFileSaverCompressionType o
obj CompressionType
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
o -> String -> CompressionType -> IO ()
forall a b.
(GObject a, Enum b, BoxedEnum b) =>
a -> String -> b -> IO ()
B.Properties.setObjectPropertyEnum o
obj String
"compression-type" CompressionType
val
constructFileSaverCompressionType :: (IsFileSaver o, MIO.MonadIO m) => GtkSource.Enums.CompressionType -> m (GValueConstruct o)
constructFileSaverCompressionType :: forall o (m :: * -> *).
(IsFileSaver o, MonadIO m) =>
CompressionType -> m (GValueConstruct o)
constructFileSaverCompressionType CompressionType
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> CompressionType -> IO (GValueConstruct o)
forall a o.
(Enum a, BoxedEnum a) =>
String -> a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyEnum String
"compression-type" CompressionType
val
#if defined(ENABLE_OVERLOADING)
data FileSaverCompressionTypePropertyInfo
instance AttrInfo FileSaverCompressionTypePropertyInfo where
type AttrAllowedOps FileSaverCompressionTypePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint FileSaverCompressionTypePropertyInfo = IsFileSaver
type AttrSetTypeConstraint FileSaverCompressionTypePropertyInfo = (~) GtkSource.Enums.CompressionType
type AttrTransferTypeConstraint FileSaverCompressionTypePropertyInfo = (~) GtkSource.Enums.CompressionType
type AttrTransferType FileSaverCompressionTypePropertyInfo = GtkSource.Enums.CompressionType
type AttrGetType FileSaverCompressionTypePropertyInfo = GtkSource.Enums.CompressionType
type AttrLabel FileSaverCompressionTypePropertyInfo = "compression-type"
type AttrOrigin FileSaverCompressionTypePropertyInfo = FileSaver
attrGet = getFileSaverCompressionType
attrSet = setFileSaverCompressionType
attrTransfer _ v = do
return v
attrConstruct = constructFileSaverCompressionType
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GtkSource.Objects.FileSaver.compressionType"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtksource-3.0.28/docs/GI-GtkSource-Objects-FileSaver.html#g:attr:compressionType"
})
#endif
getFileSaverEncoding :: (MonadIO m, IsFileSaver o) => o -> m GtkSource.Encoding.Encoding
getFileSaverEncoding :: forall (m :: * -> *) o.
(MonadIO m, IsFileSaver o) =>
o -> m Encoding
getFileSaverEncoding o
obj = IO Encoding -> m Encoding
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Encoding -> m Encoding) -> IO Encoding -> m Encoding
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe Encoding) -> IO Encoding
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getFileSaverEncoding" (IO (Maybe Encoding) -> IO Encoding)
-> IO (Maybe Encoding) -> IO Encoding
forall a b. (a -> b) -> a -> b
$ o
-> String
-> (ManagedPtr Encoding -> Encoding)
-> IO (Maybe Encoding)
forall a b.
(GObject a, GBoxed b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyBoxed o
obj String
"encoding" ManagedPtr Encoding -> Encoding
GtkSource.Encoding.Encoding
setFileSaverEncoding :: (MonadIO m, IsFileSaver o) => o -> GtkSource.Encoding.Encoding -> m ()
setFileSaverEncoding :: forall (m :: * -> *) o.
(MonadIO m, IsFileSaver o) =>
o -> Encoding -> m ()
setFileSaverEncoding o
obj Encoding
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
o -> String -> Maybe Encoding -> IO ()
forall a b.
(GObject a, GBoxed b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyBoxed o
obj String
"encoding" (Encoding -> Maybe Encoding
forall a. a -> Maybe a
Just Encoding
val)
constructFileSaverEncoding :: (IsFileSaver o, MIO.MonadIO m) => GtkSource.Encoding.Encoding -> m (GValueConstruct o)
constructFileSaverEncoding :: forall o (m :: * -> *).
(IsFileSaver o, MonadIO m) =>
Encoding -> m (GValueConstruct o)
constructFileSaverEncoding Encoding
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe Encoding -> IO (GValueConstruct o)
forall a o. GBoxed a => String -> Maybe a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyBoxed String
"encoding" (Encoding -> Maybe Encoding
forall a. a -> Maybe a
P.Just Encoding
val)
clearFileSaverEncoding :: (MonadIO m, IsFileSaver o) => o -> m ()
clearFileSaverEncoding :: forall (m :: * -> *) o. (MonadIO m, IsFileSaver o) => o -> m ()
clearFileSaverEncoding o
obj = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe Encoding -> IO ()
forall a b.
(GObject a, GBoxed b) =>
a -> String -> Maybe b -> IO ()
B.Properties.setObjectPropertyBoxed o
obj String
"encoding" (Maybe Encoding
forall a. Maybe a
Nothing :: Maybe GtkSource.Encoding.Encoding)
#if defined(ENABLE_OVERLOADING)
data FileSaverEncodingPropertyInfo
instance AttrInfo FileSaverEncodingPropertyInfo where
type AttrAllowedOps FileSaverEncodingPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint FileSaverEncodingPropertyInfo = IsFileSaver
type AttrSetTypeConstraint FileSaverEncodingPropertyInfo = (~) GtkSource.Encoding.Encoding
type AttrTransferTypeConstraint FileSaverEncodingPropertyInfo = (~) GtkSource.Encoding.Encoding
type AttrTransferType FileSaverEncodingPropertyInfo = GtkSource.Encoding.Encoding
type AttrGetType FileSaverEncodingPropertyInfo = GtkSource.Encoding.Encoding
type AttrLabel FileSaverEncodingPropertyInfo = "encoding"
type AttrOrigin FileSaverEncodingPropertyInfo = FileSaver
attrGet = getFileSaverEncoding
attrSet = setFileSaverEncoding
attrTransfer _ v = do
return v
attrConstruct = constructFileSaverEncoding
attrClear = clearFileSaverEncoding
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GtkSource.Objects.FileSaver.encoding"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtksource-3.0.28/docs/GI-GtkSource-Objects-FileSaver.html#g:attr:encoding"
})
#endif
getFileSaverFile :: (MonadIO m, IsFileSaver o) => o -> m GtkSource.File.File
getFileSaverFile :: forall (m :: * -> *) o. (MonadIO m, IsFileSaver o) => o -> m File
getFileSaverFile o
obj = IO File -> m File
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO File -> m File) -> IO File -> m File
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe File) -> IO File
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getFileSaverFile" (IO (Maybe File) -> IO File) -> IO (Maybe File) -> IO File
forall a b. (a -> b) -> a -> b
$ o -> String -> (ManagedPtr File -> File) -> IO (Maybe File)
forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyObject o
obj String
"file" ManagedPtr File -> File
GtkSource.File.File
constructFileSaverFile :: (IsFileSaver o, MIO.MonadIO m, GtkSource.File.IsFile a) => a -> m (GValueConstruct o)
constructFileSaverFile :: forall o (m :: * -> *) a.
(IsFileSaver o, MonadIO m, IsFile a) =>
a -> m (GValueConstruct o)
constructFileSaverFile a
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe a -> IO (GValueConstruct o)
forall a o.
GObject a =>
String -> Maybe a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyObject String
"file" (a -> Maybe a
forall a. a -> Maybe a
P.Just a
val)
#if defined(ENABLE_OVERLOADING)
data FileSaverFilePropertyInfo
instance AttrInfo FileSaverFilePropertyInfo where
type AttrAllowedOps FileSaverFilePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint FileSaverFilePropertyInfo = IsFileSaver
type AttrSetTypeConstraint FileSaverFilePropertyInfo = GtkSource.File.IsFile
type AttrTransferTypeConstraint FileSaverFilePropertyInfo = GtkSource.File.IsFile
type AttrTransferType FileSaverFilePropertyInfo = GtkSource.File.File
type AttrGetType FileSaverFilePropertyInfo = GtkSource.File.File
type AttrLabel FileSaverFilePropertyInfo = "file"
type AttrOrigin FileSaverFilePropertyInfo = FileSaver
attrGet = getFileSaverFile
attrSet = undefined
attrTransfer _ v = do
unsafeCastTo GtkSource.File.File v
attrConstruct = constructFileSaverFile
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GtkSource.Objects.FileSaver.file"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtksource-3.0.28/docs/GI-GtkSource-Objects-FileSaver.html#g:attr:file"
})
#endif
getFileSaverFlags :: (MonadIO m, IsFileSaver o) => o -> m [GtkSource.Flags.FileSaverFlags]
getFileSaverFlags :: forall (m :: * -> *) o.
(MonadIO m, IsFileSaver o) =>
o -> m [FileSaverFlags]
getFileSaverFlags o
obj = IO [FileSaverFlags] -> m [FileSaverFlags]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO [FileSaverFlags] -> m [FileSaverFlags])
-> IO [FileSaverFlags] -> m [FileSaverFlags]
forall a b. (a -> b) -> a -> b
$ o -> String -> IO [FileSaverFlags]
forall a b.
(GObject a, IsGFlag b, BoxedFlags b) =>
a -> String -> IO [b]
B.Properties.getObjectPropertyFlags o
obj String
"flags"
setFileSaverFlags :: (MonadIO m, IsFileSaver o) => o -> [GtkSource.Flags.FileSaverFlags] -> m ()
setFileSaverFlags :: forall (m :: * -> *) o.
(MonadIO m, IsFileSaver o) =>
o -> [FileSaverFlags] -> m ()
setFileSaverFlags o
obj [FileSaverFlags]
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
o -> String -> [FileSaverFlags] -> IO ()
forall a b.
(IsGFlag b, BoxedFlags b, GObject a) =>
a -> String -> [b] -> IO ()
B.Properties.setObjectPropertyFlags o
obj String
"flags" [FileSaverFlags]
val
constructFileSaverFlags :: (IsFileSaver o, MIO.MonadIO m) => [GtkSource.Flags.FileSaverFlags] -> m (GValueConstruct o)
constructFileSaverFlags :: forall o (m :: * -> *).
(IsFileSaver o, MonadIO m) =>
[FileSaverFlags] -> m (GValueConstruct o)
constructFileSaverFlags [FileSaverFlags]
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> [FileSaverFlags] -> IO (GValueConstruct o)
forall a o.
(IsGFlag a, BoxedFlags a) =>
String -> [a] -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyFlags String
"flags" [FileSaverFlags]
val
#if defined(ENABLE_OVERLOADING)
data FileSaverFlagsPropertyInfo
instance AttrInfo FileSaverFlagsPropertyInfo where
type AttrAllowedOps FileSaverFlagsPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint FileSaverFlagsPropertyInfo = IsFileSaver
type AttrSetTypeConstraint FileSaverFlagsPropertyInfo = (~) [GtkSource.Flags.FileSaverFlags]
type AttrTransferTypeConstraint FileSaverFlagsPropertyInfo = (~) [GtkSource.Flags.FileSaverFlags]
type AttrTransferType FileSaverFlagsPropertyInfo = [GtkSource.Flags.FileSaverFlags]
type AttrGetType FileSaverFlagsPropertyInfo = [GtkSource.Flags.FileSaverFlags]
type AttrLabel FileSaverFlagsPropertyInfo = "flags"
type AttrOrigin FileSaverFlagsPropertyInfo = FileSaver
attrGet = getFileSaverFlags
attrSet = setFileSaverFlags
attrTransfer _ v = do
return v
attrConstruct = constructFileSaverFlags
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GtkSource.Objects.FileSaver.flags"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtksource-3.0.28/docs/GI-GtkSource-Objects-FileSaver.html#g:attr:flags"
})
#endif
getFileSaverLocation :: (MonadIO m, IsFileSaver o) => o -> m Gio.File.File
getFileSaverLocation :: forall (m :: * -> *) o. (MonadIO m, IsFileSaver o) => o -> m File
getFileSaverLocation o
obj = IO File -> m File
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO File -> m File) -> IO File -> m File
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe File) -> IO File
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing Text
"getFileSaverLocation" (IO (Maybe File) -> IO File) -> IO (Maybe File) -> IO File
forall a b. (a -> b) -> a -> b
$ o -> String -> (ManagedPtr File -> File) -> IO (Maybe File)
forall a b.
(GObject a, GObject b) =>
a -> String -> (ManagedPtr b -> b) -> IO (Maybe b)
B.Properties.getObjectPropertyObject o
obj String
"location" ManagedPtr File -> File
Gio.File.File
constructFileSaverLocation :: (IsFileSaver o, MIO.MonadIO m, Gio.File.IsFile a) => a -> m (GValueConstruct o)
constructFileSaverLocation :: forall o (m :: * -> *) a.
(IsFileSaver o, MonadIO m, IsFile a) =>
a -> m (GValueConstruct o)
constructFileSaverLocation a
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> Maybe a -> IO (GValueConstruct o)
forall a o.
GObject a =>
String -> Maybe a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyObject String
"location" (a -> Maybe a
forall a. a -> Maybe a
P.Just a
val)
#if defined(ENABLE_OVERLOADING)
data FileSaverLocationPropertyInfo
instance AttrInfo FileSaverLocationPropertyInfo where
type AttrAllowedOps FileSaverLocationPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrBaseTypeConstraint FileSaverLocationPropertyInfo = IsFileSaver
type AttrSetTypeConstraint FileSaverLocationPropertyInfo = Gio.File.IsFile
type AttrTransferTypeConstraint FileSaverLocationPropertyInfo = Gio.File.IsFile
type AttrTransferType FileSaverLocationPropertyInfo = Gio.File.File
type AttrGetType FileSaverLocationPropertyInfo = Gio.File.File
type AttrLabel FileSaverLocationPropertyInfo = "location"
type AttrOrigin FileSaverLocationPropertyInfo = FileSaver
attrGet = getFileSaverLocation
attrSet = undefined
attrTransfer _ v = do
unsafeCastTo Gio.File.File v
attrConstruct = constructFileSaverLocation
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GtkSource.Objects.FileSaver.location"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtksource-3.0.28/docs/GI-GtkSource-Objects-FileSaver.html#g:attr:location"
})
#endif
getFileSaverNewlineType :: (MonadIO m, IsFileSaver o) => o -> m GtkSource.Enums.NewlineType
getFileSaverNewlineType :: forall (m :: * -> *) o.
(MonadIO m, IsFileSaver o) =>
o -> m NewlineType
getFileSaverNewlineType o
obj = IO NewlineType -> m NewlineType
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO NewlineType -> m NewlineType)
-> IO NewlineType -> m NewlineType
forall a b. (a -> b) -> a -> b
$ o -> String -> IO NewlineType
forall a b. (GObject a, Enum b, BoxedEnum b) => a -> String -> IO b
B.Properties.getObjectPropertyEnum o
obj String
"newline-type"
setFileSaverNewlineType :: (MonadIO m, IsFileSaver o) => o -> GtkSource.Enums.NewlineType -> m ()
setFileSaverNewlineType :: forall (m :: * -> *) o.
(MonadIO m, IsFileSaver o) =>
o -> NewlineType -> m ()
setFileSaverNewlineType o
obj NewlineType
val = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
o -> String -> NewlineType -> IO ()
forall a b.
(GObject a, Enum b, BoxedEnum b) =>
a -> String -> b -> IO ()
B.Properties.setObjectPropertyEnum o
obj String
"newline-type" NewlineType
val
constructFileSaverNewlineType :: (IsFileSaver o, MIO.MonadIO m) => GtkSource.Enums.NewlineType -> m (GValueConstruct o)
constructFileSaverNewlineType :: forall o (m :: * -> *).
(IsFileSaver o, MonadIO m) =>
NewlineType -> m (GValueConstruct o)
constructFileSaverNewlineType NewlineType
val = IO (GValueConstruct o) -> m (GValueConstruct o)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> m (GValueConstruct o))
-> IO (GValueConstruct o) -> m (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ do
IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a. IO a -> IO a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO (GValueConstruct o) -> IO (GValueConstruct o))
-> IO (GValueConstruct o) -> IO (GValueConstruct o)
forall a b. (a -> b) -> a -> b
$ String -> NewlineType -> IO (GValueConstruct o)
forall a o.
(Enum a, BoxedEnum a) =>
String -> a -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyEnum String
"newline-type" NewlineType
val
#if defined(ENABLE_OVERLOADING)
data FileSaverNewlineTypePropertyInfo
instance AttrInfo FileSaverNewlineTypePropertyInfo where
type AttrAllowedOps FileSaverNewlineTypePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
type AttrBaseTypeConstraint FileSaverNewlineTypePropertyInfo = IsFileSaver
type AttrSetTypeConstraint FileSaverNewlineTypePropertyInfo = (~) GtkSource.Enums.NewlineType
type AttrTransferTypeConstraint FileSaverNewlineTypePropertyInfo = (~) GtkSource.Enums.NewlineType
type AttrTransferType FileSaverNewlineTypePropertyInfo = GtkSource.Enums.NewlineType
type AttrGetType FileSaverNewlineTypePropertyInfo = GtkSource.Enums.NewlineType
type AttrLabel FileSaverNewlineTypePropertyInfo = "newline-type"
type AttrOrigin FileSaverNewlineTypePropertyInfo = FileSaver
attrGet = getFileSaverNewlineType
attrSet = setFileSaverNewlineType
attrTransfer _ v = do
return v
attrConstruct = constructFileSaverNewlineType
attrClear = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GtkSource.Objects.FileSaver.newlineType"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtksource-3.0.28/docs/GI-GtkSource-Objects-FileSaver.html#g:attr:newlineType"
})
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList FileSaver
type instance O.AttributeList FileSaver = FileSaverAttributeList
type FileSaverAttributeList = ('[ '("buffer", FileSaverBufferPropertyInfo), '("compressionType", FileSaverCompressionTypePropertyInfo), '("encoding", FileSaverEncodingPropertyInfo), '("file", FileSaverFilePropertyInfo), '("flags", FileSaverFlagsPropertyInfo), '("location", FileSaverLocationPropertyInfo), '("newlineType", FileSaverNewlineTypePropertyInfo)] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
fileSaverBuffer :: AttrLabelProxy "buffer"
fileSaverBuffer = AttrLabelProxy
fileSaverCompressionType :: AttrLabelProxy "compressionType"
fileSaverCompressionType = AttrLabelProxy
fileSaverEncoding :: AttrLabelProxy "encoding"
fileSaverEncoding = AttrLabelProxy
fileSaverFile :: AttrLabelProxy "file"
fileSaverFile = AttrLabelProxy
fileSaverFlags :: AttrLabelProxy "flags"
fileSaverFlags = AttrLabelProxy
fileSaverLocation :: AttrLabelProxy "location"
fileSaverLocation = AttrLabelProxy
fileSaverNewlineType :: AttrLabelProxy "newlineType"
fileSaverNewlineType = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList FileSaver = FileSaverSignalList
type FileSaverSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "gtk_source_file_saver_new" gtk_source_file_saver_new ::
Ptr GtkSource.Buffer.Buffer ->
Ptr GtkSource.File.File ->
IO (Ptr FileSaver)
fileSaverNew ::
(B.CallStack.HasCallStack, MonadIO m, GtkSource.Buffer.IsBuffer a, GtkSource.File.IsFile b) =>
a
-> b
-> m FileSaver
fileSaverNew :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsBuffer a, IsFile b) =>
a -> b -> m FileSaver
fileSaverNew a
buffer b
file = IO FileSaver -> m FileSaver
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO FileSaver -> m FileSaver) -> IO FileSaver -> m FileSaver
forall a b. (a -> b) -> a -> b
$ do
Ptr Buffer
buffer' <- a -> IO (Ptr Buffer)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
buffer
Ptr File
file' <- b -> IO (Ptr File)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
file
Ptr FileSaver
result <- Ptr Buffer -> Ptr File -> IO (Ptr FileSaver)
gtk_source_file_saver_new Ptr Buffer
buffer' Ptr File
file'
Text -> Ptr FileSaver -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"fileSaverNew" Ptr FileSaver
result
FileSaver
result' <- ((ManagedPtr FileSaver -> FileSaver)
-> Ptr FileSaver -> IO FileSaver
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr FileSaver -> FileSaver
FileSaver) Ptr FileSaver
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
buffer
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
file
FileSaver -> IO FileSaver
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return FileSaver
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gtk_source_file_saver_new_with_target" gtk_source_file_saver_new_with_target ::
Ptr GtkSource.Buffer.Buffer ->
Ptr GtkSource.File.File ->
Ptr Gio.File.File ->
IO (Ptr FileSaver)
fileSaverNewWithTarget ::
(B.CallStack.HasCallStack, MonadIO m, GtkSource.Buffer.IsBuffer a, GtkSource.File.IsFile b, Gio.File.IsFile c) =>
a
-> b
-> c
-> m FileSaver
fileSaverNewWithTarget :: forall (m :: * -> *) a b c.
(HasCallStack, MonadIO m, IsBuffer a, IsFile b, IsFile c) =>
a -> b -> c -> m FileSaver
fileSaverNewWithTarget a
buffer b
file c
targetLocation = IO FileSaver -> m FileSaver
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO FileSaver -> m FileSaver) -> IO FileSaver -> m FileSaver
forall a b. (a -> b) -> a -> b
$ do
Ptr Buffer
buffer' <- a -> IO (Ptr Buffer)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
buffer
Ptr File
file' <- b -> IO (Ptr File)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
file
Ptr File
targetLocation' <- c -> IO (Ptr File)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr c
targetLocation
Ptr FileSaver
result <- Ptr Buffer -> Ptr File -> Ptr File -> IO (Ptr FileSaver)
gtk_source_file_saver_new_with_target Ptr Buffer
buffer' Ptr File
file' Ptr File
targetLocation'
Text -> Ptr FileSaver -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"fileSaverNewWithTarget" Ptr FileSaver
result
FileSaver
result' <- ((ManagedPtr FileSaver -> FileSaver)
-> Ptr FileSaver -> IO FileSaver
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr FileSaver -> FileSaver
FileSaver) Ptr FileSaver
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
buffer
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
file
c -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr c
targetLocation
FileSaver -> IO FileSaver
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return FileSaver
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gtk_source_file_saver_get_buffer" gtk_source_file_saver_get_buffer ::
Ptr FileSaver ->
IO (Ptr GtkSource.Buffer.Buffer)
fileSaverGetBuffer ::
(B.CallStack.HasCallStack, MonadIO m, IsFileSaver a) =>
a
-> m GtkSource.Buffer.Buffer
fileSaverGetBuffer :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsFileSaver a) =>
a -> m Buffer
fileSaverGetBuffer a
saver = IO Buffer -> m Buffer
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Buffer -> m Buffer) -> IO Buffer -> m Buffer
forall a b. (a -> b) -> a -> b
$ do
Ptr FileSaver
saver' <- a -> IO (Ptr FileSaver)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
saver
Ptr Buffer
result <- Ptr FileSaver -> IO (Ptr Buffer)
gtk_source_file_saver_get_buffer Ptr FileSaver
saver'
Text -> Ptr Buffer -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"fileSaverGetBuffer" Ptr Buffer
result
Buffer
result' <- ((ManagedPtr Buffer -> Buffer) -> Ptr Buffer -> IO Buffer
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Buffer -> Buffer
GtkSource.Buffer.Buffer) Ptr Buffer
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
saver
Buffer -> IO Buffer
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Buffer
result'
#if defined(ENABLE_OVERLOADING)
data FileSaverGetBufferMethodInfo
instance (signature ~ (m GtkSource.Buffer.Buffer), MonadIO m, IsFileSaver a) => O.OverloadedMethod FileSaverGetBufferMethodInfo a signature where
overloadedMethod = fileSaverGetBuffer
instance O.OverloadedMethodInfo FileSaverGetBufferMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GtkSource.Objects.FileSaver.fileSaverGetBuffer",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtksource-3.0.28/docs/GI-GtkSource-Objects-FileSaver.html#v:fileSaverGetBuffer"
})
#endif
foreign import ccall "gtk_source_file_saver_get_compression_type" gtk_source_file_saver_get_compression_type ::
Ptr FileSaver ->
IO CUInt
fileSaverGetCompressionType ::
(B.CallStack.HasCallStack, MonadIO m, IsFileSaver a) =>
a
-> m GtkSource.Enums.CompressionType
fileSaverGetCompressionType :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsFileSaver a) =>
a -> m CompressionType
fileSaverGetCompressionType a
saver = IO CompressionType -> m CompressionType
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO CompressionType -> m CompressionType)
-> IO CompressionType -> m CompressionType
forall a b. (a -> b) -> a -> b
$ do
Ptr FileSaver
saver' <- a -> IO (Ptr FileSaver)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
saver
CUInt
result <- Ptr FileSaver -> IO CUInt
gtk_source_file_saver_get_compression_type Ptr FileSaver
saver'
let result' :: CompressionType
result' = (Int -> CompressionType
forall a. Enum a => Int -> a
toEnum (Int -> CompressionType)
-> (CUInt -> Int) -> CUInt -> CompressionType
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
saver
CompressionType -> IO CompressionType
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CompressionType
result'
#if defined(ENABLE_OVERLOADING)
data FileSaverGetCompressionTypeMethodInfo
instance (signature ~ (m GtkSource.Enums.CompressionType), MonadIO m, IsFileSaver a) => O.OverloadedMethod FileSaverGetCompressionTypeMethodInfo a signature where
overloadedMethod = fileSaverGetCompressionType
instance O.OverloadedMethodInfo FileSaverGetCompressionTypeMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GtkSource.Objects.FileSaver.fileSaverGetCompressionType",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtksource-3.0.28/docs/GI-GtkSource-Objects-FileSaver.html#v:fileSaverGetCompressionType"
})
#endif
foreign import ccall "gtk_source_file_saver_get_encoding" gtk_source_file_saver_get_encoding ::
Ptr FileSaver ->
IO (Ptr GtkSource.Encoding.Encoding)
fileSaverGetEncoding ::
(B.CallStack.HasCallStack, MonadIO m, IsFileSaver a) =>
a
-> m GtkSource.Encoding.Encoding
fileSaverGetEncoding :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsFileSaver a) =>
a -> m Encoding
fileSaverGetEncoding a
saver = IO Encoding -> m Encoding
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Encoding -> m Encoding) -> IO Encoding -> m Encoding
forall a b. (a -> b) -> a -> b
$ do
Ptr FileSaver
saver' <- a -> IO (Ptr FileSaver)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
saver
Ptr Encoding
result <- Ptr FileSaver -> IO (Ptr Encoding)
gtk_source_file_saver_get_encoding Ptr FileSaver
saver'
Text -> Ptr Encoding -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"fileSaverGetEncoding" Ptr Encoding
result
Encoding
result' <- ((ManagedPtr Encoding -> Encoding) -> Ptr Encoding -> IO Encoding
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr Encoding -> Encoding
GtkSource.Encoding.Encoding) Ptr Encoding
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
saver
Encoding -> IO Encoding
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Encoding
result'
#if defined(ENABLE_OVERLOADING)
data FileSaverGetEncodingMethodInfo
instance (signature ~ (m GtkSource.Encoding.Encoding), MonadIO m, IsFileSaver a) => O.OverloadedMethod FileSaverGetEncodingMethodInfo a signature where
overloadedMethod = fileSaverGetEncoding
instance O.OverloadedMethodInfo FileSaverGetEncodingMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GtkSource.Objects.FileSaver.fileSaverGetEncoding",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtksource-3.0.28/docs/GI-GtkSource-Objects-FileSaver.html#v:fileSaverGetEncoding"
})
#endif
foreign import ccall "gtk_source_file_saver_get_file" gtk_source_file_saver_get_file ::
Ptr FileSaver ->
IO (Ptr GtkSource.File.File)
fileSaverGetFile ::
(B.CallStack.HasCallStack, MonadIO m, IsFileSaver a) =>
a
-> m GtkSource.File.File
fileSaverGetFile :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsFileSaver a) =>
a -> m File
fileSaverGetFile a
saver = IO File -> m File
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO File -> m File) -> IO File -> m File
forall a b. (a -> b) -> a -> b
$ do
Ptr FileSaver
saver' <- a -> IO (Ptr FileSaver)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
saver
Ptr File
result <- Ptr FileSaver -> IO (Ptr File)
gtk_source_file_saver_get_file Ptr FileSaver
saver'
Text -> Ptr File -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"fileSaverGetFile" Ptr File
result
File
result' <- ((ManagedPtr File -> File) -> Ptr File -> IO File
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr File -> File
GtkSource.File.File) Ptr File
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
saver
File -> IO File
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return File
result'
#if defined(ENABLE_OVERLOADING)
data FileSaverGetFileMethodInfo
instance (signature ~ (m GtkSource.File.File), MonadIO m, IsFileSaver a) => O.OverloadedMethod FileSaverGetFileMethodInfo a signature where
overloadedMethod = fileSaverGetFile
instance O.OverloadedMethodInfo FileSaverGetFileMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GtkSource.Objects.FileSaver.fileSaverGetFile",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtksource-3.0.28/docs/GI-GtkSource-Objects-FileSaver.html#v:fileSaverGetFile"
})
#endif
foreign import ccall "gtk_source_file_saver_get_flags" gtk_source_file_saver_get_flags ::
Ptr FileSaver ->
IO CUInt
fileSaverGetFlags ::
(B.CallStack.HasCallStack, MonadIO m, IsFileSaver a) =>
a
-> m [GtkSource.Flags.FileSaverFlags]
fileSaverGetFlags :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsFileSaver a) =>
a -> m [FileSaverFlags]
fileSaverGetFlags a
saver = IO [FileSaverFlags] -> m [FileSaverFlags]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [FileSaverFlags] -> m [FileSaverFlags])
-> IO [FileSaverFlags] -> m [FileSaverFlags]
forall a b. (a -> b) -> a -> b
$ do
Ptr FileSaver
saver' <- a -> IO (Ptr FileSaver)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
saver
CUInt
result <- Ptr FileSaver -> IO CUInt
gtk_source_file_saver_get_flags Ptr FileSaver
saver'
let result' :: [FileSaverFlags]
result' = CUInt -> [FileSaverFlags]
forall a b. (Storable a, Integral a, Bits a, IsGFlag b) => a -> [b]
wordToGFlags CUInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
saver
[FileSaverFlags] -> IO [FileSaverFlags]
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return [FileSaverFlags]
result'
#if defined(ENABLE_OVERLOADING)
data FileSaverGetFlagsMethodInfo
instance (signature ~ (m [GtkSource.Flags.FileSaverFlags]), MonadIO m, IsFileSaver a) => O.OverloadedMethod FileSaverGetFlagsMethodInfo a signature where
overloadedMethod = fileSaverGetFlags
instance O.OverloadedMethodInfo FileSaverGetFlagsMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GtkSource.Objects.FileSaver.fileSaverGetFlags",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtksource-3.0.28/docs/GI-GtkSource-Objects-FileSaver.html#v:fileSaverGetFlags"
})
#endif
foreign import ccall "gtk_source_file_saver_get_location" gtk_source_file_saver_get_location ::
Ptr FileSaver ->
IO (Ptr Gio.File.File)
fileSaverGetLocation ::
(B.CallStack.HasCallStack, MonadIO m, IsFileSaver a) =>
a
-> m Gio.File.File
fileSaverGetLocation :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsFileSaver a) =>
a -> m File
fileSaverGetLocation a
saver = IO File -> m File
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO File -> m File) -> IO File -> m File
forall a b. (a -> b) -> a -> b
$ do
Ptr FileSaver
saver' <- a -> IO (Ptr FileSaver)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
saver
Ptr File
result <- Ptr FileSaver -> IO (Ptr File)
gtk_source_file_saver_get_location Ptr FileSaver
saver'
Text -> Ptr File -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"fileSaverGetLocation" Ptr File
result
File
result' <- ((ManagedPtr File -> File) -> Ptr File -> IO File
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr File -> File
Gio.File.File) Ptr File
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
saver
File -> IO File
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return File
result'
#if defined(ENABLE_OVERLOADING)
data FileSaverGetLocationMethodInfo
instance (signature ~ (m Gio.File.File), MonadIO m, IsFileSaver a) => O.OverloadedMethod FileSaverGetLocationMethodInfo a signature where
overloadedMethod = fileSaverGetLocation
instance O.OverloadedMethodInfo FileSaverGetLocationMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GtkSource.Objects.FileSaver.fileSaverGetLocation",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtksource-3.0.28/docs/GI-GtkSource-Objects-FileSaver.html#v:fileSaverGetLocation"
})
#endif
foreign import ccall "gtk_source_file_saver_get_newline_type" gtk_source_file_saver_get_newline_type ::
Ptr FileSaver ->
IO CUInt
fileSaverGetNewlineType ::
(B.CallStack.HasCallStack, MonadIO m, IsFileSaver a) =>
a
-> m GtkSource.Enums.NewlineType
fileSaverGetNewlineType :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsFileSaver a) =>
a -> m NewlineType
fileSaverGetNewlineType a
saver = IO NewlineType -> m NewlineType
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO NewlineType -> m NewlineType)
-> IO NewlineType -> m NewlineType
forall a b. (a -> b) -> a -> b
$ do
Ptr FileSaver
saver' <- a -> IO (Ptr FileSaver)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
saver
CUInt
result <- Ptr FileSaver -> IO CUInt
gtk_source_file_saver_get_newline_type Ptr FileSaver
saver'
let result' :: NewlineType
result' = (Int -> NewlineType
forall a. Enum a => Int -> a
toEnum (Int -> NewlineType) -> (CUInt -> Int) -> CUInt -> NewlineType
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
saver
NewlineType -> IO NewlineType
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return NewlineType
result'
#if defined(ENABLE_OVERLOADING)
data FileSaverGetNewlineTypeMethodInfo
instance (signature ~ (m GtkSource.Enums.NewlineType), MonadIO m, IsFileSaver a) => O.OverloadedMethod FileSaverGetNewlineTypeMethodInfo a signature where
overloadedMethod = fileSaverGetNewlineType
instance O.OverloadedMethodInfo FileSaverGetNewlineTypeMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GtkSource.Objects.FileSaver.fileSaverGetNewlineType",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtksource-3.0.28/docs/GI-GtkSource-Objects-FileSaver.html#v:fileSaverGetNewlineType"
})
#endif
foreign import ccall "gtk_source_file_saver_save_async" gtk_source_file_saver_save_async ::
Ptr FileSaver ->
Int32 ->
Ptr Gio.Cancellable.Cancellable ->
FunPtr Gio.Callbacks.C_FileProgressCallback ->
Ptr () ->
FunPtr GLib.Callbacks.C_DestroyNotify ->
FunPtr Gio.Callbacks.C_AsyncReadyCallback ->
Ptr () ->
IO ()
fileSaverSaveAsync ::
(B.CallStack.HasCallStack, MonadIO m, IsFileSaver a, Gio.Cancellable.IsCancellable b) =>
a
-> Int32
-> Maybe (b)
-> Maybe (Gio.Callbacks.FileProgressCallback)
-> Maybe (Gio.Callbacks.AsyncReadyCallback)
-> m ()
fileSaverSaveAsync :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsFileSaver a, IsCancellable b) =>
a
-> Int32
-> Maybe b
-> Maybe FileProgressCallback
-> Maybe AsyncReadyCallback
-> m ()
fileSaverSaveAsync a
saver Int32
ioPriority Maybe b
cancellable Maybe FileProgressCallback
progressCallback Maybe AsyncReadyCallback
callback = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr FileSaver
saver' <- a -> IO (Ptr FileSaver)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
saver
Ptr Cancellable
maybeCancellable <- case Maybe b
cancellable of
Maybe b
Nothing -> Ptr Cancellable -> IO (Ptr Cancellable)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Cancellable
forall a. Ptr a
nullPtr
Just b
jCancellable -> do
Ptr Cancellable
jCancellable' <- b -> IO (Ptr Cancellable)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
jCancellable
Ptr Cancellable -> IO (Ptr Cancellable)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Cancellable
jCancellable'
FunPtr FileProgressCallback
maybeProgressCallback <- case Maybe FileProgressCallback
progressCallback of
Maybe FileProgressCallback
Nothing -> FunPtr FileProgressCallback -> IO (FunPtr FileProgressCallback)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (Ptr Any -> FunPtr FileProgressCallback
forall a b. Ptr a -> FunPtr b
castPtrToFunPtr Ptr Any
forall a. Ptr a
nullPtr)
Just FileProgressCallback
jProgressCallback -> do
FunPtr FileProgressCallback
jProgressCallback' <- FileProgressCallback -> IO (FunPtr FileProgressCallback)
Gio.Callbacks.mk_FileProgressCallback (Maybe (Ptr (FunPtr FileProgressCallback))
-> FileProgressCallback -> FileProgressCallback
Gio.Callbacks.wrap_FileProgressCallback Maybe (Ptr (FunPtr FileProgressCallback))
forall a. Maybe a
Nothing FileProgressCallback
jProgressCallback)
FunPtr FileProgressCallback -> IO (FunPtr FileProgressCallback)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return FunPtr FileProgressCallback
jProgressCallback'
FunPtr C_AsyncReadyCallback
maybeCallback <- case Maybe AsyncReadyCallback
callback of
Maybe AsyncReadyCallback
Nothing -> FunPtr C_AsyncReadyCallback -> IO (FunPtr C_AsyncReadyCallback)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (Ptr Any -> FunPtr C_AsyncReadyCallback
forall a b. Ptr a -> FunPtr b
castPtrToFunPtr Ptr Any
forall a. Ptr a
nullPtr)
Just AsyncReadyCallback
jCallback -> do
Ptr (FunPtr C_AsyncReadyCallback)
ptrcallback <- IO (Ptr (FunPtr C_AsyncReadyCallback))
forall a. Storable a => IO (Ptr a)
callocMem :: IO (Ptr (FunPtr Gio.Callbacks.C_AsyncReadyCallback))
FunPtr C_AsyncReadyCallback
jCallback' <- C_AsyncReadyCallback -> IO (FunPtr C_AsyncReadyCallback)
Gio.Callbacks.mk_AsyncReadyCallback (Maybe (Ptr (FunPtr C_AsyncReadyCallback))
-> AsyncReadyCallback -> C_AsyncReadyCallback
Gio.Callbacks.wrap_AsyncReadyCallback (Ptr (FunPtr C_AsyncReadyCallback)
-> Maybe (Ptr (FunPtr C_AsyncReadyCallback))
forall a. a -> Maybe a
Just Ptr (FunPtr C_AsyncReadyCallback)
ptrcallback) AsyncReadyCallback
jCallback)
Ptr (FunPtr C_AsyncReadyCallback)
-> FunPtr C_AsyncReadyCallback -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke Ptr (FunPtr C_AsyncReadyCallback)
ptrcallback FunPtr C_AsyncReadyCallback
jCallback'
FunPtr C_AsyncReadyCallback -> IO (FunPtr C_AsyncReadyCallback)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return FunPtr C_AsyncReadyCallback
jCallback'
let progressCallbackData :: Ptr ()
progressCallbackData = FunPtr FileProgressCallback -> Ptr ()
forall a b. FunPtr a -> Ptr b
castFunPtrToPtr FunPtr FileProgressCallback
maybeProgressCallback
let progressCallbackNotify :: FunPtr (Ptr a -> IO ())
progressCallbackNotify = FunPtr (Ptr a -> IO ())
forall a. FunPtr (Ptr a -> IO ())
SP.safeFreeFunPtrPtr
let userData :: Ptr a
userData = Ptr a
forall a. Ptr a
nullPtr
Ptr FileSaver
-> Int32
-> Ptr Cancellable
-> FunPtr FileProgressCallback
-> Ptr ()
-> FunPtr C_DestroyNotify
-> FunPtr C_AsyncReadyCallback
-> C_DestroyNotify
gtk_source_file_saver_save_async Ptr FileSaver
saver' Int32
ioPriority Ptr Cancellable
maybeCancellable FunPtr FileProgressCallback
maybeProgressCallback Ptr ()
progressCallbackData FunPtr C_DestroyNotify
forall a. FunPtr (Ptr a -> IO ())
progressCallbackNotify FunPtr C_AsyncReadyCallback
maybeCallback Ptr ()
forall a. Ptr a
userData
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
saver
Maybe b -> (b -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe b
cancellable b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data FileSaverSaveAsyncMethodInfo
instance (signature ~ (Int32 -> Maybe (b) -> Maybe (Gio.Callbacks.FileProgressCallback) -> Maybe (Gio.Callbacks.AsyncReadyCallback) -> m ()), MonadIO m, IsFileSaver a, Gio.Cancellable.IsCancellable b) => O.OverloadedMethod FileSaverSaveAsyncMethodInfo a signature where
overloadedMethod = fileSaverSaveAsync
instance O.OverloadedMethodInfo FileSaverSaveAsyncMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GtkSource.Objects.FileSaver.fileSaverSaveAsync",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtksource-3.0.28/docs/GI-GtkSource-Objects-FileSaver.html#v:fileSaverSaveAsync"
})
#endif
foreign import ccall "gtk_source_file_saver_save_finish" gtk_source_file_saver_save_finish ::
Ptr FileSaver ->
Ptr Gio.AsyncResult.AsyncResult ->
Ptr (Ptr GError) ->
IO CInt
fileSaverSaveFinish ::
(B.CallStack.HasCallStack, MonadIO m, IsFileSaver a, Gio.AsyncResult.IsAsyncResult b) =>
a
-> b
-> m ()
fileSaverSaveFinish :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsFileSaver a, IsAsyncResult b) =>
a -> b -> m ()
fileSaverSaveFinish a
saver b
result_ = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr FileSaver
saver' <- a -> IO (Ptr FileSaver)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
saver
Ptr AsyncResult
result_' <- b -> IO (Ptr AsyncResult)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
result_
IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr FileSaver -> Ptr AsyncResult -> Ptr (Ptr GError) -> IO CInt
gtk_source_file_saver_save_finish Ptr FileSaver
saver' Ptr AsyncResult
result_'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
saver
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
result_
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
)
#if defined(ENABLE_OVERLOADING)
data FileSaverSaveFinishMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsFileSaver a, Gio.AsyncResult.IsAsyncResult b) => O.OverloadedMethod FileSaverSaveFinishMethodInfo a signature where
overloadedMethod = fileSaverSaveFinish
instance O.OverloadedMethodInfo FileSaverSaveFinishMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GtkSource.Objects.FileSaver.fileSaverSaveFinish",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtksource-3.0.28/docs/GI-GtkSource-Objects-FileSaver.html#v:fileSaverSaveFinish"
})
#endif
foreign import ccall "gtk_source_file_saver_set_compression_type" gtk_source_file_saver_set_compression_type ::
Ptr FileSaver ->
CUInt ->
IO ()
fileSaverSetCompressionType ::
(B.CallStack.HasCallStack, MonadIO m, IsFileSaver a) =>
a
-> GtkSource.Enums.CompressionType
-> m ()
fileSaverSetCompressionType :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsFileSaver a) =>
a -> CompressionType -> m ()
fileSaverSetCompressionType a
saver CompressionType
compressionType = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr FileSaver
saver' <- a -> IO (Ptr FileSaver)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
saver
let compressionType' :: CUInt
compressionType' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt)
-> (CompressionType -> Int) -> CompressionType -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CompressionType -> Int
forall a. Enum a => a -> Int
fromEnum) CompressionType
compressionType
Ptr FileSaver -> CUInt -> IO ()
gtk_source_file_saver_set_compression_type Ptr FileSaver
saver' CUInt
compressionType'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
saver
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data FileSaverSetCompressionTypeMethodInfo
instance (signature ~ (GtkSource.Enums.CompressionType -> m ()), MonadIO m, IsFileSaver a) => O.OverloadedMethod FileSaverSetCompressionTypeMethodInfo a signature where
overloadedMethod = fileSaverSetCompressionType
instance O.OverloadedMethodInfo FileSaverSetCompressionTypeMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GtkSource.Objects.FileSaver.fileSaverSetCompressionType",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtksource-3.0.28/docs/GI-GtkSource-Objects-FileSaver.html#v:fileSaverSetCompressionType"
})
#endif
foreign import ccall "gtk_source_file_saver_set_encoding" gtk_source_file_saver_set_encoding ::
Ptr FileSaver ->
Ptr GtkSource.Encoding.Encoding ->
IO ()
fileSaverSetEncoding ::
(B.CallStack.HasCallStack, MonadIO m, IsFileSaver a) =>
a
-> Maybe (GtkSource.Encoding.Encoding)
-> m ()
fileSaverSetEncoding :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsFileSaver a) =>
a -> Maybe Encoding -> m ()
fileSaverSetEncoding a
saver Maybe Encoding
encoding = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr FileSaver
saver' <- a -> IO (Ptr FileSaver)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
saver
Ptr Encoding
maybeEncoding <- case Maybe Encoding
encoding of
Maybe Encoding
Nothing -> Ptr Encoding -> IO (Ptr Encoding)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Encoding
forall a. Ptr a
nullPtr
Just Encoding
jEncoding -> do
Ptr Encoding
jEncoding' <- Encoding -> IO (Ptr Encoding)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Encoding
jEncoding
Ptr Encoding -> IO (Ptr Encoding)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Encoding
jEncoding'
Ptr FileSaver -> Ptr Encoding -> IO ()
gtk_source_file_saver_set_encoding Ptr FileSaver
saver' Ptr Encoding
maybeEncoding
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
saver
Maybe Encoding -> (Encoding -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe Encoding
encoding Encoding -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data FileSaverSetEncodingMethodInfo
instance (signature ~ (Maybe (GtkSource.Encoding.Encoding) -> m ()), MonadIO m, IsFileSaver a) => O.OverloadedMethod FileSaverSetEncodingMethodInfo a signature where
overloadedMethod = fileSaverSetEncoding
instance O.OverloadedMethodInfo FileSaverSetEncodingMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GtkSource.Objects.FileSaver.fileSaverSetEncoding",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtksource-3.0.28/docs/GI-GtkSource-Objects-FileSaver.html#v:fileSaverSetEncoding"
})
#endif
foreign import ccall "gtk_source_file_saver_set_flags" gtk_source_file_saver_set_flags ::
Ptr FileSaver ->
CUInt ->
IO ()
fileSaverSetFlags ::
(B.CallStack.HasCallStack, MonadIO m, IsFileSaver a) =>
a
-> [GtkSource.Flags.FileSaverFlags]
-> m ()
fileSaverSetFlags :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsFileSaver a) =>
a -> [FileSaverFlags] -> m ()
fileSaverSetFlags a
saver [FileSaverFlags]
flags = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr FileSaver
saver' <- a -> IO (Ptr FileSaver)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
saver
let flags' :: CUInt
flags' = [FileSaverFlags] -> CUInt
forall b a. (Num b, IsGFlag a) => [a] -> b
gflagsToWord [FileSaverFlags]
flags
Ptr FileSaver -> CUInt -> IO ()
gtk_source_file_saver_set_flags Ptr FileSaver
saver' CUInt
flags'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
saver
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data FileSaverSetFlagsMethodInfo
instance (signature ~ ([GtkSource.Flags.FileSaverFlags] -> m ()), MonadIO m, IsFileSaver a) => O.OverloadedMethod FileSaverSetFlagsMethodInfo a signature where
overloadedMethod = fileSaverSetFlags
instance O.OverloadedMethodInfo FileSaverSetFlagsMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GtkSource.Objects.FileSaver.fileSaverSetFlags",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtksource-3.0.28/docs/GI-GtkSource-Objects-FileSaver.html#v:fileSaverSetFlags"
})
#endif
foreign import ccall "gtk_source_file_saver_set_newline_type" gtk_source_file_saver_set_newline_type ::
Ptr FileSaver ->
CUInt ->
IO ()
fileSaverSetNewlineType ::
(B.CallStack.HasCallStack, MonadIO m, IsFileSaver a) =>
a
-> GtkSource.Enums.NewlineType
-> m ()
fileSaverSetNewlineType :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsFileSaver a) =>
a -> NewlineType -> m ()
fileSaverSetNewlineType a
saver NewlineType
newlineType = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr FileSaver
saver' <- a -> IO (Ptr FileSaver)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
saver
let newlineType' :: CUInt
newlineType' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt) -> (NewlineType -> Int) -> NewlineType -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. NewlineType -> Int
forall a. Enum a => a -> Int
fromEnum) NewlineType
newlineType
Ptr FileSaver -> CUInt -> IO ()
gtk_source_file_saver_set_newline_type Ptr FileSaver
saver' CUInt
newlineType'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
saver
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data FileSaverSetNewlineTypeMethodInfo
instance (signature ~ (GtkSource.Enums.NewlineType -> m ()), MonadIO m, IsFileSaver a) => O.OverloadedMethod FileSaverSetNewlineTypeMethodInfo a signature where
overloadedMethod = fileSaverSetNewlineType
instance O.OverloadedMethodInfo FileSaverSetNewlineTypeMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GtkSource.Objects.FileSaver.fileSaverSetNewlineType",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gtksource-3.0.28/docs/GI-GtkSource-Objects-FileSaver.html#v:fileSaverSetNewlineType"
})
#endif