From 1ded74f2df5d74f777a499efaf45bc862cafaf9a Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Tue, 15 Feb 2011 15:46:51 -0600 Subject: [PATCH] emulator: Add basic API for emulator --- include/emulator.h | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/include/emulator.h b/include/emulator.h index 2334e023..93373477 100644 --- a/include/emulator.h +++ b/include/emulator.h @@ -29,11 +29,23 @@ extern "C" { #include struct ofono_emulator; +struct ofono_emulator_request; enum ofono_emulator_type { OFONO_EMULATOR_TYPE_DUN, }; +enum ofono_emulator_request_type { + OFONO_EMULATOR_REQUEST_TYPE_COMMAND_ONLY, + OFONO_EMULATOR_REQUEST_TYPE_QUERY, + OFONO_EMULATOR_REQUEST_TYPE_SUPPORT, + OFONO_EMULATOR_REQUEST_TYPE_SET, +}; + +typedef void (*ofono_emulator_request_cb_t)(struct ofono_emulator *em, + struct ofono_emulator_request *req, + void *data); + struct ofono_emulator *ofono_emulator_create(struct ofono_modem *modem, enum ofono_emulator_type type); @@ -41,6 +53,27 @@ void ofono_emulator_register(struct ofono_emulator *em, int fd); void ofono_emulator_remove(struct ofono_emulator *em); +void ofono_emulator_send_final(struct ofono_emulator *em, + const struct ofono_error *final); +void ofono_emulator_send_unsolicited(struct ofono_emulator *em, + const char *result); +void ofono_emulator_send_intermediate(struct ofono_emulator *em, + const char *result); +void ofono_emulator_send_info(struct ofono_emulator *em, const char *line, + ofono_bool_t last); + +ofono_bool_t ofono_emulator_request_next_string( + struct ofono_emulator_request *req, + const char **str); +ofono_bool_t ofono_emulator_request_next_number( + struct ofono_emulator_request *req, + int *number); + +const char *ofono_emulator_request_get_raw(struct ofono_emulator_request *req); + +enum ofono_emulator_request_type ofono_emulator_request_get_type( + struct ofono_emulator_request *req); + #ifdef __cplusplus } #endif