PkPackageSack

PkPackageSack — A sack of packages that can be manipulated

Synopsis

        #define             
        PK_PACKAGE_SACK_TYPE_ERROR
        struct              
        PkPackageSack
        ;struct              
        PkPackageSackClass
        ;
        
          gboolean
        
                    (
        *PkPackageSackFilterFunc
        )          (
        
          
            
              PkPackage
            
             *package
          
        
        ,                                                         
        
          
            
              gpointer
            
             user_data
          
        
        );                    
        PkPackageSackResults
        ;enum                
        PkPackageSackSortType
        ;
        
          gboolean
        
        pk_package_sack_add_package
                 (
        
          
            
              PkPackageSack
            
             *sack
          
        
        ,                                                         
        
          
            
              PkPackage
            
             *package
          
        
        );
        
          gboolean
        
        pk_package_sack_add_package_by_id
           (
        
          
            
              PkPackageSack
            
             *sack
          
        
        ,                                                         
        
          
            const 
            
              gchar
            
             *package_id
          
        
        ,                                                         
        
          
            
              GError
            
             **error
          
        
        );
        
          gboolean
        
        pk_package_sack_add_packages_from_file
                                                                (
        
          
            
              PkPackageSack
            
             *sack
          
        
        ,                                                         
        
          
            
              GFile
            
             *file
          
        
        ,                                                         
        
          
            
              GError
            
             **error
          
        
        );
        void
        pk_package_sack_clear
                       (
        
          
            
              PkPackageSack
            
             *sack
          
        
        );
        
          PkPackageSack
        
         *     
        pk_package_sack_filter
                      (
        
          
            
              PkPackageSack
            
             *sack
          
        
        ,                                                         
        
          
            
              PkPackageSackFilterFunc
            
             filter_cb
          
        
        ,                                                         
        
          
            
              gpointer
            
             user_data
          
        
        );
        
          PkPackageSack
        
         *     
        pk_package_sack_filter_by_info
              (
        
          
            
              PkPackageSack
            
             *sack
          
        
        ,                                                         
        
          
            
              PkInfoEnum
            
             info
          
        
        );
        
          PkPackage
        
         *         
        pk_package_sack_find_by_id
                  (
        
          
            
              PkPackageSack
            
             *sack
          
        
        ,                                                         
        
          
            const 
            
              gchar
            
             *package_id
          
        
        );
        
          GPtrArray
        
         *         
        pk_package_sack_get_array
                   (
        
          
            
              PkPackageSack
            
             *sack
          
        
        );
        void
        pk_package_sack_get_details_async
           (
        
          
            
              PkPackageSack
            
             *sack
          
        
        ,                                                         
        
          
            
              GCancellable
            
             *cancellable
          
        
        ,                                                         
        
          
            
              PkProgressCallback
            
             progress_callback
          
        
        ,                                                         
        
          
            
              gpointer
            
             progress_user_data
          
        
        ,                                                         
        
          
            
              GAsyncReadyCallback
            
             callback
          
        
        ,                                                         
        
          
            
              gpointer
            
             user_data
          
        
        );
        
          gchar
        
         **            
        pk_package_sack_get_ids
                     (
        
          
            
              PkPackageSack
            
             *sack
          
        
        );
        
          guint
        
        pk_package_sack_get_size
                    (
        
          
            
              PkPackageSack
            
             *sack
          
        
        );
        
          guint64
        
        pk_package_sack_get_total_bytes
             (
        
          
            
              PkPackageSack
            
             *sack
          
        
        );
        void
        pk_package_sack_get_update_detail_async
                                                                (
        
          
            
              PkPackageSack
            
             *sack
          
        
        ,                                                         
        
          
            
              GCancellable
            
             *cancellable
          
        
        ,                                                         
        
          
            
              PkProgressCallback
            
             progress_callback
          
        
        ,                                                         
        
          
            
              gpointer
            
             progress_user_data
          
        
        ,                                                         
        
          
            
              GAsyncReadyCallback
            
             callback
          
        
        ,                                                         
        
          
            
              gpointer
            
             user_data
          
        
        );
        
          gboolean
        
        pk_package_sack_merge_generic_finish
                                                                (
        
          
            
              PkPackageSack
            
             *sack
          
        
        ,                                                         
        
          
            
              GAsyncResult
            
             *res
          
        
        ,                                                         
        
          
            
              GError
            
             **error
          
        
        );
        
          PkPackageSack
        
         *     
        pk_package_sack_new
                         (
        
          
            void
          
        
        );
        
          gboolean
        
        pk_package_sack_remove_by_filter
            (
        
          
            
              PkPackageSack
            
             *sack
          
        
        ,                                                         
        
          
            
              PkPackageSackFilterFunc
            
             filter_cb
          
        
        ,                                                         
        
          
            
              gpointer
            
             user_data
          
        
        );
        
          gboolean
        
        pk_package_sack_remove_package
              (
        
          
            
              PkPackageSack
            
             *sack
          
        
        ,                                                         
        
          
            
              PkPackage
            
             *package
          
        
        );
        
          gboolean
        
        pk_package_sack_remove_package_by_id
                                                                (
        
          
            
              PkPackageSack
            
             *sack
          
        
        ,                                                         
        
          
            const 
            
              gchar
            
             *package_id
          
        
        );
        void
        pk_package_sack_resolve_async
               (
        
          
            
              PkPackageSack
            
             *sack
          
        
        ,                                                         
        
          
            
              GCancellable
            
             *cancellable
          
        
        ,                                                         
        
          
            
              PkProgressCallback
            
             progress_callback
          
        
        ,                                                         
        
          
            
              gpointer
            
             progress_user_data
          
        
        ,                                                         
        
          
            
              GAsyncReadyCallback
            
             callback
          
        
        ,                                                         
        
          
            
              gpointer
            
             user_data
          
        
        );
        void
        pk_package_sack_sort
                        (
        
          
            
              PkPackageSack
            
             *sack
          
        
        ,                                                         
        
          
            
              PkPackageSackSortType
            
             type
          
        
        );
        void
        pk_package_sack_test
                        (
        
          
            
              gpointer
            
             user_data
          
        
        );
        
          gboolean
        
        pk_package_sack_to_file
                     (
        
          
            
              PkPackageSack
            
             *sack
          
        
        ,                                                         
        
          
            
              GFile
            
             *file
          
        
        ,                                                         
        
          
            
              GError
            
             **error
          
        
        );
      

