diff --git a/include/modem.h b/include/modem.h index 0ea1ec62..4efb2da9 100644 --- a/include/modem.h +++ b/include/modem.h @@ -62,6 +62,7 @@ ofono_bool_t ofono_modem_get_online(struct ofono_modem *modem); ofono_bool_t ofono_modem_get_emergency_mode(struct ofono_modem *modem); void ofono_modem_set_name(struct ofono_modem *modem, const char *name); +void ofono_modem_set_driver(struct ofono_modem *modem, const char *type); int ofono_modem_set_string(struct ofono_modem *modem, const char *key, const char *value); diff --git a/src/modem.c b/src/modem.c index de72d633..db62e2d8 100644 --- a/src/modem.c +++ b/src/modem.c @@ -1783,6 +1783,20 @@ void ofono_modem_set_name(struct ofono_modem *modem, const char *name) } } +void ofono_modem_set_driver(struct ofono_modem *modem, const char *type) +{ + DBG("type: %s", type); + + if (modem->driver) + return; + + if (strlen(type) > 16) + return; + + g_free(modem->driver_type); + modem->driver_type = g_strdup(type); +} + struct ofono_modem *ofono_modem_create(const char *name, const char *type) { struct ofono_modem *modem;