Top | ![]() |
![]() |
![]() |
![]() |
McpAccountManagerMcpAccountManager — Object representing the account manager, implemented by Mission Control |
void | mcp_account_manager_set_value () |
void | mcp_account_manager_set_attribute () |
void | mcp_account_manager_set_parameter () |
gchar * | mcp_account_manager_get_value () |
gboolean | mcp_account_manager_parameter_is_secret () |
void | mcp_account_manager_parameter_make_secret () |
gchar * | mcp_account_manager_get_unique_name () |
GStrv | mcp_account_manager_list_keys () |
gchar * | mcp_account_manager_escape_value_for_keyfile () |
gchar * | mcp_account_manager_escape_variant_for_keyfile () |
gboolean | mcp_account_manager_unescape_value_from_keyfile () |
gboolean | mcp_account_manager_init_value_for_attribute () |
This object represents the Telepathy AccountManager.
Most virtual methods on the McpAccountStorageIface interface receive an object provided by Mission Control that implements this interface. It can be used to manipulate Mission Control's in-memory cache of accounts.
Only Mission Control should implement this interface.
void mcp_account_manager_set_value (const McpAccountManager *mcpa
,const gchar *account
,const gchar *key
,const gchar *value
);
Inform Mission Control that key
has changed its value to value
.
This function may either be called from mcp_account_storage_get()
,
or just before emitting “altered-one”.
New plugins should call mcp_account_manager_set_attribute()
or
mcp_account_manager_set_parameter()
instead.
mcpa |
an McpAccountManager instance |
|
account |
the unique name of an account |
|
key |
the setting whose value we wish to change: either an attribute like "DisplayName", or "param-" plus a parameter like "account" |
|
value |
the new value, escaped as if for a GKeyFile, or |
void mcp_account_manager_set_attribute (const McpAccountManager *mcpa
,const gchar *account
,const gchar *attribute
,GVariant *value
,McpAttributeFlags flags
);
Inform Mission Control that attribute
has changed its value to value
.
If value
is a floating reference, Mission Control will take ownership
of it, much like g_variant_builder_add_value()
.
This function may either be called from mcp_account_storage_get()
,
or just before emitting “altered-one”.
mcpa |
an McpAccountManager instance |
|
account |
the unique name of an account |
|
attribute |
the name of an attribute, such as "DisplayName" |
|
value |
the new value, or |
[allow-none] |
flags |
flags for the new value (only used if |
void mcp_account_manager_set_parameter (const McpAccountManager *mcpa
,const gchar *account
,const gchar *parameter
,GVariant *value
,McpParameterFlags flags
);
Inform Mission Control that parameter
has changed its value to value
.
If value
is a floating reference, Mission Control will take ownership
of it, much like g_variant_builder_add_value()
.
This function may either be called from mcp_account_storage_get()
,
or just before emitting “altered-one”.
mcpa |
an McpAccountManager instance |
|
account |
the unique name of an account |
|
parameter |
the name of a parameter, such as "account", without the "param-" prefix |
|
value |
the new value, or |
[allow-none] |
flags |
flags for the new value (only used if |
gchar * mcp_account_manager_get_value (const McpAccountManager *mcpa
,const gchar *account
,const gchar *key
);
Fetch a copy of the current value of an account setting held by the account manager.
mcpa |
an McpAccountManager instance |
|
account |
the unique name of an account |
|
key |
the setting whose value we wish to fetch: either an attribute like "DisplayName", or "param-" plus a parameter like "account" |
gboolean mcp_account_manager_parameter_is_secret (const McpAccountManager *mcpa
,const gchar *account
,const gchar *key
);
Determine whether a given account parameter is secret. Generally this is determined by MC and passed down to plugins, but any McpAccountStorage plugin may decide a parameter is secret, in which case the return value for this call will indicate that fact too.
For historical reasons, this function only operates on parameters, but requires its argument to be prefixed with "param-".
mcpa |
an McpAccountManager instance |
|
account |
the unique name of an account |
|
key |
the constant string "param-", plus a parameter name like "account" or "password" |
void mcp_account_manager_parameter_make_secret (const McpAccountManager *mcpa
,const gchar *account
,const gchar *key
);
Flag an account setting as secret for the lifetime of this
McpAccountManager. For instance, this should be called if
key
has been retrieved from gnome-keyring.
For historical reasons, this function only operates on parameters, but requires its argument to be prefixed with "param-".
mcpa |
an McpAccountManager instance |
|
account |
the unique name of an account |
|
key |
the constant string "param-", plus a parameter name like "account" or "password" |
gchar * mcp_account_manager_get_unique_name (McpAccountManager *mcpa
,const gchar *manager
,const gchar *protocol
,const GHashTable *params
);
Generate and return the canonical unique name of this [new] account. Should not be called for accounts which have already had a name assigned: Intended for use when a plugin encounters an account which MC has not previously seen before (ie one created by a 3rd party in the back-end that the plugin in question provides an interface to).
mcpa |
an McpAccountManager instance |
|
manager |
the name of the manager |
|
protocol |
the name of the protocol |
|
params |
A gchar * / GValue * hash table of account parameters. |
GStrv mcp_account_manager_list_keys (const McpAccountManager *mcpa
,const gchar *account
);
gchar * mcp_account_manager_escape_value_for_keyfile (const McpAccountManager *mcpa
,const GValue *value
);
gchar * mcp_account_manager_escape_variant_for_keyfile (const McpAccountManager *mcpa
,GVariant *variant
);
Escape variant
so it could be passed to g_key_file_set_value()
.
For instance, escaping the boolean value TRUE returns "true",
and escaping the string value containing one space returns "\s".
It is a programming error to use an unsupported type.
The supported types are currently G_VARIANT_TYPE_STRING
,
G_VARIANT_TYPE_BOOLEAN
, G_VARIANT_TYPE_INT32
, G_VARIANT_TYPE_UINT32
,
G_VARIANT_TYPE_INT64
, G_VARIANT_TYPE_UINT64
, G_VARIANT_TYPE_BYTE
,
G_VARIANT_TYPE_STRING_ARRAY
, G_VARIANT_TYPE_OBJECT_PATH
and
G_VARIANT_TYPE_OBJECT_PATH_ARRAY
.
gboolean mcp_account_manager_unescape_value_from_keyfile (const McpAccountManager *mcpa
,const gchar *escaped
,GValue *value
,GError **error
);
Attempt to interpret escaped
as a value of value
's type.
If successful, put it in value
and return TRUE
.
It is a programming error to try to escape an unsupported type.
The supported types are currently G_TYPE_STRING
, G_TYPE_BOOLEAN
,
G_TYPE_INT
, G_TYPE_UINT
, G_TYPE_INT64
, G_TYPE_UINT64
, G_TYPE_UCHAR
,
G_TYPE_STRV
, DBUS_TYPE_G_OBJECT_PATH
and TP_ARRAY_TYPE_OBJECT_PATH_LIST
.
gboolean mcp_account_manager_init_value_for_attribute (const McpAccountManager *mcpa
,GValue *value
,const gchar *attribute
);
If attribute
is a known Mission Control attribute, initialize value
with an appropriate type for attribute
and return TRUE
. Otherwise,
return FALSE
.