{-# LANGUAGE TypeApplications #-}


-- | Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
-- License    : LGPL-2.1
-- Maintainer : Iñaki García Etxebarria
-- 
-- /No description available in the introspection data./

#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif

module GI.GtkSource.Objects.StyleSchemeManager
    ( 

-- * Exported types
    StyleSchemeManager(..)                  ,
    IsStyleSchemeManager                    ,
    toStyleSchemeManager                    ,
    noStyleSchemeManager                    ,


 -- * Methods
-- ** Overloaded methods #method:Overloaded methods#

#if defined(ENABLE_OVERLOADING)
    ResolveStyleSchemeManagerMethod         ,
#endif


-- ** appendSearchPath #method:appendSearchPath#

#if defined(ENABLE_OVERLOADING)
    StyleSchemeManagerAppendSearchPathMethodInfo,
#endif
    styleSchemeManagerAppendSearchPath      ,


-- ** forceRescan #method:forceRescan#

#if defined(ENABLE_OVERLOADING)
    StyleSchemeManagerForceRescanMethodInfo ,
#endif
    styleSchemeManagerForceRescan           ,


-- ** getDefault #method:getDefault#

    styleSchemeManagerGetDefault            ,


-- ** getScheme #method:getScheme#

#if defined(ENABLE_OVERLOADING)
    StyleSchemeManagerGetSchemeMethodInfo   ,
#endif
    styleSchemeManagerGetScheme             ,


-- ** getSchemeIds #method:getSchemeIds#

#if defined(ENABLE_OVERLOADING)
    StyleSchemeManagerGetSchemeIdsMethodInfo,
#endif
    styleSchemeManagerGetSchemeIds          ,


-- ** getSearchPath #method:getSearchPath#

#if defined(ENABLE_OVERLOADING)
    StyleSchemeManagerGetSearchPathMethodInfo,
#endif
    styleSchemeManagerGetSearchPath         ,


-- ** new #method:new#

    styleSchemeManagerNew                   ,


-- ** prependSearchPath #method:prependSearchPath#

#if defined(ENABLE_OVERLOADING)
    StyleSchemeManagerPrependSearchPathMethodInfo,
#endif
    styleSchemeManagerPrependSearchPath     ,


-- ** setSearchPath #method:setSearchPath#

#if defined(ENABLE_OVERLOADING)
    StyleSchemeManagerSetSearchPathMethodInfo,
#endif
    styleSchemeManagerSetSearchPath         ,




 -- * Properties
-- ** schemeIds #attr:schemeIds#
-- | /No description available in the introspection data./

#if defined(ENABLE_OVERLOADING)
    StyleSchemeManagerSchemeIdsPropertyInfo ,
#endif
    getStyleSchemeManagerSchemeIds          ,
#if defined(ENABLE_OVERLOADING)
    styleSchemeManagerSchemeIds             ,
#endif


-- ** searchPath #attr:searchPath#
-- | /No description available in the introspection data./

#if defined(ENABLE_OVERLOADING)
    StyleSchemeManagerSearchPathPropertyInfo,
#endif
    clearStyleSchemeManagerSearchPath       ,
    constructStyleSchemeManagerSearchPath   ,
    getStyleSchemeManagerSearchPath         ,
    setStyleSchemeManagerSearchPath         ,
#if defined(ENABLE_OVERLOADING)
    styleSchemeManagerSearchPath            ,
#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.GtkSource.Objects.StyleScheme as GtkSource.StyleScheme

-- | Memory-managed wrapper type.
newtype StyleSchemeManager = StyleSchemeManager (ManagedPtr StyleSchemeManager)
    deriving (StyleSchemeManager -> StyleSchemeManager -> Bool
(StyleSchemeManager -> StyleSchemeManager -> Bool)
-> (StyleSchemeManager -> StyleSchemeManager -> Bool)
-> Eq StyleSchemeManager
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StyleSchemeManager -> StyleSchemeManager -> Bool
$c/= :: StyleSchemeManager -> StyleSchemeManager -> Bool
== :: StyleSchemeManager -> StyleSchemeManager -> Bool
$c== :: StyleSchemeManager -> StyleSchemeManager -> Bool
Eq)
foreign import ccall "gtk_source_style_scheme_manager_get_type"
    c_gtk_source_style_scheme_manager_get_type :: IO GType

instance GObject StyleSchemeManager where
    gobjectType :: IO GType
gobjectType = IO GType
c_gtk_source_style_scheme_manager_get_type
    

-- | Convert 'StyleSchemeManager' to and from 'Data.GI.Base.GValue.GValue' with 'Data.GI.Base.GValue.toGValue' and 'Data.GI.Base.GValue.fromGValue'.
instance B.GValue.IsGValue StyleSchemeManager where
    toGValue :: StyleSchemeManager -> IO GValue
toGValue o :: StyleSchemeManager
o = do
        GType
gtype <- IO GType
c_gtk_source_style_scheme_manager_get_type
        StyleSchemeManager
-> (Ptr StyleSchemeManager -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr StyleSchemeManager
o (GType
-> (GValue -> Ptr StyleSchemeManager -> IO ())
-> Ptr StyleSchemeManager
-> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr StyleSchemeManager -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
        
    fromGValue :: GValue -> IO StyleSchemeManager
fromGValue gv :: GValue
gv = do
        Ptr StyleSchemeManager
ptr <- GValue -> IO (Ptr StyleSchemeManager)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr StyleSchemeManager)
        (ManagedPtr StyleSchemeManager -> StyleSchemeManager)
-> Ptr StyleSchemeManager -> IO StyleSchemeManager
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr StyleSchemeManager -> StyleSchemeManager
StyleSchemeManager Ptr StyleSchemeManager
ptr
        
    

-- | Type class for types which can be safely cast to `StyleSchemeManager`, for instance with `toStyleSchemeManager`.
class (GObject o, O.IsDescendantOf StyleSchemeManager o) => IsStyleSchemeManager o
instance (GObject o, O.IsDescendantOf StyleSchemeManager o) => IsStyleSchemeManager o

instance O.HasParentTypes StyleSchemeManager
type instance O.ParentTypes StyleSchemeManager = '[GObject.Object.Object]

-- | Cast to `StyleSchemeManager`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
toStyleSchemeManager :: (MonadIO m, IsStyleSchemeManager o) => o -> m StyleSchemeManager
toStyleSchemeManager :: o -> m StyleSchemeManager
toStyleSchemeManager = IO StyleSchemeManager -> m StyleSchemeManager
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO StyleSchemeManager -> m StyleSchemeManager)
-> (o -> IO StyleSchemeManager) -> o -> m StyleSchemeManager
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr StyleSchemeManager -> StyleSchemeManager)
-> o -> IO StyleSchemeManager
forall o o'.
(HasCallStack, GObject o, GObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr StyleSchemeManager -> StyleSchemeManager
StyleSchemeManager

-- | A convenience alias for `Nothing` :: `Maybe` `StyleSchemeManager`.
noStyleSchemeManager :: Maybe StyleSchemeManager
noStyleSchemeManager :: Maybe StyleSchemeManager
noStyleSchemeManager = Maybe StyleSchemeManager
forall a. Maybe a
Nothing

#if defined(ENABLE_OVERLOADING)
type family ResolveStyleSchemeManagerMethod (t :: Symbol) (o :: *) :: * where
    ResolveStyleSchemeManagerMethod "appendSearchPath" o = StyleSchemeManagerAppendSearchPathMethodInfo
    ResolveStyleSchemeManagerMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveStyleSchemeManagerMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveStyleSchemeManagerMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveStyleSchemeManagerMethod "forceRescan" o = StyleSchemeManagerForceRescanMethodInfo
    ResolveStyleSchemeManagerMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveStyleSchemeManagerMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
    ResolveStyleSchemeManagerMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveStyleSchemeManagerMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveStyleSchemeManagerMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveStyleSchemeManagerMethod "prependSearchPath" o = StyleSchemeManagerPrependSearchPathMethodInfo
    ResolveStyleSchemeManagerMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveStyleSchemeManagerMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveStyleSchemeManagerMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveStyleSchemeManagerMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveStyleSchemeManagerMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveStyleSchemeManagerMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveStyleSchemeManagerMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveStyleSchemeManagerMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveStyleSchemeManagerMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveStyleSchemeManagerMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveStyleSchemeManagerMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveStyleSchemeManagerMethod "getScheme" o = StyleSchemeManagerGetSchemeMethodInfo
    ResolveStyleSchemeManagerMethod "getSchemeIds" o = StyleSchemeManagerGetSchemeIdsMethodInfo
    ResolveStyleSchemeManagerMethod "getSearchPath" o = StyleSchemeManagerGetSearchPathMethodInfo
    ResolveStyleSchemeManagerMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveStyleSchemeManagerMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
    ResolveStyleSchemeManagerMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveStyleSchemeManagerMethod "setSearchPath" o = StyleSchemeManagerSetSearchPathMethodInfo
    ResolveStyleSchemeManagerMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveStyleSchemeManagerMethod t StyleSchemeManager, O.MethodInfo info StyleSchemeManager p) => OL.IsLabel t (StyleSchemeManager -> p) where
#if MIN_VERSION_base(4,10,0)
    fromLabel = O.overloadedMethod @info
#else
    fromLabel _ = O.overloadedMethod @info
#endif

#endif

-- VVV Prop "scheme-ids"
   -- Type: TCArray True (-1) (-1) (TBasicType TUTF8)
   -- Flags: [PropertyReadable]
   -- Nullable: (Just True,Nothing)

-- | Get the value of the “@scheme-ids@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' styleSchemeManager #schemeIds
-- @
getStyleSchemeManagerSchemeIds :: (MonadIO m, IsStyleSchemeManager o) => o -> m (Maybe [T.Text])
getStyleSchemeManagerSchemeIds :: o -> m (Maybe [Text])
getStyleSchemeManagerSchemeIds obj :: o
obj = IO (Maybe [Text]) -> m (Maybe [Text])
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe [Text]) -> m (Maybe [Text]))
-> IO (Maybe [Text]) -> m (Maybe [Text])
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe [Text])
forall a. GObject a => a -> String -> IO (Maybe [Text])
B.Properties.getObjectPropertyStringArray o
obj "scheme-ids"

