gi-gtk-3.0.28: GI/Gtk/Structs/RecentInfo.hs
{- |
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.Gtk.Structs.RecentInfo.RecentInfo'-struct contains private data only, and should
be accessed using the provided API.
'GI.Gtk.Structs.RecentInfo.RecentInfo' constains all the meta-data
associated with an entry in the recently used files list.
/Since: 2.10/
-}
#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Gtk.Structs.RecentInfo
(
-- * Exported types
RecentInfo(..) ,
noRecentInfo ,
-- * Methods
-- ** createAppInfo #method:createAppInfo#
#if ENABLE_OVERLOADING
RecentInfoCreateAppInfoMethodInfo ,
#endif
recentInfoCreateAppInfo ,
-- ** exists #method:exists#
#if ENABLE_OVERLOADING
RecentInfoExistsMethodInfo ,
#endif
recentInfoExists ,
-- ** getAdded #method:getAdded#
#if ENABLE_OVERLOADING
RecentInfoGetAddedMethodInfo ,
#endif
recentInfoGetAdded ,
-- ** getAge #method:getAge#
#if ENABLE_OVERLOADING
RecentInfoGetAgeMethodInfo ,
#endif
recentInfoGetAge ,
-- ** getApplicationInfo #method:getApplicationInfo#
#if ENABLE_OVERLOADING
RecentInfoGetApplicationInfoMethodInfo ,
#endif
recentInfoGetApplicationInfo ,
-- ** getApplications #method:getApplications#
#if ENABLE_OVERLOADING
RecentInfoGetApplicationsMethodInfo ,
#endif
recentInfoGetApplications ,
-- ** getDescription #method:getDescription#
#if ENABLE_OVERLOADING
RecentInfoGetDescriptionMethodInfo ,
#endif
recentInfoGetDescription ,
-- ** getDisplayName #method:getDisplayName#
#if ENABLE_OVERLOADING
RecentInfoGetDisplayNameMethodInfo ,
#endif
recentInfoGetDisplayName ,
-- ** getGicon #method:getGicon#
#if ENABLE_OVERLOADING
RecentInfoGetGiconMethodInfo ,
#endif
recentInfoGetGicon ,
-- ** getGroups #method:getGroups#
#if ENABLE_OVERLOADING
RecentInfoGetGroupsMethodInfo ,
#endif
recentInfoGetGroups ,
-- ** getIcon #method:getIcon#
#if ENABLE_OVERLOADING
RecentInfoGetIconMethodInfo ,
#endif
recentInfoGetIcon ,
-- ** getMimeType #method:getMimeType#
#if ENABLE_OVERLOADING
RecentInfoGetMimeTypeMethodInfo ,
#endif
recentInfoGetMimeType ,
-- ** getModified #method:getModified#
#if ENABLE_OVERLOADING
RecentInfoGetModifiedMethodInfo ,
#endif
recentInfoGetModified ,
-- ** getPrivateHint #method:getPrivateHint#
#if ENABLE_OVERLOADING
RecentInfoGetPrivateHintMethodInfo ,
#endif
recentInfoGetPrivateHint ,
-- ** getShortName #method:getShortName#
#if ENABLE_OVERLOADING
RecentInfoGetShortNameMethodInfo ,
#endif
recentInfoGetShortName ,
-- ** getUri #method:getUri#
#if ENABLE_OVERLOADING
RecentInfoGetUriMethodInfo ,
#endif
recentInfoGetUri ,
-- ** getUriDisplay #method:getUriDisplay#
#if ENABLE_OVERLOADING
RecentInfoGetUriDisplayMethodInfo ,
#endif
recentInfoGetUriDisplay ,
-- ** getVisited #method:getVisited#
#if ENABLE_OVERLOADING
RecentInfoGetVisitedMethodInfo ,
#endif
recentInfoGetVisited ,
-- ** hasApplication #method:hasApplication#
#if ENABLE_OVERLOADING
RecentInfoHasApplicationMethodInfo ,
#endif
recentInfoHasApplication ,
-- ** hasGroup #method:hasGroup#
#if ENABLE_OVERLOADING
RecentInfoHasGroupMethodInfo ,
#endif
recentInfoHasGroup ,
-- ** isLocal #method:isLocal#
#if ENABLE_OVERLOADING
RecentInfoIsLocalMethodInfo ,
#endif
recentInfoIsLocal ,
-- ** lastApplication #method:lastApplication#
#if ENABLE_OVERLOADING
RecentInfoLastApplicationMethodInfo ,
#endif
recentInfoLastApplication ,
-- ** match #method:match#
#if ENABLE_OVERLOADING
RecentInfoMatchMethodInfo ,
#endif
recentInfoMatch ,
-- ** ref #method:ref#
#if ENABLE_OVERLOADING
RecentInfoRefMethodInfo ,
#endif
recentInfoRef ,
-- ** unref #method:unref#
#if ENABLE_OVERLOADING
RecentInfoUnrefMethodInfo ,
#endif
recentInfoUnref ,
) 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.GdkPixbuf.Objects.Pixbuf as GdkPixbuf.Pixbuf
import qualified GI.Gio.Interfaces.AppInfo as Gio.AppInfo
import qualified GI.Gio.Interfaces.Icon as Gio.Icon
-- | Memory-managed wrapper type.
newtype RecentInfo = RecentInfo (ManagedPtr RecentInfo)
foreign import ccall "gtk_recent_info_get_type" c_gtk_recent_info_get_type ::
IO GType
instance BoxedObject RecentInfo where
boxedType _ = c_gtk_recent_info_get_type
-- | A convenience alias for `Nothing` :: `Maybe` `RecentInfo`.
noRecentInfo :: Maybe RecentInfo
noRecentInfo = Nothing
#if ENABLE_OVERLOADING
instance O.HasAttributeList RecentInfo
type instance O.AttributeList RecentInfo = RecentInfoAttributeList
type RecentInfoAttributeList = ('[ ] :: [(Symbol, *)])
#endif
-- method RecentInfo::create_app_info
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "app_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the name of the application that should\n be mapped to a #GAppInfo; if %NULL is used then the default\n application for the MIME type is used", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gio", name = "AppInfo"}))
-- throws : True
-- Skip return : False
foreign import ccall "gtk_recent_info_create_app_info" gtk_recent_info_create_app_info ::
Ptr RecentInfo -> -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
CString -> -- app_name : TBasicType TUTF8
Ptr (Ptr GError) -> -- error
IO (Ptr Gio.AppInfo.AppInfo)
{- |
Creates a 'GI.Gio.Interfaces.AppInfo.AppInfo' for the specified 'GI.Gtk.Structs.RecentInfo.RecentInfo'
-}
recentInfoCreateAppInfo ::
(B.CallStack.HasCallStack, MonadIO m) =>
RecentInfo
{- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
-> Maybe (T.Text)
{- ^ /@appName@/: the name of the application that should
be mapped to a 'GI.Gio.Interfaces.AppInfo.AppInfo'; if 'Nothing' is used then the default
application for the MIME type is used -}
-> m (Maybe Gio.AppInfo.AppInfo)
{- ^ __Returns:__ the newly created 'GI.Gio.Interfaces.AppInfo.AppInfo', or 'Nothing'.
In case of error, /@error@/ will be set either with a
@/GTK_RECENT_MANAGER_ERROR/@ or a @/G_IO_ERROR/@ /(Can throw 'Data.GI.Base.GError.GError')/ -}
recentInfoCreateAppInfo info appName = liftIO $ do
info' <- unsafeManagedPtrGetPtr info
maybeAppName <- case appName of
Nothing -> return nullPtr
Just jAppName -> do
jAppName' <- textToCString jAppName
return jAppName'
onException (do
result <- propagateGError $ gtk_recent_info_create_app_info info' maybeAppName
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (wrapObject Gio.AppInfo.AppInfo) result'
return result''
touchManagedPtr info
freeMem maybeAppName
return maybeResult
) (do
freeMem maybeAppName
)
#if ENABLE_OVERLOADING
data RecentInfoCreateAppInfoMethodInfo
instance (signature ~ (Maybe (T.Text) -> m (Maybe Gio.AppInfo.AppInfo)), MonadIO m) => O.MethodInfo RecentInfoCreateAppInfoMethodInfo RecentInfo signature where
overloadedMethod _ = recentInfoCreateAppInfo
#endif
-- method RecentInfo::exists
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_recent_info_exists" gtk_recent_info_exists ::
Ptr RecentInfo -> -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
IO CInt
{- |
Checks whether the resource pointed by /@info@/ still exists.
At the moment this check is done only on resources pointing
to local files.
/Since: 2.10/
-}
recentInfoExists ::
(B.CallStack.HasCallStack, MonadIO m) =>
RecentInfo
{- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
-> m Bool
{- ^ __Returns:__ 'True' if the resource exists -}
recentInfoExists info = liftIO $ do
info' <- unsafeManagedPtrGetPtr info
result <- gtk_recent_info_exists info'
let result' = (/= 0) result
touchManagedPtr info
return result'
#if ENABLE_OVERLOADING
data RecentInfoExistsMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo RecentInfoExistsMethodInfo RecentInfo signature where
overloadedMethod _ = recentInfoExists
#endif
-- method RecentInfo::get_added
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TLong)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_recent_info_get_added" gtk_recent_info_get_added ::
Ptr RecentInfo -> -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
IO CLong
{- |
Gets the timestamp (seconds from system’s Epoch) when the resource
was added to the recently used resources list.
/Since: 2.10/
-}
recentInfoGetAdded ::
(B.CallStack.HasCallStack, MonadIO m) =>
RecentInfo
{- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
-> m CLong
{- ^ __Returns:__ the number of seconds elapsed from system’s Epoch when
the resource was added to the list, or -1 on failure. -}
recentInfoGetAdded info = liftIO $ do
info' <- unsafeManagedPtrGetPtr info
result <- gtk_recent_info_get_added info'
touchManagedPtr info
return result
#if ENABLE_OVERLOADING
data RecentInfoGetAddedMethodInfo
instance (signature ~ (m CLong), MonadIO m) => O.MethodInfo RecentInfoGetAddedMethodInfo RecentInfo signature where
overloadedMethod _ = recentInfoGetAdded
#endif
-- method RecentInfo::get_age
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TInt)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_recent_info_get_age" gtk_recent_info_get_age ::
Ptr RecentInfo -> -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
IO Int32
{- |
Gets the number of days elapsed since the last update
of the resource pointed by /@info@/.
/Since: 2.10/
-}
recentInfoGetAge ::
(B.CallStack.HasCallStack, MonadIO m) =>
RecentInfo
{- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
-> m Int32
{- ^ __Returns:__ a positive integer containing the number of days
elapsed since the time this resource was last modified -}
recentInfoGetAge info = liftIO $ do
info' <- unsafeManagedPtrGetPtr info
result <- gtk_recent_info_get_age info'
touchManagedPtr info
return result
#if ENABLE_OVERLOADING
data RecentInfoGetAgeMethodInfo
instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo RecentInfoGetAgeMethodInfo RecentInfo signature where
overloadedMethod _ = recentInfoGetAge
#endif
-- method RecentInfo::get_application_info
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "app_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the application that has registered this item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "app_exec", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the string containing\n the command line", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "count", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the number of times this item was registered", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "time_", argType = TBasicType TLong, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the timestamp this item was last registered\n for this application", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_recent_info_get_application_info" gtk_recent_info_get_application_info ::
Ptr RecentInfo -> -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
CString -> -- app_name : TBasicType TUTF8
Ptr CString -> -- app_exec : TBasicType TUTF8
Ptr Word32 -> -- count : TBasicType TUInt
Ptr CLong -> -- time_ : TBasicType TLong
IO CInt
{- |
Gets the data regarding the application that has registered the resource
pointed by /@info@/.
If the command line contains any escape characters defined inside the
storage specification, they will be expanded.
/Since: 2.10/
-}
recentInfoGetApplicationInfo ::
(B.CallStack.HasCallStack, MonadIO m) =>
RecentInfo
{- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
-> T.Text
{- ^ /@appName@/: the name of the application that has registered this item -}
-> m ((Bool, T.Text, Word32, CLong))
{- ^ __Returns:__ 'True' if an application with /@appName@/ has registered this
resource inside the recently used list, or 'False' otherwise. The
/@appExec@/ string is owned by the 'GI.Gtk.Structs.RecentInfo.RecentInfo' and should not be
modified or freed -}
recentInfoGetApplicationInfo info appName = liftIO $ do
info' <- unsafeManagedPtrGetPtr info
appName' <- textToCString appName
appExec <- allocMem :: IO (Ptr CString)
count <- allocMem :: IO (Ptr Word32)
time_ <- allocMem :: IO (Ptr CLong)
result <- gtk_recent_info_get_application_info info' appName' appExec count time_
let result' = (/= 0) result
appExec' <- peek appExec
appExec'' <- cstringToText appExec'
count' <- peek count
time_' <- peek time_
touchManagedPtr info
freeMem appName'
freeMem appExec
freeMem count
freeMem time_
return (result', appExec'', count', time_')
#if ENABLE_OVERLOADING
data RecentInfoGetApplicationInfoMethodInfo
instance (signature ~ (T.Text -> m ((Bool, T.Text, Word32, CLong))), MonadIO m) => O.MethodInfo RecentInfoGetApplicationInfoMethodInfo RecentInfo signature where
overloadedMethod _ = recentInfoGetApplicationInfo
#endif
-- method RecentInfo::get_applications
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the length of the returned list", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : Just (TCArray True (-1) 1 (TBasicType TUTF8))
-- throws : False
-- Skip return : False
foreign import ccall "gtk_recent_info_get_applications" gtk_recent_info_get_applications ::
Ptr RecentInfo -> -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
Ptr Word64 -> -- length : TBasicType TUInt64
IO (Ptr CString)
{- |
Retrieves the list of applications that have registered this resource.
/Since: 2.10/
-}
recentInfoGetApplications ::
(B.CallStack.HasCallStack, MonadIO m) =>
RecentInfo
{- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
-> m (([T.Text], Word64))
{- ^ __Returns:__
a newly allocated 'Nothing'-terminated array of strings.
Use 'GI.GLib.Functions.strfreev' to free it. -}
recentInfoGetApplications info = liftIO $ do
info' <- unsafeManagedPtrGetPtr info
length_ <- allocMem :: IO (Ptr Word64)
result <- gtk_recent_info_get_applications info' length_
checkUnexpectedReturnNULL "recentInfoGetApplications" result
result' <- unpackZeroTerminatedUTF8CArray result
mapZeroTerminatedCArray freeMem result
freeMem result
length_' <- peek length_
touchManagedPtr info
freeMem length_
return (result', length_')
#if ENABLE_OVERLOADING
data RecentInfoGetApplicationsMethodInfo
instance (signature ~ (m (([T.Text], Word64))), MonadIO m) => O.MethodInfo RecentInfoGetApplicationsMethodInfo RecentInfo signature where
overloadedMethod _ = recentInfoGetApplications
#endif
-- method RecentInfo::get_description
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_recent_info_get_description" gtk_recent_info_get_description ::
Ptr RecentInfo -> -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
IO CString
{- |
Gets the (short) description of the resource.
/Since: 2.10/
-}
recentInfoGetDescription ::
(B.CallStack.HasCallStack, MonadIO m) =>
RecentInfo
{- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
-> m T.Text
{- ^ __Returns:__ the description of the resource. The returned string
is owned by the recent manager, and should not be freed. -}
recentInfoGetDescription info = liftIO $ do
info' <- unsafeManagedPtrGetPtr info
result <- gtk_recent_info_get_description info'
checkUnexpectedReturnNULL "recentInfoGetDescription" result
result' <- cstringToText result
touchManagedPtr info
return result'
#if ENABLE_OVERLOADING
data RecentInfoGetDescriptionMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo RecentInfoGetDescriptionMethodInfo RecentInfo signature where
overloadedMethod _ = recentInfoGetDescription
#endif
-- method RecentInfo::get_display_name
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_recent_info_get_display_name" gtk_recent_info_get_display_name ::
Ptr RecentInfo -> -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
IO CString
{- |
Gets the name of the resource. If none has been defined, the basename
of the resource is obtained.
/Since: 2.10/
-}
recentInfoGetDisplayName ::
(B.CallStack.HasCallStack, MonadIO m) =>
RecentInfo
{- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
-> m T.Text
{- ^ __Returns:__ the display name of the resource. The returned string
is owned by the recent manager, and should not be freed. -}
recentInfoGetDisplayName info = liftIO $ do
info' <- unsafeManagedPtrGetPtr info
result <- gtk_recent_info_get_display_name info'
checkUnexpectedReturnNULL "recentInfoGetDisplayName" result
result' <- cstringToText result
touchManagedPtr info
return result'
#if ENABLE_OVERLOADING
data RecentInfoGetDisplayNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo RecentInfoGetDisplayNameMethodInfo RecentInfo signature where
overloadedMethod _ = recentInfoGetDisplayName
#endif
-- method RecentInfo::get_gicon
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gio", name = "Icon"}))
-- throws : False
-- Skip return : False
foreign import ccall "gtk_recent_info_get_gicon" gtk_recent_info_get_gicon ::
Ptr RecentInfo -> -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
IO (Ptr Gio.Icon.Icon)
{- |
Retrieves the icon associated to the resource MIME type.
/Since: 2.22/
-}
recentInfoGetGicon ::
(B.CallStack.HasCallStack, MonadIO m) =>
RecentInfo
{- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
-> m (Maybe Gio.Icon.Icon)
{- ^ __Returns:__ a 'GI.Gio.Interfaces.Icon.Icon' containing the icon, or 'Nothing'.
Use 'GI.GObject.Objects.Object.objectUnref' when finished using the icon -}
recentInfoGetGicon info = liftIO $ do
info' <- unsafeManagedPtrGetPtr info
result <- gtk_recent_info_get_gicon info'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (wrapObject Gio.Icon.Icon) result'
return result''
touchManagedPtr info
return maybeResult
#if ENABLE_OVERLOADING
data RecentInfoGetGiconMethodInfo
instance (signature ~ (m (Maybe Gio.Icon.Icon)), MonadIO m) => O.MethodInfo RecentInfoGetGiconMethodInfo RecentInfo signature where
overloadedMethod _ = recentInfoGetGicon
#endif
-- method RecentInfo::get_groups
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the number of groups returned", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : Just (TCArray True (-1) 1 (TBasicType TUTF8))
-- throws : False
-- Skip return : False
foreign import ccall "gtk_recent_info_get_groups" gtk_recent_info_get_groups ::
Ptr RecentInfo -> -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
Ptr Word64 -> -- length : TBasicType TUInt64
IO (Ptr CString)
{- |
Returns all groups registered for the recently used item /@info@/.
The array of returned group names will be 'Nothing' terminated, so
length might optionally be 'Nothing'.
/Since: 2.10/
-}
recentInfoGetGroups ::
(B.CallStack.HasCallStack, MonadIO m) =>
RecentInfo
{- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
-> m (([T.Text], Word64))
{- ^ __Returns:__
a newly allocated 'Nothing' terminated array of strings.
Use 'GI.GLib.Functions.strfreev' to free it. -}
recentInfoGetGroups info = liftIO $ do
info' <- unsafeManagedPtrGetPtr info
length_ <- allocMem :: IO (Ptr Word64)
result <- gtk_recent_info_get_groups info' length_
checkUnexpectedReturnNULL "recentInfoGetGroups" result
result' <- unpackZeroTerminatedUTF8CArray result
mapZeroTerminatedCArray freeMem result
freeMem result
length_' <- peek length_
touchManagedPtr info
freeMem length_
return (result', length_')
#if ENABLE_OVERLOADING
data RecentInfoGetGroupsMethodInfo
instance (signature ~ (m (([T.Text], Word64))), MonadIO m) => O.MethodInfo RecentInfoGetGroupsMethodInfo RecentInfo signature where
overloadedMethod _ = recentInfoGetGroups
#endif
-- method RecentInfo::get_icon
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of the icon in pixels", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "GdkPixbuf", name = "Pixbuf"}))
-- throws : False
-- Skip return : False
foreign import ccall "gtk_recent_info_get_icon" gtk_recent_info_get_icon ::
Ptr RecentInfo -> -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
Int32 -> -- size : TBasicType TInt
IO (Ptr GdkPixbuf.Pixbuf.Pixbuf)
{- |
Retrieves the icon of size /@size@/ associated to the resource MIME type.
/Since: 2.10/
-}
recentInfoGetIcon ::
(B.CallStack.HasCallStack, MonadIO m) =>
RecentInfo
{- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
-> Int32
{- ^ /@size@/: the size of the icon in pixels -}
-> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)
{- ^ __Returns:__ a 'GI.GdkPixbuf.Objects.Pixbuf.Pixbuf' containing the icon,
or 'Nothing'. Use 'GI.GObject.Objects.Object.objectUnref' when finished using the icon. -}
recentInfoGetIcon info size = liftIO $ do
info' <- unsafeManagedPtrGetPtr info
result <- gtk_recent_info_get_icon info' size
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (wrapObject GdkPixbuf.Pixbuf.Pixbuf) result'
return result''
touchManagedPtr info
return maybeResult
#if ENABLE_OVERLOADING
data RecentInfoGetIconMethodInfo
instance (signature ~ (Int32 -> m (Maybe GdkPixbuf.Pixbuf.Pixbuf)), MonadIO m) => O.MethodInfo RecentInfoGetIconMethodInfo RecentInfo signature where
overloadedMethod _ = recentInfoGetIcon
#endif
-- method RecentInfo::get_mime_type
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_recent_info_get_mime_type" gtk_recent_info_get_mime_type ::
Ptr RecentInfo -> -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
IO CString
{- |
Gets the MIME type of the resource.
/Since: 2.10/
-}
recentInfoGetMimeType ::
(B.CallStack.HasCallStack, MonadIO m) =>
RecentInfo
{- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
-> m T.Text
{- ^ __Returns:__ the MIME type of the resource. The returned string
is owned by the recent manager, and should not be freed. -}
recentInfoGetMimeType info = liftIO $ do
info' <- unsafeManagedPtrGetPtr info
result <- gtk_recent_info_get_mime_type info'
checkUnexpectedReturnNULL "recentInfoGetMimeType" result
result' <- cstringToText result
touchManagedPtr info
return result'
#if ENABLE_OVERLOADING
data RecentInfoGetMimeTypeMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo RecentInfoGetMimeTypeMethodInfo RecentInfo signature where
overloadedMethod _ = recentInfoGetMimeType
#endif
-- method RecentInfo::get_modified
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TLong)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_recent_info_get_modified" gtk_recent_info_get_modified ::
Ptr RecentInfo -> -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
IO CLong
{- |
Gets the timestamp (seconds from system’s Epoch) when the meta-data
for the resource was last modified.
/Since: 2.10/
-}
recentInfoGetModified ::
(B.CallStack.HasCallStack, MonadIO m) =>
RecentInfo
{- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
-> m CLong
{- ^ __Returns:__ the number of seconds elapsed from system’s Epoch when
the resource was last modified, or -1 on failure. -}
recentInfoGetModified info = liftIO $ do
info' <- unsafeManagedPtrGetPtr info
result <- gtk_recent_info_get_modified info'
touchManagedPtr info
return result
#if ENABLE_OVERLOADING
data RecentInfoGetModifiedMethodInfo
instance (signature ~ (m CLong), MonadIO m) => O.MethodInfo RecentInfoGetModifiedMethodInfo RecentInfo signature where
overloadedMethod _ = recentInfoGetModified
#endif
-- method RecentInfo::get_private_hint
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_recent_info_get_private_hint" gtk_recent_info_get_private_hint ::
Ptr RecentInfo -> -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
IO CInt
{- |
Gets the value of the “private” flag. Resources in the recently used
list that have this flag set to 'True' should only be displayed by the
applications that have registered them.
/Since: 2.10/
-}
recentInfoGetPrivateHint ::
(B.CallStack.HasCallStack, MonadIO m) =>
RecentInfo
{- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
-> m Bool
{- ^ __Returns:__ 'True' if the private flag was found, 'False' otherwise -}
recentInfoGetPrivateHint info = liftIO $ do
info' <- unsafeManagedPtrGetPtr info
result <- gtk_recent_info_get_private_hint info'
let result' = (/= 0) result
touchManagedPtr info
return result'
#if ENABLE_OVERLOADING
data RecentInfoGetPrivateHintMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo RecentInfoGetPrivateHintMethodInfo RecentInfo signature where
overloadedMethod _ = recentInfoGetPrivateHint
#endif
-- method RecentInfo::get_short_name
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_recent_info_get_short_name" gtk_recent_info_get_short_name ::
Ptr RecentInfo -> -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
IO CString
{- |
Computes a valid UTF-8 string that can be used as the
name of the item in a menu or list. For example, calling
this function on an item that refers to
“file:\/\/\/foo\/bar.txt” will yield “bar.txt”.
/Since: 2.10/
-}
recentInfoGetShortName ::
(B.CallStack.HasCallStack, MonadIO m) =>
RecentInfo
{- ^ /@info@/: an 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
-> m T.Text
{- ^ __Returns:__ A newly-allocated string in UTF-8 encoding
free it with 'GI.GLib.Functions.free' -}
recentInfoGetShortName info = liftIO $ do
info' <- unsafeManagedPtrGetPtr info
result <- gtk_recent_info_get_short_name info'
checkUnexpectedReturnNULL "recentInfoGetShortName" result
result' <- cstringToText result
freeMem result
touchManagedPtr info
return result'
#if ENABLE_OVERLOADING
data RecentInfoGetShortNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo RecentInfoGetShortNameMethodInfo RecentInfo signature where
overloadedMethod _ = recentInfoGetShortName
#endif
-- method RecentInfo::get_uri
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_recent_info_get_uri" gtk_recent_info_get_uri ::
Ptr RecentInfo -> -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
IO CString
{- |
Gets the URI of the resource.
/Since: 2.10/
-}
recentInfoGetUri ::
(B.CallStack.HasCallStack, MonadIO m) =>
RecentInfo
{- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
-> m T.Text
{- ^ __Returns:__ the URI of the resource. The returned string is
owned by the recent manager, and should not be freed. -}
recentInfoGetUri info = liftIO $ do
info' <- unsafeManagedPtrGetPtr info
result <- gtk_recent_info_get_uri info'
checkUnexpectedReturnNULL "recentInfoGetUri" result
result' <- cstringToText result
touchManagedPtr info
return result'
#if ENABLE_OVERLOADING
data RecentInfoGetUriMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo RecentInfoGetUriMethodInfo RecentInfo signature where
overloadedMethod _ = recentInfoGetUri
#endif
-- method RecentInfo::get_uri_display
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_recent_info_get_uri_display" gtk_recent_info_get_uri_display ::
Ptr RecentInfo -> -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
IO CString
{- |
Gets a displayable version of the resource’s URI. If the resource
is local, it returns a local path; if the resource is not local,
it returns the UTF-8 encoded content of 'GI.Gtk.Structs.RecentInfo.recentInfoGetUri'.
/Since: 2.10/
-}
recentInfoGetUriDisplay ::
(B.CallStack.HasCallStack, MonadIO m) =>
RecentInfo
{- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
-> m (Maybe T.Text)
{- ^ __Returns:__ a newly allocated UTF-8 string containing the
resource’s URI or 'Nothing'. Use 'GI.GLib.Functions.free' when done using it. -}
recentInfoGetUriDisplay info = liftIO $ do
info' <- unsafeManagedPtrGetPtr info
result <- gtk_recent_info_get_uri_display info'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- cstringToText result'
freeMem result'
return result''
touchManagedPtr info
return maybeResult
#if ENABLE_OVERLOADING
data RecentInfoGetUriDisplayMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m) => O.MethodInfo RecentInfoGetUriDisplayMethodInfo RecentInfo signature where
overloadedMethod _ = recentInfoGetUriDisplay
#endif
-- method RecentInfo::get_visited
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TLong)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_recent_info_get_visited" gtk_recent_info_get_visited ::
Ptr RecentInfo -> -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
IO CLong
{- |
Gets the timestamp (seconds from system’s Epoch) when the meta-data
for the resource was last visited.
/Since: 2.10/
-}
recentInfoGetVisited ::
(B.CallStack.HasCallStack, MonadIO m) =>
RecentInfo
{- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
-> m CLong
{- ^ __Returns:__ the number of seconds elapsed from system’s Epoch when
the resource was last visited, or -1 on failure. -}
recentInfoGetVisited info = liftIO $ do
info' <- unsafeManagedPtrGetPtr info
result <- gtk_recent_info_get_visited info'
touchManagedPtr info
return result
#if ENABLE_OVERLOADING
data RecentInfoGetVisitedMethodInfo
instance (signature ~ (m CLong), MonadIO m) => O.MethodInfo RecentInfoGetVisitedMethodInfo RecentInfo signature where
overloadedMethod _ = recentInfoGetVisited
#endif
-- method RecentInfo::has_application
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "app_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string containing an application name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_recent_info_has_application" gtk_recent_info_has_application ::
Ptr RecentInfo -> -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
CString -> -- app_name : TBasicType TUTF8
IO CInt
{- |
Checks whether an application registered this resource using /@appName@/.
/Since: 2.10/
-}
recentInfoHasApplication ::
(B.CallStack.HasCallStack, MonadIO m) =>
RecentInfo
{- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
-> T.Text
{- ^ /@appName@/: a string containing an application name -}
-> m Bool
{- ^ __Returns:__ 'True' if an application with name /@appName@/ was found,
'False' otherwise -}
recentInfoHasApplication info appName = liftIO $ do
info' <- unsafeManagedPtrGetPtr info
appName' <- textToCString appName
result <- gtk_recent_info_has_application info' appName'
let result' = (/= 0) result
touchManagedPtr info
freeMem appName'
return result'
#if ENABLE_OVERLOADING
data RecentInfoHasApplicationMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.MethodInfo RecentInfoHasApplicationMethodInfo RecentInfo signature where
overloadedMethod _ = recentInfoHasApplication
#endif
-- method RecentInfo::has_group
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of a group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_recent_info_has_group" gtk_recent_info_has_group ::
Ptr RecentInfo -> -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
CString -> -- group_name : TBasicType TUTF8
IO CInt
{- |
Checks whether /@groupName@/ appears inside the groups
registered for the recently used item /@info@/.
/Since: 2.10/
-}
recentInfoHasGroup ::
(B.CallStack.HasCallStack, MonadIO m) =>
RecentInfo
{- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
-> T.Text
{- ^ /@groupName@/: name of a group -}
-> m Bool
{- ^ __Returns:__ 'True' if the group was found -}
recentInfoHasGroup info groupName = liftIO $ do
info' <- unsafeManagedPtrGetPtr info
groupName' <- textToCString groupName
result <- gtk_recent_info_has_group info' groupName'
let result' = (/= 0) result
touchManagedPtr info
freeMem groupName'
return result'
#if ENABLE_OVERLOADING
data RecentInfoHasGroupMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.MethodInfo RecentInfoHasGroupMethodInfo RecentInfo signature where
overloadedMethod _ = recentInfoHasGroup
#endif
-- method RecentInfo::is_local
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_recent_info_is_local" gtk_recent_info_is_local ::
Ptr RecentInfo -> -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
IO CInt
{- |
Checks whether the resource is local or not by looking at the
scheme of its URI.
/Since: 2.10/
-}
recentInfoIsLocal ::
(B.CallStack.HasCallStack, MonadIO m) =>
RecentInfo
{- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
-> m Bool
{- ^ __Returns:__ 'True' if the resource is local -}
recentInfoIsLocal info = liftIO $ do
info' <- unsafeManagedPtrGetPtr info
result <- gtk_recent_info_is_local info'
let result' = (/= 0) result
touchManagedPtr info
return result'
#if ENABLE_OVERLOADING
data RecentInfoIsLocalMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo RecentInfoIsLocalMethodInfo RecentInfo signature where
overloadedMethod _ = recentInfoIsLocal
#endif
-- method RecentInfo::last_application
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TUTF8)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_recent_info_last_application" gtk_recent_info_last_application ::
Ptr RecentInfo -> -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
IO CString
{- |
Gets the name of the last application that have registered the
recently used resource represented by /@info@/.
/Since: 2.10/
-}
recentInfoLastApplication ::
(B.CallStack.HasCallStack, MonadIO m) =>
RecentInfo
{- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
-> m T.Text
{- ^ __Returns:__ an application name. Use 'GI.GLib.Functions.free' to free it. -}
recentInfoLastApplication info = liftIO $ do
info' <- unsafeManagedPtrGetPtr info
result <- gtk_recent_info_last_application info'
checkUnexpectedReturnNULL "recentInfoLastApplication" result
result' <- cstringToText result
freeMem result
touchManagedPtr info
return result'
#if ENABLE_OVERLOADING
data RecentInfoLastApplicationMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo RecentInfoLastApplicationMethodInfo RecentInfo signature where
overloadedMethod _ = recentInfoLastApplication
#endif
-- method RecentInfo::match
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "info_a", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info_b", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TBoolean)
-- throws : False
-- Skip return : False
foreign import ccall "gtk_recent_info_match" gtk_recent_info_match ::
Ptr RecentInfo -> -- info_a : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
Ptr RecentInfo -> -- info_b : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
IO CInt
{- |
Checks whether two 'GI.Gtk.Structs.RecentInfo.RecentInfo'-struct point to the same
resource.
/Since: 2.10/
-}
recentInfoMatch ::
(B.CallStack.HasCallStack, MonadIO m) =>
RecentInfo
{- ^ /@infoA@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
-> RecentInfo
{- ^ /@infoB@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
-> m Bool
{- ^ __Returns:__ 'True' if both 'GI.Gtk.Structs.RecentInfo.RecentInfo'-struct point to the same
resource, 'False' otherwise -}
recentInfoMatch infoA infoB = liftIO $ do
infoA' <- unsafeManagedPtrGetPtr infoA
infoB' <- unsafeManagedPtrGetPtr infoB
result <- gtk_recent_info_match infoA' infoB'
let result' = (/= 0) result
touchManagedPtr infoA
touchManagedPtr infoB
return result'
#if ENABLE_OVERLOADING
data RecentInfoMatchMethodInfo
instance (signature ~ (RecentInfo -> m Bool), MonadIO m) => O.MethodInfo RecentInfoMatchMethodInfo RecentInfo signature where
overloadedMethod _ = recentInfoMatch
#endif
-- method RecentInfo::ref
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Gtk", name = "RecentInfo"}))
-- throws : False
-- Skip return : False
foreign import ccall "gtk_recent_info_ref" gtk_recent_info_ref ::
Ptr RecentInfo -> -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
IO (Ptr RecentInfo)
{- |
Increases the reference count of /@recentInfo@/ by one.
/Since: 2.10/
-}
recentInfoRef ::
(B.CallStack.HasCallStack, MonadIO m) =>
RecentInfo
{- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
-> m RecentInfo
{- ^ __Returns:__ the recent info object with its reference count
increased by one -}
recentInfoRef info = liftIO $ do
info' <- unsafeManagedPtrGetPtr info
result <- gtk_recent_info_ref info'
checkUnexpectedReturnNULL "recentInfoRef" result
result' <- (wrapBoxed RecentInfo) result
touchManagedPtr info
return result'
#if ENABLE_OVERLOADING
data RecentInfoRefMethodInfo
instance (signature ~ (m RecentInfo), MonadIO m) => O.MethodInfo RecentInfoRefMethodInfo RecentInfo signature where
overloadedMethod _ = recentInfoRef
#endif
-- method RecentInfo::unref
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "Gtk", name = "RecentInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GtkRecentInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : False
-- Skip return : False
foreign import ccall "gtk_recent_info_unref" gtk_recent_info_unref ::
Ptr RecentInfo -> -- info : TInterface (Name {namespace = "Gtk", name = "RecentInfo"})
IO ()
{- |
Decreases the reference count of /@info@/ by one. If the reference
count reaches zero, /@info@/ is deallocated, and the memory freed.
/Since: 2.10/
-}
recentInfoUnref ::
(B.CallStack.HasCallStack, MonadIO m) =>
RecentInfo
{- ^ /@info@/: a 'GI.Gtk.Structs.RecentInfo.RecentInfo' -}
-> m ()
recentInfoUnref info = liftIO $ do
info' <- unsafeManagedPtrGetPtr info
gtk_recent_info_unref info'
touchManagedPtr info
return ()
#if ENABLE_OVERLOADING
data RecentInfoUnrefMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo RecentInfoUnrefMethodInfo RecentInfo signature where
overloadedMethod _ = recentInfoUnref
#endif
#if ENABLE_OVERLOADING
type family ResolveRecentInfoMethod (t :: Symbol) (o :: *) :: * where
ResolveRecentInfoMethod "createAppInfo" o = RecentInfoCreateAppInfoMethodInfo
ResolveRecentInfoMethod "exists" o = RecentInfoExistsMethodInfo
ResolveRecentInfoMethod "hasApplication" o = RecentInfoHasApplicationMethodInfo
ResolveRecentInfoMethod "hasGroup" o = RecentInfoHasGroupMethodInfo
ResolveRecentInfoMethod "isLocal" o = RecentInfoIsLocalMethodInfo
ResolveRecentInfoMethod "lastApplication" o = RecentInfoLastApplicationMethodInfo
ResolveRecentInfoMethod "match" o = RecentInfoMatchMethodInfo
ResolveRecentInfoMethod "ref" o = RecentInfoRefMethodInfo
ResolveRecentInfoMethod "unref" o = RecentInfoUnrefMethodInfo
ResolveRecentInfoMethod "getAdded" o = RecentInfoGetAddedMethodInfo
ResolveRecentInfoMethod "getAge" o = RecentInfoGetAgeMethodInfo
ResolveRecentInfoMethod "getApplicationInfo" o = RecentInfoGetApplicationInfoMethodInfo
ResolveRecentInfoMethod "getApplications" o = RecentInfoGetApplicationsMethodInfo
ResolveRecentInfoMethod "getDescription" o = RecentInfoGetDescriptionMethodInfo
ResolveRecentInfoMethod "getDisplayName" o = RecentInfoGetDisplayNameMethodInfo
ResolveRecentInfoMethod "getGicon" o = RecentInfoGetGiconMethodInfo
ResolveRecentInfoMethod "getGroups" o = RecentInfoGetGroupsMethodInfo
ResolveRecentInfoMethod "getIcon" o = RecentInfoGetIconMethodInfo
ResolveRecentInfoMethod "getMimeType" o = RecentInfoGetMimeTypeMethodInfo
ResolveRecentInfoMethod "getModified" o = RecentInfoGetModifiedMethodInfo
ResolveRecentInfoMethod "getPrivateHint" o = RecentInfoGetPrivateHintMethodInfo
ResolveRecentInfoMethod "getShortName" o = RecentInfoGetShortNameMethodInfo
ResolveRecentInfoMethod "getUri" o = RecentInfoGetUriMethodInfo
ResolveRecentInfoMethod "getUriDisplay" o = RecentInfoGetUriDisplayMethodInfo
ResolveRecentInfoMethod "getVisited" o = RecentInfoGetVisitedMethodInfo
ResolveRecentInfoMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveRecentInfoMethod t RecentInfo, O.MethodInfo info RecentInfo p) => OL.IsLabel t (RecentInfo -> 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