Object Hierarchy

        GObject
           +----PkPackageSack
      
  GEnum   +----PkPackageSackSortType

Description

A package sack is a set of packages that can have operations done on themin parallel. This might be adding summary text for bare package ID's, orto add package or update details.

Details

PK_PACKAGE_SACK_TYPE_ERROR

#define PK_PACKAGE_SACK_TYPE_ERROR (pk_package_sack_error_get_type ())

struct PkPackageSack

struct PkPackageSack;

struct PkPackageSackClass

struct PkPackageSackClass {GObjectClass parent_class;/* signals */void(* changed)(PkPackageSack *sack);/* padding for future expansion */void (*_pk_reserved1) (void);void (*_pk_reserved2) (void);void (*_pk_reserved3) (void);void (*_pk_reserved4) (void);void (*_pk_reserved5) (void);};

PkPackageSackFilterFunc ()

          
            gboolean
          
                      (*PkPackageSackFilterFunc)          (
          
            
              
                PkPackage
              
               *package
            
          
          ,                                                         
          
            
              
                gpointer
              
               user_data
            
          
          );
        

PkPackageSackResults

typedef struct _PkPackageSackResults PkPackageSackResults;

enum PkPackageSackSortType

typedef enum {PK_PACKAGE_SACK_SORT_TYPE_NAME,PK_PACKAGE_SACK_SORT_TYPE_INFO,PK_PACKAGE_SACK_SORT_TYPE_PACKAGE_ID,PK_PACKAGE_SACK_SORT_TYPE_SUMMARY,PK_PACKAGE_SACK_SORT_TYPE_LAST} PkPackageSackSortType;