#if defined(ENABLE_OVERLOADING)
data StyleSchemeManagerSchemeIdsPropertyInfo
instance AttrInfo StyleSchemeManagerSchemeIdsPropertyInfo where
    type AttrAllowedOps StyleSchemeManagerSchemeIdsPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint StyleSchemeManagerSchemeIdsPropertyInfo = IsStyleSchemeManager
    type AttrSetTypeConstraint StyleSchemeManagerSchemeIdsPropertyInfo = (~) ()
    type AttrTransferTypeConstraint StyleSchemeManagerSchemeIdsPropertyInfo = (~) ()
    type AttrTransferType StyleSchemeManagerSchemeIdsPropertyInfo = ()
    type AttrGetType StyleSchemeManagerSchemeIdsPropertyInfo = (Maybe [T.Text])
    type AttrLabel StyleSchemeManagerSchemeIdsPropertyInfo = "scheme-ids"
    type AttrOrigin StyleSchemeManagerSchemeIdsPropertyInfo = StyleSchemeManager
    attrGet = getStyleSchemeManagerSchemeIds
    attrSet = undefined
    attrTransfer _ = undefined
    attrConstruct = undefined
    attrClear = undefined
#endif

-- VVV Prop "search-path"
   -- Type: TCArray True (-1) (-1) (TBasicType TUTF8)
   -- Flags: [PropertyReadable,PropertyWritable]
   -- Nullable: (Just False,Just True)

