![]() |
![]() |
![]() |
Reference Manual of the tinymail framework | ![]() |
---|---|---|---|---|
#define TNY_TYPE_DEVICE_SIGNAL TnyDevice; TnyDeviceIface; gboolean tny_device_is_online (TnyDevice *self); void tny_device_force_online (TnyDevice *self); void tny_device_force_offline (TnyDevice *self); void tny_device_reset (TnyDevice *self);
A abstract type that defines a few device specific things like the online/offline status.
typedef struct { GTypeInterface parent; gboolean (*is_online_func) (TnyDevice *self); void (*force_online_func) (TnyDevice *self); void (*force_offline_func) (TnyDevice *self); void (*reset_func) (TnyDevice *self); /* Signals */ void (*connection_changed) (TnyDevice *self, gboolean online); } TnyDeviceIface;
gboolean tny_device_is_online (TnyDevice *self);
Example:
static void connection_changed (TnyDevice *device, gboolean online, gpointer user_data) { if (!online && tny_device_is_online (device)) g_print ("Something is wrong\n"); } TnyDevice *device = ... g_signal_connect (G_OBJECT (device), "connection_changed", G_CALLBACK (connection_changed), self);
self : |
a TnyDevice object |
Returns : | Whether the device is online |
void tny_device_force_online (TnyDevice *self);
Force online status, so that tny_device_is_online()
returns TRUE, regardless
of whether there is an actual network connection. The connection_changed
signal will be emitted if the online status is changed by this function,
but note if a real network connection is made or lost later, the
connection_changed signal will not be emitted again, and tny_device_is_online()
will continue to return TRUE;
This might be used on platforms that cannot detect whether a network connection exists.
This will usually not attempt to make a real network connection.
See also tny_device_force_offline()
and tny_device_reset()
.
self : |
a TnyDevice object |
void tny_device_force_offline (TnyDevice *self);
Force offline status, so that tny_device_is_online()
returns FALSE, regardless
of whether there is an actual network connection. The connection_changed
signal will be emitted if the online status is changed by this function, but
note if a real network connection is made or lost later, the connection_changed
signal will not be emitted again, and tny_device_is_online()
will continue to
return FALSE;
This might be used to mark a device as offline if the connection is partly unusable due to some specific error, such as a failure to access a server or to use a particular port, or if the user specifically chose "offline mode". It might also be used on platforms that cannot detect whether a network connection exists.
This will usually not attempt to disconnect a real network connection.
Example:
TnyDevice *device = ... tny_device_force_offline (device); if (tny_device_is_online (device)) g_print ("Something is wrong\n"); tny_device_reset (device);
See also tny_device_force_online()
and tny_device_reset()
.
self : |
a TnyDevice object |
void tny_device_reset (TnyDevice *self);
Reset the status (unforce the status).
This reverses the effects of tny_device_force_online()
or
tny_device_force_offline()
, so that future changes of connection status will
cause the connection_changed signal to be emitted, and tny_device_is_online()
will return a correct value.
The connection_changed signal will be emitted if this tny_device_is_online()
to return a different value than before, for instance if the network
connection has actually become available or unavailable while the status was
forced.
self : |
a TnyDevice object |
void user_function (TnyDevice *self, gboolean arg1, gpointer user_data) : Run First
Emitted when the connection status of a device changes.
This signal will not be emitted in response to actual connection changes
while the status is forced with tny_device_force_online()
or
tny_device_force_offline()
.
Implementors must make sure that the emissions of this signal always happen in the mainloop.
@: @:
self : |
the object on which the signal is emitted |
arg1 : |
Whether or not the device is now online |
user_data : |
user data set when the signal handler was connected. |
user_data : |
user data set when the signal handler was connected. |