Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[usb-moded] Use usbmoded_get_modedata() function
Replace custom mode list iterators with a call to common function.

Also fix compilation warnings resulting from mode data pointers now
being marked as const.

Signed-off-by: Simo Piiroinen <simo.piiroinen@jollamobile.com>
  • Loading branch information
spiiroin committed Apr 9, 2019
1 parent 1ae9b0b commit 1b91629
Show file tree
Hide file tree
Showing 8 changed files with 37 additions and 57 deletions.
11 changes: 4 additions & 7 deletions src/usb_moded-common.c
Expand Up @@ -461,25 +461,22 @@ int common_valid_mode(const char *mode)
}
else
{
const modedata_t *data = usbmoded_get_modedata(mode);

if( data ) {
gchar *whitelist_value = 0;
gchar **whitelist_array = 0;

if( (whitelist_value = config_get_mode_whitelist()) )
whitelist_array = g_strsplit(whitelist_value, ",", 0);

for( GList *iter = usbmoded_get_modelist(); iter; iter = g_list_next(iter) ) {
modedata_t *data = iter->data;
if( strcmp(mode, data->mode_name) )
continue;

if (!whitelist_array || common_mode_in_list(data->mode_name, whitelist_array))
valid = 0;
break;
}

g_strfreev(whitelist_array);
g_free(whitelist_value);
}
}
return valid;
}

Expand Down
3 changes: 1 addition & 2 deletions src/usb_moded-config.c
Expand Up @@ -622,7 +622,6 @@ char * config_get_network_setting(const char *config)
LOG_REGISTER_CONTEXT;

char * ret = 0;
modedata_t *data;