-- | Get the value of the “@search-path@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.get' styleSchemeManager #searchPath
-- @
getStyleSchemeManagerSearchPath :: (MonadIO m, IsStyleSchemeManager o) => o -> m [T.Text]
getStyleSchemeManagerSearchPath :: o -> m [Text]
getStyleSchemeManagerSearchPath obj :: o
obj = IO [Text] -> m [Text]
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [Text] -> m [Text]) -> IO [Text] -> m [Text]
forall a b. (a -> b) -> a -> b
$ Text -> IO (Maybe [Text]) -> IO [Text]
forall a. HasCallStack => Text -> IO (Maybe a) -> IO a
checkUnexpectedNothing "getStyleSchemeManagerSearchPath" (IO (Maybe [Text]) -> IO [Text]) -> IO (Maybe [Text]) -> IO [Text]
forall a b. (a -> b) -> a -> b
$ o -> String -> IO (Maybe [Text])
forall a. GObject a => a -> String -> IO (Maybe [Text])
B.Properties.getObjectPropertyStringArray o
obj "search-path"

-- | Set the value of the “@search-path@” property.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.set' styleSchemeManager [ #searchPath 'Data.GI.Base.Attributes.:=' value ]
-- @
setStyleSchemeManagerSearchPath :: (MonadIO m, IsStyleSchemeManager o) => o -> [T.Text] -> m ()
setStyleSchemeManagerSearchPath :: o -> [Text] -> m ()
setStyleSchemeManagerSearchPath obj :: o
obj val :: [Text]
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe [Text] -> IO ()
forall a. GObject a => a -> String -> Maybe [Text] -> IO ()
B.Properties.setObjectPropertyStringArray o
obj "search-path" ([Text] -> Maybe [Text]
forall a. a -> Maybe a
Just [Text]
val)

-- | Construct a `GValueConstruct` with valid value for the “@search-path@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.
constructStyleSchemeManagerSearchPath :: (IsStyleSchemeManager o) => [T.Text] -> IO (GValueConstruct o)
constructStyleSchemeManagerSearchPath :: [Text] -> IO (GValueConstruct o)
constructStyleSchemeManagerSearchPath val :: [Text]
val = String -> Maybe [Text] -> IO (GValueConstruct o)
forall o. String -> Maybe [Text] -> IO (GValueConstruct o)
B.Properties.constructObjectPropertyStringArray "search-path" ([Text] -> Maybe [Text]
forall a. a -> Maybe a
Just [Text]
val)

-- | Set the value of the “@search-path@” property to `Nothing`.
-- When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to
-- 
-- @
-- 'Data.GI.Base.Attributes.clear' #searchPath
-- @
clearStyleSchemeManagerSearchPath :: (MonadIO m, IsStyleSchemeManager o) => o -> m ()
clearStyleSchemeManagerSearchPath :: o -> m ()
clearStyleSchemeManagerSearchPath obj :: o
obj = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ o -> String -> Maybe [Text] -> IO ()
forall a. GObject a => a -> String -> Maybe [Text] -> IO ()
B.Properties.setObjectPropertyStringArray o
obj "search-path" (Maybe [Text]
forall a. Maybe a
Nothing :: Maybe [T.Text])

