diff --git a/src/Makefile.am b/src/Makefile.am index 2f3ad7f9..7548d8ef 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -10,7 +10,7 @@ sbin_PROGRAMS = ofonod ofonod_SOURCES = main.c ofono.h log.c plugin.c \ driver.h modem.h modem.c common.h common.c \ manager.c dbus-gsm.h dbus-gsm.c util.h util.c \ - network.c voicecall.c ussd.h ussd.c \ + network.c voicecall.c ussd.h ussd.c sms.c \ call-settings.c call-forwarding.c call-meter.c \ smsutil.h smsutil.c cssn.h cssn.c call-barring.c sim.h sim.c diff --git a/src/driver.h b/src/driver.h index b1883a29..61504dd4 100644 --- a/src/driver.h +++ b/src/driver.h @@ -169,6 +169,10 @@ typedef void (*ofono_imsi_cb_t)(const struct ofono_error *error, typedef void (*ofono_own_numbers_cb_t)(const struct ofono_error *error, int num, const struct ofono_own_number *numbers, void *data); +typedef void (*ofono_sca_query_cb_t)(const struct ofono_error *error, + const struct ofono_phone_number *ph, + void *data); + struct ofono_modem_attribute_ops { void (*query_manufacturer)(struct ofono_modem *modem, ofono_modem_attribute_query_cb_t cb, void *data); @@ -372,3 +376,15 @@ struct ofono_sim_ops { int ofono_sim_manager_register(struct ofono_modem *modem, struct ofono_sim_ops *ops); void ofono_sim_manager_unregister(struct ofono_modem *modem); + +struct ofono_sms_ops { + void (*sca_query)(struct ofono_modem *modem, ofono_sca_query_cb_t cb, + void *data); + void (*sca_set)(struct ofono_modem *modem, + const struct ofono_phone_number *sca, + ofono_generic_cb_t cb, void *data); +}; + +int ofono_sms_manager_register(struct ofono_modem *modem, + struct ofono_sms_ops *ops); +void ofono_sms_manager_unregister(struct ofono_modem *modem); diff --git a/src/modem.h b/src/modem.h index 255bb722..22655f7a 100644 --- a/src/modem.h +++ b/src/modem.h @@ -40,6 +40,7 @@ struct ofono_modem { struct call_barring_data *call_barring; struct cssn_data *cssn; struct sim_manager_data *sim_manager; + struct sms_manager_data *sms_manager; }; struct ofono_modem *modem_create(int id, struct ofono_modem_attribute_ops *ops);