AnjutaSession

AnjutaSession — Store local user settings

Stability Level

Unstable, unless otherwise indicated

Types and Values

Object Hierarchy

    GObject
    ╰── AnjutaSession

Includes

#include <libanjuta/anjuta-session.h>

Description

A anjuta session contains local user settings, by example the list of files open in one project. These settings are stored in a .ini-like config file in a directory named session. Other libraries can store their own settings in another format in the same directory.

Functions

anjuta_session_new ()

AnjutaSession *
anjuta_session_new (const gchar *session_directory);

Created a new session object. session_directory is the directory where session information will be stored or loaded in case of existing session.

Parameters

session_directory

Directory where session is loaded from/saved to.

 

Returns

an AnjutaSession Object


anjuta_session_get_session_filename ()

gchar *
anjuta_session_get_session_filename (AnjutaSession *session);

Gets the session filename corresponding to this session object.

Parameters

session

an AnjutaSession object

 

Returns

session (absolute) filename


anjuta_session_get_session_directory ()

const gchar *
anjuta_session_get_session_directory (AnjutaSession *session);

Returns the directory corresponding to this session object.

Parameters

session

an AnjutaSession object

 

Returns

session directory


anjuta_session_sync ()

void
anjuta_session_sync (AnjutaSession *session);

Synchronizes session object with session file

Parameters

session

an AnjutaSession object

 

anjuta_session_clear ()

void
anjuta_session_clear (AnjutaSession *session);

Clears the session.

Parameters

session

an AnjutaSession object

 

anjuta_session_clear_section ()

void
anjuta_session_clear_section (AnjutaSession *session,
                              const gchar *section);

Clears the given section in session object.

Parameters

session

an AnjutaSession object.

 

section

Section to clear.

 

anjuta_session_set_int ()

void
anjuta_session_set_int (AnjutaSession *session,
                        const gchar *section,
                        const gchar *key,
                        gint value);

Set an integer value to key in given section .

Parameters

session

an AnjutaSession object

 

section

Section.

 

key

Key name.

 

value

Key value

 

anjuta_session_set_float ()

void
anjuta_session_set_float (AnjutaSession *session,
                          const gchar *section,
                          const gchar *key,
                          gfloat value);

Set a float value to key in given section .

Parameters

session

an AnjutaSession object

 

section

Section.

 

key

Key name.

 

value

Key value

 

anjuta_session_set_string ()

void
anjuta_session_set_string (AnjutaSession *session,
                           const gchar *section,
                           const gchar *key,
                           const gchar *value);

Set a string value to key in given section .

Parameters

session

an AnjutaSession object

 

section

Section.

 

key

Key name.

 

value

Key value

 

anjuta_session_set_string_list ()

void
anjuta_session_set_string_list (AnjutaSession *session,
                                const gchar *section,
                                const gchar *key,
                                GList *value);

Set a list of strings value to key in given section .

Parameters

session

an AnjutaSession object

 

section

Section.

 

key

Key name.

 

value

Key value

 

anjuta_session_get_int ()

gint
anjuta_session_get_int (AnjutaSession *session,
                        const gchar *section,
                        const gchar *key);

Get an integer value of key in given section .

Parameters

session

an AnjutaSession object

 

section

Section.

 

key

Key name.

 

Returns

Key value


anjuta_session_get_float ()

gfloat
anjuta_session_get_float (AnjutaSession *session,
                          const gchar *section,
                          const gchar *key);

Get a float value of key in given section .

Parameters

session

an AnjutaSession object

 

section

Section.

 

key

Key name.

 

Returns

Key value


anjuta_session_get_string ()

gchar *
anjuta_session_get_string (AnjutaSession *session,
                           const gchar *section,
                           const gchar *key);

Get a string value of key in given section .

Parameters

session

an AnjutaSession object

 

section

Section.

 

key

Key name.

 

Returns

Key value


anjuta_session_get_string_list ()

GList *
anjuta_session_get_string_list (AnjutaSession *session,
                                const gchar *section,
                                const gchar *key);

Get a list of strings value of key in given section .

Parameters

session

an AnjutaSession object

 

section

Section.

 

key

Key name.

 

Returns

Key value


anjuta_session_get_relative_uri_from_file ()

gchar *
anjuta_session_get_relative_uri_from_file
                               (AnjutaSession *session,
                                GFile *file,
                                const gchar *fragment);

Return an URI relative to the session directory file with an optional fragment. It is useful to keep only relative file paths in a session file to be able to copy the whole project without breaking references.

Parameters

session

an AnjutaSession object

 

file

a GFile

 

fragment

an optional fragment

 

Returns

A string that has to be freed with g_free().

[transfer full]


anjuta_session_get_file_from_relative_uri ()

GFile *
anjuta_session_get_file_from_relative_uri
                               (AnjutaSession *session,
                                const gchar *uri,
                                const gchar **fragment);

Return a GFile corresponding to the URI and and optional fragment, normally read from a session key. The path is expected to be relative to the session directory but it works with an absolute URI, in this case it returns the same file than g_file_new_for_uri. It is useful to keep only relative file paths in a session file to be able to copy the whole project without breaking references.

Parameters

session

an AnjutaSession object

 

uri

a relative URI from a key

 

fragment

fragment part of the URI if existing, can be NULL.

[allow-none]

Returns

A new GFile that has to be freed with g_object_unref().

[transfer full]

Types and Values

enum AnjutaSessionPhase

Members

ANJUTA_SESSION_PHASE_START

   

ANJUTA_SESSION_PHASE_FIRST

   

ANJUTA_SESSION_PHASE_NORMAL

   

ANJUTA_SESSION_PHASE_LAST

   

ANJUTA_SESSION_PHASE_END

   

AnjutaSessionPriv

typedef struct _AnjutaSessionPriv AnjutaSessionPriv;