#if defined(ENABLE_OVERLOADING)
data StyleSchemeManagerSearchPathPropertyInfo
instance AttrInfo StyleSchemeManagerSearchPathPropertyInfo where
    type AttrAllowedOps StyleSchemeManagerSearchPathPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
    type AttrBaseTypeConstraint StyleSchemeManagerSearchPathPropertyInfo = IsStyleSchemeManager
    type AttrSetTypeConstraint StyleSchemeManagerSearchPathPropertyInfo = (~) [T.Text]
    type AttrTransferTypeConstraint StyleSchemeManagerSearchPathPropertyInfo = (~) [T.Text]
    type AttrTransferType StyleSchemeManagerSearchPathPropertyInfo = [T.Text]
    type AttrGetType StyleSchemeManagerSearchPathPropertyInfo = [T.Text]
    type AttrLabel StyleSchemeManagerSearchPathPropertyInfo = "search-path"
    type AttrOrigin StyleSchemeManagerSearchPathPropertyInfo = StyleSchemeManager
    attrGet = getStyleSchemeManagerSearchPath
    attrSet = setStyleSchemeManagerSearchPath
    attrTransfer _ v = do
        return v
    attrConstruct = constructStyleSchemeManagerSearchPath
    attrClear = clearStyleSchemeManagerSearchPath
#endif

#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList StyleSchemeManager
type instance O.AttributeList StyleSchemeManager = StyleSchemeManagerAttributeList
type StyleSchemeManagerAttributeList = ('[ '("schemeIds", StyleSchemeManagerSchemeIdsPropertyInfo), '("searchPath", StyleSchemeManagerSearchPathPropertyInfo)] :: [(Symbol, *)])
#endif

#if defined(ENABLE_OVERLOADING)
styleSchemeManagerSchemeIds :: AttrLabelProxy "schemeIds"
styleSchemeManagerSchemeIds = AttrLabelProxy

styleSchemeManagerSearchPath :: AttrLabelProxy "searchPath"
styleSchemeManagerSearchPath = AttrLabelProxy

#endif

#if defined(ENABLE_OVERLOADING)
type instance O.SignalList StyleSchemeManager = StyleSchemeManagerSignalList
type StyleSchemeManagerSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])

#endif

-- method StyleSchemeManager::new
-- method type : Constructor
-- Args: []
-- Lengths: []
-- returnType: Just
--               (TInterface
--                  Name { namespace = "GtkSource" , name = "StyleSchemeManager" })
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_style_scheme_manager_new" gtk_source_style_scheme_manager_new :: 
    IO (Ptr StyleSchemeManager)

-- | Creates a new style manager. If you do not need more than one style
-- manager then use 'GI.GtkSource.Objects.StyleSchemeManager.styleSchemeManagerGetDefault' instead.
styleSchemeManagerNew ::
    (B.CallStack.HasCallStack, MonadIO m) =>
    m StyleSchemeManager
    -- ^ __Returns:__ a new t'GI.GtkSource.Objects.StyleSchemeManager.StyleSchemeManager'.
styleSchemeManagerNew :: m StyleSchemeManager
styleSchemeManagerNew  = IO StyleSchemeManager -> m StyleSchemeManager
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO StyleSchemeManager -> m StyleSchemeManager)
-> IO StyleSchemeManager -> m StyleSchemeManager
forall a b. (a -> b) -> a -> b
$ do
    Ptr StyleSchemeManager
result <- IO (Ptr StyleSchemeManager)
gtk_source_style_scheme_manager_new
    Text -> Ptr StyleSchemeManager -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "styleSchemeManagerNew" Ptr StyleSchemeManager
result
    StyleSchemeManager
result' <- ((ManagedPtr StyleSchemeManager -> StyleSchemeManager)
-> Ptr StyleSchemeManager -> IO StyleSchemeManager
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr StyleSchemeManager -> StyleSchemeManager
StyleSchemeManager) Ptr StyleSchemeManager
result
    StyleSchemeManager -> IO StyleSchemeManager
forall (m :: * -> *) a. Monad m => a -> m a
return StyleSchemeManager
result'

#if defined(ENABLE_OVERLOADING)
#endif

