ContactUtil::ImportContactFromContactsRecord(*contacts_record_ptr, &out);
if (status.IsError()) return status;
- status = ContactUtil::UpdateAdditionalInformation(contacts_record_ptr, &out);
+ status = ContactUtil::UpdateAdditionalInformation(*contacts_record_ptr, &out);
if (status.IsError()) return status;
return PlatformResult(ErrorCode::NO_ERROR);
out.insert(std::make_pair("id", JsonValue{std::to_string(id)}));
- status = ContactUtil::UpdateAdditionalInformation(contacts_record_ptr, &out);
+ status = ContactUtil::UpdateAdditionalInformation(*contacts_record_ptr, &out);
if (status.IsError()) return status;
return PlatformResult(ErrorCode::NO_ERROR);
}
}
- status = ContactUtil::UpdateAdditionalInformation(contacts_record_ptr, &out);
+ status = ContactUtil::UpdateAdditionalInformation(*contacts_record_ptr, &out);
if (status.IsError()) return status;
return PlatformResult(ErrorCode::NO_ERROR);
to_update, JsonCast<JsonObject>(item));
if (status.IsError()) return status;
JsonObject out_object;
- status = ContactUtil::UpdateAdditionalInformation(x, &out_object);
+ status = ContactUtil::UpdateAdditionalInformation(*x, &out_object);
if (status.IsError()) return status;
out.push_back(JsonValue{out_object});
for (int i = 0; i < record_count; i++) {
contacts_record_h contacts_record;
- error_code =
- contacts_list_get_current_record_p(person_list, &contacts_record);
+ error_code = contacts_list_get_current_record_p(person_list, &contacts_record);
if (error_code != CONTACTS_ERROR_NONE || contacts_record == NULL) {
LoggerW("Failed group record (ret:%d)", error_code);
continue;
}
- int id_value = 0;
- error_code = contacts_record_get_int(contacts_record, _contacts_person.id,
- &id_value);
-
- status =
- ContactUtil::ErrorChecker(error_code, "Failed contacts_record_get_int");
- if (status.IsError()) return status;
+ JsonObject obj;
+ status = ContactUtil::ImportPersonFromContactsRecord(contacts_record, &obj);
+ if (status.IsError()) {
+ return status;
+ }
- out.push_back(JsonValue(static_cast<double>(id_value)));
+ out.push_back(JsonValue(obj));
contacts_list_next(person_list);
}
continue;
}
- int id_value = 0;
- error_code = contacts_record_get_int(contacts_record, _contacts_person_usage.person_id,
- &id_value);
-
- status =
- ContactUtil::ErrorChecker(error_code, "Failed contacts_record_get_int");
- if (status.IsError()) return status;
+ JsonObject obj;
+ status = ContactUtil::ImportPersonFromContactsRecord(contacts_record, &obj);
+ if (status.IsError()) {
+ return status;
+ }
- out.push_back(JsonValue(static_cast<double>(id_value)));
+ out.push_back(JsonValue(obj));
contacts_list_next(person_list);
}
continue;
}
- int id_value = 0;
- error_code = contacts_record_get_int(record, _contacts_contact.id, &id_value);
- status = ContactUtil::ErrorChecker(error_code, "Failed contacts_record_get_int");
- if (!status) return status;
+ JsonObject obj;
+
+ status = ContactUtil::ImportContactFromContactsRecord(record, &obj);
+ if (!status) {
+ return status;
+ }
+
+ status = ContactUtil::UpdateAdditionalInformation(record, &obj);
+ if (!status) {
+ return status;
+ }
- out->push_back(picojson::value(static_cast<double>(id_value)));
+ out->push_back(picojson::value(obj));
error_code = contacts_list_next(list);
for (auto iter = begin; iter != end; ++iter) {
const auto id = *iter;
- if (is_addressbook_id_is_set_) {
- contacts_record_h record = nullptr;
- int error_code = contacts_db_get_record(_contacts_contact._uri, id, &record);
- if (CONTACTS_ERROR_NONE != error_code) {
- LoggerE("Failed to get contact with ID: %d", id);
- continue;
- }
+ contacts_record_h record = nullptr;
+ int error_code = contacts_db_get_record(_contacts_contact._uri, id, &record);
+ if (CONTACTS_ERROR_NONE != error_code) {
+ LoggerE("Failed to get contact with ID: %d", id);
+ continue;
+ }
- ContactUtil::ContactsRecordHPtr record_ptr(&record,
- ContactUtil::ContactsDeleter);
+ ContactUtil::ContactsRecordHPtr record_ptr(&record,
+ ContactUtil::ContactsDeleter);
+
+ if (is_addressbook_id_is_set_) {
int address_book_id = 0;
error_code = contacts_record_get_int(record,
}
}
- out->push_back(picojson::value(static_cast<double>(id)));
+ JsonObject obj;
+
+ PlatformResult status = ContactUtil::ImportContactFromContactsRecord(record, &obj);
+ if (!status) {
+ return status;
+ }
+
+ status = ContactUtil::UpdateAdditionalInformation(*record_ptr, &obj);
+ if (!status) {
+ return status;
+ }
+
+ out->push_back(picojson::value(obj));
}
return PlatformResult(ErrorCode::NO_ERROR);
}
PlatformResult UpdateAdditionalInformation(
- const ContactsRecordHPtr& contacts_record_ptr, JsonObject* out_ptr) {
+ const contacts_record_h contacts_record, JsonObject* out_ptr) {
JsonObject& out = *out_ptr;
int int_value = -1;
PlatformResult status = ContactUtil::GetIntFromRecord(
- *contacts_record_ptr, _contacts_contact.person_id, &int_value);
+ contacts_record, _contacts_contact.person_id, &int_value);
if (status.IsError()) {
LoggerE("Error: %s", status.message().c_str());
return status;
out.insert(std::make_pair("personId", JsonValue{std::to_string(int_value)}));
status = ContactUtil::GetIntFromRecord(
- *contacts_record_ptr, _contacts_contact.address_book_id, &int_value);
+ contacts_record, _contacts_contact.address_book_id, &int_value);
if (status.IsError()) {
LoggerE("Error: %s", status.message().c_str());
return status;
out.insert(
std::make_pair("addressBookId", JsonValue{std::to_string(int_value)}));
status = ContactUtil::GetIntFromRecord(
- *contacts_record_ptr, _contacts_contact.changed_time, &int_value);
+ contacts_record, _contacts_contact.changed_time, &int_value);
if (status.IsError()) {
LoggerE("Error: %s", status.message().c_str());
return status;
std::make_pair("lastUpdated", JsonValue{static_cast<double>(int_value)}));
bool bool_value = false;
status = ContactUtil::GetBoolFromRecord(
- *contacts_record_ptr, _contacts_contact.is_favorite, &bool_value);
+ contacts_record, _contacts_contact.is_favorite, &bool_value);
if (status.IsError()) {
LoggerE("Error: %s", status.message().c_str());
return status;
int *child_count);
common::PlatformResult UpdateAdditionalInformation(
- const ContactsRecordHPtr &contacts_record_ptr, JsonObject *out);
+ const contacts_record_h contacts_record, JsonObject *out);
common::PlatformResult ImportContactNameFromContactsRecord(
contacts_record_h contacts_record, JsonObject *out, bool *is_contact_name);
}
};
-
var AddressBook = function(accountId, name) {
validator_.isConstructorCall(this, AddressBook);
});
};
+function _prepareContact(data) {
+ return _editGuard.run(function() {
+ var contact = new Contact(data);
+
+ if (contact.name instanceof ContactName) {
+ contact.name.displayName = '';
+ if (type_.isString(contact.name.firstName)) {
+ contact.name.displayName = contact.name.firstName;
+ if (type_.isString(contact.name.lastName)) {
+ contact.name.displayName += ' ' + contact.name.lastName;
+ }
+ } else if (type_.isArray(contact.name.nicknames) &&
+ type_.isString(contact.name.nicknames[0])) {
+ contact.name.displayName = contact.name.nicknames[0];
+ } else if (type_.isString(contact.name.nicknames)) {
+ contact.name.displayName = contact.name.nicknames;
+ }
+ }
+ return contact;
+ });
+}
+
AddressBook.prototype.get = function() {
var args = validator_.validateArgs(arguments, [{
name: 'id',
throw native_.getErrorObject(result);
}
- return _editGuard.run(function() {
- var contact = new Contact(native_.getResultObject(result));
-
- if (contact.name instanceof ContactName) {
- contact.name.displayName = '';
- if (type_.isString(contact.name.firstName)) {
- contact.name.displayName = contact.name.firstName;
- if (type_.isString(contact.name.lastName)) {
- contact.name.displayName += ' ' + contact.name.lastName;
- }
- } else if (type_.isArray(contact.name.nicknames) &&
- type_.isString(contact.name.nicknames[0])) {
- contact.name.displayName = contact.name.nicknames[0];
- } else if (type_.isString(contact.name.nicknames)) {
- contact.name.displayName = contact.name.nicknames;
- }
- }
-
-
-
- return contact;
- });
+ return _prepareContact(native_.getResultObject(result));
};
AddressBook.prototype.add = function() {
var _contacts = [];
var _result = native_.getResultObject(result);
_result.forEach(function(data) {
- try {
- _contacts.push(self.get(String(data)));
- } catch (e) {}
+ var contact = _prepareContact(data);
+ _contacts.push(contact);
});
native_.callIfPossible(successCallback, _contacts);
var _result = native_.getResultObject(result);
var retval = [];
for (var i = 0; i < _result.length; ++i) {
- retval.push(self.get(String(_result[i])));
+ var person = _editGuard.run(function() {
+ return new Person(_result[i]);
+ });
+ retval.push(person);
}
args.successCallback(retval);
} else {
var _result = native_.getResultObject(result);
var retval = [];
for (var i = 0; i < _result.length; ++i) {
- retval.push(self.get(String(_result[i])));
+ var person = _editGuard.run(function() {
+ return new Person(_result[i]);
+ });
+ retval.push(person);
}
args.successCallback(retval);
} else {