## OobsSession

OobsSession — Manager of the connection to the backends

## Functions

OobsSession * | oobs_session_get ()
OobsResult | oobs_session_commit ()
gboolean | oobs_session_get_connected ()
OobsResult | oobs_session_get_supported_platforms ()
OobsResult | oobs_session_get_platform ()
OobsResult | oobs_session_set_platform ()
void | oobs_session_process_requests ()
const gchar * | oobs_session_get_authentication_action ()

## Properties

char * | platform | Read / Write

## Types and Values

struct | OobsPlatform

## Object Hierarchy

        GObject
        ╰── OobsSession

## Description

## Functions

### oobs_session_get ()

    OobsSession *
    oobs_session_get (void);

Returns the OobsSession singleton, which represents the session with the system tools backends.

#### Returns

the singleton OobSession object.

### oobs_session_commit ()

    OobsResult
    oobs_session_commit (OobsSession *session);

Commits inmediately all the changes to the configuration objects that have been requested through this OobsSession. Note that it will stop if it finds any error.

#### Parameters

session | an OobsSession |

#### Returns

An OobsResult representing the error.

### oobs_session_get_connected ()

    gboolean
    oobs_session_get_connected (OobsSession *session);

Returns whether the connection with the backends is established.

#### Parameters

session | An OobsSession |

#### Returns

TRUE if there's connection with the backends.

### oobs_session_get_supported_platforms ()

    OobsResult
    oobs_session_get_supported_platforms (OobsSession *session,
                                          GList **platforms);

Retrieves the list of supported platforms, this is only necessary when

- oobs_session_get_platform() has returned OOBS_RESULT_NO_PLATFORM. To specify a platform, you must use `oobs_session_set_platform()`, being the platform string in that function the platform->id value inside the OobsPlatform struct.

#### Parameters

session | An OobsSession. |
platforms | return location for the list of platforms. It's a GList of OobsPlatform structs. You must free this list with `g_list_free()`. |

#### Returns

An OobsResult representing the error.

### oobs_session_get_platform ()

    OobsResult
    oobs_session_get_platform (OobsSession *session,
                               gchar **platform);

Retrieves the platform your system has been identified with, or NULL in case your platform is not recognized or other error happens.

#### Parameters

session | An OobsSession. |
platform | location to store the current platform, or NULL. This string is of internal use, and must not be freed or modified. |

#### Returns

An OobsResult representing the error.

### oobs_session_set_platform ()

    OobsResult
    oobs_session_set_platform (OobsSession *session,
                               const gchar *platform);

Identifies your platform as the one set in `platform` . This is only necessary if your platform could not be guessed (and thus `oobs_session_get_platform()` would return OOBS_RESULT_NO_PLATFORM in this case).

#### Parameters

session | An OobsSession. |
platform | A string defining the platform. see `oobs_session_get_platforms_list()` to know where to get this string. |

#### Returns

An OobsResult representing the error.

### oobs_session_process_requests ()

    void
    oobs_session_process_requests (OobsSession *session);

Blocks until all pending asynchronous requests have been processed.

#### Parameters

session | An OobsSession |

### oobs_session_get_authentication_action ()

    const gchar *
    oobs_session_get_authentication_action
                                   (OobsSession *session);

Returns the PolicyKit action the user has to be authenticated to in order to commit changes to configuration objects in this session. If the user has not the required permissions, any attempt to commit will return OOBS_RESULT_ACCESS_DENIED.

#### Parameters

session | An OobsSession |

#### Returns

string defining the PolicyKit action required to modify objects in the session.

## Types and Values

### struct OobsPlatform

    struct OobsPlatform {
      const gchar *id;
      const gchar *name;
      const gchar *version;
      const gchar *codename;
    };

## Property Details

### The `“platform”` property

      “platform”                 char *

Name of the platform the session is running on.

Owner: OobsSession

Flags: Read / Write

Default value: NULL