-- method StyleSchemeManager::append_search_path
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "manager"
--           , argType =
--               TInterface
--                 Name { namespace = "GtkSource" , name = "StyleSchemeManager" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #GtkSourceStyleSchemeManager."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "path"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a directory or a filename."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_style_scheme_manager_append_search_path" gtk_source_style_scheme_manager_append_search_path :: 
    Ptr StyleSchemeManager ->               -- manager : TInterface (Name {namespace = "GtkSource", name = "StyleSchemeManager"})
    CString ->                              -- path : TBasicType TUTF8
    IO ()

-- | Appends /@path@/ to the list of directories where the /@manager@/ looks for
-- style scheme files.
-- See 'GI.GtkSource.Objects.StyleSchemeManager.styleSchemeManagerSetSearchPath' for details.
styleSchemeManagerAppendSearchPath ::
    (B.CallStack.HasCallStack, MonadIO m, IsStyleSchemeManager a) =>
    a
    -- ^ /@manager@/: a t'GI.GtkSource.Objects.StyleSchemeManager.StyleSchemeManager'.
    -> T.Text
    -- ^ /@path@/: a directory or a filename.
    -> m ()
styleSchemeManagerAppendSearchPath :: a -> Text -> m ()
styleSchemeManagerAppendSearchPath manager :: a
manager path :: Text
path = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr StyleSchemeManager
manager' <- a -> IO (Ptr StyleSchemeManager)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
manager
    CString
path' <- Text -> IO CString
textToCString Text
path
    Ptr StyleSchemeManager -> CString -> IO ()
gtk_source_style_scheme_manager_append_search_path Ptr StyleSchemeManager
manager' CString
path'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
manager
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
path'
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data StyleSchemeManagerAppendSearchPathMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsStyleSchemeManager a) => O.MethodInfo StyleSchemeManagerAppendSearchPathMethodInfo a signature where
    overloadedMethod = styleSchemeManagerAppendSearchPath

#endif

-- method StyleSchemeManager::force_rescan
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "manager"
--           , argType =
--               TInterface
--                 Name { namespace = "GtkSource" , name = "StyleSchemeManager" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #GtkSourceStyleSchemeManager."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_style_scheme_manager_force_rescan" gtk_source_style_scheme_manager_force_rescan :: 
    Ptr StyleSchemeManager ->               -- manager : TInterface (Name {namespace = "GtkSource", name = "StyleSchemeManager"})
    IO ()

-- | Mark any currently cached information about the available style scehems
-- as invalid. All the available style schemes will be reloaded next time
-- the /@manager@/ is accessed.
styleSchemeManagerForceRescan ::
    (B.CallStack.HasCallStack, MonadIO m, IsStyleSchemeManager a) =>
    a
    -- ^ /@manager@/: a t'GI.GtkSource.Objects.StyleSchemeManager.StyleSchemeManager'.
    -> m ()
styleSchemeManagerForceRescan :: a -> m ()
styleSchemeManagerForceRescan manager :: a
manager = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr StyleSchemeManager
manager' <- a -> IO (Ptr StyleSchemeManager)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
manager
    Ptr StyleSchemeManager -> IO ()
gtk_source_style_scheme_manager_force_rescan Ptr StyleSchemeManager
manager'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
manager
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data StyleSchemeManagerForceRescanMethodInfo
instance (signature ~ (m ()), MonadIO m, IsStyleSchemeManager a) => O.MethodInfo StyleSchemeManagerForceRescanMethodInfo a signature where
    overloadedMethod = styleSchemeManagerForceRescan

#endif

-- method StyleSchemeManager::get_scheme
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "manager"
--           , argType =
--               TInterface
--                 Name { namespace = "GtkSource" , name = "StyleSchemeManager" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #GtkSourceStyleSchemeManager."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "scheme_id"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "style scheme id to find."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just
--               (TInterface
--                  Name { namespace = "GtkSource" , name = "StyleScheme" })
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_style_scheme_manager_get_scheme" gtk_source_style_scheme_manager_get_scheme :: 
    Ptr StyleSchemeManager ->               -- manager : TInterface (Name {namespace = "GtkSource", name = "StyleSchemeManager"})
    CString ->                              -- scheme_id : TBasicType TUTF8
    IO (Ptr GtkSource.StyleScheme.StyleScheme)

-- | Looks up style scheme by id.
styleSchemeManagerGetScheme ::
    (B.CallStack.HasCallStack, MonadIO m, IsStyleSchemeManager a) =>
    a
    -- ^ /@manager@/: a t'GI.GtkSource.Objects.StyleSchemeManager.StyleSchemeManager'.
    -> T.Text
    -- ^ /@schemeId@/: style scheme id to find.
    -> m GtkSource.StyleScheme.StyleScheme
    -- ^ __Returns:__ a t'GI.GtkSource.Objects.StyleScheme.StyleScheme' object. Returned value is owned by
    -- /@manager@/ and must not be unref\'ed.
styleSchemeManagerGetScheme :: a -> Text -> m StyleScheme
styleSchemeManagerGetScheme manager :: a
manager schemeId :: Text
schemeId = IO StyleScheme -> m StyleScheme
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO StyleScheme -> m StyleScheme)
-> IO StyleScheme -> m StyleScheme
forall a b. (a -> b) -> a -> b
$ do
    Ptr StyleSchemeManager
manager' <- a -> IO (Ptr StyleSchemeManager)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
manager
    CString
schemeId' <- Text -> IO CString
textToCString Text
schemeId
    Ptr StyleScheme
result <- Ptr StyleSchemeManager -> CString -> IO (Ptr StyleScheme)
gtk_source_style_scheme_manager_get_scheme Ptr StyleSchemeManager
manager' CString
schemeId'
    Text -> Ptr StyleScheme -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "styleSchemeManagerGetScheme" Ptr StyleScheme
result
    StyleScheme
result' <- ((ManagedPtr StyleScheme -> StyleScheme)
-> Ptr StyleScheme -> IO StyleScheme
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr StyleScheme -> StyleScheme
GtkSource.StyleScheme.StyleScheme) Ptr StyleScheme
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
manager
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
schemeId'
    StyleScheme -> IO StyleScheme
