diff options
Diffstat (limited to 'src/services/network-service.h')
| -rw-r--r-- | src/services/network-service.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/services/network-service.h b/src/services/network-service.h new file mode 100644 index 0000000..cab0c48 --- /dev/null +++ b/src/services/network-service.h @@ -0,0 +1,62 @@ +#pragma once + +#include <glib-object.h> +#include <gio/gio.h> + +G_BEGIN_DECLS + +#define FOOBAR_TYPE_NETWORK foobar_network_get_type( ) +#define FOOBAR_TYPE_NETWORK_ADAPTER_STATE foobar_network_adapter_state_get_type( ) +#define FOOBAR_TYPE_NETWORK_ADAPTER foobar_network_adapter_get_type( ) +#define FOOBAR_TYPE_NETWORK_ADAPTER_WIRED foobar_network_adapter_wired_get_type( ) +#define FOOBAR_TYPE_NETWORK_ADAPTER_WIFI foobar_network_adapter_wifi_get_type( ) +#define FOOBAR_TYPE_NETWORK_SERVICE foobar_network_service_get_type( ) + +G_DECLARE_FINAL_TYPE( FoobarNetwork, foobar_network, FOOBAR, NETWORK, GObject ) + +gchar const* foobar_network_get_name ( FoobarNetwork* self ); +gint foobar_network_get_strength( FoobarNetwork* self ); +gboolean foobar_network_is_active ( FoobarNetwork* self ); + +typedef enum +{ + FOOBAR_NETWORK_ADAPTER_STATE_DISCONNECTED, + FOOBAR_NETWORK_ADAPTER_STATE_CONNECTING, + FOOBAR_NETWORK_ADAPTER_STATE_CONNECTED, + FOOBAR_NETWORK_ADAPTER_STATE_LIMITED, +} FoobarNetworkAdapterState; + +GType foobar_network_adapter_state_get_type( void ); + +G_DECLARE_DERIVABLE_TYPE( FoobarNetworkAdapter, foobar_network_adapter, FOOBAR, NETWORK_ADAPTER, GObject ) + +struct _FoobarNetworkAdapterClass +{ + GObjectClass parent_class; +}; + +FoobarNetworkAdapterState foobar_network_adapter_get_state( FoobarNetworkAdapter* self ); + +G_DECLARE_FINAL_TYPE( FoobarNetworkAdapterWired, foobar_network_adapter_wired, FOOBAR, NETWORK_ADAPTER_WIRED, FoobarNetworkAdapter ) + +gint64 foobar_network_adapter_wired_get_speed( FoobarNetworkAdapterWired* self ); + +G_DECLARE_FINAL_TYPE( FoobarNetworkAdapterWifi, foobar_network_adapter_wifi, FOOBAR, NETWORK_ADAPTER_WIFI, FoobarNetworkAdapter ) + +GListModel* foobar_network_adapter_wifi_get_networks( FoobarNetworkAdapterWifi* self ); +FoobarNetwork* foobar_network_adapter_wifi_get_active ( FoobarNetworkAdapterWifi* self ); +gboolean foobar_network_adapter_wifi_is_enabled ( FoobarNetworkAdapterWifi* self ); +gboolean foobar_network_adapter_wifi_is_scanning ( FoobarNetworkAdapterWifi* self ); +void foobar_network_adapter_wifi_set_enabled ( FoobarNetworkAdapterWifi* self, + gboolean value ); +void foobar_network_adapter_wifi_set_scanning( FoobarNetworkAdapterWifi* self, + gboolean value ); + +G_DECLARE_FINAL_TYPE( FoobarNetworkService, foobar_network_service, FOOBAR, NETWORK_SERVICE, GObject ) + +FoobarNetworkService* foobar_network_service_new ( void ); +FoobarNetworkAdapterWired* foobar_network_service_get_wired ( FoobarNetworkService* self ); +FoobarNetworkAdapterWifi* foobar_network_service_get_wifi ( FoobarNetworkService* self ); +FoobarNetworkAdapter* foobar_network_service_get_active( FoobarNetworkService* self ); + +G_END_DECLS
\ No newline at end of file |
