AscIconPolicy

AscIconPolicy — Set policy on how to deal with different icon types.

Functions

Types and Values

Includes

#include <appstream-compose.h>

Description

Functions

asc_icon_policy_new ()

AscIconPolicy *
asc_icon_policy_new (void);

Creates a new AscIconPolicy.


asc_icon_policy_set_policy ()

void
asc_icon_policy_set_policy (AscIconPolicy *ipolicy,
                            guint icon_size,
                            guint icon_scale,
                            AscIconState state);

Sets a designated state for an icon of the given size.

Parameters

ipolicy

an AscIconPolicy instance.

 

icon_size

the size of the icon to set policy for (e.g. 64 for 64x64px icons)

 

icon_scale

the icon scale factor, e.g. 1

 

state

the designated AscIconState

 

asc_icon_policy_iter_init ()

void
asc_icon_policy_iter_init (AscIconPolicyIter *iter,
                           AscIconPolicy *ipolicy);

Initializes a policy iterator for the policy entry list and associates it it with ipolicy . The AscIconPolicyIter structure is typically allocated on the stack and does not need to be freed explicitly.

Parameters

iter

an uninitialized AscIconPolicyIter

 

ipolicy

an AscIconPolicy

 

asc_icon_policy_iter_next ()

gboolean
asc_icon_policy_iter_next (AscIconPolicyIter *iter,
                           guint *size,
                           guint *scale,
                           AscIconState *state);

Returns the current icon policy entry and advances the iterator. Example:

1
2
3
4
5
6
7
8
9
AscIconPolicyIter iter;
guint icon_size;
guint icon_scale;
AscIconState istate;

asc_icon_policy_iter_init (&iter, ipolicy);
while (asc_icon_policy_iter_next (&iter, &icon_size, &icon_scale, &istate)) {
    // do something with the icon entry data
}

Parameters

iter

an initialized AscIconPolicyIter

 

size

Destination of the returned icon size.

[out][optional][not nullable]

scale

Destination of the returned icon scale factor.

[out][optional][not nullable]

state

Destination of the returned designated icon state.

[out][optional][nullable]

Returns

FALSE if the last entry has been reached.

Types and Values

ASC_TYPE_ICON_POLICY

#define ASC_TYPE_ICON_POLICY (asc_icon_policy_get_type ())

struct AscIconPolicyClass

struct AscIconPolicyClass {
	GObjectClass parent_class;
};

enum AscIconState

Designated state for an icon of a given size.

Members

ASC_ICON_STATE_IGNORED

Ignore icons of this size.

 

ASC_ICON_STATE_CACHED_REMOTE

Create cache for the icon, and provide remote link as well.

 

ASC_ICON_STATE_CACHED_ONLY

Set if the icon should be stored in an icon tarball and be cached locally.

 

ASC_ICON_STATE_REMOTE_ONLY

Set if this icon should be stored remotely and fetched on demand.

 

AscIconPolicy

typedef struct _AscIconPolicy AscIconPolicy;