forall (m :: * -> *) a. Monad m => a -> m a
return StyleScheme
result'

#if defined(ENABLE_OVERLOADING)
data StyleSchemeManagerGetSchemeMethodInfo
instance (signature ~ (T.Text -> m GtkSource.StyleScheme.StyleScheme), MonadIO m, IsStyleSchemeManager a) => O.MethodInfo StyleSchemeManagerGetSchemeMethodInfo a signature where
    overloadedMethod = styleSchemeManagerGetScheme

#endif

-- method StyleSchemeManager::get_scheme_ids
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "manager"
--           , argType =
--               TInterface
--                 Name { namespace = "GtkSource" , name = "StyleSchemeManager" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #GtkSourceStyleSchemeManager."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TCArray True (-1) (-1) (TBasicType TUTF8))
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_style_scheme_manager_get_scheme_ids" gtk_source_style_scheme_manager_get_scheme_ids :: 
    Ptr StyleSchemeManager ->               -- manager : TInterface (Name {namespace = "GtkSource", name = "StyleSchemeManager"})
    IO (Ptr CString)

-- | Returns the ids of the available style schemes.
styleSchemeManagerGetSchemeIds ::
    (B.CallStack.HasCallStack, MonadIO m, IsStyleSchemeManager a) =>
    a
    -- ^ /@manager@/: a t'GI.GtkSource.Objects.StyleSchemeManager.StyleSchemeManager'.
    -> m (Maybe [T.Text])
    -- ^ __Returns:__ 
    -- a 'P.Nothing'-terminated array of strings containing the ids of the available
    -- style schemes or 'P.Nothing' if no style scheme is available.
    -- The array is sorted alphabetically according to the scheme name.
    -- The array is owned by the /@manager@/ and must not be modified.
styleSchemeManagerGetSchemeIds :: a -> m (Maybe [Text])
styleSchemeManagerGetSchemeIds manager :: a
manager = IO (Maybe [Text]) -> m (Maybe [Text])
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe [Text]) -> m (Maybe [Text]))
-> IO (Maybe [Text]) -> m (Maybe [Text])
forall a b. (a -> b) -> a -> b
$ do
    Ptr StyleSchemeManager
manager' <- a -> IO (Ptr StyleSchemeManager)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
manager
    Ptr CString
result <- Ptr StyleSchemeManager -> IO (Ptr CString)
gtk_source_style_scheme_manager_get_scheme_ids Ptr StyleSchemeManager
manager'
    Maybe [Text]
maybeResult <- Ptr CString -> (Ptr CString -> IO [Text]) -> IO (Maybe [Text])
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr CString
result ((Ptr CString -> IO [Text]) -> IO (Maybe [Text]))
-> (Ptr CString -> IO [Text]) -> IO (Maybe [Text])
forall a b. (a -> b) -> a -> b
$ \result' :: Ptr CString
result' -> do
        [Text]
result'' <- HasCallStack => Ptr CString -> IO [Text]
Ptr CString -> IO [Text]
unpackZeroTerminatedUTF8CArray Ptr CString
result'
        [Text] -> IO [Text]
forall (m :: * -> *) a. Monad m => a -> m a
return [Text]
result''
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
manager
    Maybe [Text] -> IO (Maybe [Text])
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe [Text]
maybeResult

#if defined(ENABLE_OVERLOADING)
data StyleSchemeManagerGetSchemeIdsMethodInfo
instance (signature ~ (m (Maybe [T.Text])), MonadIO m, IsStyleSchemeManager a) => O.MethodInfo StyleSchemeManagerGetSchemeIdsMethodInfo a signature where
    overloadedMethod = styleSchemeManagerGetSchemeIds

#endif

