{- | Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte License : LGPL-2.1 Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc) 'GI.GstPbutils.Objects.DiscovererStreamInfo.DiscovererStreamInfo' specific to container streams. -} #define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \ && !defined(__HADDOCK_VERSION__)) module GI.GstPbutils.Objects.DiscovererContainerInfo ( -- * Exported types DiscovererContainerInfo(..) , IsDiscovererContainerInfo , toDiscovererContainerInfo , noDiscovererContainerInfo , -- * Methods -- ** getStreams #method:getStreams# #if ENABLE_OVERLOADING DiscovererContainerInfoGetStreamsMethodInfo, #endif discovererContainerInfoGetStreams , ) where import Data.GI.Base.ShortPrelude import qualified Data.GI.Base.ShortPrelude as SP import qualified Data.GI.Base.Overloading as O import qualified Prelude as P import qualified Data.GI.Base.Attributes as GI.Attributes import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr import qualified Data.GI.Base.GClosure as B.GClosure import qualified Data.GI.Base.GError as B.GError import qualified Data.GI.Base.GVariant as B.GVariant import qualified Data.GI.Base.GValue as B.GValue import qualified Data.GI.Base.GParamSpec as B.GParamSpec import qualified Data.GI.Base.CallStack as B.CallStack import qualified Data.GI.Base.Properties as B.Properties import qualified Data.Text as T import qualified Data.ByteString.Char8 as B import qualified Data.Map as Map import qualified Foreign.Ptr as FP import qualified GHC.OverloadedLabels as OL import qualified GI.GObject.Objects.Object as GObject.Object import {-# SOURCE #-} qualified GI.GstPbutils.Objects.DiscovererStreamInfo as GstPbutils.DiscovererStreamInfo -- | Memory-managed wrapper type. newtype DiscovererContainerInfo = DiscovererContainerInfo (ManagedPtr DiscovererContainerInfo) foreign import ccall "gst_discoverer_container_info_get_type" c_gst_discoverer_container_info_get_type :: IO GType instance GObject DiscovererContainerInfo where gobjectType = c_gst_discoverer_container_info_get_type -- | Type class for types which can be safely cast to `DiscovererContainerInfo`, for instance with `toDiscovererContainerInfo`. class (GObject o, O.IsDescendantOf DiscovererContainerInfo o) => IsDiscovererContainerInfo o instance (GObject o, O.IsDescendantOf DiscovererContainerInfo o) => IsDiscovererContainerInfo o instance O.HasParentTypes DiscovererContainerInfo type instance O.ParentTypes DiscovererContainerInfo = '[GstPbutils.DiscovererStreamInfo.DiscovererStreamInfo, GObject.Object.Object] -- | Cast to `DiscovererContainerInfo`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`. toDiscovererContainerInfo :: (MonadIO m, IsDiscovererContainerInfo o) => o -> m DiscovererContainerInfo toDiscovererContainerInfo = liftIO . unsafeCastTo DiscovererContainerInfo -- | A convenience alias for `Nothing` :: `Maybe` `DiscovererContainerInfo`. noDiscovererContainerInfo :: Maybe DiscovererContainerInfo noDiscovererContainerInfo = Nothing #if ENABLE_OVERLOADING type family ResolveDiscovererContainerInfoMethod (t :: Symbol) (o :: *) :: * where ResolveDiscovererContainerInfoMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo ResolveDiscovererContainerInfoMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo ResolveDiscovererContainerInfoMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo ResolveDiscovererContainerInfoMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo ResolveDiscovererContainerInfoMethod "getv" o = GObject.Object.ObjectGetvMethodInfo ResolveDiscovererContainerInfoMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo ResolveDiscovererContainerInfoMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo ResolveDiscovererContainerInfoMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo ResolveDiscovererContainerInfoMethod "ref" o = GObject.Object.ObjectRefMethodInfo ResolveDiscovererContainerInfoMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo ResolveDiscovererContainerInfoMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo ResolveDiscovererContainerInfoMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo ResolveDiscovererContainerInfoMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo ResolveDiscovererContainerInfoMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo ResolveDiscovererContainerInfoMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo ResolveDiscovererContainerInfoMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo ResolveDiscovererContainerInfoMethod "getCaps" o = GstPbutils.DiscovererStreamInfo.DiscovererStreamInfoGetCapsMethodInfo ResolveDiscovererContainerInfoMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo ResolveDiscovererContainerInfoMethod "getMisc" o = GstPbutils.DiscovererStreamInfo.DiscovererStreamInfoGetMiscMethodInfo ResolveDiscovererContainerInfoMethod "getNext" o = GstPbutils.DiscovererStreamInfo.DiscovererStreamInfoGetNextMethodInfo ResolveDiscovererContainerInfoMethod "getPrevious" o = GstPbutils.DiscovererStreamInfo.DiscovererStreamInfoGetPreviousMethodInfo ResolveDiscovererContainerInfoMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo ResolveDiscovererContainerInfoMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo ResolveDiscovererContainerInfoMethod "getStreamId" o = GstPbutils.DiscovererStreamInfo.DiscovererStreamInfoGetStreamIdMethodInfo ResolveDiscovererContainerInfoMethod "getStreamTypeNick" o = GstPbutils.DiscovererStreamInfo.DiscovererStreamInfoGetStreamTypeNickMethodInfo ResolveDiscovererContainerInfoMethod "getStreams" o = DiscovererContainerInfoGetStreamsMethodInfo ResolveDiscovererContainerInfoMethod "getTags" o = GstPbutils.DiscovererStreamInfo.DiscovererStreamInfoGetTagsMethodInfo ResolveDiscovererContainerInfoMethod "getToc" o = GstPbutils.DiscovererStreamInfo.DiscovererStreamInfoGetTocMethodInfo ResolveDiscovererContainerInfoMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo ResolveDiscovererContainerInfoMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo ResolveDiscovererContainerInfoMethod l o = O.MethodResolutionFailed l o instance (info ~ ResolveDiscovererContainerInfoMethod t DiscovererContainerInfo, O.MethodInfo info DiscovererContainerInfo p) => OL.IsLabel t (DiscovererContainerInfo -> p) where #if MIN_VERSION_base(4,10,0) fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info) #else fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info) #endif #endif #if ENABLE_OVERLOADING instance O.HasAttributeList DiscovererContainerInfo type instance O.AttributeList DiscovererContainerInfo = DiscovererContainerInfoAttributeList type DiscovererContainerInfoAttributeList = ('[ ] :: [(Symbol, *)]) #endif #if ENABLE_OVERLOADING #endif #if ENABLE_OVERLOADING type instance O.SignalList DiscovererContainerInfo = DiscovererContainerInfoSignalList type DiscovererContainerInfoSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)]) #endif -- method DiscovererContainerInfo::get_streams -- method type : OrdinaryMethod -- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GstPbutils", name = "DiscovererContainerInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstDiscovererStreamInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TGList (TInterface (Name {namespace = "GstPbutils", name = "DiscovererStreamInfo"}))) -- throws : False -- Skip return : False foreign import ccall "gst_discoverer_container_info_get_streams" gst_discoverer_container_info_get_streams :: Ptr DiscovererContainerInfo -> -- info : TInterface (Name {namespace = "GstPbutils", name = "DiscovererContainerInfo"}) IO (Ptr (GList (Ptr GstPbutils.DiscovererStreamInfo.DiscovererStreamInfo))) {- | /No description available in the introspection data./ -} discovererContainerInfoGetStreams :: (B.CallStack.HasCallStack, MonadIO m, IsDiscovererContainerInfo a) => a {- ^ /@info@/: a 'GI.GstPbutils.Objects.DiscovererStreamInfo.DiscovererStreamInfo' -} -> m [GstPbutils.DiscovererStreamInfo.DiscovererStreamInfo] {- ^ __Returns:__ the list of 'GI.GstPbutils.Objects.DiscovererStreamInfo.DiscovererStreamInfo' this container stream offers. Free with 'GI.GstPbutils.Objects.DiscovererStreamInfo.discovererStreamInfoListFree' after usage. -} discovererContainerInfoGetStreams info = liftIO $ do info' <- unsafeManagedPtrCastPtr info result <- gst_discoverer_container_info_get_streams info' result' <- unpackGList result result'' <- mapM (wrapObject GstPbutils.DiscovererStreamInfo.DiscovererStreamInfo) result' g_list_free result touchManagedPtr info return result'' #if ENABLE_OVERLOADING data DiscovererContainerInfoGetStreamsMethodInfo instance (signature ~ (m [GstPbutils.DiscovererStreamInfo.DiscovererStreamInfo]), MonadIO m, IsDiscovererContainerInfo a) => O.MethodInfo DiscovererContainerInfoGetStreamsMethodInfo a signature where overloadedMethod _ = discovererContainerInfoGetStreams #endif