| Mission Control Plugins Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | ||||
#include <mission-control-plugins/mission-control-plugins.h> #define MCP_ACCOUNT_STORAGE_PLUGIN_PRIO_READONLY #define MCP_ACCOUNT_STORAGE_PLUGIN_PRIO_DEFAULT #define MCP_ACCOUNT_STORAGE_PLUGIN_PRIO_NORMAL #define MCP_ACCOUNT_STORAGE_PLUGIN_PRIO_KEYRING struct McpAccountStorage; gint mcp_account_storage_priority (const McpAccountStorage *storage); gboolean mcp_account_storage_get (const McpAccountStorage *storage,McpAccountManager *am,const gchar *account,const gchar *key); gboolean mcp_account_storage_set (const McpAccountStorage *storage,const McpAccountManager *am,const gchar *account,const gchar *key,const gchar *value); gchar * mcp_account_storage_create (const McpAccountStorage *storage,const McpAccountManager *am,const gchar *manager,const gchar *protocol,GHashTable *params,GError **error); gboolean mcp_account_storage_delete (const McpAccountStorage *storage,const McpAccountManager *am,const gchar *account,const gchar *key); void mcp_account_storage_ready (const McpAccountStorage *storage,const McpAccountManager *am); gboolean mcp_account_storage_commit (const McpAccountStorage *storage,const McpAccountManager *am); gboolean mcp_account_storage_commit_one (const McpAccountStorage *storage,const McpAccountManager *am,const gchar *account); GList * mcp_account_storage_list (const McpAccountStorage *storage,const McpAccountManager *am); void mcp_account_storage_get_identifier (const McpAccountStorage *storage,const gchar *account,GValue *identifier); GHashTable * mcp_account_storage_get_additional_info (const McpAccountStorage *storage,const gchar *account); guint mcp_account_storage_get_restrictions (const McpAccountStorage *storage,const gchar *account); const gchar * mcp_account_storage_name (const McpAccountStorage *storage); const gchar * mcp_account_storage_description (const McpAccountStorage *storage); const gchar * mcp_account_storage_provider (const McpAccountStorage *storage); gboolean mcp_account_storage_owns (McpAccountStorage *storage,McpAccountManager *am,const gchar *account); gboolean mcp_account_storage_set_attribute (McpAccountStorage *storage,McpAccountManager *am,const gchar *account,const gchar *attribute,GVariant *value,McpAttributeFlags flags); gboolean mcp_account_storage_set_parameter (McpAccountStorage *storage,McpAccountManager *am,const gchar *account,const gchar *parameter,GVariant *value,McpParameterFlags flags); void mcp_account_storage_emit_created (McpAccountStorage *storage,const gchar *account); void mcp_account_storage_emit_altered (McpAccountStorage *storage,const gchar *account); void mcp_account_storage_emit_altered_one (McpAccountStorage *storage,const gchar *account,const gchar *key); void mcp_account_storage_emit_deleted (McpAccountStorage *storage,const gchar *account); void mcp_account_storage_emit_toggled (McpAccountStorage *storage,const gchar *account,gboolean enabled); void mcp_account_storage_emit_reconnect (McpAccountStorage *storage,const gchar *account); McpAccountStorageIface;
Plugins may implement McpAccountStorage in order to provide account parameter storage backends to the AccountManager object.
To do so, the plugin must implement a GObject subclass that implements
McpAccountStorage, then return an instance of that subclass from
mcp_plugin_ref_nth_object().
Many methods take "the unique name of an account" as an argument.
In this plugin, that means the unique "tail" of the account's
object path, for instance "gabble/jabber/chris_40example_2ecom".
The account's full object path is obtained by prepending
TP_ACCOUNT_OBJECT_PATH_BASE.
A complete implementation of this interface with all methods would look something like this: