![]() |
![]() |
![]() |
telepathy-glib API Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Implemented Interfaces | Properties |
#include <telepathy-glib/simple-password-manager.h> TpSimplePasswordManager; TpSimplePasswordManager * tp_simple_password_manager_new (TpBaseConnection *connection
); void tp_simple_password_manager_prompt_async (TpSimplePasswordManager *self
,GAsyncReadyCallback callback
,gpointer user_data
); const GString * tp_simple_password_manager_prompt_finish (TpSimplePasswordManager *self
,GAsyncResult *result
,GError **error
);
This class makes it easy to implement the X-TELEPATHY-PASSWORD SASL
mechanism in a connection manger. It implements the
TpChannelManager interface and pops up a ServerAuthentication
channel when tp_simple_password_manager_prompt_async()
is called to
enable a channel handler to pass in the password using the
appropriate D-Bus methods.
This channel manager is only useful for connection managers only wanting to implement the X-TELEPATHY-PASSWORD SASL mechanism in authentication channels. For connections with more SASL mechanisms, the channel manager and channel itself should be reimplemented to support the desired mechanisms.
A new TpSimplePasswordManager object should be created in the
TpBaseConnectionClass->create_channel_managers implementation and
added to the GPtrArray of channel managers. Then, in the
TpBaseConnectionClass->start_connecting implementation, once the
connection status has been changed to CONNECTING, the connection
should check whether a password parameter was given when creating
the connection through RequestConnection. If a password is present,
the connection should go ahead and use it. If it is not present,
tp_simple_password_manager_prompt_async()
should be called.
Once a password is retrieved using the server authentication
channel, or an error is occurred, the callback that was passed to
tp_simple_password_manager_prompt_async()
is called and the
connection should call tp_simple_password_manager_prompt_finish()
to get the result of the process. If the GString returned from
said finish function is non-NULL, the connection can then proceed
with that password, otherwise the connection must deal with the
error reached.
typedef struct _TpSimplePasswordManager TpSimplePasswordManager;
A helper channel manager to manage X-TELEPATHY-PASSWORD ServerAuthentication channels.
Since 0.13.UNRELEASED
TpSimplePasswordManager * tp_simple_password_manager_new
(TpBaseConnection *connection
);
Creates a new simple server authentication channel manager.
|
a TpBaseConnection |
Returns : |
a new reference to a server authentication channel manager. |
void tp_simple_password_manager_prompt_async (TpSimplePasswordManager *self
,GAsyncReadyCallback callback
,gpointer user_data
);
Pops up a new server authentication channel and handles the X-TELEPATHY-PASSWORD mechanism to obtain a password for the connection.
When the operation is finished, callback
will be called. You must then
call tp_simple_password_manager_prompt_finish()
to get the
result of the request.
|
a TpSimplePasswordManager |
|
a callback to call when the request is satisfied |
|
data to pass to callback
|
Since 0.13.UNRELEASED
const GString * tp_simple_password_manager_prompt_finish (TpSimplePasswordManager *self
,GAsyncResult *result
,GError **error
);
Retrieve the value of the request begun with
tp_simple_password_manager_prompt_async()
.
|
a TpSimplePasswordManager |
|
a GAsyncResult |
|
a GError to fill |
Returns : |
a GString with the password (or byte-blob) retrieved
by manager
|
Since 0.13.UNRELEASED
"connection"
property"connection" TpBaseConnection* : Read / Write / Construct Only
The connection object that owns this channel manager.