- Move call barring related functionality out of driver.h into a
dedicated file, call-barring.h
- Update to use the new atom framework
- Remove over-reliance on the modem structure, call-barring structure
should now be used instead whenever possible
SIM File Access conditions would be reported similarly between various
stacks, so it seems like the core logic of figuring out the access
conditions belongs up in the daemon.
This also fixes various problems, including:
- access conditions read from bytes 10-12, instead of 9-11.
- read/update, invalidate/rehabilitate and increase conditions
read from the wrong bits (0-3 instead of 4-7 and vice versa)
Add capability to read / write / stat files on the SIM. This now
supports cyclic, linear fixed and transparent SIM files.
Parse GET RESPONSE result to find structure of the file (cyclic, linear
fixed, or transparent), the file size and the record length.
Add both read and update capability for binary and record-based files.
Implement writing sim files through AT.
Use immediate mode reporting, which means that the individual CPBR
lines are reported up to the core immediately. This has a couple
advantages:
- We do not need to malloc/free a bunch of single variables
and copy them over. Helps performance.
- The lines are not buffered up and given to the plugin in one
shot, instead processing is performed piecemeal. This helps
with keeping memory consumption down to a minimum
- Can receive 7Bit, 8Bit and UCS2 encoded messages
- 8Bit is assumed to be a datagram to a certain port
- Messages with Invalid format are ignored
- Concatenation not yet supported
The CallWaiting interface had one settable attribute after the latest
set of refactoring. Squash it onto the CallSettings interface where
it belonged in the first place
The use of a struct with status & cls seemed pointless when only
a single integer can work just as well.
Also the Fax & Data attributes have been squished. oFono does
not yet support those call types.
Creates a new structure in driver.h called ofono_phone_number.
This is meant to replace const char *number, int number_type
arguments everywhere.
Fix up all existing code to use this structure instead.
Implement basic SIM filesystem utilities.
Obtain Service Provider Name EF-SPN record.
Make NetworkRegistration use SPN for PLMN display. This implements PLMN
display rules in 31.102 "EFSPN".