-- method StyleSchemeManager::get_search_path
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "manager"
--           , argType =
--               TInterface
--                 Name { namespace = "GtkSource" , name = "StyleSchemeManager" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #GtkSourceStyleSchemeManager."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Just (TCArray True (-1) (-1) (TBasicType TUTF8))
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_style_scheme_manager_get_search_path" gtk_source_style_scheme_manager_get_search_path :: 
    Ptr StyleSchemeManager ->               -- manager : TInterface (Name {namespace = "GtkSource", name = "StyleSchemeManager"})
    IO (Ptr CString)

-- | Returns the current search path for the /@manager@/.
-- See 'GI.GtkSource.Objects.StyleSchemeManager.styleSchemeManagerSetSearchPath' for details.
styleSchemeManagerGetSearchPath ::
    (B.CallStack.HasCallStack, MonadIO m, IsStyleSchemeManager a) =>
    a
    -- ^ /@manager@/: a t'GI.GtkSource.Objects.StyleSchemeManager.StyleSchemeManager'.
    -> m [T.Text]
    -- ^ __Returns:__ a 'P.Nothing'-terminated array
    -- of string containing the search path.
    -- The array is owned by the /@manager@/ and must not be modified.
styleSchemeManagerGetSearchPath :: a -> m [Text]
styleSchemeManagerGetSearchPath manager :: a
manager = IO [Text] -> m [Text]
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [Text] -> m [Text]) -> IO [Text] -> m [Text]
forall a b. (a -> b) -> a -> b
$ do
    Ptr StyleSchemeManager
manager' <- a -> IO (Ptr StyleSchemeManager)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
manager
    Ptr CString
result <- Ptr StyleSchemeManager -> IO (Ptr CString)
gtk_source_style_scheme_manager_get_search_path Ptr StyleSchemeManager
manager'
    Text -> Ptr CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "styleSchemeManagerGetSearchPath" Ptr CString
result
    [Text]
result' <- HasCallStack => Ptr CString -> IO [Text]
Ptr CString -> IO [Text]
unpackZeroTerminatedUTF8CArray Ptr CString
result
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
manager
    [Text] -> IO [Text]
forall (m :: * -> *) a. Monad m => a -> m a
return [Text]
result'

#if defined(ENABLE_OVERLOADING)
data StyleSchemeManagerGetSearchPathMethodInfo
instance (signature ~ (m [T.Text]), MonadIO m, IsStyleSchemeManager a) => O.MethodInfo StyleSchemeManagerGetSearchPathMethodInfo a signature where
    overloadedMethod = styleSchemeManagerGetSearchPath

#endif

-- method StyleSchemeManager::prepend_search_path
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "manager"
--           , argType =
--               TInterface
--                 Name { namespace = "GtkSource" , name = "StyleSchemeManager" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #GtkSourceStyleSchemeManager."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "path"
--           , argType = TBasicType TUTF8
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a directory or a filename."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_style_scheme_manager_prepend_search_path" gtk_source_style_scheme_manager_prepend_search_path :: 
    Ptr StyleSchemeManager ->               -- manager : TInterface (Name {namespace = "GtkSource", name = "StyleSchemeManager"})
    CString ->                              -- path : TBasicType TUTF8
    IO ()

-- | Prepends /@path@/ to the list of directories where the /@manager@/ looks
-- for style scheme files.
-- See 'GI.GtkSource.Objects.StyleSchemeManager.styleSchemeManagerSetSearchPath' for details.
styleSchemeManagerPrependSearchPath ::
    (B.CallStack.HasCallStack, MonadIO m, IsStyleSchemeManager a) =>
    a
    -- ^ /@manager@/: a t'GI.GtkSource.Objects.StyleSchemeManager.StyleSchemeManager'.
    -> T.Text
    -- ^ /@path@/: a directory or a filename.
    -> m ()
styleSchemeManagerPrependSearchPath :: a -> Text -> m ()
styleSchemeManagerPrependSearchPath manager :: a
manager path :: Text
path = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr StyleSchemeManager
manager' <- a -> IO (Ptr StyleSchemeManager)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
manager
    CString
path' <- Text -> IO CString
textToCString Text
path
    Ptr StyleSchemeManager -> CString -> IO ()
gtk_source_style_scheme_manager_prepend_search_path Ptr StyleSchemeManager
manager' CString
path'
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
manager
    CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
path'
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data StyleSchemeManagerPrependSearchPathMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsStyleSchemeManager a) => O.MethodInfo StyleSchemeManagerPrependSearchPathMethodInfo a signature where
    overloadedMethod = styleSchemeManagerPrependSearchPath

#endif

