5 Interface org.ofono.SimToolkit
6 Object path [variable prefix]/{modem0,modem1,...}
8 Methods dict GetProperties()
10 Returns properties for the SimToolkit object. See the
11 properties section for available properties.
13 void SelectItem(byte item, object agent)
15 Selects an item from the main menu, thus triggering
16 a new user session. The agent parameter specifies
17 a new agent to be used for the duration of the
20 Possible Errors: [service].Error.InProgress
21 [service].Error.NotSupported
22 [service].Error.InvalidArguments
23 [service].Error.InvalidFormat
24 [service].Error.Failed
26 void RegisterAgent(object path)
28 Registers a default agent to be used for SIM initiated
29 actions such as Display Text, Get Inkey or Get Input.
30 These can typically occur when a special SMS is
31 received and might not involve interaction from the
34 Possible Errors: [service].Error.InProgress
35 [service].Error.InvalidArguments
36 [service].Error.InvalidFormat
37 [service].Error.Failed
39 void UnregisterAgent(object path)
41 Unregisters the default agent. If no agent is
42 registered then unsolicited commands from the SIM
45 Possible Errors: [service].Error.InvalidArguments
46 [service].Error.Failed
48 Signals PropertyChanged(string property, variant value)
50 Signal is emitted whenever a property has changed.
51 The new value is passed as the signal argument.
53 Properties string IdleModeText [readonly]
55 Contains the text to be used when the home screen is
56 idle. This text is set by the SIM and can change
59 byte IdleModeIcon [readonly]
61 Contains the identifier of the icon accompanying
64 array{struct{string, byte}} MainMenu [readonly]
66 Contains the items that make up the main menu. This
67 is populated by the SIM when it sends the Setup Menu
68 Proactive Command. The main menu is always available,
69 but its contents can be changed at any time. Each
70 item contains the item label and icon identifier.
72 string MainMenuTitle [readonly]
74 Contains the title of the main menu.
76 string MainMenuIcon [readonly]
78 Contains the identifier of the icon for the main menu.
80 SimToolkitAgent Hierarchy
84 Interface org.ofono.SimToolkitAgent
85 Object path freely definable
87 Methods byte RequestSelection(string title, byte icon_id,
88 array{struct(string, byte)} items,
91 Tells the agent to ask the user to select an item
92 from the menu. The default is set the the default
93 item index or -1 if no default is provided.
95 This function should return the index of the item or
98 Possible Errors: [service].Error.SimToolkit.GoBack
99 [service].Error.SimToolkit.EndSession
101 Implementation notes:
103 - Data / Navigation type not indicated
104 - Soft key preferred not indicated
105 - Help available ignored
107 void DisplayText(string text, byte icon_id, boolean urgent)
109 Tells the agent to display text from the SIM. The
110 boolean urgent parameter tells the agent whether this
111 is an urgent message and all other messages should be
112 cleared prior to the display of this text.
114 Possible Errors: [service].Error.SimToolkit.GoBack
115 [service].Error.SimToolkit.EndSession
116 [service].Error.SimToolkit.Busy
118 Implementation notes:
120 - High / normal priority indicated by urgent
122 - The clear message after delay / wait for user to
123 clear flags are handled as follows. If the wait for
124 user flag is set, then oFono sets a higher timeout
125 for the Agent DisplayText method call. It will then
126 call Cancel() on the agent after this timeout
127 expires and the "No response from user" terminal
128 response is sent. If the agent returns earlier from
129 this method call, a terminal response "Command
130 "performed successfully" is sent.
132 It might be required to pass a flag to the UI to
133 hint it that allocation of an 'acknowledgement'
134 button is required in the case of a longer timeout.
135 However, the UI can figure this out itself as well
136 based on a timer threshold. More input needed.
138 - Immediate Response indication is handled internally,
139 terminal response is sent immediately and no other
140 indication is given to the user / agent. Response
141 from this method call is ignored and a short
142 timeout is used for the method call. Once another
143 proactive command arrives, and the DisplayText is
144 still pending, Cancel() is called.
146 string RequestInput(string alpha, byte icon_id,
147 string default, byte min, byte max,
150 Tells the agent to request an input string from the
151 user. The alpha parameter and icon_id gives context
152 to the user. The default string contains the suggested
153 default by the SIM. The min and max parameters contain
154 how many characters the user should enter. The
155 parameter hide_typing indicates whether user's typing
158 Possible Errors: [service].Error.SimToolkit.GoBack
159 [service].Error.SimToolkit.EndSession
161 Implementation notes:
163 - It is still unclear how to handle gsm vs ucs2
164 accepted alphabet selection. Can the reduced
165 character set functionality from SMS be applied
166 here? If not, then an extra gsm vs ucs2 acceptance
167 argument needs to be added.
169 string RequestDigits(string alpha, byte icon_id,
170 string default, byte min, byte max,
173 Same as GetInput but only digit characters (0-9, *#+)
176 Possible Errors: [service].Error.SimToolkit.GoBack
177 [service].Error.SimToolkit.EndSession
179 string RequestKey(string alpha, byte icon_id)
181 Tells the agent to request a single input key from
182 the user. The alpha parameter contains the context
185 Possible Errors: [service].Error.SimToolkit.GoBack
186 [service].Error.SimToolkit.EndSession
188 string RequestDigit(string alpha, byte icon_id)
190 Same as above, but only digits (0-9, *#+) are
193 Possible Errors: [service].Error.SimToolkit.GoBack
194 [service].Error.SimToolkit.EndSession
196 string RequestQuickDigit(string alpha, byte icon_id)
198 Same as above but the entered digit shall not be
199 displayed and the response shall be sent immediately
200 after the key press. "+" is not allowed for user input.
202 Possible Errors: [service].Error.SimToolkit.GoBack
203 [service].Error.SimToolkit.EndSession
205 boolean RequestConfirmation(string alpha, byte icon_id)
207 Asks the agent to get confirmation from the user.
209 Possible Errors: [service].Error.SimToolkit.GoBack
210 [service].Error.SimToolkit.EndSession
212 boolean ConfirmCallSetup(string information, byte icon_id)
214 Asks the agent to request user to confirm an
215 outgoing call setup. If confirmed, the next new
216 outgoing call reported by VoiceCallManager will
217 have the Information and Icon properties set to
218 inform the user. Hanging up before the call is
219 connected will cause EndSession reply to be sent.
221 Possible Errors: [service].Error.SimToolkit.EndSession
223 void PlayTone(string tone, string text, byte icon_id)
225 Tells the agent to play an audio tone once. The
226 method should return once the tone is finished
227 playing. The text parameter contains an optional
228 text to be displayed to the user. The following
233 "radio-path-acknowledge"
234 "radio-path-not-available"
239 "positive-acknowledgement"
240 "negative-acknowledgement"
243 "critical" (high priority)
251 Possible Errors: [service].Error.SimToolkit.EndSession
253 void LoopTone(string tone, string text, byte icon_id)
255 Tells the agent to reproduce an audio tone in a
256 loop until the method call is cancelled. See
257 PlayTone() above for the list of possible tone names.
258 The text parameter contains an optional text to
259 be displayed to the user.
261 Possible Errors: [service].Error.SimToolkit.EndSession
263 void DisplayActionInformation(string text,
266 Supplies a text string and/or icon concerning the
267 current activity in the terminal and UICC. The
268 text should be displayed to the user on screen
269 until the call is canceled using Cancel(). If the
270 method returns it is assumed that the user has
271 explicitly dismissed the dialog and no Cancel() is
274 boolean ConfirmLaunchBrowser(string information,
275 byte icon_id, string url)
277 Asks the agent to request user to confirm launch
278 browser. If confirmed, then the agent should send
279 confirmation message to oFono and then should open
280 the launch browser with the given url.
282 void DisplayAction(string text, byte icon_id)
284 Supplies a text string and/or icon concerning the
285 current activity in the terminal and UICC. The
286 text should be displayed to the user on screen
287 until the call is canceled using Cancel() or until the
288 user decides to end the session.
290 Possible Errors: [service].Error.SimToolkit.EndSession
292 boolean ConfirmOpenChannel(string information,
293 byte icon_id) [experimental]
295 Asks the agent to request user to confirm the channel
298 Possible Errors: [service].Error.SimToolkit.EndSession
300 void Cancel() [noreply]
302 Asks the agent to cancel any ongoing operation in
303 progress. This is usually either because the agent
304 is taking too long to respond, the Sim Application
305 has terminated the session or a task has finished.
307 void Release() [noreply]
309 Agent is being released, possibly because of oFono
310 terminating, SimToolkit interface torn down or modem
311 off. If the agent is registered as a global agent,
312 no UnregisterAgent call is expected.