pk_package_sack_add_package ()

          
            gboolean
          
                      pk_package_sack_add_package         (
          
            
              
                PkPackageSack
              
               *sack
            
          
          ,                                                         
          
            
              
                PkPackage
              
               *package
            
          
          );
        

Adds a package to the sack.

sack  :

a valid PkPackageSack instance

package  :

a valid PkPackage instance

Returns  :

TRUE if the package was added to the sack

Since 0.5.2


pk_package_sack_add_package_by_id ()

          
            gboolean
          
                      pk_package_sack_add_package_by_id   (
          
            
              
                PkPackageSack
              
               *sack
            
          
          ,                                                         
          
            
              const 
              
                gchar
              
               *package_id
            
          
          ,                                                         
          
            
              
                GError
              
               **error
            
          
          );
        

Adds a package reference to the sack.

sack  :

a valid PkPackageSack instance

package_id  :

a package_id descriptor

error  :

a GError to put the error code and message in, or NULL

Returns  :

TRUE if the package was added to the sack

Since 0.5.2


pk_package_sack_add_packages_from_file ()

          
            gboolean
          
                      pk_package_sack_add_packages_from_file                                                        (
          
            
              
                PkPackageSack
              
               *sack
            
          
          ,                                                         
          
            
              
                GFile
              
               *file
            
          
          ,                                                         
          
            
              
                GError
              
               **error
            
          
          );
        

Write the contents of a PkPackageSack to a package-list file.

sack  :

a valid PkPackageSack instance

file  :

a valid package-list file

error  :

a GError to put the error code and message in, or NULL

Returns  :

TRUE if there were no errors.

Since 0.8.6


pk_package_sack_clear ()

          void
                          pk_package_sack_clear               (
          
            
              
                PkPackageSack
              
               *sack
            
          
          );
        

Empty all the packages from the sack

sack  :

a valid PkPackageSack instance

Since 0.5.2


pk_package_sack_filter ()

          
            PkPackageSack
          
           *     pk_package_sack_filter              (
          
            
              
                PkPackageSack
              
               *sack
            
          
          ,                                                         
          
            
              
                PkPackageSackFilterFunc
              
               filter_cb
            
          
          ,                                                         
          
            
              
                gpointer
              
               user_data
            
          
          );
        

Returns a new package sack which only matches packages that return TRUE from the filter function.

sack  :

a valid PkPackageSack instance

filter_cb  :

a PkPackageSackFilterFunc , which returns TRUE for the PkPackage 's to add. [ scope call ]

user_data  :

user data to pass to filter_cb

Returns  :

a new PkPackageSack , free with g_object_unref() . [ transfer full ]

Since 0.6.3


pk_package_sack_filter_by_info ()

          
            PkPackageSack
          
           *     pk_package_sack_filter_by_info      (
          
            
              
                PkPackageSack
              
               *sack
            
          
          ,                                                         
          
            
              
                PkInfoEnum
              
               info
            
          
          );
        

Returns a new package sack which only matches packages that match thespecified info enum value.

sack  :

a valid PkPackageSack instance

info  :

a PkInfoEnum value to match

Returns  :

a new PkPackageSack , free with g_object_unref() . [ transfer full ]

Since 0.6.2


pk_package_sack_find_by_id ()

          
            PkPackage
          
           *         pk_package_sack_find_by_id          (
          
            
              
                PkPackageSack
              
               *sack
            
          
          ,                                                         
          
            
              const 
              
                gchar
              
               *package_id
            
          
          );
        

