OpenAjax Device APIs Modules
From MemberWiki
The following table shows potential modularization strategy for device APIs.
- The first two columns represent copy/paste information from our requirements page [1]
- The 3rd column attempts to provide an executive summary of the key interfaces in J2ME/MSA
- The 4th column attempts to provide an executive summary of the key interfaces in MobileScript
- The 5th columns provides a high-level strawman for how to modularize the given API within our initiative
| Section from our requirements document | Associated actions and events | What J2ME/MSA has | What MobileScript has | Proposal for OpenAjax |
|---|---|---|---|---|
| Call |
|
No relevant JSRs | Phone.IncomingCallRegistry, Phone.OutgoingCallRegistry, phone.inCall.CallList, phone.outCall.CallList, IncomingCall (Event), MissedIncomingCall (Event), CallListEvent |
APIs: OpenAjax.device.phone.* (e.g., .inbox, .outbox) |
| PIM:Messaging |
|
jsr205 |
phone.InBox.IncomingSMS, phone.InBox.IncomingMMS, phone.InBox.SMSList, phone.inBox.SMSList, phone.outBox.SMSList, IncomingSMSEvent, phone.inBox.MMSList, phone.outBox.MMSList, IncomingMMSEvent |
APIs: OpenAjax.device.sms.* (e.g., .inbox, .outbox), OpenAjax.device.mms.* (simlar) |
| PIM:EMail |
|
No relevant JSRs | phone.InBox.IncomingEmail, phone.inBox.EmailLIst, Phone.InBox.EmailList, phone.outBox.EmailList, IncomingEmailEvent |
APIs: OpenAjax.device.email.* (e.g., .inbox, .outbox) |
| PIM:Address book |
|
javax.microedition.pim.Contact | phone.addressBook.ContactList |
APIs: OpenAjax.device.contacts.* |
| PIM:Agenda/Calendar |
|
javax.microedition.pim.Event | phone.calendar.AppointmentList |
APIs: OpenAjax.device.calendar.* |
| PIM:Notes |
|
? | ? |
APIs: OpenAjax.device.notes.* |
| PIM:Tasks |
|
javax.microedition.pim.ToDo | ? |
APIs: OpenAjax.device.tasks.* |
| Indicators:Power |
|
No relevant JSRs | Phone.IsCharging, Phone.IsLowBattery, ChargingCompletedEvent, ChargingInterruptedEvent, ChargingStartedEvent, LowBatteryEvent |
APIs: OpenAjax.device.power.* |
| Indicators: Network |
|
No relevant JSRs | Phone.IsUnderCoverage, Phone.IsRoaming, InRoamingEvent, InHomeEvent, CoverageEvent, OutOfCoverageEvent |
APIs: OpenAjax.device.network.[cellular|wifi|bluetooth].* |
| Indicators: Location |
|
Need to research JSR 179 | Phone.CurrentLocation, NewLocationEvent |
APIs: OpenAjax.device.geo.* |
| Indicators: Time |
|
No relevant JSRs | Phone.AlarmManager, Phone.SystemDateTime |
APIs: OpenAjax.device.clock.* |
| Data feeds |
|
No relevant JSRs | ? | ? |
| Files & media: Media resources |
|
No relevant JSRs (although there is JSR 75 for general file i/o) | phone.resoures.ImageList, phone.resources.SoundList, phone.resources.VideoList |
APIs: OpenAjax.device.resources.[images|sounds|videos].* |
| Files & media: File I/O |
|
JSR 75: |
? |
APIs: OpenAjax.device.fileio.* |
| Camera |
|
No relevant JSRs | ? |
APIs: OpenAjax.device.camera.* |
| Effectors |
|
No relevant JSRs | Phone.Mode, Phone.SetMode |
APIs: OpenAjax.device.mode.* |
| Miscellaneous |
|
No relevant JSRs | OutOfMemoryEvent |
APIs: OpenAjax.device.[accelerometer|memory|console].* |
| Network: Bluetooth |
|
Need to research JSR 82 | ? |
See Indicators:Network above |
| Network: Wi-Fi |
|
No relevant JSRs | ? |
See Indicators:Network above |
