void mmcli_sms_run_synchronous (GDBusConnection *connection) { GError *error = NULL; /* Initialize context */ ctx = g_new0 (Context, 1); ctx->sms = mmcli_get_sms_sync (connection, mmcli_get_common_sms_string (), &ctx->manager, &ctx->object); /* Request to get info from SMS? */ if (info_flag) { g_debug ("Printing SMS info..."); print_sms_info (ctx->sms); return; } /* Requesting to send the SMS? */ if (send_flag) { gboolean operation_result; operation_result = mm_sms_send_sync (ctx->sms, NULL, &error); send_process_reply (operation_result, error); return; } /* Requesting to store the SMS? */ if (store_flag) { gboolean operation_result; operation_result = mm_sms_store_sync (ctx->sms, NULL, &error); store_process_reply (operation_result, error); return; } g_warn_if_reached (); }
void mmcli_modem_messaging_run_synchronous (GDBusConnection *connection) { GError *error = NULL; /* Initialize context */ ctx = g_new0 (Context, 1); ctx->object = mmcli_get_modem_sync (connection, mmcli_get_common_modem_string (), &ctx->manager); ctx->modem_messaging = mm_object_get_modem_messaging (ctx->object); /* Setup operation timeout */ if (ctx->modem_messaging) mmcli_force_operation_timeout (G_DBUS_PROXY (ctx->modem_messaging)); ensure_modem_messaging (); /* Request to get location status? */ if (status_flag) { g_debug ("Printing messaging status..."); print_messaging_status (); return; } /* Request to list the SMS? */ if (list_flag) { GList *result; g_debug ("Synchronously listing SMS messages..."); result = mm_modem_messaging_list_sync (ctx->modem_messaging, NULL, &error); list_process_reply (result, error); return; } /* Request to create a new SMS? */ if (create_str) { MMSms *sms; GError *error = NULL; MMSmsProperties *properties; properties = build_sms_properties_from_input (create_str, create_with_data_str); g_debug ("Synchronously creating new SMS in modem..."); sms = mm_modem_messaging_create_sync (ctx->modem_messaging, properties, NULL, &error); g_object_unref (properties); create_process_reply (sms, error); return; } /* Request to delete a given SMS? */ if (delete_str) { gboolean result; MMSms *sms; MMObject *obj = NULL; sms = mmcli_get_sms_sync (connection, delete_str, NULL, &obj); if (!g_str_equal (mm_object_get_path (obj), mm_modem_messaging_get_path (ctx->modem_messaging))) { g_printerr ("error: SMS '%s' not owned by modem '%s'", mm_sms_get_path (sms), mm_modem_messaging_get_path (ctx->modem_messaging)); exit (EXIT_FAILURE); } result = mm_modem_messaging_delete_sync (ctx->modem_messaging, mm_sms_get_path (sms), NULL, &error); g_object_unref (sms); g_object_unref (obj); delete_process_reply (result, error); return; } g_warn_if_reached (); }
void mmcli_sms_run_synchronous (GDBusConnection *connection) { GError *error = NULL; /* Initialize context */ ctx = g_new0 (Context, 1); ctx->sms = mmcli_get_sms_sync (connection, mmcli_get_common_sms_string (), &ctx->manager, &ctx->object); /* Setup operation timeout */ mmcli_force_operation_timeout (G_DBUS_PROXY (ctx->sms)); /* Request to get info from SMS? */ if (info_flag) { g_debug ("Printing SMS info..."); print_sms_info (ctx->sms); return; } /* Request to create a new file with the data from the SMS? */ if (create_file_with_data_str) { g_debug ("Creating file with SMS data..."); create_file_with_data (ctx->sms, create_file_with_data_str); return; } /* Requesting to send the SMS? */ if (send_flag) { gboolean operation_result; operation_result = mm_sms_send_sync (ctx->sms, NULL, &error); send_process_reply (operation_result, error); return; } /* Requesting to store the SMS? */ if (store_flag) { gboolean operation_result; operation_result = mm_sms_store_sync (ctx->sms, MM_SMS_STORAGE_UNKNOWN, NULL, &error); store_process_reply (operation_result, error); return; } /* Requesting to store the SMS in a specific storage? */ if (store_in_storage_str) { gboolean operation_result; MMSmsStorage storage; GError *error = NULL; storage = mm_common_get_sms_storage_from_string (store_in_storage_str, &error); if (error) { g_printerr ("error: couldn't store the SMS: '%s'\n", error->message); exit (EXIT_FAILURE); } operation_result = mm_sms_store_sync (ctx->sms, storage, NULL, &error); store_process_reply (operation_result, error); return; } g_warn_if_reached (); }