© 2009 OMTP Ltd. All rights reserved. OMTP and OMTP BONDI are registered trademarks of OMTP Ltd.
The BONDI Communications Log API provides access to messages and calls registered in the device.
SMSArray
MMSArray
EmailArray
CallArray
CommLogSMSSuccessCallback
CommLogMMSSuccessCallback
CommLogEmailSuccessCallback
CommLogCallSuccessCallback
CommLogManager
Call
| Interface | Method |
|---|---|
| CommLogSMSSuccessCallback | void onSuccess(SMSArray obj) |
| CommLogMMSSuccessCallback | void onSuccess(MMSArray obj) |
| CommLogEmailSuccessCallback | void onSuccess(EmailArray obj) |
| CommLogCallSuccessCallback | void onSuccess(CallArray obj) |
| CommLogManager | PendingOperation getSMSLog(CommLogSMSSuccessCallback successCallback, ErrorCallback errorCallback, ShortArray messageFolders, Map filter) PendingOperation getMMSLog(CommLogMMSSuccessCallback successCallback, ErrorCallback errorCallback, ShortArray messageFolders, Map filter) PendingOperation getEmailLog(CommLogEmailSuccessCallback successCallback, ErrorCallback errorCallback, ShortArray messageFolders, Map filter) PendingOperation getCallLog(CommLogCallSuccessCallback successCallback, ErrorCallback errorCallback, ShortArray callFolder, Map filter) StringArray getSMSSupportedPropertyKeys() StringArray getMMSSupportedPropertyKeys() StringArray getEmailSupportedPropertyKeys() StringArray getCallSupportedPropertyKeys() |
| Call |
This API provides application developers with access to information on recent calls (missed, received, and initiated) and messages (sent, received, drafts andoutbox) that are maintained by the respective native application.
It also defines the call class. Note that the message classes are defined in the messaging interface. The main class (CommLogManager) can be used to get the log for each entity (SMS,EMAIL,MMS and CALLS).
This API does not provide event notifications for incoming messages or incoming calls.
It is a read-only API with no posibility to create messages (to create one see the messaging API) or calls and only provides functionlity to read the calls and messages stored in the terminal .
Logs are accessible using the following methods:
getSMSLog()
getMMSLog()
getEmailLog()
getCallLog()
Each of these methods can be used to filter the response using a map as a filter criteria , this parameter is optional. The keys supported by this filter are returned using the next methods for each entity:
getSMSSupportedPropertyKeys()
getMMSSupportedPropertyKeys()
getEmailSupportedPropertyKeys()
getCallSupportedPropertyKeys()
Folders where elements are stored are represented using constants. These constants can used to perform the query in a specific store.
This is the list of URIs used to declare this API's features, for use in bondi.requestFeature. For each URL, the list of functions provided is provided.
Call to CommLogManager.getSMSLog
Device capabilities: commlog.sms.get
Call to CommLogManager.getMMSLog
Device capabilities: commlog.mms.get
Call to CommLogManager.getEmailLog
Device capabilities: commlog.email.get
Call to CommLogManager.getCallLog
Device capabilities: commlog.call.get
commlog.sms.get
Get entries from SMS log
commlog.mms.get
Get entries from MMS log
commlog.email.get
Get entries from email log
commlog.call.get
Get entries from call log
SMSArray
Array of SMS.
typedef sequence<SMS> SMSArray;
MMSArray
Array of MMS
typedef sequence<MMS> MMSArray;
EmailArray
Array of Email
typedef sequence<Email> EmailArray;
CallArray
Array of Call
typedef sequence<Call> CallArray;
CommLogSMSSuccessCallback
Success callback for retrieving a list of SMS.
[Callback] interface CommLogSMSSuccessCallback {
void onSuccess(in SMSArray obj);
};
Success callback that takes an array of SMSs as input argument. It is used in the asynchronous operation to get the SMS Log.
CommLogMMSSuccessCallback
Success callback for retrieving a list of MMS.
[Callback] interface CommLogMMSSuccessCallback {
void onSuccess(in MMSArray obj);
};
Success callback that takes an array of MMSs as input argument. It is used in the asynchronous operation to get the MMS Log.
CommLogEmailSuccessCallback
Success callback for retrieving a list of E-mails.
[Callback] interface CommLogEmailSuccessCallback {
void onSuccess(in EmailArray obj);
};
Success callback that takes an array of E-mails as its input argument. It is used in the asynchronous operation to get the E-Mail log.
CommLogCallSuccessCallback
Success callback for retrieving a list of Calls.
[Callback] interface CommLogCallSuccessCallback {
void onSuccess(in CallArray obj);
};
Success callback that takes an array of Calls as input argument. It is used in the asynchronous operation to get the list of Calls.
CommLogManager
Communication Log API.
interface CommLogManager {
const unsigned short INBOX_FOLDER = 0;
const unsigned short OUTBOX_FOLDER = 1;
const unsigned short SENT_FOLDER = 2;
const unsigned short DRAFT_FOLDER = 3;
const unsigned short MISSED_CALLS_FOLDER = 0;
const unsigned short RECEIVED_CALLS_FOLDER = 1;
const unsigned short INITIATED_CALLS_FOLDER = 2;
PendingOperation getSMSLog(in CommLogSMSSuccessCallback successCallback,
in ErrorCallback errorCallback,
in ShortArray messageFolders,
[Optional]in Map filter)
raises(SecurityError, DeviceAPIError);
PendingOperation getMMSLog(in CommLogMMSSuccessCallback successCallback,
in ErrorCallback errorCallback,
in ShortArray messageFolders,
[Optional]in Map filter)
raises(SecurityError, DeviceAPIError);
PendingOperation getEmailLog(in CommLogEmailSuccessCallback successCallback,
in ErrorCallback errorCallback,
in ShortArray messageFolders,
[Optional]in Map filter)
raises(SecurityError, DeviceAPIError);
PendingOperation getCallLog(in CommLogCallSuccessCallback successCallback,
in ErrorCallback errorCallback,
in ShortArray callFolder,
[Optional]in Map filter)
raises(SecurityError, DeviceAPIError);
StringArray getSMSSupportedPropertyKeys();
StringArray getMMSSupportedPropertyKeys();
StringArray getEmailSupportedPropertyKeys();
StringArray getCallSupportedPropertyKeys();
};
The communication logs manager interface offers methods to retrieve information from the Inbox, Outbox and call registry.
bondi.requestFeature(successCallback, errorCallback, "commlog");
function successCallback(response) {
bondi.commlog.getSMSLog(smsSuccessCallback, errorCallback,
{ bondi.commlog.INBOX_FOLDER, bondi.commlog.OUTBOX_FOLDER},
{ Recipient:"+34666666666", Body:"Huesca"});
}
function smsSuccessCallback(response) {
var messages = response;
// Get first message in the list of results
var sms = messages[0];
}
function errorCallback(response) {
alert( "The following error code is: " + response.code);
}
unsigned
short
INBOX_FOLDER
Folder message constants definition
unsigned
short
OUTBOX_FOLDER
Folder containing messages to be sent.
unsigned
short
SENT_FOLDER
Folder containing sent messages.
unsigned
short
DRAFT_FOLDER
Folder containing drafts.
unsigned
short
MISSED_CALLS_FOLDER
Folder of missed calls.
unsigned
short
RECEIVED_CALLS_FOLDER
Folder with received calls.
unsigned
short
INITIATED_CALLS_FOLDER
Folder with initiated calls.
getSMSLog
Get the list of selected SMSs
PendingOperation getSMSLog(CommLogSMSSuccessCallback successCallback, ErrorCallback errorCallback, ShortArray messageFolders, Map filter);
Gets an array of Strings containing IDs for sms messages stored within the selected folders and matching the selected filter.
This is an asynchronous method.
In a search using this method, if more than one value is used, then the AND operator will be used betwwen all values to perform the search.
In a search using strings, the search conductes is case sensitive. If the string is found anywhere inside the key object value, the entire object will be returned.
bondi.commlog.getSMSLog(successCallback, errorCallback,
{ bondi.commlog.INBOX_FOLDER, bondi.commlog.OUTBOX_FOLDER},
{ Recipient:"+34666666666", Body:"Huesca"});
function successCallback(response) {
var messages = response;
// Get first message in the list of results
var sms = messages[0];
}
function errorCallback(response) {
alert( "The following error code is: " + response.code);
}
getMMSLog
Get the list of selected MMSs
PendingOperation getMMSLog(CommLogMMSSuccessCallback successCallback, ErrorCallback errorCallback, ShortArray messageFolders, Map filter);
Gets an array of Strings containing IDs for MMS messages stored within the selected folders matching the selected filter.
In a search using this method, if more than one value is used, then the AND operator will be used betwwen all values to perform the search.
In a search using strings, the search conductes is case sensitive. If the string is found anywhere inside the key object value, the entire object will be returned.
This is an asynchronous method.
bondi.commlog.getMMSLog(successCallback, errorCallback,
{ bondi.commlog.INBOX_FOLDER, bondi.commlog.OUTBOX_FOLDER},
{Recipient:"+34666666666", Body:"Huesca"});
function successCallback(response) {
var messages = response;
// Get first MMS in the list of results
var mms = messages[0];
}
function errorCallback(response) {
alert( "The following error code is: " + response.code);
}
getEmailLog
Get the list of selected Emails
PendingOperation getEmailLog(CommLogEmailSuccessCallback successCallback, ErrorCallback errorCallback, ShortArray messageFolders, Map filter);
In a search using this method, if more than one value is used, then the AND operator will be used betwwen all values to perform the search.
In a search using strings, the search conductes is case sensitive. If the string is found anywhere inside the key object value, the entire object will be returned.
bondi.commlog.getEmailLog(successCallback, errorCallback,
{ bondi.commlog.INBOX_FOLDER, bondi.commlog.OUTBOX_FOLDER},
{ Recipient:"+34666666666", Body:"Huesca"});
function successCallback(response) {
var messages = response;
// Get first email in the list of results
var email = messages[0];
}
function errorCallback(response) {
alert( "The following error code is: " + response);
}
getCallLog
Get the list of selected Calls
PendingOperation getCallLog(CommLogCallSuccessCallback successCallback, ErrorCallback errorCallback, ShortArray callFolder, Map filter);
Gets an array of Strings containing IDs for calls stored within the selected folders and matching the selected filter.
In a search using this method, if more than one value is used, then the AND operator will be used betwwen all values to perform the search.
In a search using strings, the search conductes is case sensitive. If the string is found anywhere inside the key object value, the entire object will be returned.
This is an asynchronous method.
var callsArray = new Array();
callsArray.push(bondi.commlog.MISSED_CALLS_FOLDER);
callsArray.push(bondi.commlog.RECEIVED_CALLS_FOLDER);
bondi.commlog.getCallsLog(successCallback,errorCallback,callsArray, {phoneNumber:"+34666666666"});
function successCallback(response)
{
// Get first call in the list of results
var myCall = response[0];
}
function errorCallback(response)
{
alert( "The following error code is: " + response.code);
}
getSMSSupportedPropertyKeys
Get the property keys of SMSs
StringArray getSMSSupportedPropertyKeys();
This method returns a list of the public SMS property keys. That is to say it returns all the parameters we can use to create an SMS (body, recipients, store...) and supported by the getSMSLog filter parameter.
var myBody = "New body for a draft message";
var attributes = bondi.commlog.getSMSSupportedPropertyKeys();
if (attributes[1] == "body") {
var sms = bondi.messaging.createSMS();
sms.setProperty(attributes[1],myBody);
}
getMMSSupportedPropertyKeys
Get the property keys of MMSs
StringArray getMMSSupportedPropertyKeys();
This method returns a list of the public MMS property keys. That is to say it returns all the parameters we can use to create an MMS (body, recipients, store, attachments...) and supported by the getMMSLog filter parameter.
var myBody = "New body for a draft message";
var attributes = bondi.commlog.getMMSSupportedPropertyKeys();
if (attributes[1] == "body") {
var mms = bondi.messaging.createMMS();
mms.setProperty(attributes[1], myBody);
}
getEmailSupportedPropertyKeys
Get the property keys of Emails
StringArray getEmailSupportedPropertyKeys();
This method returns a list of the public Email property keys. That is to say it returns all the parameters we can use to create an Email (body, subject, store, attachments...) and supported by the getEmaillLog filter parameter.
var myBody = "New body for a draft message";
var attributes = bondi.commlog.getEmailSupportedPropertyKeys();
if (attributes[1] == "body") {
var email = bondi.messaging.createEmail();
email.setProperty(attributes[1], myBody);
}
getCallSupportedPropertyKeys
Gets the call attributes supported by the getCallLog filter parameter.
StringArray getCallSupportedPropertyKeys();
var attributes = bondi.commlog.getCallSupportedPropertyKeys();
if (attributes[1] == "phoneNumber") {
var phoneNumber = call.getProperty(attributes[1]);
}
Call
Encapsulation of a call on the device.
interface Call {
readonly attribute DOMString phoneNumber
setraises(DeviceAPIError);
readonly attribute Date startTime;
readonly attribute unsigned long duration;
readonly attribute DOMString id;
readonly attribute unsigned short folder;
};
bondi.commlog.getCallLog(successCallback, errorCallback,
{ bondi.commlog.MISSED_CALLS_FOLDER},
{ phoneNumber:"+34666666666"});
function successCallback(response) {
var calls = response;
// Get first one in the list of results
alert(call[0].phoneNumber);
}
function errorCallback(response) {
alert( "The following error code is: " + response.code);
}
[readonly]
DOMString
phoneNumber
Phone number of the call object
String that contains the phone number that called or that was called (depending on the folder property).
This attribute is read-only.
bondi.commlog.getCallLog(successCallback, errorCallback,
{ bondi.commlog.MISSED_CALLS_FOLDER},
{ phoneNumber:"+34666666666"});
function successCallback(response) {
var calls = response;
// Get the phonenumber of the first call in the list of results
alert(call[0].phoneNumber);
}
function errorCallback(response) {
alert( "The following error code is: " + response.code);
}
[readonly]
Date
startTime
Date when the call started
Object containing date and time when the call took place.
This attribute is read-only.
bondi.commlog.getCallLog(successCallback, errorCallback,
{ bondi.commlog.MISSED_CALLS_FOLDER},
{ phoneNumber:"+34666666666"});
function successCallback(response) {
alert(response[0].startTime);
}
function errorCallback(response) {
alert( "The following error code is: " + response.code);
}
[readonly]
unsigned
long
duration
Duration of the call
Integer which contains the duration of the call in seconds.
This attribute is read-only.
bondi.commlog.getCallLog(successCallback, errorCallback,
{ bondi.commlog.MISSED_CALLS_FOLDER},
{ phoneNumber:"+34666666666"});
function successCallback(response) {
alert("The call lasted for " + response[0].duration + " seconds.");
}
function errorCallback(response) {
alert( "The following error code is: " + response.code);
}
[readonly]
DOMString
id
Call identifier String containing the unique id of the call within the platform.
This attribute is read-only.
bondi.commlog.getCallLog(successCallback, errorCallback,
{ bondi.commlog.MISSED_CALLS_FOLDER},
{ phoneNumber:"+34666666666"});
function successCallback(response) {
alert("This is the id for the first call in the log: " + response[0].id);
}
function errorCallback(response) {
alert( "The following error code is: " + response.code);
}
[readonly]
unsigned
short
folder
folder where the call was stored This property has access to the information about in which folder is the call stored. MISSED_CALLS_FOLDER=0, RECEIVED_CALLS_FOLDER=1 or INITIATED_CALLS_FOLDER=2
This attribute is read-only.
bondi.commlog.getCallLog(successCallback, errorCallback,
{ bondi.commlog.MISSED_CALLS_FOLDER},
{ phoneNumber:"+34666666666"});
function successCallback(response) {
var calls = response;
var call = calls[0];
if (call.folder == bondi.commlog.MISSED_CALLS_FOLDER) alert("Missed call!");
}
function errorCallback(response) {
alert( "The following error code occurred: " + response.code);
}