gboolean mmcli_sms_options_enabled (void) { static guint n_actions = 0; static gboolean checked = FALSE; if (checked) return !!n_actions; n_actions = (send_flag + store_flag + !!store_in_storage_str + !!create_file_with_data_str); if (n_actions == 0 && mmcli_get_common_sms_string ()) { /* default to info */ info_flag = TRUE; n_actions++; } if (n_actions > 1) { g_printerr ("error: too many SMS actions requested\n"); exit (EXIT_FAILURE); } if (info_flag) mmcli_force_sync_operation (); if (create_file_with_data_str) mmcli_force_sync_operation (); checked = TRUE; return !!n_actions; }
gboolean mmcli_modem_messaging_options_enabled (void) { static guint n_actions = 0; static gboolean checked = FALSE; if (checked) return !!n_actions; n_actions = (status_flag + list_flag + !!create_str + !!delete_str); if (n_actions > 1) { g_printerr ("error: too many Messaging actions requested\n"); exit (EXIT_FAILURE); } if (create_with_data_str && !create_str) { g_printerr ("error: `--messaging-create-with-data' must be given along " "with `--messaging-create-sms'\n"); exit (EXIT_FAILURE); } if (status_flag) mmcli_force_sync_operation (); checked = TRUE; return !!n_actions; }
gboolean mmcli_modem_options_enabled (void) { static guint n_actions = 0; static gboolean checked = FALSE; if (checked) return !!n_actions; n_actions = (monitor_state_flag + enable_flag + disable_flag + set_power_state_on_flag + set_power_state_low_flag + set_power_state_off_flag + reset_flag + list_bearers_flag + !!create_bearer_str + !!delete_bearer_str + !!factory_reset_str + !!command_str + !!set_current_capabilities_str + !!set_allowed_modes_str + !!set_preferred_mode_str + !!set_current_bands_str); if (n_actions == 0 && mmcli_get_common_modem_string ()) { /* default to info */ info_flag = TRUE; n_actions++; } if (set_preferred_mode_str) { if (!set_allowed_modes_str) { g_printerr ("error: setting preferred mode requires list of allowed modes\n"); exit (EXIT_FAILURE); } n_actions--; } if (n_actions > 1) { g_printerr ("error: too many modem actions requested\n"); exit (EXIT_FAILURE); } if (monitor_state_flag) mmcli_force_async_operation (); if (info_flag) mmcli_force_sync_operation (); checked = TRUE; return !!n_actions; }
gboolean mmcli_modem_signal_options_enabled (void) { static guint n_actions = 0; static gboolean checked = FALSE; if (checked) return !!n_actions; n_actions = (!!setup_str + get_flag); if (n_actions > 1) { g_printerr ("error: too many Signal actions requested\n"); exit (EXIT_FAILURE); } if (get_flag) mmcli_force_sync_operation (); checked = TRUE; return !!n_actions; }
gboolean mmcli_modem_location_options_enabled (void) { static guint n_actions = 0; static gboolean checked = FALSE; if (checked) return !!n_actions; if ((enable_3gpp_flag && disable_3gpp_flag) || (enable_agps_flag && disable_agps_flag) || (enable_gps_nmea_flag && disable_gps_nmea_flag) || (enable_gps_raw_flag && disable_gps_raw_flag) || (enable_gps_unmanaged_flag && disable_gps_unmanaged_flag) || (enable_cdma_bs_flag && disable_cdma_bs_flag)) { g_printerr ("error: cannot enable and disable the same source\n"); exit (EXIT_FAILURE); } if (set_enable_signal_flag && set_disable_signal_flag) { g_printerr ("error: cannot enable and disable location signaling\n"); exit (EXIT_FAILURE); } if (get_all_flag) { get_3gpp_flag = TRUE; get_gps_nmea_flag = TRUE; get_gps_raw_flag = TRUE; get_cdma_bs_flag = TRUE; } n_actions = (status_flag + !!(enable_3gpp_flag + disable_3gpp_flag + enable_agps_flag + disable_agps_flag + enable_gps_nmea_flag + disable_gps_nmea_flag + enable_gps_raw_flag + disable_gps_raw_flag + enable_cdma_bs_flag + disable_cdma_bs_flag + enable_gps_unmanaged_flag + disable_gps_unmanaged_flag + set_enable_signal_flag + set_disable_signal_flag) + !!(get_3gpp_flag + get_gps_nmea_flag + get_gps_raw_flag + get_cdma_bs_flag) + !!set_supl_server_str + !!set_gps_refresh_rate_str); if (n_actions > 1) { g_printerr ("error: too many Location actions requested\n"); exit (EXIT_FAILURE); } if (status_flag) mmcli_force_sync_operation (); checked = TRUE; return !!n_actions; }