</head>
<body id="page-content" onload="prettyPrint()">
<div class="api" id="::Contact">
-<div class="supported-platforms"><img class="mobile-mandatory emulator" title="Mandatory, Supported by Tizen Mobile emulator" src="mobile_s_w.png"></div>
<div class="title"><h1>Contact API</h1></div>
<div class="brief">
The Contact API provides functionality for managing address books.
</li>
<li>2.20. <a href="#ContactRelationship">ContactRelationship</a>
</li>
-<li>2.21. <a href="#PersonArraySuccessCallback">PersonArraySuccessCallback</a>
+<li>2.21. <a href="#ContactExtensionInit">ContactExtensionInit</a>
</li>
-<li>2.22. <a href="#ContactArraySuccessCallback">ContactArraySuccessCallback</a>
+<li>2.22. <a href="#ContactExtension">ContactExtension</a>
</li>
-<li>2.23. <a href="#AddressBookArraySuccessCallback">AddressBookArraySuccessCallback</a>
+<li>2.23. <a href="#PersonArraySuccessCallback">PersonArraySuccessCallback</a>
</li>
-<li>2.24. <a href="#AddressBookChangeCallback">AddressBookChangeCallback</a>
+<li>2.24. <a href="#ContactArraySuccessCallback">ContactArraySuccessCallback</a>
</li>
-<li>2.25. <a href="#PersonsChangeCallback">PersonsChangeCallback</a>
+<li>2.25. <a href="#AddressBookArraySuccessCallback">AddressBookArraySuccessCallback</a>
+</li>
+<li>2.26. <a href="#AddressBookChangeCallback">AddressBookChangeCallback</a>
+</li>
+<li>2.27. <a href="#PersonsChangeCallback">PersonsChangeCallback</a>
</li>
</ul>
</li>
<td></td>
</tr>
<tr>
+<td><a href="#ContactExtensionInit">ContactExtensionInit</a></td>
+<td></td>
+</tr>
+<tr>
+<td><a href="#ContactExtension">ContactExtension</a></td>
+<td></td>
+</tr>
+<tr>
<td><a href="#PersonArraySuccessCallback">PersonArraySuccessCallback</a></td>
<td>void <a href="#PersonArraySuccessCallback::onsuccess">onsuccess</a> (<a href="#Person">Person</a>[] persons)</td>
</tr>
attribute <a href="#ContactId">ContactId</a> displayContactId;
+ readonly attribute long usageCount;
+
void link(<a href="#PersonId">PersonId</a> personId) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
<a href="#Person">Person</a> unlink(<a href="#ContactId">ContactId</a> contactId) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
<p><span class="version">
Since: </span>
2.0
+</p>
+</li>
+<li class="attribute" id="Person::usageCount">
+<span class="attrName"><span class="readonly"> readonly
+</span><span class="type">long </span><span class="name">usageCount</span></span><div class="brief">
+The number of contact usage.
+</div>
+<div class="description">
+<p>
+usage type refers to <a href="https://developer.tizen.org/dev-guide/latest/org.tizen.native.mobile.apireference/group__CAPI__SOCIAL__CONTACTS__SVC__RECORD__MODULE.html#gad546338cfbba98fd037098559fd733a3">contacts_usage_type_e</a> of native API
+</p>
+</div>
+<p><span class="version">
+Since: </span>
+3.0
</p>
</li>
</ul>
<a href="#ContactEmailAddress">ContactEmailAddress</a>[] emails;
<a href="#ContactInstantMessenger">ContactInstantMessenger</a>[] messengers;
<a href="#ContactRelationship">ContactRelationship</a>[] relationships;
+ <a href="#ContactExtension">ContactExtension</a>[] extensions;
Date birthday;
<a href="#ContactAnniversary">ContactAnniversary</a>[] anniversaries;
<a href="#ContactOrganization">ContactOrganization</a>[] organizations;
attribute <a href="#ContactRelationship">ContactRelationship</a>[] relationships;
+ attribute <a href="#ContactExtension">ContactExtension</a>[] extensions;
+
attribute Date? birthday setraises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
attribute <a href="#ContactAnniversary">ContactAnniversary</a>[] anniversaries setraises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
var contact = null;
-
- var name = new tizen.ContactName({
- firstName: "Forrest",
- lastName: "Gump"
- });
- var addresses = [ new tizen.ContactAddress({
- city: "New York",
- streetAddress: "46th St.",
- isDefault: true }) ];
- var phoneNumbers = [ new tizen.ContactPhoneNumber("(111) 555-1212"),
- new tizen.ContactPhoneNumber("(111) 555-1213") ];
-
- try {
- contact = new tizen.Contact({
- name: name,
- addresses: addresses,
- phoneNumbers: phoneNumbers
- });
- } catch (err) {
- console.log( 'The following error occurred while creating contact: ' + err.name);
- }
-
- try {
- if (contact) {
- addressbook.add(contact);
- console.log('Contact was added with ID ' + contact.id);
- }
- } catch (err) {
- console.log( 'The following error occurred while adding: ' + err.name);
- }
- </pre>
-</div>
-<div class="example">
-<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint"> // Gets the default address book.
- var addressbook = tizen.contact.getDefaultAddressBook();
-
- var contact = null;
-
try {
contact = new tizen.Contact(
"BEGIN:VCARD\n"+
</pre>
</div>
</li>
+<li class="attribute" id="Contact::extensions">
+<span class="attrName"><span class="type">ContactExtension[]
+</span><span class="name">extensions</span></span><div class="brief">
+The extended data of the contact.
+</div>
+<div class="description">
+<p>
+By default, this attribute is set to an empty array.
+</p>
+</div>
+<p><span class="version">
+Since: </span>
+3.0
+</p>
+<div class="example">
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint">
+var contactInit = {};
+ var extension = new tizen.ContactExtension({ data1: 20, data2: 'Place of birth: Elbląg' });
+ contactInit.extensions = [extension];
+ </pre>
+</div>
+</li>
<li class="attribute" id="Contact::birthday">
<span class="attrName"><span class="type">Date </span><span class="name">birthday</span><span class="optional"> [nullable]</span></span><div class="brief">
The birthday of the contact.
</ul>
</div>
</div>
+<div class="dictionary" id="ContactExtensionInit">
+<a class="backward-compatibility-anchor" name="::Contact::ContactExtensionInit"></a><h3>2.21. ContactExtensionInit</h3>
+<div class="brief">
+The ContactExtensionInit dictionary defines the properties of a ContactExtension to pass to the ContactExtension constructor.
+</div>
+<pre class="webidl prettyprint"> dictionary ContactExtensionInit
+ {
+ long data1;
+ DOMString data2;
+ DOMString data3;
+ DOMString data4;
+ DOMString data5;
+ DOMString data6;
+ DOMString data7;
+ DOMString data8;
+ DOMString data9;
+ DOMString data10;
+ DOMString data11;
+ DOMString data12;
+ };</pre>
+<p><span class="version">
+Since: </span>
+3.0
+</p>
+<div class="description">
+<p>
+See ContactExtension interface for more information about the members.
+</p>
+</div>
+</div>
+<div class="interface" id="ContactExtension">
+<a class="backward-compatibility-anchor" name="::Contact::ContactExtension"></a><h3>2.22. ContactExtension</h3>
+<div class="brief">
+The ContactExtension interface contains the extended data of the contact.
+</div>
+<pre class="webidl prettyprint"> [Constructor(optional <a href="#ContactExtensionInit">ContactExtensionInit</a>? extensionInitDict)]
+ interface ContactExtension
+ {
+ attribute long data1;
+
+ attribute DOMString? data2;
+
+ attribute DOMString? data3;
+
+ attribute DOMString? data4;
+
+ attribute DOMString? data5;
+
+ attribute DOMString? data6;
+
+ attribute DOMString? data7;
+
+ attribute DOMString? data8;
+
+ attribute DOMString? data9;
+
+ attribute DOMString? data10;
+
+ attribute DOMString? data11;
+
+ attribute DOMString? data12;
+ };</pre>
+<p><span class="version">
+Since: </span>
+3.0
+</p>
+<div class="description">
+<p>
+See code example below.
+</p>
+</div>
+<div class="example">
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint"> var name = new tizen.ContactName({ firstName: 'Anna' });
+
+ var contact_extension1 = new tizen.ContactExtension({ data1: 20, data2: 'Place of birth: Elbląg' });
+ var contact_extension2 = new tizen.ContactExtension({ data3: 'Favourite color: green' });
+ var contact1 = new tizen.Contact({
+ name: name,
+ extensions: [ contact_extension1, contact_extension2 ]
+ });
+
+ console.log(contact1.extensions[1].data3); // It shows: 'Favourite color: green'
+</pre>
+</div>
+<div class="constructors">
+<h4 id="ContactExtension::constructor">Constructors</h4>
+<dl><pre class="webidl prettyprint">ContactExtension(optional <a href="#ContactExtensionInit">ContactExtensionInit</a>? extensionInitDict);</pre></dl>
+</div>
+<div class="attributes">
+<h4>Attributes</h4>
+<ul>
+<li class="attribute" id="ContactExtension::data1">
+<span class="attrName"><span class="type">long </span><span class="name">data1</span></span><div class="brief">
+The extended data of a contact.
+</div>
+<p><span class="version">
+Since: </span>
+3.0
+</p>
+</li>
+<li class="attribute" id="ContactExtension::data2">
+<span class="attrName"><span class="type">DOMString </span><span class="name">data2</span><span class="optional"> [nullable]</span></span><div class="brief">
+The extended data of a contact.
+</div>
+<p><span class="version">
+Since: </span>
+3.0
+</p>
+</li>
+<li class="attribute" id="ContactExtension::data3">
+<span class="attrName"><span class="type">DOMString </span><span class="name">data3</span><span class="optional"> [nullable]</span></span><div class="brief">
+The extended data of a contact.
+</div>
+<p><span class="version">
+Since: </span>
+3.0
+</p>
+</li>
+<li class="attribute" id="ContactExtension::data4">
+<span class="attrName"><span class="type">DOMString </span><span class="name">data4</span><span class="optional"> [nullable]</span></span><div class="brief">
+The extended data of a contact.
+</div>
+<p><span class="version">
+Since: </span>
+3.0
+</p>
+</li>
+<li class="attribute" id="ContactExtension::data5">
+<span class="attrName"><span class="type">DOMString </span><span class="name">data5</span><span class="optional"> [nullable]</span></span><div class="brief">
+The extended data of a contact.
+</div>
+<p><span class="version">
+Since: </span>
+3.0
+</p>
+</li>
+<li class="attribute" id="ContactExtension::data6">
+<span class="attrName"><span class="type">DOMString </span><span class="name">data6</span><span class="optional"> [nullable]</span></span><div class="brief">
+The extended data of a contact.
+</div>
+<p><span class="version">
+Since: </span>
+3.0
+</p>
+</li>
+<li class="attribute" id="ContactExtension::data7">
+<span class="attrName"><span class="type">DOMString </span><span class="name">data7</span><span class="optional"> [nullable]</span></span><div class="brief">
+The extended data of a contact.
+</div>
+<p><span class="version">
+Since: </span>
+3.0
+</p>
+</li>
+<li class="attribute" id="ContactExtension::data8">
+<span class="attrName"><span class="type">DOMString </span><span class="name">data8</span><span class="optional"> [nullable]</span></span><div class="brief">
+The extended data of a contact.
+</div>
+<p><span class="version">
+Since: </span>
+3.0
+</p>
+</li>
+<li class="attribute" id="ContactExtension::data9">
+<span class="attrName"><span class="type">DOMString </span><span class="name">data9</span><span class="optional"> [nullable]</span></span><div class="brief">
+The extended data of a contact.
+</div>
+<p><span class="version">
+Since: </span>
+3.0
+</p>
+</li>
+<li class="attribute" id="ContactExtension::data10">
+<span class="attrName"><span class="type">DOMString </span><span class="name">data10</span><span class="optional"> [nullable]</span></span><div class="brief">
+The extended data of a contact.
+</div>
+<p><span class="version">
+Since: </span>
+3.0
+</p>
+</li>
+<li class="attribute" id="ContactExtension::data11">
+<span class="attrName"><span class="type">DOMString </span><span class="name">data11</span><span class="optional"> [nullable]</span></span><div class="brief">
+The extended data of a contact.
+</div>
+<p><span class="version">
+Since: </span>
+3.0
+</p>
+</li>
+<li class="attribute" id="ContactExtension::data12">
+<span class="attrName"><span class="type">DOMString </span><span class="name">data12</span><span class="optional"> [nullable]</span></span><div class="brief">
+The extended data of a contact.
+</div>
+<p><span class="version">
+Since: </span>
+3.0
+</p>
+</li>
+</ul>
+</div>
+</div>
<div class="interface" id="PersonArraySuccessCallback">
-<a class="backward-compatibility-anchor" name="::Contact::PersonArraySuccessCallback"></a><h3>2.21. PersonArraySuccessCallback</h3>
+<a class="backward-compatibility-anchor" name="::Contact::PersonArraySuccessCallback"></a><h3>2.23. PersonArraySuccessCallback</h3>
<div class="brief">
The PersonArraySuccessCallback interface defines the success callback that is used for retrieving
a list of persons.
</div>
</div>
<div class="interface" id="ContactArraySuccessCallback">
-<a class="backward-compatibility-anchor" name="::Contact::ContactArraySuccessCallback"></a><h3>2.22. ContactArraySuccessCallback</h3>
+<a class="backward-compatibility-anchor" name="::Contact::ContactArraySuccessCallback"></a><h3>2.24. ContactArraySuccessCallback</h3>
<div class="brief">
The ContactArraySuccessCallback interface defines the success callback that is used for saving and retrieving
a list of contacts.
</div>
</div>
<div class="interface" id="AddressBookArraySuccessCallback">
-<a class="backward-compatibility-anchor" name="::Contact::AddressBookArraySuccessCallback"></a><h3>2.23. AddressBookArraySuccessCallback</h3>
+<a class="backward-compatibility-anchor" name="::Contact::AddressBookArraySuccessCallback"></a><h3>2.25. AddressBookArraySuccessCallback</h3>
<div class="brief">
The AddressBookArraySuccessCallback interface defines the success callback that is called when retrieving a list of AddressBooks.
</div>
</div>
</div>
<div class="interface" id="AddressBookChangeCallback">
-<a class="backward-compatibility-anchor" name="::Contact::AddressBookChangeCallback"></a><h3>2.24. AddressBookChangeCallback</h3>
+<a class="backward-compatibility-anchor" name="::Contact::AddressBookChangeCallback"></a><h3>2.26. AddressBookChangeCallback</h3>
<div class="brief">
The AddressBookChangeCallback interface provides the methods to be called for address book
change notifications.
</div>
</div>
<div class="interface" id="PersonsChangeCallback">
-<a class="backward-compatibility-anchor" name="::Contact::PersonsChangeCallback"></a><h3>2.25. PersonsChangeCallback</h3>
+<a class="backward-compatibility-anchor" name="::Contact::PersonsChangeCallback"></a><h3>2.27. PersonsChangeCallback</h3>
<div class="brief">
The PersonsChangeCallback interface provides the methods to be called for change notifications.
</div>
attribute <a href="#ContactId">ContactId</a> displayContactId;
+ readonly attribute long usageCount;
+
void link(<a href="#PersonId">PersonId</a> personId) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
<a href="#Person">Person</a> unlink(<a href="#ContactId">ContactId</a> contactId) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
<a href="#ContactEmailAddress">ContactEmailAddress</a>[] emails;
<a href="#ContactInstantMessenger">ContactInstantMessenger</a>[] messengers;
<a href="#ContactRelationship">ContactRelationship</a>[] relationships;
+ <a href="#ContactExtension">ContactExtension</a>[] extensions;
Date birthday;
<a href="#ContactAnniversary">ContactAnniversary</a>[] anniversaries;
<a href="#ContactOrganization">ContactOrganization</a>[] organizations;
attribute <a href="#ContactRelationship">ContactRelationship</a>[] relationships;
+ attribute <a href="#ContactExtension">ContactExtension</a>[] extensions;
+
attribute Date? birthday setraises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
attribute <a href="#ContactAnniversary">ContactAnniversary</a>[] anniversaries setraises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
attribute DOMString? label;
};
+ dictionary ContactExtensionInit
+ {
+ long data1;
+ DOMString data2;
+ DOMString data3;
+ DOMString data4;
+ DOMString data5;
+ DOMString data6;
+ DOMString data7;
+ DOMString data8;
+ DOMString data9;
+ DOMString data10;
+ DOMString data11;
+ DOMString data12;
+ };
+
+ [Constructor(optional <a href="#ContactExtensionInit">ContactExtensionInit</a>? extensionInitDict)]
+ interface ContactExtension
+ {
+ attribute long data1;
+
+ attribute DOMString? data2;
+
+ attribute DOMString? data3;
+
+ attribute DOMString? data4;
+
+ attribute DOMString? data5;
+
+ attribute DOMString? data6;
+
+ attribute DOMString? data7;
+
+ attribute DOMString? data8;
+
+ attribute DOMString? data9;
+
+ attribute DOMString? data10;
+
+ attribute DOMString? data11;
+
+ attribute DOMString? data12;
+ };
+
[Callback=FunctionOnly, NoInterfaceObject] interface PersonArraySuccessCallback {
void onsuccess(<a href="#Person">Person</a>[] persons);
};