Efl.Net.Session (class)

Description

Used by application to request network connectivity.

This API is targeted at applications that need access to the network, specifying the allowed bearer technologies to connect to the internet, as well as whether local networking is enough or validated internet access is required.

Some platforms may not implement the backend for this class. In this cases the system will report always Efl.Net.Session.state "online" (Efl.Net.Session.State.online) and other properties will be NULL, such as Efl.Net.Session.name, Efl.Net.Session.interface, Efl.Net.Session.ipv4 and Efl.Net.Session.ipv6; as well as Efl.Net.Session.technology is set to Efl.Net.Session.Technology.unknown. As such if you need to detect for an actual backend, check if the state is online but those properties are NULL or technology is unknown.

@note the Efl.Net.Session.connect method is subject to backend policy. For instance, ConnMan uses https://github.com/aldebaran/connman/blob/master/doc/session-policy-format.txt

Since 1.19

Inheritance

Members

connect

Asks the session to be connected.
void efl_net_session_connect(Eo *obj, Eina_Bool online_required, Efl_Net_Session_Technology technologies_allowed);


constructor [Overridden from Efl.Object]

Call the object's constructor.
Efl_Object *efl_constructor(Eo *obj);


destructor [Overridden from Efl.Object]

Call the object's destructor.
void efl_destructor(Eo *obj);


disconnect

Indicates this session doesn't need a connection anymore.
void efl_net_session_disconnect(Eo *obj);


finalize [Overridden from Efl.Object]

Called at the end of efl_add. Should not be called, just overridden.
Efl_Object *efl_finalize(Eo *obj);


interface (get)

The interface allows the application to assign the socket to a given device using SO_BINDTODEVICE
const char *efl_net_session_interface_get(const Eo *obj);


ipv4 (get)

IPv4 in use for this session.
void efl_net_session_ipv4_get(const Eo *obj, const char **address, const char **netmask, const char **gateway);


ipv6 (get)

IPv6 in use for this session.
void efl_net_session_ipv6_get(const Eo *obj, const char **address, uint8_t *prefix_length, const char **netmask, const char **gateway);


name (get)

The user-friendly access point name.
const char *efl_net_session_name_get(const Eo *obj);


state (get)

If the session connectivity is offline, local or online.
Efl_Net_Session_State efl_net_session_state_get(const Eo *obj);


technology (get)

The access point technology that backs this session
Efl_Net_Session_Technology efl_net_session_technology_get(const Eo *obj);


Inherited

Efl.Loop.Consumer
loop (get) The loop to which this object belongs to.
parent (get, set) The parent of an object.
Efl.Object
allow_parent_unref (get, set) Allow an object to be deleted by unref even if it has a parent.
children_iterator_new Get an iterator on all childrens
comment (get, set) A human readable comment for the object
composite_attach Make an object a composite object of another.
composite_detach Detach a composite object from another object.
composite_part_is Check if an object is part of a composite object.
debug_name_override Build a read-only name for this object used for debugging.
del Unrefs the object and reparents it to NULL.
event_callback_forwarder_add Add an event callback forwarder for an event and an object.
event_callback_forwarder_del Remove an event callback forwarder for an event and an object.
event_callback_stop Stop the current callback call.
event_freeze Freeze events of object.
event_freeze_count (get) Return freeze events of object.
class event_global_freeze Freeze events of object.
class event_global_freeze_count (get) Return freeze events of object.
class event_global_thaw Thaw events of object.
event_thaw Thaw events of object.
finalized (get) True if the object is already finalized, otherwise false.
name (get, set) The name of the object.
name_find Find a child object with the given name and return it.
provider_find Searches upwards in the object tree for a provider which knows the given class/interface.

Events

changed

Called when some properties were changed.
EFL_NET_SESSION_EVENT_CHANGED(void)


Inherited

Efl.Object
callback,add A callback was added.
callback,del A callback was deleted.
del Object is being deleted.
destruct Object has been fully destroyed. It can not be used beyond this point. This event should only serve to clean up any dangling pointer.