## AsContentRating AsContentRating — Object representing a content rating |

## Stability Level

Unstable, unless otherwise indicated

## Functions

const gchar * | as_content_rating_value_to_string ()
AsContentRatingValue | as_content_rating_value_from_string ()
guint | as_content_rating_attribute_to_csm_age ()
const gchar ** | as_content_rating_get_all_rating_ids ()
AsContentRating * | as_content_rating_new ()
const gchar * | as_content_rating_get_kind ()
void | as_content_rating_set_kind ()
guint | as_content_rating_get_minimum_age ()
AsContentRatingValue | as_content_rating_get_value ()
void | as_content_rating_set_value ()
const gchar ** | as_content_rating_get_rating_ids ()

## Types and Values

#define | AS_TYPE_CONTENT
struct | AsContentRatingClass
enum | AsContentRatingValue
| AsContentRating

## Includes

    #include <appstream.h>

## Description

Content ratings are age-specific guidelines for applications.

See also: AsComponent

## Functions

### as_content_rating_value_to_string ()

    const gchar *
    as_content_rating_value_to_string (AsContentRatingValue value);

Converts the enumerated value to an text representation.

#### Parameters

value | the AsContentRatingValue. |

#### Returns

string version of `value`

Since: 0.11.0

### as_content_rating_value_from_string ()

    AsContentRatingValue
    as_content_rating_value_from_string (const gchar *value);

Converts the text representation to an enumerated value.

#### Parameters

value | the string. |

#### Returns

a AsContentRatingValue or `AS_CONTENT_RATING_VALUE_UNKNOWN` for unknown

Since: 0.11.0

### as_content_rating_attribute_to_csm_age ()

    guint
    as_content_rating_attribute_to_csm_age
                                   (const gchar *id,
                                    AsContentRatingValue value);

Gets the Common Sense Media approved age for a specific rating level.

#### Parameters

id | the subsection ID e.g. `violence-cartoon` |
value | the AsContentRatingValue, e.g. `AS_CONTENT_RATING_VALUE_INTENSE` |

#### Returns

The age in years, or 0 for no details.

Since: 0.12.10

### as_content_rating_get_all_rating_ids ()

    const gchar **
    as_content_rating_get_all_rating_ids (void);

Returns a list of all the valid OARS content rating attribute IDs as could be passed to `as_content_rating_add_attribute()` or `as_content_rating_attribute_to_csm_age()`.

#### Returns

a `NULL`-terminated array of IDs, to be freed with `g_free()` (the element values are owned by libappstream-glib and must not be freed).

[array zero-terminated=1][transfer container]

Since: 0.12.10

### as_content_rating_new ()

    AsContentRating *
    as_content_rating_new (void);

Creates a new AsContentRating.

#### Returns

a AsContentRating.

[transfer full]

Since: 0.11.0

### as_content_rating_get_kind ()

    const gchar *
    as_content_rating_get_kind (AsContentRating *content_rating);

Gets the content_rating kind.

#### Parameters

content_rating | a AsContentRating instance. |

#### Returns

a string, e.g. "oars-1.0", or NULL

Since: 0.11.0

### as_content_rating_set_kind ()

    void
    as_content_rating_set_kind (AsContentRating *content_rating,
                                const gchar *kind);

Sets the content rating kind.

#### Parameters

content_rating | a AsContentRating instance. |
kind | the rating kind, e.g. "oars-1.0" |

Since: 0.11.0

### as_content_rating_get_minimum_age ()

    guint
    as_content_rating_get_minimum_age (AsContentRating *content_rating);

Gets the lowest Common Sense Media approved age for the content_rating block. NOTE: these numbers are based on the data and descriptions available from https://www.commonsensemedia.org/about-us/our-mission/about-our-ratings and you may disagree with them.

You're free to disagree with these, and of course you should use your own brain to work our if your child is able to cope with the concepts enumerated here. Some 13 year olds may be fine with the concept of mutilation of body parts; others may get nightmares.

#### Parameters

content_rating | a AsContentRating |

#### Returns

The age in years, 0 for no rating, or G_MAXUINT for no details.

Since: 0.11.0

### as_content_rating_get_value ()

    AsContentRatingValue
    as_content_rating_get_value (AsContentRating *content_rating,
                                 const gchar *id);

Gets the value of a content rating key.

#### Parameters

content_rating | a AsContentRating |
id | A ratings ID, e.g. `violence-bloodshed`. |

#### Returns

the AsContentRatingValue, or `AS_CONTENT_RATING_VALUE_UNKNOWN`

Since: 0.11.0

### as_content_rating_set_value ()

    void
    as_content_rating_set_value (AsContentRating *content_rating,
                                 const gchar *id,
                                 AsContentRatingValue value);

Sets the value of a content rating key.

#### Parameters

content_rating | a AsContentRating |
id | A ratings ID, e.g. `violence-bloodshed`. |
value | A AsContentRatingValue, e.g. `AS_CONTENT_RATING_VALUE_INTENSE` |

Since: 0.11.0

### as_content_rating_get_rating_ids ()

    const gchar **
    as_content_rating_get_rating_ids (AsContentRating *content_rating);

Gets the set of ratings IDs which are present in this `content_rating` . An example of a ratings ID is `violence-bloodshed`.

The IDs are returned in lexicographical order.

#### Parameters

content_rating | a AsContentRating |

#### Returns

`NULL`-terminated array of ratings IDs; each ratings ID is owned by the AsContentRating and must not be freed, but the container must be freed with `g_free()`.

[array zero-terminated=1][transfer container]

Since: 0.12.10

## Types and Values

### AS_TYPE_CONTENT

    #define AS_TYPE_CONTENT (as_content_rating_get_type ())

### struct AsContentRatingClass

    struct AsContentRatingClass {
    	GObjectClass		parent_class;
    };

### enum AsContentRatingValue

The specified level of an content_rating rating ID.

#### Members

AS_CONTENT_RATING_VALUE_UNKNOWN | Unknown value |
AS_CONTENT_RATING_VALUE_NONE | None |
AS_CONTENT_RATING_VALUE_MILD | A small amount |
AS_CONTENT_RATING_VALUE_MODERATE | A moderate amount |
AS_CONTENT_RATING_VALUE_INTENSE | An intense amount |

### AsContentRating

    typedef struct _AsContentRating AsContentRating;