Finds a package in a sack from reference. As soon as one package is foundthe search is stopped.

sack  :

a valid PkPackageSack instance

package_id  :

a package_id descriptor

Returns  :

the PkPackage object, or NULL if unfound. Free with g_object_unref() . [ transfer full ]

Since 0.5.2


pk_package_sack_get_array ()

          
            GPtrArray
          
           *         pk_package_sack_get_array           (
          
            
              
                PkPackageSack
              
               *sack
            
          
          );
        

Gets the package array from the sack

sack  :

a valid PkPackageSack instance

Returns  :

A GPtrArray , free with g_ptr_array_unref() . [ element-type PkPackage][ transfer container ]

Since 0.6.1


pk_package_sack_get_details_async ()

          void
                          pk_package_sack_get_details_async   (
          
            
              
                PkPackageSack
              
               *sack
            
          
          ,                                                         
          
            
              
                GCancellable
              
               *cancellable
            
          
          ,                                                         
          
            
              
                PkProgressCallback
              
               progress_callback
            
          
          ,                                                         
          
            
              
                gpointer
              
               progress_user_data
            
          
          ,                                                         
          
            
              
                GAsyncReadyCallback
              
               callback
            
          
          ,                                                         
          
            
              
                gpointer
              
               user_data
            
          
          );
        

Merges in details about packages.

sack  :

a valid PkPackageSack instance

cancellable  :

a GCancellable or NULL

progress_callback  :

the function to run when the progress changes. [ scope call ]

progress_user_data  :

data to pass to progress_callback

callback  :

the function to run on completion

user_data  :

the data to pass to callback

pk_package_sack_get_ids ()

          
            gchar
          
           **            pk_package_sack_get_ids             (
          
            
              
                PkPackageSack
              
               *sack
            
          
          );
        

Returns all the Package IDs in the sack

sack  :

a valid PkPackageSack instance

Returns  :

the number of packages in the sack, free with g_strfreev() . [ transfer full ]

Since 0.5.3


pk_package_sack_get_size ()

          
            guint
          
                         pk_package_sack_get_size            (
          
            
              
                PkPackageSack
              
               *sack
            
          
          );
        

Gets the number of packages in the sack

sack  :

a valid PkPackageSack instance

Returns  :

the number of packages in the sack

Since 0.5.2


pk_package_sack_get_total_bytes ()

          
            guint64
          
                       pk_package_sack_get_total_bytes     (
          
            
              
                PkPackageSack
              
               *sack
            
          
          );
        

Gets the total size of the package sack in bytes.

sack  :

a valid PkPackageSack instance

Returns  :

the size in bytes

Since 0.5.2


pk_package_sack_get_update_detail_async ()

          void
                          pk_package_sack_get_update_detail_async                                                        (
          
            
              
                PkPackageSack
              
               *sack
            
          
          ,                                                         
          
            
              
                GCancellable
              
               *cancellable
            
          
          ,                                                         
          
            
              
                PkProgressCallback
              
               progress_callback
            
          
          ,                                                         
          
            
              
                gpointer
              
               progress_user_data
            
          
          ,                                                         
          
            
              
                GAsyncReadyCallback
              
               callback
            
          
          ,                                                         
          
            
              
                gpointer
              
               user_data
            
          
          );
        

Merges in update details about packages.

sack  :

a valid PkPackageSack instance

cancellable  :

a GCancellable or NULL

progress_callback  :

the function to run when the progress changes. [ scope call ]

progress_user_data  :

data to pass to progress_callback

callback  :

the function to run on completion

user_data  :

the data to pass to callback

Since 0.5.2


pk_package_sack_merge_generic_finish ()

          
            gboolean
          
                      pk_package_sack_merge_generic_finish                                                        (
          
            
              
                PkPackageSack
              
               *sack
            
          
          ,                                                         
          
            
              
                GAsyncResult
              
               *res
            
          
          ,                                                         
          
            
              
                GError
              
               **error
            
          
          );
        

