Controls network connectivity.
This class and its child objects are only useful to implement control of the network connectivity. If your application only needs to request access to the network, use Efl.Net.Session instead.
Network connectivity is defined on top of technologies that provide access points. A technology can be "ethernet", "wifi", "bluetooth" or something else. Ethernet will provide a single access point, while "wifi" will expose zero or more access points that can come and go.
Users willing to use access points are expected to monitor "access_point,add" event to know when access points are added. To know when they were deleted, "access_point,del" or an Efl.Net.Control.Access_Point "del" event. Finally "access_points,changed" is relative to additions, deletions and reordering of access point due changes in their priorities.
The backend system is responsible for remembering connection details such as passphrase, last connected access point and priority. The user is NOT supposed to do that.
For ease of use Efl.Net.Control.Manager.state determines if at least one access point is online (verified connectivity), local (connected but unverified) or offline.
For safety reasons all radio transmissions may be disabled with Efl.Net.Control.Manager.radios_offline property. This is usually called "airplane mode" on some platforms.
Some platforms may not implement the backend for this class, in which case the system will report Efl.Net.Control.Manager.state as permanently "online" (Efl.Net.Control.State.online) and iterators for Efl.Net.Control.Manager.access_points and Efl.Net.Control.Manager.technologies will be empty (they will be returned but won't contain any items).
⇒ Efl.Loop_Consumer (class) ⇒ Efl.Object (class)
access_points (get)
Eina_Iterator *efl_net_control_manager_access_points_get(const Eo *obj);
agent_enabled (get, set)
The agent is responsible for user interaction.
Eina_Bool efl_net_control_manager_agent_enabled_get(const Eo *obj); void efl_net_control_manager_agent_enabled_set(Eo *obj, Eina_Bool agent_enabled);
If event "agent_request_input" was emitted, this will reply with the requested data
void efl_net_control_manager_agent_reply(Eo *obj, const char *name, const Eina_Slice *ssid, const char *username, const char *passphrase, const char *wps);
constructor [Overridden from Efl.Object]
Implement this method to provide optional initialization code for your object.
Efl_Object *efl_constructor(Eo *obj);
destructor [Overridden from Efl.Object]
Implement this method to provide deinitialization code for your object if you need it.
void efl_destructor(Eo *obj);
finalize [Overridden from Efl.Object]
Implement this method to finish the initialization of your object after all (if any) user-provided configuration methods have been executed.
Efl_Object *efl_finalize(Eo *obj);
radios_offline (get, set)
Iftrue
disable all network technologies that use radio transmission, such as bluetooth and wifi. Iffalse
, allows radio to be used.
Eina_Bool efl_net_control_manager_radios_offline_get(const Eo *obj); void efl_net_control_manager_radios_offline_set(Eo *obj, Eina_Bool radios_offline);
state (get)
Efl_Net_Control_State efl_net_control_manager_state_get(const Eo *obj);
technologies (get)
Eina_Iterator *efl_net_control_manager_technologies_get(const Eo *obj);
Efl.Loop_Consumer | ||
---|---|---|
future_rejected | Creates a new future that is already rejected to a specified error using the Efl.Loop_Consumer.loop.get. | |
future_resolved | Creates a new future that is already resolved to a value. | |
loop (get) | ||
parent (get, set) | The parent of an object. | |
promise_new | Create a new promise with the scheduler coming from the loop provided by this 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 children. | |
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. | |
event_callback_forwarder_del | Remove an event callback forwarder for a specified event and object. | |
event_callback_forwarder_priority_add | Add an event callback forwarder that will make this object emit an event whenever another object (source ) emits it. The event is said to be forwarded from source to this object. |
|
event_callback_stop | Stop the current callback call. | |
event_freeze | Freeze events of this object. | |
event_freeze_count (get) | ||
static | event_global_freeze | Globally freeze events for ALL EFL OBJECTS. |
static | event_global_freeze_count (get) | |
static | event_global_thaw | Globally thaw events for ALL EFL OBJECTS. |
event_thaw | Thaw events of object. | |
finalized (get) | ||
invalidate | Implement this method to perform special actions when your object loses its parent, if you need to. | |
invalidated (get) | ||
invalidating (get) | ||
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. | |
provider_register | Will register a manager of a specific class to be answered by Efl.Object.provider_find. | |
provider_unregister | Will unregister a manager of a specific class that was previously registered and answered by Efl.Object.provider_find. |
The given access point has been added
EFL_NET_CONTROL_MANAGER_EVENT_ACCESS_POINT_ADD(Efl_Net_Control_Access_Point *)
The given access point will be deleted
EFL_NET_CONTROL_MANAGER_EVENT_ACCESS_POINT_DEL(Efl_Net_Control_Access_Point *)
Access points were added, deleted or reordered.
EFL_NET_CONTROL_MANAGER_EVENT_ACCESS_POINTS_CHANGED(void)
Requires the user to visit a web page
EFL_NET_CONTROL_MANAGER_EVENT_AGENT_BROWSER_URL(Efl_Net_Control_Agent_Browser_Url)
Requires the error to be reported to the user
EFL_NET_CONTROL_MANAGER_EVENT_AGENT_ERROR(Efl_Net_Control_Agent_Error)
Notifies we're not the agent anymore
EFL_NET_CONTROL_MANAGER_EVENT_AGENT_RELEASED(void)
Requires the user to enter information in order to proceed, such as hidden SSID, passphrase, etc. After the user enters the information, reply by calling Efl.Net.Control.Manager.agent_reply
EFL_NET_CONTROL_MANAGER_EVENT_AGENT_REQUEST_INPUT(Efl_Net_Control_Agent_Request_Input)
Property Efl.Net.Control.Manager.radios_offline changed
EFL_NET_CONTROL_MANAGER_EVENT_RADIOS_OFFLINE_CHANGED(void)
Property Efl.Net.Control.Manager.state changed
EFL_NET_CONTROL_MANAGER_EVENT_STATE_CHANGED(void)
The given technology has been added
EFL_NET_CONTROL_MANAGER_EVENT_TECHNOLOGY_ADD(Efl_Net_Control_Technology *)
The given technology will be deleted
EFL_NET_CONTROL_MANAGER_EVENT_TECHNOLOGY_DEL(Efl_Net_Control_Technology *)
Efl.Object | ||
---|---|---|
del | Object is being deleted. See Efl.Object.destructor. | |
destruct | Object has been fully destroyed. It can not be used beyond this point. This event should only serve to clean up any reference you keep to the object. | |
invalidate | Object is being invalidated and losing its parent. See Efl.Object.invalidate. | |
noref | Object has lost its last reference, only parent relationship is keeping it alive. Advanced usage. | |
ownership,shared | Object has acquired a second reference. It has multiple owners now. Triggered whenever increasing the refcount from one to two, it will not trigger by further increasing the refcount beyond two. | |
ownership,unique | Object has lost a reference and only one is left. It has just one owner now. Triggered whenever the refcount goes from two to one. |