Merge remote-tracking branch 'cros/upstream' into 'cros/master'
diff --git a/src/libmbim-glib/mbim-message.c b/src/libmbim-glib/mbim-message.c
index 5ca8ef5..b625ee5 100644
--- a/src/libmbim-glib/mbim-message.c
+++ b/src/libmbim-glib/mbim-message.c
@@ -1811,9 +1811,8 @@
const MbimUuid *service_id;
/* Known service required */
- g_return_val_if_fail (service > MBIM_SERVICE_INVALID, FALSE);
- g_return_val_if_fail (service <= MBIM_SERVICE_PROXY_CONTROL, FALSE);
service_id = mbim_uuid_from_service (service);
+ g_return_val_if_fail (service_id != NULL, NULL);
self = _mbim_message_allocate (MBIM_MESSAGE_TYPE_COMMAND,
transaction_id,
diff --git a/src/libmbim-glib/mbim-uuid.c b/src/libmbim-glib/mbim-uuid.c
index 81f6f7a..6497645 100644
--- a/src/libmbim-glib/mbim-uuid.c
+++ b/src/libmbim-glib/mbim-uuid.c
@@ -356,6 +356,9 @@
*
* Get the UUID corresponding to @service.
*
+ * The @service needs to be either a generic one (including #MBIM_SERVICE_INVALID)
+ * or a custom registered one.
+ *
* Returns: (transfer none): a #MbimUuid.
*/
const MbimUuid *
@@ -396,7 +399,7 @@
if (service == ((MbimCustomService *)l->data)->service_id)
return &((MbimCustomService *)l->data)->uuid;
}
- g_assert_not_reached ();
+ g_return_val_if_reached (NULL);
}
}
diff --git a/src/libmbim-glib/test/test-message.c b/src/libmbim-glib/test/test-message.c
index 6908eaf..a962db6 100644
--- a/src/libmbim-glib/test/test-message.c
+++ b/src/libmbim-glib/test/test-message.c
@@ -149,6 +149,36 @@
}
static void
+test_message_command_custom_service (void)
+{
+ static const gchar *nick = "My custom service";
+ static const MbimUuid uuid_custom = {
+ .a = { 0x11, 0x22, 0x33, 0x44 },
+ .b = { 0x11, 0x11 },
+ .c = { 0x22, 0x22 },
+ .d = { 0x33, 0x33 },
+ .e = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }
+ };
+ guint service;
+ MbimMessage *message;
+
+ service = mbim_register_custom_service (&uuid_custom, nick);
+ g_assert (mbim_service_id_is_custom (service));
+
+ message = mbim_message_command_new (0x01,
+ service,
+ 0x11223344,
+ MBIM_MESSAGE_COMMAND_TYPE_QUERY);
+ g_assert (message);
+ g_assert_cmpuint (mbim_message_command_get_service (message), ==, service);
+ g_assert (mbim_uuid_cmp (mbim_message_command_get_service_id (message), &uuid_custom));
+ g_assert_cmpuint (mbim_message_command_get_cid (message), ==, 0x11223344);
+ g_assert_cmpuint (mbim_message_command_get_command_type (message), ==, MBIM_MESSAGE_COMMAND_TYPE_QUERY);
+
+ mbim_message_unref (message);
+}
+
+static void
test_message_command_done (void)
{
MbimMessage *message;
@@ -195,13 +225,14 @@
{
g_test_init (&argc, &argv, NULL);
- g_test_add_func ("/libmbim-glib/message/open", test_message_open);
- g_test_add_func ("/libmbim-glib/message/open-done", test_message_open_done);
- g_test_add_func ("/libmbim-glib/message/close", test_message_close);
- g_test_add_func ("/libmbim-glib/message/close-done", test_message_close_done);
- g_test_add_func ("/libmbim-glib/message/command/empty", test_message_command_empty);
- g_test_add_func ("/libmbim-glib/message/command/not-empty", test_message_command_not_empty);
- g_test_add_func ("/libmbim-glib/message/command-done", test_message_command_done);
+ g_test_add_func ("/libmbim-glib/message/open", test_message_open);
+ g_test_add_func ("/libmbim-glib/message/open-done", test_message_open_done);
+ g_test_add_func ("/libmbim-glib/message/close", test_message_close);
+ g_test_add_func ("/libmbim-glib/message/close-done", test_message_close_done);
+ g_test_add_func ("/libmbim-glib/message/command/empty", test_message_command_empty);
+ g_test_add_func ("/libmbim-glib/message/command/not-empty", test_message_command_not_empty);
+ g_test_add_func ("/libmbim-glib/message/command/custom-service", test_message_command_custom_service);
+ g_test_add_func ("/libmbim-glib/message/command-done", test_message_command_done);
return g_test_run ();
}
diff --git a/utils/mbim-network.in b/utils/mbim-network.in
index 5ea8dd6..48d6e11 100755
--- a/utils/mbim-network.in
+++ b/utils/mbim-network.in
@@ -21,12 +21,14 @@
print_usage ()
{
- echo "usage: $0 [DEVICE] [COMMAND]"
+ echo "usage: $0 [OPTIONS] [DEVICE] [COMMAND]"
}
help ()
{
- echo "Usage: mbim-network [OPTIONS] [DEVICE] [COMMAND] - Simple network management of MBIM devices"
+ echo "Usage: mbim-network [OPTIONS] [DEVICE] [COMMAND]"
+ echo
+ echo "Simple network management of MBIM devices"
echo
echo "Commands:"
echo " start Start network connection"
@@ -37,12 +39,30 @@
echo " --help Show help options"
echo " --version Show version"
echo
+ echo "Notes:"
+ echo
+ echo " 1) [DEVICE] is given as the full path to the cdc-wdm character"
+ echo " device, e.g.:"
+ echo " /dev/cdc-wdm0"
+ echo
+ echo " 2) The mbim-network script requires a profile to be available"
+ echo " in the following path:"
+ echo " /etc/mbim-network.conf"
+ echo
+ echo " 3) The APN to use should be configured in the profile, in the"
+ echo " following way (e.g. assuming APN is called 'internet':"
+ echo " APN=internet"
+ echo
+ echo " 4) Once the mbim-network script reports a successful connection"
+ echo " you still need to run a DHCP client on the associated WWAN network"
+ echo " interface."
+ echo
}
version ()
{
echo "mbim-network @VERSION@"
- echo "Copyright (2013) Aleksander Morgado"
+ echo "Copyright (2013-2015) Aleksander Morgado"
echo "License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl-2.0.html>"
echo "This is free software: you are free to change and redistribute it."
echo "There is NO WARRANTY, to the extent permitted by law."