-- method StyleSchemeManager::set_search_path
-- method type : OrdinaryMethod
-- Args: [ Arg
--           { argCName = "manager"
--           , argType =
--               TInterface
--                 Name { namespace = "GtkSource" , name = "StyleSchemeManager" }
--           , direction = DirectionIn
--           , mayBeNull = False
--           , argDoc =
--               Documentation
--                 { rawDocText = Just "a #GtkSourceStyleSchemeManager."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       , Arg
--           { argCName = "path"
--           , argType = TCArray True (-1) (-1) (TBasicType TUTF8)
--           , direction = DirectionIn
--           , mayBeNull = True
--           , argDoc =
--               Documentation
--                 { rawDocText =
--                     Just "\na %NULL-terminated array of strings or %NULL."
--                 , sinceVersion = Nothing
--                 }
--           , argScope = ScopeTypeInvalid
--           , argClosure = -1
--           , argDestroy = -1
--           , argCallerAllocates = False
--           , transfer = TransferNothing
--           }
--       ]
-- Lengths: []
-- returnType: Nothing
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_style_scheme_manager_set_search_path" gtk_source_style_scheme_manager_set_search_path :: 
    Ptr StyleSchemeManager ->               -- manager : TInterface (Name {namespace = "GtkSource", name = "StyleSchemeManager"})
    Ptr CString ->                          -- path : TCArray True (-1) (-1) (TBasicType TUTF8)
    IO ()

-- | Sets the list of directories where the /@manager@/ looks for
-- style scheme files.
-- If /@path@/ is 'P.Nothing', the search path is reset to default.
styleSchemeManagerSetSearchPath ::
    (B.CallStack.HasCallStack, MonadIO m, IsStyleSchemeManager a) =>
    a
    -- ^ /@manager@/: a t'GI.GtkSource.Objects.StyleSchemeManager.StyleSchemeManager'.
    -> Maybe ([T.Text])
    -- ^ /@path@/: 
    -- a 'P.Nothing'-terminated array of strings or 'P.Nothing'.
    -> m ()
styleSchemeManagerSetSearchPath :: a -> Maybe [Text] -> m ()
styleSchemeManagerSetSearchPath manager :: a
manager path :: Maybe [Text]
path = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
    Ptr StyleSchemeManager
manager' <- a -> IO (Ptr StyleSchemeManager)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
manager
    Ptr CString
maybePath <- case Maybe [Text]
path of
        Nothing -> Ptr CString -> IO (Ptr CString)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CString
forall a. Ptr a
nullPtr
        Just jPath :: [Text]
jPath -> do
            Ptr CString
jPath' <- [Text] -> IO (Ptr CString)
packZeroTerminatedUTF8CArray [Text]
jPath
            Ptr CString -> IO (Ptr CString)
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr CString
jPath'
    Ptr StyleSchemeManager -> Ptr CString -> IO ()
gtk_source_style_scheme_manager_set_search_path Ptr StyleSchemeManager
manager' Ptr CString
maybePath
    a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
manager
    (CString -> IO ()) -> Ptr CString -> IO ()
forall a b. (Ptr a -> IO b) -> Ptr (Ptr a) -> IO ()
mapZeroTerminatedCArray CString -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CString
maybePath
    Ptr CString -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CString
maybePath
    () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()

#if defined(ENABLE_OVERLOADING)
data StyleSchemeManagerSetSearchPathMethodInfo
instance (signature ~ (Maybe ([T.Text]) -> m ()), MonadIO m, IsStyleSchemeManager a) => O.MethodInfo StyleSchemeManagerSetSearchPathMethodInfo a signature where
    overloadedMethod = styleSchemeManagerSetSearchPath

#endif

-- method StyleSchemeManager::get_default
-- method type : MemberFunction
-- Args: []
-- Lengths: []
-- returnType: Just
--               (TInterface
--                  Name { namespace = "GtkSource" , name = "StyleSchemeManager" })
-- throws : False
-- Skip return : False

foreign import ccall "gtk_source_style_scheme_manager_get_default" gtk_source_style_scheme_manager_get_default :: 
    IO (Ptr StyleSchemeManager)

-- | Returns the default t'GI.GtkSource.Objects.StyleSchemeManager.StyleSchemeManager' instance.
styleSchemeManagerGetDefault ::
    (B.CallStack.HasCallStack, MonadIO m) =>
    m StyleSchemeManager
    -- ^ __Returns:__ a t'GI.GtkSource.Objects.StyleSchemeManager.StyleSchemeManager'. Return value
    -- is owned by GtkSourceView library and must not be unref\'ed.
styleSchemeManagerGetDefault :: m StyleSchemeManager
styleSchemeManagerGetDefault  = IO StyleSchemeManager -> m StyleSchemeManager
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO StyleSchemeManager -> m StyleSchemeManager)
-> IO StyleSchemeManager -> m StyleSchemeManager
forall a b. (a -> b) -> a -> b
$ do
    Ptr StyleSchemeManager
result <- IO (Ptr StyleSchemeManager)
gtk_source_style_scheme_manager_get_default
    Text -> Ptr StyleSchemeManager -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "styleSchemeManagerGetDefault" Ptr StyleSchemeManager
result
    StyleSchemeManager
result' <- ((ManagedPtr StyleSchemeManager -> StyleSchemeManager)
-> Ptr StyleSchemeManager -> IO StyleSchemeManager
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr StyleSchemeManager -> StyleSchemeManager
StyleSchemeManager) Ptr StyleSchemeManager
result
    StyleSchemeManager -> IO StyleSchemeManager
forall (m :: * -> *) a. Monad m => a -> m a
return StyleSchemeManager
result'

#if defined(ENABLE_OVERLOADING)
#endif