WebAPI/LogAPI: Difference between revisions
< WebAPI
Jump to navigation
Jump to search
(→WebIDL) |
(→WebIDL) |
||
Line 13: | Line 13: | ||
== WebIDL == | == WebIDL == | ||
interface LogManager : EventTarget { | interface LogManager : EventTarget | ||
{ | |||
DOMRequest save(LogEntry entry); | DOMRequest save(LogEntry entry); | ||
DOMRequest delete(DOMString entryId); | DOMRequest delete(DOMString entryId); | ||
Line 20: | Line 21: | ||
attribute Function onentryadded; | attribute Function onentryadded; | ||
}; | }; | ||
interface LogIterator { | interface LogIterator | ||
{ | |||
DOMRequest next(optional unsigned short n); | DOMRequest next(optional unsigned short n); | ||
DOMRequest advance(unsigned short count); | DOMRequest advance(unsigned short count); | ||
}; | }; | ||
dictionary LogOptions { | dictionary LogOptions | ||
{ | |||
attribute unsigned long maxRecords; | attribute unsigned long maxRecords; | ||
attribute DOMString contactId; | attribute DOMString contactId; | ||
}; | }; | ||
dictionary LogFindOptions : LogOptions { | dictionary LogFindOptions : LogOptions | ||
{ | |||
attribute Date from; | attribute Date from; | ||
attribute Date to; | attribute Date to; | ||
attribute DOMString service; | attribute DOMString service; | ||
}; | }; | ||
interface LogEntryProperties { | interface LogEntryProperties | ||
{ | |||
attribute DOMString type; // possible values: ['incoming', 'outgoing', 'missing'] | attribute DOMString type; // possible values: ['incoming', 'outgoing', 'missing'] | ||
attribute DOMString[] contactId; // ContactId | attribute DOMString[] contactId; // ContactId | ||
Line 44: | Line 49: | ||
}; | }; | ||
[Constructor(LogEntryProperties properties)] | [Constructor(LogEntryProperties properties)] | ||
interface LogEntry : LogEntryProperties { | interface LogEntry : LogEntryProperties | ||
{ | |||
readonly attribute DOMString id; | readonly attribute DOMString id; | ||
readonly attribute DOMTimestamp timestamp; // When this happened | readonly attribute DOMTimestamp timestamp; // When this happened | ||
}; | }; |
Revision as of 18:43, 25 April 2012
Use Cases
To record the history of user activity with the device, particularly with communication services (Phone Calls, Messages, Social Networks, etc.)
Consumers
- Comms Log Application (Global for the user and per-contact)
Producers
- Dialer, SMS, e-mail, Facebook, Twitter, ...
WebIDL
interface LogManager : EventTarget {
DOMRequest save(LogEntry entry); DOMRequest delete(DOMString entryId); DOMRequest clear(LogClearOptions coptions); LogIterator find(LogFindOptions options); attribute Function onentryadded;
}; interface LogIterator {
DOMRequest next(optional unsigned short n); DOMRequest advance(unsigned short count);
}; dictionary LogOptions {
attribute unsigned long maxRecords; attribute DOMString contactId;
}; dictionary LogFindOptions : LogOptions {
attribute Date from; attribute Date to; attribute DOMString service;
}; interface LogEntryProperties {
attribute DOMString type; // possible values: ['incoming', 'outgoing', 'missing'] attribute DOMString[] contactId; // ContactId attribute DOMString[] tel; // Tel number if not already in contacts attribute DOMString objectId; // Object id (for example SMS message on the SMS database) attribute DOMString service; // oneOf ['SMS', 'Telephony', 'Facebook', 'Twitter'] attribute DOMString title; attribute DOMString description; attribute any extra; // Any extra data to be used by applications
}; [Constructor(LogEntryProperties properties)] interface LogEntry : LogEntryProperties {
readonly attribute DOMString id; readonly attribute DOMTimestamp timestamp; // When this happened
};