if(!strcmp(config, NETWORK_IP_KEY))
{
Expand All @@ -641,7 +640,7 @@ char * config_get_network_setting(const char *config)
goto end;
/* no interface override specified, let's use the one
* from the mode config */
data = worker_get_usb_mode_data();
const modedata_t *data = worker_get_usb_mode_data();
if(data)
{
if(data->network_interface)
Expand Down
11 changes: 1 addition & 10 deletions src/usb_moded-dbus.c
Expand Up @@ -1034,16 +1034,7 @@ umdbus_append_mode_details(DBusMessage *msg, const char *mode_name)
{
LOG_REGISTER_CONTEXT;

const modedata_t *data = 0;

for( GList *iter = usbmoded_get_modelist(); iter; iter = g_list_next(iter) )
{
const modedata_t *iter_data = iter->data;
if( g_strcmp0(iter_data->mode_name, mode_name) )
continue;
data = iter_data;
break;
}
const modedata_t *data = usbmoded_get_modedata(mode_name);

DBusMessageIter body, dict;

Expand Down
14 changes: 6 additions & 8 deletions src/usb_moded-modesetting.c
Expand Up @@ -79,8 +79,8 @@ bool modesetting_unmount (const char *mount
static gchar *modesetting_mountdev (const char *mountpoint);
static void modesetting_free_storage_info (storage_info_t *info);
static storage_info_t *modesetting_get_storage_info (size_t *pcount);
static bool modesetting_enter_mass_storage_mode (modedata_t *data);
static int modesetting_leave_mass_storage_mode (modedata_t *data);
static bool modesetting_enter_mass_storage_mode (const modedata_t *data);
static int modesetting_leave_mass_storage_mode (const modedata_t *data);
static void modesetting_report_mass_storage_blocker(const char *mountpoint, int try);
bool modesetting_enter_dynamic_mode (void);
void modesetting_leave_dynamic_mode (void);
Expand Down Expand Up @@ -426,7 +426,7 @@ modesetting_get_storage_info(size_t *pcount)
return *pcount = count, info;
}

static bool modesetting_enter_mass_storage_mode(modedata_t *data)
static bool modesetting_enter_mass_storage_mode(const modedata_t *data)
{
LOG_REGISTER_CONTEXT;

Expand Down Expand Up @@ -564,7 +564,7 @@ static bool modesetting_enter_mass_storage_mode(modedata_t *data)
return ack;
}

static int modesetting_leave_mass_storage_mode(modedata_t *data)
static int modesetting_leave_mass_storage_mode(const modedata_t *data)
{
LOG_REGISTER_CONTEXT;

Expand Down Expand Up @@ -704,7 +704,7 @@ bool modesetting_enter_dynamic_mode(void)

bool ack = false;

modedata_t *data;
const modedata_t *data;

log_debug("DYNAMIC MODE: SETUP");

Expand Down Expand Up @@ -856,9 +856,7 @@ void modesetting_leave_dynamic_mode(void)

log_debug("DYNAMIC MODE: CLEANUP");

modedata_t *data;

data = worker_get_usb_mode_data();
const modedata_t *data = worker_get_usb_mode_data();

/* - - - - - - - - - - - - - - - - - - - *
* Is a dynamic mode?
Expand Down
26 changes: 13 additions & 13 deletions src/usb_moded-network.c
Expand Up @@ -79,14 +79,14 @@ typedef struct ipforward_data_t

static void network_free_ipforward_data (ipforward_data_t *ipforward);
static int network_check_interface (char *interface);
static char *network_get_interface (modedata_t *data);
static int network_set_usb_ip_forward (modedata_t *data, ipforward_data_t *ipforward);
static char *network_get_interface (const modedata_t *data);
static int network_set_usb_ip_forward (const modedata_t *data, ipforward_data_t *ipforward);
static void network_clean_usb_ip_forward(void);
static int network_checklink (void);
static int network_write_udhcpd_conf (ipforward_data_t *ipforward, modedata_t *data);
int network_set_up_dhcpd (modedata_t *data);
int network_up (modedata_t *data);
int network_down (modedata_t *data);
static int network_write_udhcpd_conf (ipforward_data_t *ipforward, const modedata_t *data);
int network_set_up_dhcpd (const modedata_t *data);
int network_up (const modedata_t *data);
int network_down (const modedata_t *data);
int network_update (void);

/* ------------------------------------------------------------------------- *
Expand Down Expand Up @@ -157,7 +157,7 @@ static int network_check_interface(char *interface)
return ret;
}

static char* network_get_interface(modedata_t *data)
static char *network_get_interface(const modedata_t *data)
{
LOG_REGISTER_CONTEXT;

Expand Down Expand Up @@ -194,7 +194,7 @@ static char* network_get_interface(modedata_t *data)
* Turn on ip forwarding on the usb interface
* @return: 0 on success, 1 on failure
*/
static int network_set_usb_ip_forward(modedata_t *data, ipforward_data_t *ipforward)
static int network_set_usb_ip_forward(const modedata_t *data, ipforward_data_t *ipforward)
{
LOG_REGISTER_CONTEXT;

Expand Down Expand Up @@ -389,7 +389,7 @@ static int network_checklink(void)
* Write udhcpd.conf
* @ipforward : NULL if we want a simple config, otherwise include dns info etc...
*/
static int network_write_udhcpd_conf(ipforward_data_t *ipforward, modedata_t *data)
static int network_write_udhcpd_conf(ipforward_data_t *ipforward, const modedata_t *data)
{
LOG_REGISTER_CONTEXT;

Expand Down Expand Up @@ -964,7 +964,7 @@ static int connman_reset_state(void)
/**
* Write out /etc/udhcpd.conf conf so the config is available when it gets started
*/
int network_set_up_dhcpd(modedata_t *data)
int network_set_up_dhcpd(const modedata_t *data)
{
LOG_REGISTER_CONTEXT;

Expand Down Expand Up @@ -1048,7 +1048,7 @@ static int append_variant(DBusMessageIter *iter, const char *property,
* Activate the network interface
*
*/
int network_up(modedata_t *data)
int network_up(const modedata_t *data)
{
LOG_REGISTER_CONTEXT;

Expand Down Expand Up @@ -1216,7 +1216,7 @@ int network_up(modedata_t *data)
* Deactivate the network interface
*
*/
int network_down(modedata_t *data)
int network_down(const modedata_t *data)
{
LOG_REGISTER_CONTEXT;

Expand Down Expand Up @@ -1295,7 +1295,7 @@ int network_update(void)
LOG_REGISTER_CONTEXT;

if( control_get_cable_state() == CABLE_STATE_PC_CONNECTED ) {
modedata_t *data = worker_get_usb_mode_data();
const modedata_t *data = worker_get_usb_mode_data();
if( data && data->network ) {
network_down(data);
network_up(data);
Expand Down
6 changes: 3 additions & 3 deletions src/usb_moded-network.h
Expand Up @@ -45,9 +45,9 @@ gboolean connman_set_tethering(const char *path, gboolean on);
* NETWORK
* ------------------------------------------------------------------------- */

int network_set_up_dhcpd(modedata_t *data);
int network_up (modedata_t *data);
int network_down (modedata_t *data);
int network_set_up_dhcpd(const modedata_t *data);
int network_up (const modedata_t *data);
int network_down (const modedata_t *data);
int network_update (void);

#endif /* USB_MODED_NETWORK_H_ */
19 changes: 7 additions & 12 deletions src/usb_moded-worker.c
Expand Up @@ -60,8 +60,8 @@ static bool worker_switch_to_charging (void);
const char *worker_get_kernel_module (void);
bool worker_set_kernel_module (const char *module);
void worker_clear_kernel_module (void);
modedata_t *worker_get_usb_mode_data (void);
void worker_set_usb_mode_data (modedata_t *data);
const modedata_t *worker_get_usb_mode_data (void);
void worker_set_usb_mode_data (const modedata_t *data);
static const char *worker_get_activated_mode_locked(void);
static bool worker_set_activated_mode_locked(const char *mode);
static const char *worker_get_requested_mode_locked(void);
Expand Down Expand Up @@ -391,14 +391,14 @@ void worker_clear_kernel_module(void)
* ------------------------------------------------------------------------- */

/** Contains the mode data */
static modedata_t *worker_mode_data = NULL;
static const modedata_t *worker_mode_data = NULL;

/** get the usb mode data
*
* @return a pointer to the usb mode data
*
*/
modedata_t *worker_get_usb_mode_data(void)
const modedata_t *worker_get_usb_mode_data(void)
{
LOG_REGISTER_CONTEXT;

Expand All @@ -410,7 +410,7 @@ modedata_t *worker_get_usb_mode_data(void)
* @param data mode_list_element pointer
*
*/
void worker_set_usb_mode_data(modedata_t *data)
void worker_set_usb_mode_data(const modedata_t *data)
{
LOG_REGISTER_CONTEXT;

Expand Down Expand Up @@ -585,13 +585,8 @@ worker_switch_to_mode(const char *mode)
goto FAILED;
}

/* go through all the dynamic modes if the modelist exists*/
for( GList *iter = usbmoded_get_modelist(); iter; iter = g_list_next(iter) )
{
modedata_t *data = iter->data;
if( strcmp(mode, data->mode_name) )
continue;

const modedata_t *data = usbmoded_get_modedata(mode);
if( data ) {
log_debug("Matching mode %s found.\n", mode);

/* set data before calling any of the dynamic mode functions
Expand Down
4 changes: 2 additions & 2 deletions src/usb_moded-worker.h
Expand Up @@ -44,8 +44,8 @@ bool worker_bailing_out (void);
const char *worker_get_kernel_module (void);
bool worker_set_kernel_module (const char *module);
void worker_clear_kernel_module (void);
modedata_t *worker_get_usb_mode_data (void);
void worker_set_usb_mode_data (modedata_t *data);
const modedata_t *worker_get_usb_mode_data (void);
void worker_set_usb_mode_data (const modedata_t *data);
void worker_request_hardware_mode(const char *mode);
void worker_clear_hardware_mode (void);
void worker_switch_to_mode (const char *mode);
Expand Down

0 comments on commit 1b91629

Please sign in to comment.