Gets the result from the asynchronous function.

sack  :

a valid PkPackageSack instance

res  :

the GAsyncResult

error  :

A GError or NULL

Returns  :

TRUE for success

Since 0.5.2


pk_package_sack_new ()

          
            PkPackageSack
          
           *     pk_package_sack_new                 (
          
            
              void
            
          
          );
        

Returns  :

a new PkPackageSack object.

Since 0.5.2


pk_package_sack_remove_by_filter ()

          
            gboolean
          
                      pk_package_sack_remove_by_filter    (
          
            
              
                PkPackageSack
              
               *sack
            
          
          ,                                                         
          
            
              
                PkPackageSackFilterFunc
              
               filter_cb
            
          
          ,                                                         
          
            
              
                gpointer
              
               user_data
            
          
          );
        

Removes from the package sack any packages that return FALSE from the filterfunction.

sack  :

a valid PkPackageSack instance

filter_cb  :

a PkPackageSackFilterFunc , which returns TRUE for the PkPackage 's to retain. [ scope call ]

user_data  :

user data to pass to filter_cb

Returns  :

TRUE if a package was removed from the sack

Since 0.6.3


pk_package_sack_remove_package ()

          
            gboolean
          
                      pk_package_sack_remove_package      (
          
            
              
                PkPackageSack
              
               *sack
            
          
          ,                                                         
          
            
              
                PkPackage
              
               *package
            
          
          );
        

Removes a package reference from the sack. The pointers have to match exactly.

sack  :

a valid PkPackageSack instance

package  :

a valid PkPackage instance

Returns  :

TRUE if the package was removed from the sack

Since 0.5.2


pk_package_sack_remove_package_by_id ()

          
            gboolean
          
                      pk_package_sack_remove_package_by_id                                                        (
          
            
              
                PkPackageSack
              
               *sack
            
          
          ,                                                         
          
            
              const 
              
                gchar
              
               *package_id
            
          
          );
        

Removes a package reference from the sack. As soon as one package is removedthe search is stopped.

sack  :

a valid PkPackageSack instance

package_id  :

a package_id descriptor

Returns  :

TRUE if the package was removed from the sack

Since 0.5.2


pk_package_sack_resolve_async ()

          void
                          pk_package_sack_resolve_async       (
          
            
              
                PkPackageSack
              
               *sack
            
          
          ,                                                         
          
            
              
                GCancellable
              
               *cancellable
            
          
          ,                                                         
          
            
              
                PkProgressCallback
              
               progress_callback
            
          
          ,                                                         
          
            
              
                gpointer
              
               progress_user_data
            
          
          ,                                                         
          
            
              
                GAsyncReadyCallback
              
               callback
            
          
          ,                                                         
          
            
              
                gpointer
              
               user_data
            
          
          );
        

Merges in details about packages using resolve.

sack  :

a valid PkPackageSack instance

cancellable  :

a GCancellable or NULL

progress_callback  :

the function to run when the progress changes. [ scope call ]

progress_user_data  :

data to pass to progress_callback

callback  :

the function to run on completion

user_data  :

the data to pass to callback

Since 0.5.2


pk_package_sack_sort ()

          void
                          pk_package_sack_sort                (
          
            
              
                PkPackageSack
              
               *sack
            
          
          ,                                                         
          
            
              
                PkPackageSackSortType
              
               type
            
          
          );
        

pk_package_sack_test ()

          void
                          pk_package_sack_test                (
          
            
              
                gpointer
              
               user_data
            
          
          );
        

pk_package_sack_to_file ()

          
            gboolean
          
                      pk_package_sack_to_file             (
          
            
              
                PkPackageSack
              
               *sack
            
          
          ,                                                         
          
            
              
                GFile
              
               *file
            
          
          ,                                                         
          
            
              
                GError
              
               **error
            
          
          );