/* * Copyright 2022 Konsulko Group * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef CONNMAN_GLIB_H #define CONNMAN_GLIB_H #include #ifdef __cplusplus extern "C" { #endif typedef enum { CONNMAN_LOG_LEVEL_ERROR, CONNMAN_LOG_LEVEL_WARNING, CONNMAN_LOG_LEVEL_INFO, CONNMAN_LOG_LEVEL_DEBUG } connman_log_level_t; // Hook to allow users to override the default level #ifndef CONNMAN_LOG_LEVEL_DEFAULT #define CONNMAN_LOG_LEVEL_DEFAULT CONNMAN_LOG_LEVEL_ERROR #endif typedef enum { CONNMAN_MANAGER_EVENT_TECHNOLOGY_ADD, CONNMAN_MANAGER_EVENT_TECHNOLOGY_REMOVE, CONNMAN_MANAGER_EVENT_SERVICE_CHANGE, CONNMAN_MANAGER_EVENT_SERVICE_REMOVE, CONNMAN_MANAGER_EVENT_PROPERTY_CHANGE } connman_manager_event_t; typedef void (*connman_manager_event_cb_t)(const gchar *path, connman_manager_event_t event, GVariant *properties, gpointer user_data); typedef void (*connman_technology_property_event_cb_t)(const gchar *technology, GVariant *properties, gpointer user_data); typedef void (*connman_service_property_event_cb_t)(const gchar *service, GVariant *property, gpointer user_data); typedef void (*connman_agent_event_cb_t)(const gchar *service, const int id, GVariant *property, gpointer user_data); typedef void (*connman_service_connect_cb_t)(const gchar *service, gboolean status, const char *error, gpointer user_data); void connman_add_manager_event_callback(connman_manager_event_cb_t cb, gpointer user_data); void connman_add_technology_property_event_callback(connman_technology_property_event_cb_t cb, gpointer user_data); void connman_add_service_property_event_callback(connman_service_property_event_cb_t cb, gpointer user_data); void connman_add_agent_event_callback(connman_agent_event_cb_t cb, gpointer user_data); void connman_set_log_level(connman_log_level_t level); gboolean connman_init(gboolean register_agent); gboolean connman_manager_get_state(gchar **state); gboolean connman_manager_get_online(void); gboolean connman_manager_set_offline(gboolean state); gboolean connman_get_technologies(GVariant **reply); gboolean connman_get_services(GVariant **reply); gboolean connman_technology_enable(const gchar *technology); gboolean connman_technology_disable(const gchar *technology); gboolean connman_technology_scan_services(const gchar *technology); gboolean connman_service_move(const gchar *service, const gchar *target_service, gboolean after); gboolean connman_service_remove(const gchar *service); gboolean connman_service_connect(const gchar *service, connman_service_connect_cb_t cb, gpointer user_data); gboolean connman_service_disconnect(const gchar *service); typedef enum { CONNMAN_PROPERTY_MANAGER, CONNMAN_PROPERTY_TECHNOLOGY, CONNMAN_PROPERTY_SERVICE } connman_property_type_t; GVariant *connman_get_property(connman_property_type_t prop_type, const char *path, const char *name); gboolean connman_set_property(connman_property_type_t prop_type, const char *path, const char *name, GVariant *value); gboolean connman_agent_response(const int id, GVariant *parameters); #ifdef __cplusplus } // extern "C" #endif #endif /* CONNMAN_GLIB_H */