[Project] JS code formatting 84/202884/7
authorArkadiusz Pietraszek <a.pietraszek@partner.samsung.com>
Wed, 3 Apr 2019 11:09:04 +0000 (13:09 +0200)
committerPiotr Kosko/Native/Web API (PLT) /SRPOL/Professional/삼성전자 <p.kosko@samsung.com>
Thu, 2 May 2019 10:11:16 +0000 (12:11 +0200)
All project *.js files were formatted with eslint tool, to eliminate CodingRule_Auto negative marks.
Additionally Prettier tool was used for unified line breaking rules.
In few cases, the tool did not break line for very long object definitions e.g.
HumanActivityRecorderPressureData.prototype.constructor = HumanActivityRecorderPressureData;

in such cases, line was broken manually and flag // prettier-ignore was added to ignore next node.

Change-Id: I537435c652abad22364421fc4c5ebddd411defbf

62 files changed:
src/account/account_api.js
src/alarm/alarm_api.js
src/application/application_api.js
src/archive/archive_api.js
src/badge/badge_api.js
src/bluetooth/bluetooth_api.js
src/bookmark/bookmark_api.js
src/calendar/js/calendar.js
src/calendar/js/calendar_alarm.js
src/calendar/js/calendar_attendee.js
src/calendar/js/calendar_item.js
src/calendar/js/calendar_manager.js
src/calendar/js/calendar_recurrence_rule.js
src/calendar/js/common.js
src/callhistory/callhistory_api.js
src/contact/js/address_book.js
src/contact/js/common.js
src/contact/js/contact.js
src/contact/js/contact_data_structures.js
src/contact/js/contact_manager.js
src/contact/js/person.js
src/content/js/common.js
src/content/js/datatypes.js
src/content/js/manager.js
src/content/js/playlist.js
src/datacontrol/datacontrol_api.js
src/download/download_api.js
src/exif/exif_api.js
src/feedback/feedback_api.js
src/filesystem/js/base64.js
src/filesystem/js/common.js
src/filesystem/js/file.js
src/filesystem/js/file_stream.js
src/filesystem/js/file_system_manager.js
src/humanactivitymonitor/humanactivitymonitor_api.js
src/inputdevice/inputdevice_api.js
src/iotcon/iotcon_api.js
src/keymanager/keymanager_api.js
src/mediacontroller/mediacontroller_api.js
src/mediakey/mediakey_api.js
src/messageport/messageport_api.js
src/messaging/messaging_api.js
src/networkbearerselection/networkbearerselection_api.js
src/nfc/nfc_api.js
src/notification/notification_api.js
src/package/package_api.js
src/playerutil/playerutil_api.js
src/power/power_api.js
src/preference/preference_api.js
src/push/push_api.js
src/radio/radio_api.js
src/secureelement/secureelement_api.js
src/sensor/sensor_api.js
src/sound/sound_api.js
src/systeminfo/systeminfo_api.js
src/systemsetting/systemsetting_api.js
src/time/time_api.js
src/tizen/tizen_api.js
src/tvinputdevice/tvinputdevice_api.js
src/utils/utils_api.js
src/websetting/websetting_api.js
src/widgetservice/widgetservice_api.js

index 3f9a31b90837027d26af9d1bf28b7cdddb1f492c..5c7c8832dc6f86717ab197cce79bb77e79af2fee 100755 (executable)
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
+
 var validator_ = xwalk.utils.validator;
 var types_ = validator_.Types;
 var T_ = xwalk.utils.type;
 var native_ = new xwalk.utils.NativeManager(extension);
 var privUtils_ = xwalk.utils;
 
-
 function InternalValues_(data) {
     if (!(this instanceof InternalValues_)) {
         return new InternalValues_(data);
     }
-    for(var key in data) {
+    for (var key in data) {
         if (data.hasOwnProperty(key)) {
             this[key] = data[key];
         }
     }
 }
 
-
 function AccountProvider(data) {
     var internal_ = [];
     if (data) {
@@ -41,119 +39,166 @@ function AccountProvider(data) {
     Object.freeze(internal_);
 
     Object.defineProperties(this, {
-        applicationId:              { enumerable: true, writable: false, value: data.applicationId },
-        displayName:                { enumerable: true, writable: false, value: data.displayName },
-        iconUri:                    { enumerable: true, writable: false, value: data.iconUri },
-        smallIconUri:               { enumerable: true, writable: false, value: data.smallIconUri },
-        capabilities:               { enumerable: true,
-                                      set: function() {},
-                                      get: function() { return internal_; }
-                                    },
-        isMultipleAccountSupported: { enumerable: true, writable: false, value: data.isMultipleAccountSupported },
+        applicationId: {
+            enumerable: true,
+            writable: false,
+            value: data.applicationId
+        },
+        displayName: {
+            enumerable: true,
+            writable: false,
+            value: data.displayName
+        },
+        iconUri: {
+            enumerable: true,
+            writable: false,
+            value: data.iconUri
+        },
+        smallIconUri: {
+            enumerable: true,
+            writable: false,
+            value: data.smallIconUri
+        },
+        capabilities: {
+            enumerable: true,
+            set: function() {},
+            get: function() {
+                return internal_;
+            }
+        },
+        isMultipleAccountSupported: {
+            enumerable: true,
+            writable: false,
+            value: data.isMultipleAccountSupported
+        }
     });
 }
 
-
 function Account() {
     validator_.isConstructorCall(this, tizen.Account);
     var args = validator_.validateArgs(arguments, [
-        { name: 'provider', type: types_.PLATFORM_OBJECT, values: AccountProvider },
-        { name: 'accountInitDict', type: types_.DICTIONARY, optional: true, nullable: true }
+        {
+            name: 'provider',
+            type: types_.PLATFORM_OBJECT,
+            values: AccountProvider
+        },
+        {
+            name: 'accountInitDict',
+            type: types_.DICTIONARY,
+            optional: true,
+            nullable: true
+        }
     ]);
 
     var _internal = { id: null };
 
     Object.defineProperties(this, {
-        id:         { enumerable: true,
-                      set: function (value) { if (value instanceof InternalValues_) _internal.id = value.id; },
-                      get: function () { return _internal.id; }
+        id: {
+            enumerable: true,
+            set: function(value) {
+                if (value instanceof InternalValues_) _internal.id = value.id;
+            },
+            get: function() {
+                return _internal.id;
+            }
+        },
+        userName: {
+            enumerable: true,
+            writable: true,
+            value: args.accountInitDict ? args.accountInitDict.userName : null
         },
-        userName:   { enumerable: true, writable: true,
-                      value: (args.accountInitDict ? args.accountInitDict.userName : null) },
-        iconUri:    { enumerable: true, writable: true,
-                      value: (args.accountInitDict ? args.accountInitDict.iconUri : null) },
-        provider:   { enumerable: true, writable: false, value: args.provider }
+        iconUri: {
+            enumerable: true,
+            writable: true,
+            value: args.accountInitDict ? args.accountInitDict.iconUri : null
+        },
+        provider: { enumerable: true, writable: false, value: args.provider }
     });
 }
 
-
 Account.prototype.setExtendedData = function() {
     var args = validator_.validateArgs(arguments, [
         { name: 'key', type: types_.STRING },
         { name: 'value', type: types_.STRING }
     ]);
 
-    if( this.id === null ) {
-        throw new WebAPIException( WebAPIException.NOT_FOUND_ERR, "Account ID was not initialized." );
+    if (this.id === null) {
+        throw new WebAPIException(
+            WebAPIException.NOT_FOUND_ERR,
+            'Account ID was not initialized.'
+        );
     }
 
-    var result = native_.callSync('Account_setExtendedData',
-                                  {
-                                      accountId: this.id,
-                                      key: args.key,
-                                      value: args.value
-                                  }
-    );
+    var result = native_.callSync('Account_setExtendedData', {
+        accountId: this.id,
+        key: args.key,
+        value: args.value
+    });
 
     if (native_.isFailure(result)) {
         throw native_.getErrorObject(result);
     }
 };
 
-
 Account.prototype.getExtendedData = function() {
     if (T_.isFunction(arguments[0]) || arguments.length > 1) {
         var args = validator_.validateArgs(arguments, [
             {
-                name : 'successCallback',
-                type : types_.FUNCTION
+                name: 'successCallback',
+                type: types_.FUNCTION
             },
             {
-                name : 'errorCallback',
-                type : types_.FUNCTION,
-                optional : true,
-                nullable : true
+                name: 'errorCallback',
+                type: types_.FUNCTION,
+                optional: true,
+                nullable: true
             }
         ]);
 
-        if( this.id === null ) {
-            throw new WebAPIException( WebAPIException.NOT_FOUND_ERR, "Account ID was not initialized." );
+        if (this.id === null) {
+            throw new WebAPIException(
+                WebAPIException.NOT_FOUND_ERR,
+                'Account ID was not initialized.'
+            );
         }
 
-        var result = native_.call('Account_getExtendedData', { accountId: this.id },
+        var result = native_.call(
+            'Account_getExtendedData',
+            { accountId: this.id },
             function(result) {
-              if (native_.isFailure(result)) {
-                if(!T_.isNullOrUndefined(args.errorCallback)) {
-                  args.errorCallback(native_.getErrorObject(result));
-                }
-              } else {
-                var data = native_.getResultObject(result);
-                for (var i = 0; i < data.length; ++i) {
-                  Object.freeze(data[i]);
+                if (native_.isFailure(result)) {
+                    if (!T_.isNullOrUndefined(args.errorCallback)) {
+                        args.errorCallback(native_.getErrorObject(result));
+                    }
+                } else {
+                    var data = native_.getResultObject(result);
+                    for (var i = 0; i < data.length; ++i) {
+                        Object.freeze(data[i]);
+                    }
+                    args.successCallback(native_.getResultObject(result));
                 }
-                args.successCallback(native_.getResultObject(result));
-              }
             }
         );
 
         if (native_.isFailure(result)) {
-          throw native_.getErrorObject(result);
+            throw native_.getErrorObject(result);
         }
     } else {
         var args = validator_.validateArgs(arguments, [
             { name: 'key', type: types_.STRING }
         ]);
 
-        if( this.id === null ) {
-            throw new WebAPIException( WebAPIException.NOT_FOUND_ERR, "Account ID was not initialized." );
+        if (this.id === null) {
+            throw new WebAPIException(
+                WebAPIException.NOT_FOUND_ERR,
+                'Account ID was not initialized.'
+            );
         }
 
-        var result = native_.callSync('Account_getExtendedDataSync',
-                                      {
-                                           accountId: this.id,
-                                           key: args.key
-                                      }
-        );
+        var result = native_.callSync('Account_getExtendedDataSync', {
+            accountId: this.id,
+            key: args.key
+        });
         if (native_.isFailure(result)) {
             throw native_.getErrorObject(result);
         }
@@ -161,7 +206,6 @@ Account.prototype.getExtendedData = function() {
     }
 };
 
-
 function AccountFromResult(result) {
     var provider = new AccountProvider(result.provider);
     var account = new Account(provider, result.accountInitDict);
@@ -169,34 +213,29 @@ function AccountFromResult(result) {
     return account;
 }
 
-
 function AccountManager() {}
 
-
 AccountManager.prototype.add = function() {
     var args = validator_.validateArgs(arguments, [
         { name: 'account', type: types_.PLATFORM_OBJECT, values: Account }
     ]);
 
-    var result = native_.callSync('AccountManager_add',
-                                  {
-                                      userName: args.account.userName,
-                                      iconUri: args.account.iconUri,
-                                      applicationId: args.account.provider.applicationId
-                                  }
-    );
+    var result = native_.callSync('AccountManager_add', {
+        userName: args.account.userName,
+        iconUri: args.account.iconUri,
+        applicationId: args.account.provider.applicationId
+    });
 
     if (native_.isFailure(result)) {
         throw native_.getErrorObject(result);
     } else {
         args.account.id = new InternalValues_({ id: native_.getResultObject(result) });
     }
-}
-
+};
 
 AccountManager.prototype.remove = function() {
     var args = validator_.validateArgs(arguments, [
-        { name: 'accountId', type: types_.UNSIGNED_LONG}
+        { name: 'accountId', type: types_.UNSIGNED_LONG }
     ]);
 
     var result = native_.callSync('AccountManager_remove', { accountId: args.accountId });
@@ -204,37 +243,32 @@ AccountManager.prototype.remove = function() {
     if (native_.isFailure(result)) {
         throw native_.getErrorObject(result);
     }
-}
-
+};
 
 AccountManager.prototype.update = function() {
     var args = validator_.validateArgs(arguments, [
         { name: 'account', type: types_.PLATFORM_OBJECT, values: Account }
     ]);
 
-    var result = native_.callSync('AccountManager_update',
-                                  {
-                                      accountId:  args.account.id,
-                                      userName:   args.account.userName,
-                                      iconUri:    args.account.iconUri
-                                  }
-    );
+    var result = native_.callSync('AccountManager_update', {
+        accountId: args.account.id,
+        userName: args.account.userName,
+        iconUri: args.account.iconUri
+    });
 
     if (native_.isFailure(result)) {
         throw native_.getErrorObject(result);
     }
-}
-
+};
 
 AccountManager.prototype.getAccount = function() {
     var args = validator_.validateArgs(arguments, [
         { name: 'accountId', type: types_.UNSIGNED_LONG }
     ]);
 
-    var result = native_.callSync(
-                        'AccountManager_getAccount',
-                        { accountId: args.accountId }
-    );
+    var result = native_.callSync('AccountManager_getAccount', {
+        accountId: args.accountId
+    });
 
     if (native_.isFailure(result)) {
         throw native_.getErrorObject(result);
@@ -247,23 +281,38 @@ AccountManager.prototype.getAccount = function() {
     } else {
         return null;
     }
-}
-
+};
 
 AccountManager.prototype.getAccounts = function() {
     var args = validator_.validateArgs(arguments, [
-        { name: 'successCallback', type: types_.FUNCTION, optional: false, nullable: false },
-        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true },
-        { name: 'applicationId', type: types_.STRING, optional: true, nullable: true }
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: false,
+            nullable: false
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'applicationId',
+            type: types_.STRING,
+            optional: true,
+            nullable: true
+        }
     ]);
 
-   var result = native_.call('AccountManager_getAccounts',
+    var result = native_.call(
+        'AccountManager_getAccounts',
         {
             applicationId: args.applicationId
         },
         function(result) {
             if (native_.isFailure(result)) {
-                if(!T_.isNullOrUndefined(args.errorCallback)) {
+                if (!T_.isNullOrUndefined(args.errorCallback)) {
                     args.errorCallback(native_.getErrorObject(result));
                 }
             } else {
@@ -277,21 +326,19 @@ AccountManager.prototype.getAccounts = function() {
         }
     );
 
-   if (native_.isFailure(result)) {
-     throw native_.getErrorObject(result);
-   }
-}
-
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+};
 
 AccountManager.prototype.getProvider = function() {
     var args = validator_.validateArgs(arguments, [
         { name: 'applicationId', type: types_.STRING }
     ]);
 
-    var result = native_.callSync(
-                        'AccountManager_getProvider',
-                        { applicationId: args.applicationId }
-    );
+    var result = native_.callSync('AccountManager_getProvider', {
+        applicationId: args.applicationId
+    });
 
     if (native_.isFailure(result)) {
         throw native_.getErrorObject(result);
@@ -306,21 +353,36 @@ AccountManager.prototype.getProvider = function() {
     }
 };
 
-
 AccountManager.prototype.getProviders = function() {
     var args = validator_.validateArgs(arguments, [
-        { name: 'successCallback', type: types_.FUNCTION, optional: false, nullable: false },
-        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true },
-        { name: 'capability', type: types_.STRING, optional: true, nullable: true }
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: false,
+            nullable: false
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'capability',
+            type: types_.STRING,
+            optional: true,
+            nullable: true
+        }
     ]);
 
-    var result = native_.call( 'AccountManager_getProviders',
+    var result = native_.call(
+        'AccountManager_getProviders',
         {
             capability: args.capability
         },
         function(result) {
             if (native_.isFailure(result)) {
-                if(!T_.isNullOrUndefined(args.errorCallback)) {
+                if (!T_.isNullOrUndefined(args.errorCallback)) {
                     args.errorCallback(native_.getErrorObject(result));
                 }
             } else {
@@ -335,35 +397,33 @@ AccountManager.prototype.getProviders = function() {
     );
 
     if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+        throw native_.getErrorObject(result);
     }
-}
-
+};
 
 var ACCOUNT_LISTENER = 'ACCOUNT_CHANGED';
 
-
 function AccountListeners() {
     var that = this;
-    this.appCallback = function (event) {
+    this.appCallback = function(event) {
         if (!T_.isEmptyObject(that.instances)) {
             var param;
             switch (event.action) {
-                case 'onadded':
-                    param = AccountFromResult(native_.getResultObject(event));
-                    break;
+            case 'onadded':
+                param = AccountFromResult(native_.getResultObject(event));
+                break;
 
-                case 'onremoved':
-                    param = native_.getResultObject(event);
-                    break;
+            case 'onremoved':
+                param = native_.getResultObject(event);
+                break;
 
-                case 'onupdated':
-                    param = AccountFromResult(native_.getResultObject(event));
-                    break;
+            case 'onupdated':
+                param = AccountFromResult(native_.getResultObject(event));
+                break;
 
-                default:
-                    privUtils_.log('Unknown event: ' + event.action);
-                    break;
+            default:
+                privUtils_.log('Unknown event: ' + event.action);
+                break;
             }
 
             var callback;
@@ -379,11 +439,9 @@ function AccountListeners() {
     };
 }
 
-
 AccountListeners.prototype.instances = {};
 AccountListeners.prototype.nextID = 0;
 
-
 AccountListeners.prototype.addListener = function(callback) {
     var id = ++this.nextID;
 
@@ -400,7 +458,6 @@ AccountListeners.prototype.addListener = function(callback) {
     return id;
 };
 
-
 AccountListeners.prototype.removeListener = function(accountListenerId) {
     delete this.instances[accountListenerId];
     if (T_.isEmptyObject(this.instances)) {
@@ -414,19 +471,20 @@ AccountListeners.prototype.removeListener = function(accountListenerId) {
     }
 };
 
-
 var _accountListeners = new AccountListeners();
 
-
 AccountManager.prototype.addAccountListener = function() {
     var args = validator_.validateArgs(arguments, [
-        { name: 'callback', type: types_.LISTENER, values: ['onadded', 'onremoved', 'onupdated'] }
+        {
+            name: 'callback',
+            type: types_.LISTENER,
+            values: ['onadded', 'onremoved', 'onupdated']
+        }
     ]);
 
     //checking privilege is done in C++ layer through _accountListeners.addListener()
     return _accountListeners.addListener(args.callback);
-}
-
+};
 
 AccountManager.prototype.removeAccountListener = function() {
     var args = validator_.validateArgs(arguments, [
@@ -435,7 +493,7 @@ AccountManager.prototype.removeAccountListener = function() {
 
     //checking privilege is done in C++ layer through _accountListeners.removeListener()
     _accountListeners.removeListener(args.accountListenerId);
-}
+};
 
 tizen.Account = Account;
 
index 47725dc998a736e31a8510fc44a1436c125c2538..e7692a4570efa98904d95cfa76467d8838d45691 100755 (executable)
@@ -21,12 +21,12 @@ var privUtils_ = xwalk.utils;
 
 var native = new xwalk.utils.NativeManager(extension);
 
-var AlarmManager = function () {
+var AlarmManager = function() {
     Object.defineProperties(this, {
-        PERIOD_MINUTE:  { value: 60, writable: false, enumerable: true},
-        PERIOD_HOUR:    { value: 3600, writable: false, enumerable: true},
-        PERIOD_DAY:     { value: 86400, writable: false, enumerable: true},
-        PERIOD_WEEK:    { value: 604800, writable: false, enumerable: true},
+        PERIOD_MINUTE: { value: 60, writable: false, enumerable: true },
+        PERIOD_HOUR: { value: 3600, writable: false, enumerable: true },
+        PERIOD_DAY: { value: 86400, writable: false, enumerable: true },
+        PERIOD_WEEK: { value: 604800, writable: false, enumerable: true }
     });
 };
 
@@ -49,7 +49,7 @@ function InternalData_(data) {
         return new InternalData_(data);
     }
 
-    for(var key in data) {
+    for (var key in data) {
         if (data.hasOwnProperty(key)) {
             this[key] = data[key];
         }
@@ -59,7 +59,7 @@ function InternalData_(data) {
 function UpdateInternalData_(internal, data) {
     var values = InternalData_(data);
 
-    for(var key in data) {
+    for (var key in data) {
         if (values.hasOwnProperty(key) && internal.hasOwnProperty(key)) {
             internal[key] = values;
         }
@@ -67,27 +67,28 @@ function UpdateInternalData_(internal, data) {
 }
 
 //class AlarmManager ////////////////////////////////////////////////////
-AlarmManager.prototype.add = function () {
+AlarmManager.prototype.add = function() {
     var args = AV.validateMethod(arguments, [
         {
-            name : 'alarm',
-            type : AV.Types.PLATFORM_OBJECT,
-            values : [tizen.AlarmRelative, tizen.AlarmAbsolute]
+            name: 'alarm',
+            type: AV.Types.PLATFORM_OBJECT,
+            values: [tizen.AlarmRelative, tizen.AlarmAbsolute]
         },
         {
-            name : 'applicationId',
-            type : AV.Types.STRING,
+            name: 'applicationId',
+            type: AV.Types.STRING
         },
         {
-            name : 'appControl',
-            type : AV.Types.PLATFORM_OBJECT,
-            values : tizen.ApplicationControl,
-            optional : true,
-            nullable : true
-        },
+            name: 'appControl',
+            type: AV.Types.PLATFORM_OBJECT,
+            values: tizen.ApplicationControl,
+            optional: true,
+            nullable: true
+        }
     ]);
 
-    var type = null, seconds = 0;
+    var type = null,
+        seconds = 0;
     if (args.alarm instanceof tizen.AlarmRelative) {
         type = 'AlarmRelative';
     } else if (args.alarm instanceof tizen.AlarmAbsolute) {
@@ -116,22 +117,22 @@ AlarmManager.prototype.add = function () {
     }
 };
 
-AlarmManager.prototype.remove = function () {
+AlarmManager.prototype.remove = function() {
     var args = AV.validateMethod(arguments, [
         {
-            name : 'id',
-            type : AV.Types.STRING,
+            name: 'id',
+            type: AV.Types.STRING
         }
     ]);
 
-    var result = native.callSync('AlarmManager_remove', {id: Number(args.id)});
+    var result = native.callSync('AlarmManager_remove', { id: Number(args.id) });
 
     if (native.isFailure(result)) {
         throw native.getErrorObject(result);
     }
 };
 
-AlarmManager.prototype.removeAll = function () {
+AlarmManager.prototype.removeAll = function() {
     var result = native.callSync('AlarmManager_removeAll', {});
 
     if (native.isFailure(result)) {
@@ -139,32 +140,42 @@ AlarmManager.prototype.removeAll = function () {
     }
 };
 
-AlarmManager.prototype.get = function () {
+AlarmManager.prototype.get = function() {
     var args = AV.validateMethod(arguments, [
         {
-            name : 'id',
-            type : AV.Types.STRING,
+            name: 'id',
+            type: AV.Types.STRING
         }
     ]);
 
-    var result = native.callSync('AlarmManager_get', {id: Number(args.id)});
+    var result = native.callSync('AlarmManager_get', { id: Number(args.id) });
 
     if (native.isFailure(result)) {
         throw native.getErrorObject(result);
     } else {
         result = native.getResultObject(result);
         if ('AlarmRelative' === result.type) {
-            return new tizen.AlarmRelative(result.delay, result.period, InternalData_(result));
+            return new tizen.AlarmRelative(
+                result.delay,
+                result.period,
+                InternalData_(result)
+            );
         } else {
-            var date = new Date(result.year, result.month, result.day,
-                    result.hour, result.min, result.sec);
+            var date = new Date(
+                result.year,
+                result.month,
+                result.day,
+                result.hour,
+                result.min,
+                result.sec
+            );
 
             return new tizen.AlarmAbsolute(date, result.second, InternalData_(result));
         }
     }
 };
 
-AlarmManager.prototype.getAll = function () {
+AlarmManager.prototype.getAll = function() {
     var result = native.callSync('AlarmManager_getAll', {});
 
     if (native.isFailure(result)) {
@@ -172,12 +183,11 @@ AlarmManager.prototype.getAll = function () {
     } else {
         var data = native.getResultObject(result);
         var md = [];
-        data.forEach(function (i) {
-            if ('AlarmRelative'=== i.type) {
+        data.forEach(function(i) {
+            if ('AlarmRelative' === i.type) {
                 md.push(new tizen.AlarmRelative(i.delay, i.period, InternalData_(i)));
             } else {
-                var date = new Date(i.year, i.month, i.day,
-                        i.hour, i.min, i.sec);
+                var date = new Date(i.year, i.month, i.day, i.hour, i.min, i.sec);
                 md.push(new tizen.AlarmAbsolute(date, i.second, InternalData_(i)));
             }
         });
@@ -194,13 +204,15 @@ function Alarm(id) {
     }
 
     var _internal = {
-        'id' : m_id
+        id: m_id
     };
 
     Object.defineProperties(this, {
         id: {
-            get: function () {return _internal.id;},
-            set: function (value) {
+            get: function() {
+                return _internal.id;
+            },
+            set: function(value) {
                 if (value instanceof InternalData_) {
                     _internal.id = value.id;
                 }
@@ -219,7 +231,7 @@ tizen.AlarmRelative = function(delay, period, internal) {
     var m_delay = Converter.toLong(delay);
 
     if (arguments.length >= 2) {
-        if(!T.isNullOrUndefined(period)){
+        if (!T.isNullOrUndefined(period)) {
             m_period = Converter.toLong(period, true);
         }
     }
@@ -256,8 +268,10 @@ tizen.AlarmRelative.prototype = new Alarm();
 
 tizen.AlarmRelative.prototype.constructor = tizen.AlarmRelative;
 
-tizen.AlarmRelative.prototype.getRemainingSeconds = function () {
-    var result = native.callSync('AlarmRelative_getRemainingSeconds', {id: Number(this.id)});
+tizen.AlarmRelative.prototype.getRemainingSeconds = function() {
+    var result = native.callSync('AlarmRelative_getRemainingSeconds', {
+        id: Number(this.id)
+    });
 
     if (native.isFailure(result)) {
         throw native.getErrorObject(result);
@@ -292,15 +306,17 @@ function makeDateConst(obj) {
 tizen.AlarmAbsolute = function(date, second, internal) {
     AV.validateConstructorCall(this, tizen.AlarmAbsolute);
 
-    var m_period = null, m_daysOfWeek = [], m_date;
+    var m_period = null,
+        m_daysOfWeek = [],
+        m_date;
 
     if (T.isDate(date)) {
         m_date = date;
         if (arguments.length >= 2) {
-            if(T.isArray(second)){
+            if (T.isArray(second)) {
                 m_daysOfWeek = second;
             } else {
-                if(!T.isNullOrUndefined(second)){
+                if (!T.isNullOrUndefined(second)) {
                     m_period = Converter.toLong(second);
                 }
             }
@@ -352,8 +368,10 @@ tizen.AlarmAbsolute.prototype = new Alarm();
 
 tizen.AlarmAbsolute.prototype.constructor = tizen.AlarmAbsolute;
 
-tizen.AlarmAbsolute.prototype.getNextScheduledDate = function () {
-    var result = native.callSync('AlarmAbsolute_getNextScheduledDate', {id: Number(this.id)});
+tizen.AlarmAbsolute.prototype.getNextScheduledDate = function() {
+    var result = native.callSync('AlarmAbsolute_getNextScheduledDate', {
+        id: Number(this.id)
+    });
 
     if (native.isFailure(result)) {
         throw native.getErrorObject(result);
index b668dbbb8e331b411745608f3dceb9555a39739d..6613b4b5d36f060573be8b7fdeb9a492f079de3f 100755 (executable)
@@ -22,8 +22,8 @@ var privUtils_ = xwalk.utils;
 var native = new xwalk.utils.NativeManager(extension);
 
 var ApplicationControlLaunchMode = {
-  SINGLE: 'SINGLE',
-  GROUP: 'GROUP'
+    SINGLE: 'SINGLE',
+    GROUP: 'GROUP'
 };
 
 //  TODO: Please uncomment below lines when system events is ready
@@ -59,1068 +59,1096 @@ var ApplicationControlLaunchMode = {
 
 // helper functions ////////////////////////////////////////////////////
 function _createApplicationControlData(object) {
-  var ret;
-  if (!T.isNullOrUndefined(object)) {
-    ret = new tizen.ApplicationControlData(object.key, object.value);
-  }
-  return ret;
+    var ret;
+    if (!T.isNullOrUndefined(object)) {
+        ret = new tizen.ApplicationControlData(object.key, object.value);
+    }
+    return ret;
 }
 
 function _createApplicationControlDataArray(object) {
-  var ret = [];
-  if (!T.isNullOrUndefined(object) && T.isArray(object)) {
-    object.forEach(function (o) {
-      var data = _createApplicationControlData(o);
-      if (!T.isNullOrUndefined(data)) {
-        ret.push(data);
-      }
-    });
-  }
-  return ret;
+    var ret = [];
+    if (!T.isNullOrUndefined(object) && T.isArray(object)) {
+        object.forEach(function(o) {
+            var data = _createApplicationControlData(o);
+            if (!T.isNullOrUndefined(data)) {
+                ret.push(data);
+            }
+        });
+    }
+    return ret;
 }
 
 function _createApplicationControl(object) {
-  var ret;
-  if (!T.isNullOrUndefined(object)) {
-    ret = new tizen.ApplicationControl(object.operation,
-        object.uri,
-        object.mime,
-        object.category,
-        _createApplicationControlDataArray(object.data));
-  }
-  return ret;
+    var ret;
+    if (!T.isNullOrUndefined(object)) {
+        ret = new tizen.ApplicationControl(
+            object.operation,
+            object.uri,
+            object.mime,
+            object.category,
+            _createApplicationControlDataArray(object.data)
+        );
+    }
+    return ret;
 }
 
 function _createApplicationInformationArray(object) {
-  var ret = [];
-  if (!T.isNullOrUndefined(object) && T.isArray(object)) {
-    object.forEach(function (o) {
-      var data = new ApplicationInformation(o);
-      if (!T.isNullOrUndefined(data)) {
-        ret.push(data);
-      }
-    });
-  }
-  return ret;
+    var ret = [];
+    if (!T.isNullOrUndefined(object) && T.isArray(object)) {
+        object.forEach(function(o) {
+            var data = new ApplicationInformation(o);
+            if (!T.isNullOrUndefined(data)) {
+                ret.push(data);
+            }
+        });
+    }
+    return ret;
 }
 
 // class ApplicationManager ////////////////////////////////////////////////////
-var ApplicationManager = function() {
-};
+var ApplicationManager = function() {};
 
 ApplicationManager.prototype.getCurrentApplication = function() {
-  var result = native.callSync('ApplicationManager_getCurrentApplication', {});
+    var result = native.callSync('ApplicationManager_getCurrentApplication', {});
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    return new Application(native.getResultObject(result));
-  }
-};
-
-ApplicationManager.prototype.kill = function() {
-  var args = AV.validateMethod(arguments, [
-      {
-        name : 'contextId',
-        type : AV.Types.STRING
-      },
-      {
-        name : 'successCallback',
-        type : AV.Types.FUNCTION,
-        optional : true,
-        nullable : true
-      },
-      {
-        name : 'errorCallback',
-        type : AV.Types.FUNCTION,
-        optional : true,
-        nullable : true
-      }
-  ]);
-
-  var callback = function(result) {
     if (native.isFailure(result)) {
-      native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        throw native.getErrorObject(result);
     } else {
-      native.callIfPossible(args.successCallback);
+        return new Application(native.getResultObject(result));
     }
-  };
+};
+
+ApplicationManager.prototype.kill = function() {
+    var args = AV.validateMethod(arguments, [
+        {
+            name: 'contextId',
+            type: AV.Types.STRING
+        },
+        {
+            name: 'successCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
 
-  var result = native.call('ApplicationManager_kill', {contextId: args.contextId}, callback);
+    var callback = function(result) {
+        if (native.isFailure(result)) {
+            native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        } else {
+            native.callIfPossible(args.successCallback);
+        }
+    };
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
-};
+    var result = native.call(
+        'ApplicationManager_kill',
+        { contextId: args.contextId },
+        callback
+    );
 
-ApplicationManager.prototype.launch = function() {
-  var args = AV.validateMethod(arguments, [
-      {
-        name : 'id',
-        type : AV.Types.STRING
-      },
-      {
-        name : 'successCallback',
-        type : AV.Types.FUNCTION,
-        optional : true,
-        nullable : true
-      },
-      {
-        name : 'errorCallback',
-        type : AV.Types.FUNCTION,
-        optional : true,
-        nullable : true
-      }
-  ]);
-
-  var callback = function(result) {
     if (native.isFailure(result)) {
-      native.callIfPossible(args.errorCallback, native.getErrorObject(result));
-    } else {
-      native.callIfPossible(args.successCallback);
+        throw native.getErrorObject(result);
     }
-  };
+};
 
-  var result = native.call('ApplicationManager_launch', {id: args.id}, callback);
+ApplicationManager.prototype.launch = function() {
+    var args = AV.validateMethod(arguments, [
+        {
+            name: 'id',
+            type: AV.Types.STRING
+        },
+        {
+            name: 'successCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var callback = function(result) {
+        if (native.isFailure(result)) {
+            native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        } else {
+            native.callIfPossible(args.successCallback);
+        }
+    };
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
+    var result = native.call('ApplicationManager_launch', { id: args.id }, callback);
+
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    }
 };
 
 ApplicationManager.prototype.launchAppControl = function() {
-  var args = AV.validateMethod(arguments, [
-      {
-        name : 'appControl',
-        type : AV.Types.PLATFORM_OBJECT,
-        values : tizen.ApplicationControl
-      },
-      {
-        name : 'id',
-        type : AV.Types.STRING,
-        optional : true,
-        nullable : true
-      },
-      {
-        name : 'successCallback',
-        type : AV.Types.FUNCTION,
-        optional : true,
-        nullable : true
-      },
-      {
-        name : 'errorCallback',
-        type : AV.Types.FUNCTION,
-        optional : true,
-        nullable : true
-      },
-      {
-        name : 'replyCallback',
-        type : AV.Types.LISTENER,
-        values : ['onsuccess', 'onfailure'],
-        optional : true,
-        nullable : true
-      }
-  ]);
-
-  var replyCallbackId = 'ApplicationControlDataArrayReplyCallback_' + new Date().valueOf();
-  var registeredReplyCallback = function(result) {
-    if (native.isFailure(result)) {
-      native.callIfPossible(args.replyCallback.onfailure);
-    } else {
-      native.callIfPossible(args.replyCallback.onsuccess,
-          _createApplicationControlDataArray(result.data));
+    var args = AV.validateMethod(arguments, [
+        {
+            name: 'appControl',
+            type: AV.Types.PLATFORM_OBJECT,
+            values: tizen.ApplicationControl
+        },
+        {
+            name: 'id',
+            type: AV.Types.STRING,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'successCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'replyCallback',
+            type: AV.Types.LISTENER,
+            values: ['onsuccess', 'onfailure'],
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var replyCallbackId =
+        'ApplicationControlDataArrayReplyCallback_' + new Date().valueOf();
+    var registeredReplyCallback = function(result) {
+        if (native.isFailure(result)) {
+            native.callIfPossible(args.replyCallback.onfailure);
+        } else {
+            native.callIfPossible(
+                args.replyCallback.onsuccess,
+                _createApplicationControlDataArray(result.data)
+            );
+        }
+        native.removeListener(replyCallbackId, registeredReplyCallback);
+    };
+
+    var callback = function(result) {
+        if (native.isFailure(result)) {
+            native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+            native.removeListener(replyCallbackId, registeredReplyCallback);
+        } else {
+            native.callIfPossible(args.successCallback);
+        }
+    };
+
+    var callArgs = {};
+    callArgs.appControl = args.appControl;
+    if (args.has.id) {
+        callArgs.id = args.id;
     }
-    native.removeListener(replyCallbackId, registeredReplyCallback);
-  };
+    if (args.has.replyCallback && args.replyCallback) {
+        callArgs.replyCallback = replyCallbackId;
+        native.addListener(replyCallbackId, registeredReplyCallback);
+    }
+
+    var result = native.call('ApplicationManager_launchAppControl', callArgs, callback);
 
-  var callback = function(result) {
     if (native.isFailure(result)) {
-      native.callIfPossible(args.errorCallback, native.getErrorObject(result));
-      native.removeListener(replyCallbackId, registeredReplyCallback);
-    } else {
-      native.callIfPossible(args.successCallback);
+        throw native.getErrorObject(result);
     }
-  };
-
-  var callArgs = {};
-  callArgs.appControl = args.appControl;
-  if (args.has.id) {
-    callArgs.id = args.id;
-  }
-  if (args.has.replyCallback && args.replyCallback) {
-    callArgs.replyCallback = replyCallbackId;
-    native.addListener(replyCallbackId, registeredReplyCallback);
-  }
-
-  var result = native.call('ApplicationManager_launchAppControl', callArgs, callback);
-
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
 };
 
 ApplicationManager.prototype.findAppControl = function() {
-  var args = AV.validateMethod(arguments, [
-      {
-        name : 'appControl',
-        type : AV.Types.PLATFORM_OBJECT,
-        values : tizen.ApplicationControl
-      },
-      {
-        name : 'successCallback',
-        type : AV.Types.FUNCTION
-      },
-      {
-        name : 'errorCallback',
-        type : AV.Types.FUNCTION,
-        optional : true,
-        nullable : true
-      }
-  ]);
-
-  var callback = function(result) {
-    if (native.isFailure(result)) {
-      native.callIfPossible(args.errorCallback, native.getErrorObject(result));
-    } else {
-      var r = native.getResultObject(result);
-      args.successCallback(_createApplicationInformationArray(r.informationArray),
-          _createApplicationControl(r.appControl));
-    }
-  };
+    var args = AV.validateMethod(arguments, [
+        {
+            name: 'appControl',
+            type: AV.Types.PLATFORM_OBJECT,
+            values: tizen.ApplicationControl
+        },
+        {
+            name: 'successCallback',
+            type: AV.Types.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var callback = function(result) {
+        if (native.isFailure(result)) {
+            native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        } else {
+            var r = native.getResultObject(result);
+            args.successCallback(
+                _createApplicationInformationArray(r.informationArray),
+                _createApplicationControl(r.appControl)
+            );
+        }
+    };
 
-  var callArgs = {appControl: args.appControl};
-  var result = native.call('ApplicationManager_findAppControl', callArgs, callback);
+    var callArgs = { appControl: args.appControl };
+    var result = native.call('ApplicationManager_findAppControl', callArgs, callback);
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    }
 };
 
 ApplicationManager.prototype.getAppsContext = function() {
-  var args = AV.validateMethod(arguments, [
-      {
-        name : 'successCallback',
-        type : AV.Types.FUNCTION
-      },
-      {
-        name : 'errorCallback',
-        type : AV.Types.FUNCTION,
-        optional : true,
-        nullable : true
-      }
-  ]);
-
-  var callback = function(result) {
-    if (native.isFailure(result)) {
-      native.callIfPossible(args.errorCallback, native.getErrorObject(result));
-    } else {
-      var contexts = native.getResultObject(result).contexts;
-      var c = [];
-      contexts.forEach(function (i) {
-        c.push(new ApplicationContext(i));
-      });
-      args.successCallback(c);
-    }
-  };
+    var args = AV.validateMethod(arguments, [
+        {
+            name: 'successCallback',
+            type: AV.Types.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var callback = function(result) {
+        if (native.isFailure(result)) {
+            native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        } else {
+            var contexts = native.getResultObject(result).contexts;
+            var c = [];
+            contexts.forEach(function(i) {
+                c.push(new ApplicationContext(i));
+            });
+            args.successCallback(c);
+        }
+    };
 
-  var result = native.call('ApplicationManager_getAppsContext', {}, callback);
+    var result = native.call('ApplicationManager_getAppsContext', {}, callback);
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    }
 };
 
 ApplicationManager.prototype.getAppContext = function() {
-  var args = AV.validateMethod(arguments, [
-      {
-        name : 'contextId',
-        type : AV.Types.STRING,
-        optional : true,
-        nullable : true
-      }
-  ]);
-
-  var callArgs = {};
-
-  if (args.has.contextId) {
-    callArgs.contextId = args.contextId;
-  }
-
-  var result = native.callSync('ApplicationManager_getAppContext', callArgs);
-
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    return new ApplicationContext(native.getResultObject(result));
-  }
-};
+    var args = AV.validateMethod(arguments, [
+        {
+            name: 'contextId',
+            type: AV.Types.STRING,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var callArgs = {};
+
+    if (args.has.contextId) {
+        callArgs.contextId = args.contextId;
+    }
+
+    var result = native.callSync('ApplicationManager_getAppContext', callArgs);
 
-ApplicationManager.prototype.getAppsInfo = function() {
-  var args = AV.validateMethod(arguments, [
-      {
-        name : 'successCallback',
-        type : AV.Types.FUNCTION
-      },
-      {
-        name : 'errorCallback',
-        type : AV.Types.FUNCTION,
-        optional : true,
-        nullable : true
-      }
-  ]);
-
-  var callback = function(result) {
     if (native.isFailure(result)) {
-      native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        throw native.getErrorObject(result);
     } else {
-      args.successCallback(_createApplicationInformationArray(
-          native.getResultObject(result).informationArray)
-      );
+        return new ApplicationContext(native.getResultObject(result));
     }
-  };
+};
 
-  var result = native.call('ApplicationManager_getAppsInfo', {}, callback);
+ApplicationManager.prototype.getAppsInfo = function() {
+    var args = AV.validateMethod(arguments, [
+        {
+            name: 'successCallback',
+            type: AV.Types.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var callback = function(result) {
+        if (native.isFailure(result)) {
+            native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        } else {
+            args.successCallback(
+                _createApplicationInformationArray(
+                    native.getResultObject(result).informationArray
+                )
+            );
+        }
+    };
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
+    var result = native.call('ApplicationManager_getAppsInfo', {}, callback);
+
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    }
 };
 
 ApplicationManager.prototype.getAppInfo = function() {
-  var args = AV.validateMethod(arguments, [
-      {
-        name : 'id',
-        type : AV.Types.STRING,
-        optional : true,
-        nullable : true
-      }
-  ]);
-
-  var callArgs = {};
-
-  if (args.has.id) {
-    callArgs.id = args.id;
-  }
-
-  var result = native.callSync('ApplicationManager_getAppInfo', callArgs);
-
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    return new ApplicationInformation(native.getResultObject(result));
-  }
+    var args = AV.validateMethod(arguments, [
+        {
+            name: 'id',
+            type: AV.Types.STRING,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var callArgs = {};
+
+    if (args.has.id) {
+        callArgs.id = args.id;
+    }
+
+    var result = native.callSync('ApplicationManager_getAppInfo', callArgs);
+
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    } else {
+        return new ApplicationInformation(native.getResultObject(result));
+    }
 };
 
 ApplicationManager.prototype.getAppCerts = function() {
-  var args = AV.validateMethod(arguments, [
-      {
-        name : 'id',
-        type : AV.Types.STRING,
-        optional : true,
-        nullable : true
-      }
-  ]);
-
-  var callArgs = {};
-
-  if (args.has.id) {
-    callArgs.id = args.id;
-  }
-
-  var result = native.callSync('ApplicationManager_getAppCerts', callArgs);
-
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    var certificates = native.getResultObject(result);
-    var c = [];
-    certificates.forEach(function (i) {
-      c.push(new ApplicationCertificate(i));
-    });
-    return c;
-  }
+    var args = AV.validateMethod(arguments, [
+        {
+            name: 'id',
+            type: AV.Types.STRING,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var callArgs = {};
+
+    if (args.has.id) {
+        callArgs.id = args.id;
+    }
+
+    var result = native.callSync('ApplicationManager_getAppCerts', callArgs);
+
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    } else {
+        var certificates = native.getResultObject(result);
+        var c = [];
+        certificates.forEach(function(i) {
+            c.push(new ApplicationCertificate(i));
+        });
+        return c;
+    }
 };
 
 ApplicationManager.prototype.getAppSharedURI = function() {
-  var args = AV.validateMethod(arguments, [
-      {
-        name : 'id',
-        type : AV.Types.STRING,
-        optional : true,
-        nullable : true
-      }
-  ]);
-
-  var callArgs = {};
-
-  if (args.has.id) {
-    callArgs.id = args.id;
-  }
-
-  var result = native.callSync('ApplicationManager_getAppSharedURI', callArgs);
-
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    return native.getResultObject(result);
-  }
+    var args = AV.validateMethod(arguments, [
+        {
+            name: 'id',
+            type: AV.Types.STRING,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var callArgs = {};
+
+    if (args.has.id) {
+        callArgs.id = args.id;
+    }
+
+    var result = native.callSync('ApplicationManager_getAppSharedURI', callArgs);
+
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    } else {
+        return native.getResultObject(result);
+    }
 };
 
 ApplicationManager.prototype.getAppMetaData = function() {
-  var args = AV.validateMethod(arguments, [
-      {
-        name : 'id',
-        type : AV.Types.STRING,
-        optional : true,
-        nullable : true
-      }
-  ]);
-
-  var callArgs = {};
-
-  if (args.has.id) {
-    callArgs.id = args.id;
-  }
-
-  var result = native.callSync('ApplicationManager_getAppMetaData', callArgs);
-
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    var metaData = native.getResultObject(result);
-    var md = [];
-    metaData.forEach(function (i) {
-      md.push(new ApplicationMetaData(i));
-    });
-    return md;
-  }
+    var args = AV.validateMethod(arguments, [
+        {
+            name: 'id',
+            type: AV.Types.STRING,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var callArgs = {};
+
+    if (args.has.id) {
+        callArgs.id = args.id;
+    }
+
+    var result = native.callSync('ApplicationManager_getAppMetaData', callArgs);
+
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    } else {
+        var metaData = native.getResultObject(result);
+        var md = [];
+        metaData.forEach(function(i) {
+            md.push(new ApplicationMetaData(i));
+        });
+        return md;
+    }
 };
 
 function ListenerManager(native, listenerName) {
-  this.listeners = {};
-  this.nextId = 1;
-  this.nativeSet = false;
-  this.native = native;
-  this.listenerName = listenerName;
-};
+    this.listeners = {};
+    this.nextId = 1;
+    this.nativeSet = false;
+    this.native = native;
+    this.listenerName = listenerName;
+}
 
 ListenerManager.prototype.onListenerCalled = function(msg) {
-  var d = null;
-
-  switch (msg.action) {
-  case 'oninstalled':
-  case 'onupdated':
-    d = new ApplicationInformation(msg.data);
-    break;
-
-  case 'onuninstalled':
-    d = msg.data;
-    break;
-
-  default:
-    privUtils_.log('Unknown mode: ' + msg.action);
-  return;
-  }
-
-  for (var watchId in this.listeners) {
-    if (this.listeners.hasOwnProperty(watchId) && this.listeners[watchId][msg.action]) {
-      this.listeners[watchId][msg.action](d);
+    var d = null;
+
+    switch (msg.action) {
+    case 'oninstalled':
+    case 'onupdated':
+        d = new ApplicationInformation(msg.data);
+        break;
+
+    case 'onuninstalled':
+        d = msg.data;
+        break;
+
+    default:
+        privUtils_.log('Unknown mode: ' + msg.action);
+        return;
+    }
+
+    for (var watchId in this.listeners) {
+        if (
+            this.listeners.hasOwnProperty(watchId) &&
+            this.listeners[watchId][msg.action]
+        ) {
+            this.listeners[watchId][msg.action](d);
+        }
     }
-  }
 };
 
 ListenerManager.prototype.addListener = function(callback) {
-  privUtils_.log('ListenerManager.prototype.addListener');
-  var id = this.nextId;
-  if (!this.nativeSet) {
-    this.native.addListener(this.listenerName, this.onListenerCalled.bind(this));
-    var result = this.native.callSync('ApplicationManager_addAppInfoEventListener');
-    if (this.native.isFailure(result)) {
-      throw this.native.getErrorObject(result);
+    privUtils_.log('ListenerManager.prototype.addListener');
+    var id = this.nextId;
+    if (!this.nativeSet) {
+        this.native.addListener(this.listenerName, this.onListenerCalled.bind(this));
+        var result = this.native.callSync('ApplicationManager_addAppInfoEventListener');
+        if (this.native.isFailure(result)) {
+            throw this.native.getErrorObject(result);
+        }
+        this.nativeSet = true;
     }
-    this.nativeSet = true;
-  }
 
-  this.listeners[id] = callback;
-  ++this.nextId;
+    this.listeners[id] = callback;
+    ++this.nextId;
 
-  return id;
+    return id;
 };
 
 ListenerManager.prototype.removeListener = function(watchId) {
-  if (this.listeners.hasOwnProperty(watchId)) {
-    delete this.listeners[watchId];
-  } else {
-    throw new WebAPIException(WebAPIException.NOT_FOUND_ERR, 'Specified listener does not exist');
-  }
-
-  if (this.nativeSet && T.isEmptyObject(this.listeners)) {
-      this.native.callSync('ApplicationManager_removeAppInfoEventListener');
-      this.native.removeListener(this.listenerName);
-      this.nativeSet = false;
-  }
+    if (this.listeners.hasOwnProperty(watchId)) {
+        delete this.listeners[watchId];
+    } else {
+        throw new WebAPIException(
+            WebAPIException.NOT_FOUND_ERR,
+            'Specified listener does not exist'
+        );
+    }
+
+    if (this.nativeSet && T.isEmptyObject(this.listeners)) {
+        this.native.callSync('ApplicationManager_removeAppInfoEventListener');
+        this.native.removeListener(this.listenerName);
+        this.nativeSet = false;
+    }
 };
 
 var APPLICATION_EVENT_LISTENER = 'ApplicationEventListener';
 var applicationEventListener = new ListenerManager(native, APPLICATION_EVENT_LISTENER);
 
 ApplicationManager.prototype.addAppInfoEventListener = function() {
-  privUtils_.warn('DEPRECATION WARNING: addAppInfoEventListener() is deprecated and will be removed from next release. '
-      + 'Use tizen.package.setPackageInfoEventListener() instead.');
-
-  var args = AV.validateMethod(arguments, [
-      {
-        name : 'eventCallback',
-        type : AV.Types.LISTENER,
-        values : ['oninstalled', 'onupdated', 'onuninstalled']
-      }
-  ]);
-
-  return applicationEventListener.addListener(args.eventCallback);
+    privUtils_.warn(
+        'DEPRECATION WARNING: addAppInfoEventListener() is deprecated ' +
+            'and will be removed from next release. ' +
+            'Use tizen.package.setPackageInfoEventListener() instead.'
+    );
+
+    var args = AV.validateMethod(arguments, [
+        {
+            name: 'eventCallback',
+            type: AV.Types.LISTENER,
+            values: ['oninstalled', 'onupdated', 'onuninstalled']
+        }
+    ]);
+
+    return applicationEventListener.addListener(args.eventCallback);
 };
 
 ApplicationManager.prototype.removeAppInfoEventListener = function() {
-  privUtils_.warn('DEPRECATION WARNING: removeAppInfoEventListener() is deprecated and will be removed from next release. '
-      + 'Use tizen.package.unsetPackageInfoEventListener() instead.');
-
-  var args = AV.validateMethod(arguments, [
-      {
-        name : 'watchId',
-        type : AV.Types.LONG
-      }
-  ]);
+    privUtils_.warn(
+        'DEPRECATION WARNING: removeAppInfoEventListener() is deprecated ' +
+            'and will be removed from next release. ' +
+            'Use tizen.package.unsetPackageInfoEventListener() instead.'
+    );
+
+    var args = AV.validateMethod(arguments, [
+        {
+            name: 'watchId',
+            type: AV.Types.LONG
+        }
+    ]);
 
-  applicationEventListener.removeListener(args.watchId);
+    applicationEventListener.removeListener(args.watchId);
 };
 
 // class Application ////////////////////////////////////////////////////
 
 function Application(data) {
-  Object.defineProperties(this, {
-    appInfo : {
-      value : new ApplicationInformation(data.appInfo),
-      writable : false,
-      enumerable : true
-    },
-    contextId : {
-      value : Converter.toString(data.contextId),
-      writable : false,
-      enumerable : true
-    }
-  });
+    Object.defineProperties(this, {
+        appInfo: {
+            value: new ApplicationInformation(data.appInfo),
+            writable: false,
+            enumerable: true
+        },
+        contextId: {
+            value: Converter.toString(data.contextId),
+            writable: false,
+            enumerable: true
+        }
+    });
 }
 
 Application.prototype.exit = function() {
-  native.sendRuntimeMessage('tizen://exit');
+    native.sendRuntimeMessage('tizen://exit');
 };
 
 Application.prototype.hide = function() {
-  native.sendRuntimeMessage('tizen://hide');
+    native.sendRuntimeMessage('tizen://hide');
 };
 
 Application.prototype.getRequestedAppControl = function() {
-  var result = native.callSync('Application_getRequestedAppControl', {});
-
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    result = native.getResultObject(result);
-    if (result) {
-      return new RequestedApplicationControl(result);
+    var result = native.callSync('Application_getRequestedAppControl', {});
+
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
     } else {
-      return null;
+        result = native.getResultObject(result);
+        if (result) {
+            return new RequestedApplicationControl(result);
+        } else {
+            return null;
+        }
     }
-  }
 };
 
 function _checkEventName(name) {
-  var name = name || '';
-  if (!(/^([a-zA-Z_]){1}([a-zA-Z0-9_]){0,126}$/.test(name))) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-        'Invalid event name');
-  }
+    var name = name || '';
+    if (!/^([a-zA-Z_]){1}([a-zA-Z0-9_]){0,126}$/.test(name)) {
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'Invalid event name'
+        );
+    }
 }
 
 function _checkAppId(appId) {
-  if (!(/^([a-zA-Z0-9]){10}([.]){1}([a-zA-Z0-9_]){1,52}$/.test(appId))) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-        'Invalid appId');
-  }
+    if (!/^([a-zA-Z0-9]){10}([.]){1}([a-zA-Z0-9_]){1,52}$/.test(appId)) {
+        throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR, 'Invalid appId');
+    }
 }
 
 var event_listeners_ = {};
 var watchId_ = 0;
 function nextWatchId() {
-  return ++watchId_;
+    return ++watchId_;
 }
 
 Application.prototype.addEventListener = function(event, callback) {
-  var args = AV.validateArgs(arguments, [
-    {name: 'event', type: AV.Types.DICTIONARY},
-    {name: 'callback', type: AV.Types.FUNCTION}
-  ]);
+    var args = AV.validateArgs(arguments, [
+        { name: 'event', type: AV.Types.DICTIONARY },
+        { name: 'callback', type: AV.Types.FUNCTION }
+    ]);
 
-  var data = {};
+    var data = {};
 
-//  TODO: Please uncomment below lines when system events is ready
-//  if (Object.keys(SystemEvent).indexOf(args.event.name) > -1) {
-//    data.name = 'tizen.system.event.' + args.event.name.toLowerCase();
-//  } else {
+    //  TODO: Please uncomment below lines when system events is ready
+    //  if (Object.keys(SystemEvent).indexOf(args.event.name) > -1) {
+    //    data.name = 'tizen.system.event.' + args.event.name.toLowerCase();
+    //  } else {
     _checkEventName(args.event.name);
     _checkAppId(args.event.appId);
 
     // the 'event.' prefix is required by platform
     data.name = 'event.' + args.event.appId + '.' + args.event.name;
-//  }
-
-  var watchId = nextWatchId();
-  data.listenerId = data.name;
-  event_listeners_[data.name] = !T.isObject(event_listeners_[data.name])
-                                ? {} : event_listeners_[data.name];
-
-  if (!Object.keys(event_listeners_[data.name]).length) {
-    native.addListener(data.name, function(msg) {
-      var eventName = msg.name;
-      var parsedName = eventName.split('.');
-      var eventInfo = {};
-      if (parsedName.length < 3) {
-        privUtils_.log('Invalid event name returned' + eventName);
-      }
-      for (var id in event_listeners_[eventName]) {
-        if (event_listeners_[eventName].hasOwnProperty(id)) {
-          if (msg.data) {
-            eventInfo.appId = parsedName[1];
-            eventInfo.name = parsedName[2];
-            event_listeners_[eventName][id](eventInfo, msg.data);
-          } else {
-            delete msg.name;
-            msg.type = parsedName[2]; //TODO: type should come from native site
-            eventInfo.name = parsedName[2].toUpperCase();
-            event_listeners_[eventName][id](eventInfo, msg);
-          }
+    //  }
+
+    var watchId = nextWatchId();
+    data.listenerId = data.name;
+    event_listeners_[data.name] = !T.isObject(event_listeners_[data.name])
+        ? {}
+        : event_listeners_[data.name];
+
+    if (!Object.keys(event_listeners_[data.name]).length) {
+        native.addListener(data.name, function(msg) {
+            var eventName = msg.name;
+            var parsedName = eventName.split('.');
+            var eventInfo = {};
+            if (parsedName.length < 3) {
+                privUtils_.log('Invalid event name returned' + eventName);
+            }
+            for (var id in event_listeners_[eventName]) {
+                if (event_listeners_[eventName].hasOwnProperty(id)) {
+                    if (msg.data) {
+                        eventInfo.appId = parsedName[1];
+                        eventInfo.name = parsedName[2];
+                        event_listeners_[eventName][id](eventInfo, msg.data);
+                    } else {
+                        delete msg.name;
+                        //TODO: type should come from native site
+                        msg.type = parsedName[2];
+                        eventInfo.name = parsedName[2].toUpperCase();
+                        event_listeners_[eventName][id](eventInfo, msg);
+                    }
+                }
+            }
+        });
+
+        var result = native.callSync('Application_addEventListener', data);
+        if (native.isFailure(result)) {
+            throw native.getErrorObject(result);
         }
-      }
-    });
-
-    var result = native.callSync('Application_addEventListener', data);
-    if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
     }
-  }
 
-  event_listeners_[data.name][watchId] = args.callback;
-  return watchId;
+    event_listeners_[data.name][watchId] = args.callback;
+    return watchId;
 };
 
 function getEventNameById(watchId) {
-  var eventName;
-  for (var event in event_listeners_) {
-    if (event_listeners_.hasOwnProperty(event)) {
-      for (var id in event_listeners_[event]) {
-        if (event_listeners_[event].hasOwnProperty(id) && Converter.toLong(id) === watchId) {
-            eventName = event;
+    var eventName;
+    for (var event in event_listeners_) {
+        if (event_listeners_.hasOwnProperty(event)) {
+            for (var id in event_listeners_[event]) {
+                if (
+                    event_listeners_[event].hasOwnProperty(id) &&
+                    Converter.toLong(id) === watchId
+                ) {
+                    eventName = event;
+                }
+            }
         }
-      }
     }
-  }
-  return eventName;
+    return eventName;
 }
 
 Application.prototype.removeEventListener = function(watchId) {
-  var args = AV.validateArgs(arguments, [
-    {name: 'watchId', type: AV.Types.LONG}
-  ]);
+    var args = AV.validateArgs(arguments, [{ name: 'watchId', type: AV.Types.LONG }]);
 
-  var eventName = getEventNameById(args.watchId);
+    var eventName = getEventNameById(args.watchId);
 
-  if (!eventName) {
-    return;
-  }
+    if (!eventName) {
+        return;
+    }
 
-  delete event_listeners_[eventName][args.watchId];
+    delete event_listeners_[eventName][args.watchId];
 
-  if (!Object.keys(event_listeners_[eventName]).length) {
-    native.removeListener(eventName);
-    var result = native.callSync('Application_removeEventListener', {name: eventName});
-    if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+    if (!Object.keys(event_listeners_[eventName]).length) {
+        native.removeListener(eventName);
+        var result = native.callSync('Application_removeEventListener', {
+            name: eventName
+        });
+        if (native.isFailure(result)) {
+            throw native.getErrorObject(result);
+        }
     }
-  }
 };
 
 Application.prototype.broadcastEvent = function(event, data) {
-  var args = AV.validateMethod(arguments, [
-    {name: 'event', type: AV.Types.DICTIONARY},
-    {name: 'data', type: AV.Types.DICTIONARY}
-  ]);
+    var args = AV.validateMethod(arguments, [
+        { name: 'event', type: AV.Types.DICTIONARY },
+        { name: 'data', type: AV.Types.DICTIONARY }
+    ]);
 
-  _checkEventName(args.event.name);
+    _checkEventName(args.event.name);
 
-  var nativeData = {
-    name: 'event.' + this.appInfo.id + '.' + args.event.name,
-    data: args.data
-  };
+    var nativeData = {
+        name: 'event.' + this.appInfo.id + '.' + args.event.name,
+        data: args.data
+    };
 
-  var result = native.callSync('Application_broadcastEvent', nativeData);
+    var result = native.callSync('Application_broadcastEvent', nativeData);
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    }
 };
 
 Application.prototype.broadcastTrustedEvent = function(event, data) {
-  var args = AV.validateMethod(arguments, [
-    {name: 'event', type: AV.Types.DICTIONARY},
-    {name: 'data', type: AV.Types.DICTIONARY}
-  ]);
+    var args = AV.validateMethod(arguments, [
+        { name: 'event', type: AV.Types.DICTIONARY },
+        { name: 'data', type: AV.Types.DICTIONARY }
+    ]);
 
-  _checkEventName(args.event.name);
+    _checkEventName(args.event.name);
 
-  var nativeData = {
-    name: 'event.' + this.appInfo.id + '.' + args.event.name,
-    data: args.data
-  };
+    var nativeData = {
+        name: 'event.' + this.appInfo.id + '.' + args.event.name,
+        data: args.data
+    };
 
-  var result = native.callSync('Application_broadcastTrustedEvent', nativeData);
+    var result = native.callSync('Application_broadcastTrustedEvent', nativeData);
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    }
 };
 
 // class ApplicationInformation ////////////////////////////////////////////////////
 
 function ApplicationInformation(data) {
-  var size = undefined;
-
-  function sizeGetter() {
-    if (undefined === size) {
-      var callArgs = { packageId : this.packageId }; // jshint ignore:line
-      var result = native.callSync('ApplicationInformation_getSize', callArgs);
-
-      if (native.isFailure(result)) {
-        throw native.getErrorObject(result);
-      } else {
-        size = native.getResultObject(result).size;
-      }
-    }
-    return size;
-  }
-
-  Object.defineProperties(this, {
-    id : {
-      value : data.id,
-      writable : false,
-      enumerable : true
-    },
-    name : {
-      value : data.name,
-      writable : false,
-      enumerable : true
-    },
-    iconPath : {
-      value : data.iconPath,
-      writable : false,
-      enumerable : true
-    },
-    version : {
-      value : data.version,
-      writable : false,
-      enumerable : true
-    },
-    show : {
-      value : data.show,
-      writable : false,
-      enumerable : true
-    },
-    categories : {
-      value : data.categories,
-      writable : false,
-      enumerable : true
-    },
-    installDate : {
-      value : new Date(data.installDate),
-      writable : false,
-      enumerable : true
-    },
-    size : {
-      enumerable : true,
-      set : function() {
-      },
-      get : sizeGetter
-    },
-    packageId : {
-      value : data.packageId,
-      writable : false,
-      enumerable : true
+    var size = undefined;
+
+    function sizeGetter() {
+        if (undefined === size) {
+            var callArgs = { packageId: this.packageId }; // jshint ignore:line
+            var result = native.callSync('ApplicationInformation_getSize', callArgs);
+
+            if (native.isFailure(result)) {
+                throw native.getErrorObject(result);
+            } else {
+                size = native.getResultObject(result).size;
+            }
+        }
+        return size;
     }
-  });
+
+    Object.defineProperties(this, {
+        id: {
+            value: data.id,
+            writable: false,
+            enumerable: true
+        },
+        name: {
+            value: data.name,
+            writable: false,
+            enumerable: true
+        },
+        iconPath: {
+            value: data.iconPath,
+            writable: false,
+            enumerable: true
+        },
+        version: {
+            value: data.version,
+            writable: false,
+            enumerable: true
+        },
+        show: {
+            value: data.show,
+            writable: false,
+            enumerable: true
+        },
+        categories: {
+            value: data.categories,
+            writable: false,
+            enumerable: true
+        },
+        installDate: {
+            value: new Date(data.installDate),
+            writable: false,
+            enumerable: true
+        },
+        size: {
+            enumerable: true,
+            set: function() {},
+            get: sizeGetter
+        },
+        packageId: {
+            value: data.packageId,
+            writable: false,
+            enumerable: true
+        }
+    });
 }
 
 // class ApplicationContext ////////////////////////////////////////////////////
 
 function ApplicationContext(data) {
-  Object.defineProperties(this, {
-    id    : {value: data.id, writable: false, enumerable: true},
-    appId : {value: data.appId, writable: false, enumerable: true}
-  });
+    Object.defineProperties(this, {
+        id: { value: data.id, writable: false, enumerable: true },
+        appId: { value: data.appId, writable: false, enumerable: true }
+    });
 }
 
 // class ApplicationControlData ////////////////////////////////////////////////////
 
 tizen.ApplicationControlData = function(k, v) {
-  AV.validateConstructorCall(this, tizen.ApplicationControlData);
-
-  var valid = (arguments.length >= 2) && T.isArray(v);
-
-  var key;
-  function keySetter(k) {
-    key = Converter.toString(k);
-  }
-  if (valid) {
-    keySetter(k);
-  }
-
-  var value;
-  function valueSetter(v) {
-    if (T.isArray(v)) {
-      value = [];
-      for (var i = 0; i < v.length; ++i) {
-        value.push(Converter.toString(v[i]));
-      }
+    AV.validateConstructorCall(this, tizen.ApplicationControlData);
+
+    var valid = arguments.length >= 2 && T.isArray(v);
+
+    var key;
+    function keySetter(k) {
+        key = Converter.toString(k);
     }
-  }
-  if (valid) {
-    valueSetter(v);
-  }
-
-  Object.defineProperties(this, {
-    key : {
-      enumerable : true,
-      set : keySetter,
-      get : function() {
-        return key;
-      }
-    },
-    value : {
-      enumerable : true,
-      set : valueSetter,
-      get : function() {
-        return value;
-      }
+    if (valid) {
+        keySetter(k);
     }
-  });
-}
+
+    var value;
+    function valueSetter(v) {
+        if (T.isArray(v)) {
+            value = [];
+            for (var i = 0; i < v.length; ++i) {
+                value.push(Converter.toString(v[i]));
+            }
+        }
+    }
+    if (valid) {
+        valueSetter(v);
+    }
+
+    Object.defineProperties(this, {
+        key: {
+            enumerable: true,
+            set: keySetter,
+            get: function() {
+                return key;
+            }
+        },
+        value: {
+            enumerable: true,
+            set: valueSetter,
+            get: function() {
+                return value;
+            }
+        }
+    });
+};
 
 // class ApplicationControl ////////////////////////////////////////////////////
 
 tizen.ApplicationControl = function(o, u, m, c, d, mode) {
-  AV.validateConstructorCall(this, tizen.ApplicationControl);
-
-  var valid = (arguments.length >= 1);
-
-  var operation;
-  function operationSetter(o) {
-    operation = Converter.toString(o);
-  }
-  if (valid) {
-    operationSetter(o);
-  }
-
-  var uri;
-  function uriSetter(u) {
-    if (T.isNull(u)) {
-      uri = u;
-    } else {
-      uri = Converter.toString(u);
+    AV.validateConstructorCall(this, tizen.ApplicationControl);
+
+    var valid = arguments.length >= 1;
+
+    var operation;
+    function operationSetter(o) {
+        operation = Converter.toString(o);
     }
-  }
-  if (valid) {
-    uriSetter(T.isUndefined(u) ? null : u);
-  }
-
-  var mime;
-  function mimeSetter(m) {
-    if (T.isNull(m)) {
-      mime = m;
-    } else {
-      mime = Converter.toString(m);
+    if (valid) {
+        operationSetter(o);
     }
-  }
-  if (valid) {
-    mimeSetter(T.isUndefined(m) ? null : m);
-  }
-
-  var category;
-  function categorySetter(c) {
-    if (T.isNull(c)) {
-      category = c;
-    } else {
-      category = Converter.toString(c);
+
+    var uri;
+    function uriSetter(u) {
+        if (T.isNull(u)) {
+            uri = u;
+        } else {
+            uri = Converter.toString(u);
+        }
     }
-  }
-  if (valid) {
-    categorySetter(T.isUndefined(c) ? null : c);
-  }
-
-  var data;
-  function dataSetter(d) {
-    if (T.isArray(d)) {
-      for (var i = 0; i < d.length; ++i) {
-        if (!(d[i] instanceof tizen.ApplicationControlData)) {
-          return;
+    if (valid) {
+        uriSetter(T.isUndefined(u) ? null : u);
+    }
+
+    var mime;
+    function mimeSetter(m) {
+        if (T.isNull(m)) {
+            mime = m;
+        } else {
+            mime = Converter.toString(m);
         }
-      }
-      data = d;
     }
-  }
-  if (valid) {
-    dataSetter(T.isNullOrUndefined(d) ? [] : d);
-  }
-
-  var launchMode;
-  function launchModeSetter(mode) {
-    if (ApplicationControlLaunchMode[mode]) {
-       launchMode = ApplicationControlLaunchMode[mode];
+    if (valid) {
+        mimeSetter(T.isUndefined(m) ? null : m);
     }
-  }
-  if (valid) {
-    if (T.isNullOrUndefined(mode) || !ApplicationControlLaunchMode[mode]) {
-      launchMode = ApplicationControlLaunchMode['SINGLE'];
-    } else {
-      launchModeSetter(mode);
+
+    var category;
+    function categorySetter(c) {
+        if (T.isNull(c)) {
+            category = c;
+        } else {
+            category = Converter.toString(c);
+        }
     }
-  }
-
-  Object.defineProperties(this, {
-    operation : {
-      enumerable : true,
-      set : operationSetter,
-      get : function() {
-        return operation;
-      }
-    },
-    uri : {
-      enumerable : true,
-      set : uriSetter,
-      get : function() {
-        return uri;
-      }
-    },
-    mime : {
-      enumerable : true,
-      set : mimeSetter,
-      get : function() {
-        return mime;
-      }
-    },
-    category : {
-      enumerable : true,
-      set : categorySetter,
-      get : function() {
-        return category;
-      }
-    },
-    data : {
-      enumerable : true,
-      set : dataSetter,
-      get : function() {
-        return data;
-      }
-    },
-    launchMode : {
-      enumerable : true,
-      set : launchModeSetter,
-      get : function() {
-        return launchMode;
-      }
+    if (valid) {
+        categorySetter(T.isUndefined(c) ? null : c);
+    }
+
+    var data;
+    function dataSetter(d) {
+        if (T.isArray(d)) {
+            for (var i = 0; i < d.length; ++i) {
+                if (!(d[i] instanceof tizen.ApplicationControlData)) {
+                    return;
+                }
+            }
+            data = d;
+        }
+    }
+    if (valid) {
+        dataSetter(T.isNullOrUndefined(d) ? [] : d);
     }
-  });
-}
+
+    var launchMode;
+    function launchModeSetter(mode) {
+        if (ApplicationControlLaunchMode[mode]) {
+            launchMode = ApplicationControlLaunchMode[mode];
+        }
+    }
+    if (valid) {
+        if (T.isNullOrUndefined(mode) || !ApplicationControlLaunchMode[mode]) {
+            launchMode = ApplicationControlLaunchMode['SINGLE'];
+        } else {
+            launchModeSetter(mode);
+        }
+    }
+
+    Object.defineProperties(this, {
+        operation: {
+            enumerable: true,
+            set: operationSetter,
+            get: function() {
+                return operation;
+            }
+        },
+        uri: {
+            enumerable: true,
+            set: uriSetter,
+            get: function() {
+                return uri;
+            }
+        },
+        mime: {
+            enumerable: true,
+            set: mimeSetter,
+            get: function() {
+                return mime;
+            }
+        },
+        category: {
+            enumerable: true,
+            set: categorySetter,
+            get: function() {
+                return category;
+            }
+        },
+        data: {
+            enumerable: true,
+            set: dataSetter,
+            get: function() {
+                return data;
+            }
+        },
+        launchMode: {
+            enumerable: true,
+            set: launchModeSetter,
+            get: function() {
+                return launchMode;
+            }
+        }
+    });
+};
 
 // class RequestedApplicationControl ////////////////////////////////////////////////////
 
 function RequestedApplicationControl(data) {
-  Object.defineProperties(this, {
-    appControl : {
-      value: _createApplicationControl(data.appControl),
-      writable: false,
-      enumerable: true
-    },
-    callerAppId : {
-      value: data.callerAppId,
-      writable: false,
-      enumerable: true
-    }
-  });
+    Object.defineProperties(this, {
+        appControl: {
+            value: _createApplicationControl(data.appControl),
+            writable: false,
+            enumerable: true
+        },
+        callerAppId: {
+            value: data.callerAppId,
+            writable: false,
+            enumerable: true
+        }
+    });
 }
 
 RequestedApplicationControl.prototype.replyResult = function() {
-  var args = AV.validateMethod(arguments, [
-      {
-        name : 'data',
-        type : AV.Types.ARRAY,
-        values : tizen.ApplicationControlData,
-        optional: true,
-        nullable: true
-      }
-  ]);
-
-
-  var callArgs = {};
-
-  if (args.has.data) {
-    callArgs.data = args.data;
-  } else {
-    callArgs.data = [];
-  }
-
-  var result = native.callSync('RequestedApplicationControl_replyResult', callArgs);
-
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
+    var args = AV.validateMethod(arguments, [
+        {
+            name: 'data',
+            type: AV.Types.ARRAY,
+            values: tizen.ApplicationControlData,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var callArgs = {};
+
+    if (args.has.data) {
+        callArgs.data = args.data;
+    } else {
+        callArgs.data = [];
+    }
+
+    var result = native.callSync('RequestedApplicationControl_replyResult', callArgs);
+
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    }
 };
 
 RequestedApplicationControl.prototype.replyFailure = function() {
-  var result = native.callSync('RequestedApplicationControl_replyFailure', {});
+    var result = native.callSync('RequestedApplicationControl_replyFailure', {});
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    }
 };
 
 // class ApplicationCertificate ////////////////////////////////////////////////////
 
 function ApplicationCertificate(data) {
-  Object.defineProperties(this, {
-    type : {
-      value : data.type,
-      writable : false,
-      enumerable : true
-    },
-    value : {
-      value : data.value,
-      writable : false,
-      enumerable : true
-    }
-  });
+    Object.defineProperties(this, {
+        type: {
+            value: data.type,
+            writable: false,
+            enumerable: true
+        },
+        value: {
+            value: data.value,
+            writable: false,
+            enumerable: true
+        }
+    });
 }
 
 // class ApplicationMetaData ////////////////////////////////////////////////////
 function ApplicationMetaData(data) {
-  Object.defineProperties(this, {
-    key : {
-      value : data.key,
-      writable : false,
-      enumerable : true
-    },
-    value : {
-      value : data.value,
-      writable : false,
-      enumerable : true
-    }
-  });
+    Object.defineProperties(this, {
+        key: {
+            value: data.key,
+            writable: false,
+            enumerable: true
+        },
+        value: {
+            value: data.value,
+            writable: false,
+            enumerable: true
+        }
+    });
 }
 
 // exports ////////////////////////////////////////////////////
index f2fca2914846b865ea3e05fa2f5da1f2023130eb..750eceff56a124d9db7df73e1fc436b721058ac9 100755 (executable)
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
+
 var validator_ = xwalk.utils.validator;
 var types_ = validator_.Types;
 var native_ = new xwalk.utils.NativeManager(extension);
 var privUtils_ = xwalk.utils;
 
-function CommonFS() {};
+function CommonFS() {}
 
 CommonFS.cacheVirtualToReal = {};
 
@@ -37,22 +37,27 @@ function _initializeCache() {
                 path: result[i].path
             };
         }
-    } catch(e) {
-        privUtils_.log("Exception while getting widget paths was thrown: " + e);
+    } catch (e) {
+        privUtils_.log('Exception while getting widget paths was thrown: ' + e);
     }
 }
 
 _initializeCache();
 
 CommonFS.toRealPath = function(aPath) {
-    var _fileRealPath = '', _uriPrefix = 'file://', i;
+    var _fileRealPath = '',
+        _uriPrefix = 'file://',
+        i;
     if (aPath.indexOf(_uriPrefix) === 0) {
         _fileRealPath = aPath.substr(_uriPrefix.length);
     } else if (aPath[0] != '/') {
         // virtual path$
         var _pathTokens = aPath.split('/');
-        if (this.cacheVirtualToReal[_pathTokens[0]]
-                && (this.cacheVirtualToReal[_pathTokens[0]].state === undefined || this.cacheVirtualToReal[_pathTokens[0]].state === 'MOUNTED')) {
+        if (
+            this.cacheVirtualToReal[_pathTokens[0]] &&
+            (this.cacheVirtualToReal[_pathTokens[0]].state === undefined ||
+                this.cacheVirtualToReal[_pathTokens[0]].state === 'MOUNTED')
+        ) {
             _fileRealPath = this.cacheVirtualToReal[_pathTokens[0]].path;
             for (i = 1; i < _pathTokens.length; ++i) {
                 _fileRealPath += '/' + _pathTokens[i];
@@ -63,15 +68,15 @@ CommonFS.toRealPath = function(aPath) {
     } else {
         _fileRealPath = aPath;
     }
-    privUtils_.log("REAL PATH:" + _fileRealPath);
-    if (_fileRealPath === "undefined" || _fileRealPath === "null") {
+    privUtils_.log('REAL PATH:' + _fileRealPath);
+    if (_fileRealPath === 'undefined' || _fileRealPath === 'null') {
         throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
     }
     return _fileRealPath;
 };
 
 CommonFS.isVirtualPath = function(aPath) {
-    var root = aPath.split("/")[0];
+    var root = aPath.split('/')[0];
 
     return this.cacheVirtualToReal[root] != undefined;
 };
@@ -79,19 +84,19 @@ CommonFS.isVirtualPath = function(aPath) {
 /**
  * Returns new unique opId
  */
-var getNextOpId = (function () {
+var getNextOpId = (function() {
     var opId = 0,
-        incOpId = function () {
+        incOpId = function() {
             return opId++;
         };
     return incOpId;
-}());
+})();
 
 var Property = {
-    W: 1 << 0,   // WRITABLE
-    E: 1 << 1,   // ENUMERABLE
-    C: 1 << 2    // CONFIGURABLE
-}
+    W: 1 << 0, // WRITABLE
+    E: 1 << 1, // ENUMERABLE
+    C: 1 << 2 // CONFIGURABLE
+};
 
 /**
  * Example usage:
@@ -118,22 +123,27 @@ function propertyFactory_(that, name, value, flags, options) {
     if (options === null || typeof options !== 'object') {
         options = {};
     }
-    if (!(options.get) && !(options.set)) {
+    if (!options.get && !options.set) {
         options.value = value;
     }
-    if ((flags & Property.W) != 0) { options.writable     = true; }
-    if ((flags & Property.E) != 0) { options.enumerable   = true; }
-    if ((flags & Property.C) != 0) { options.configurable = true; }
-    Object.defineProperty(
-        that,
-        name,
-        options
-    );
+    if ((flags & Property.W) != 0) {
+        options.writable = true;
+    }
+    if ((flags & Property.E) != 0) {
+        options.enumerable = true;
+    }
+    if ((flags & Property.C) != 0) {
+        options.configurable = true;
+    }
+    Object.defineProperty(that, name, options);
 }
 
-function checkMode(mode, access)
-{   if(access.indexOf(mode) == -1) {
-        throw new WebAPIException(WebAPIException.INVALID_ACCESS_ERR, 'Not allowed operation');
+function checkMode(mode, access) {
+    if (access.indexOf(mode) == -1) {
+        throw new WebAPIException(
+            WebAPIException.INVALID_ACCESS_ERR,
+            'Not allowed operation'
+        );
     }
 }
 
@@ -142,10 +152,10 @@ function checkMode(mode, access)
  * @enum {string}
  */
 var ArchiveCompressionLevel = {
-    STORE: "STORE",
-    FAST: "FAST",
-    NORMAL: "NORMAL",
-    BEST: "BEST"
+    STORE: 'STORE',
+    FAST: 'FAST',
+    NORMAL: 'NORMAL',
+    BEST: 'BEST'
 };
 
 var onprogressCallbacks = {};
@@ -157,7 +167,10 @@ var ArchiveFileProgressCallback = function(msg) {
     }
 
     var result = native_.getResultObject(msg);
-    if ('onprogress' === result.action && onprogressCallbacks.hasOwnProperty(result.opId)) {
+    if (
+        'onprogress' === result.action &&
+        onprogressCallbacks.hasOwnProperty(result.opId)
+    ) {
         onprogressCallbacks[result.opId](result.opId, result.value, result.filename);
     }
 };
@@ -165,7 +178,8 @@ var ArchiveFileProgressCallback = function(msg) {
 native_.addListener(ARCHIVE_ONPROGRESS_CALLBACK, ArchiveFileProgressCallback);
 
 /**
- * The ArchiveFileEntry interface provides access to ArchiveFile member information and file data.
+ * The ArchiveFileEntry interface provides access to ArchiveFile member information and
+ * file data.
  * This constructor is for internal use only.
  * It should be prohibited to call this constructor by user.
  */
@@ -178,43 +192,81 @@ function ArchiveFileEntry(data, priv) {
         throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
     }
 
-    propertyFactory_(this, 'name',           data.name                      || "",    Property.E);
-    propertyFactory_(this, 'size',           data.size                      || 0,     Property.E);
-    propertyFactory_(this, 'compressedSize', data.compressedSize            || 0,     Property.E);
-    propertyFactory_(this, 'modified',       new Date(data.modified * 1000) || null , Property.E);
+    propertyFactory_(this, 'name', data.name || '', Property.E);
+    propertyFactory_(this, 'size', data.size || 0, Property.E);
+    propertyFactory_(this, 'compressedSize', data.compressedSize || 0, Property.E);
+    propertyFactory_(
+        this,
+        'modified',
+        new Date(data.modified * 1000) || null,
+        Property.E
+    );
 
     function getHandle() {
-        if(priv.handle)
-            return priv.handle;
-        else throw new WebAPIException(WebAPIException.UNKNOWN_ERR, 'Archive is not opened');
+        if (priv.handle) return priv.handle;
+        else
+            throw new WebAPIException(
+                WebAPIException.UNKNOWN_ERR,
+                'Archive is not opened'
+            );
     }
 
     /**
      * Extracts ArchiveFileEntry to the given location.
      */
-    this.extract = function () {
+    this.extract = function() {
         var args = validator_.validateArgs(arguments, [
-            { name: "destinationDirectory", type: types_.FILE_REFERENCE },
-            { name: "onsuccess", type: types_.FUNCTION, optional: true, nullable: true },
-            { name: "onerror", type: types_.FUNCTION, optional: true, nullable: true },
-            { name: "onprogress", type: types_.FUNCTION, optional: true, nullable: true },
-            { name: "stripName", type: types_.STRING, optional: true, nullable: true },
-            { name: "overwrite", type: types_.BOOLEAN, optional: true, nullable: true }
-        ]),
-        opId = getNextOpId();
+                {
+                    name: 'destinationDirectory',
+                    type: types_.FILE_REFERENCE
+                },
+                {
+                    name: 'onsuccess',
+                    type: types_.FUNCTION,
+                    optional: true,
+                    nullable: true
+                },
+                {
+                    name: 'onerror',
+                    type: types_.FUNCTION,
+                    optional: true,
+                    nullable: true
+                },
+                {
+                    name: 'onprogress',
+                    type: types_.FUNCTION,
+                    optional: true,
+                    nullable: true
+                },
+                {
+                    name: 'stripName',
+                    type: types_.STRING,
+                    optional: true,
+                    nullable: true
+                },
+                {
+                    name: 'overwrite',
+                    type: types_.BOOLEAN,
+                    optional: true,
+                    nullable: true
+                }
+            ]),
+            opId = getNextOpId();
 
         if (!CommonFS.isVirtualPath(args.destinationDirectory)) {
-            throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-                    "Destination directory should be virtual path or file.");
+            throw new WebAPIException(
+                WebAPIException.TYPE_MISMATCH_ERR,
+                'Destination directory should be virtual path or file.'
+            );
         }
 
         var callArgs = {
-            destinationDirectory : CommonFS.toRealPath(args.destinationDirectory),
-            stripName : args.stripName || null,
-            overwrite : args.overwrite || null,
-            opId : opId,
-            handle : getHandle(),
-            name : this.name
+            destinationDirectory: CommonFS.toRealPath(args.destinationDirectory),
+            stripName: args.stripName || null,
+            overwrite: args.overwrite || null,
+            opId: opId,
+            handle: getHandle(),
+            name: this.name
         };
 
         var callback = function(result) {
@@ -240,9 +292,9 @@ function ArchiveFileEntry(data, priv) {
     };
 }
 
-
 /**
- * The ArchiveManager interface provides methods for global operations related to ArchiveFile.
+ * The ArchiveManager interface provides methods for global operations related to
+ * ArchiveFile.
  */
 
 /**
@@ -259,51 +311,83 @@ function ArchiveFile(data) {
         throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
     }
 
-    propertyFactory_(this, 'mode'            , data.mode             || "r", Property.E);
-    propertyFactory_(this, 'decompressedSize', data.decompressedSize || 0,   Property.E);
+    propertyFactory_(this, 'mode', data.mode || 'r', Property.E);
+    propertyFactory_(this, 'decompressedSize', data.decompressedSize || 0, Property.E);
 
-    var priv ={ handle: data.handle };
+    var priv = { handle: data.handle };
 
     function getHandle() {
-        if(priv.handle)
-            return priv.handle;
-        else throw new WebAPIException(WebAPIException.INVALID_STATE_ERR, 'ArchiveFile closed - operation not permitted');
+        if (priv.handle) return priv.handle;
+        else
+            throw new WebAPIException(
+                WebAPIException.INVALID_STATE_ERR,
+                'ArchiveFile closed - operation not permitted'
+            );
     }
 
     /**
      * Adds a new member file to ArchiveFile.
      */
-    this.add = function () {
+    this.add = function() {
         var args = validator_.validateArgs(arguments, [
-            { name: "sourceFile", type: types_.FILE_REFERENCE },
-            { name: "onsuccess", type: types_.FUNCTION, optional: true, nullable: true },
-            { name: "onerror", type: types_.FUNCTION, optional: true, nullable: true },
-            { name: "onprogress", type: types_.FUNCTION, optional: true, nullable: true },
-            { name: "options", type: types_.DICTIONARY, optional: true, nullable: true }
-        ]),
-        opId = getNextOpId();
+                {
+                    name: 'sourceFile',
+                    type: types_.FILE_REFERENCE
+                },
+                {
+                    name: 'onsuccess',
+                    type: types_.FUNCTION,
+                    optional: true,
+                    nullable: true
+                },
+                {
+                    name: 'onerror',
+                    type: types_.FUNCTION,
+                    optional: true,
+                    nullable: true
+                },
+                {
+                    name: 'onprogress',
+                    type: types_.FUNCTION,
+                    optional: true,
+                    nullable: true
+                },
+                {
+                    name: 'options',
+                    type: types_.DICTIONARY,
+                    optional: true,
+                    nullable: true
+                }
+            ]),
+            opId = getNextOpId();
 
         if (!CommonFS.isVirtualPath(args.sourceFile)) {
-            throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-                    "sourceFile should be virtual path or file.");
+            throw new WebAPIException(
+                WebAPIException.TYPE_MISMATCH_ERR,
+                'sourceFile should be virtual path or file.'
+            );
         }
 
-        var optionsAttributes = ["destination", "stripSourceDirectory", "compressionLevel"],
+        var optionsAttributes = [
+                'destination',
+                'stripSourceDirectory',
+                'compressionLevel'
+            ],
             options = args.options || {};
 
-        for(var i in optionsAttributes) {
+        for (var i in optionsAttributes) {
             if (!options[optionsAttributes[i]]) {
                 options[optionsAttributes[i]] = null;
             }
         }
 
-        checkMode(this.mode, ["w","rw", "a"]);
+        checkMode(this.mode, ['w', 'rw', 'a']);
 
         var callArgs = {
-            sourceFile : CommonFS.toRealPath(args.sourceFile),
-            options : options,
-            opId : opId,
-            handle : getHandle()
+            sourceFile: CommonFS.toRealPath(args.sourceFile),
+            options: options,
+            opId: opId,
+            handle: getHandle()
         };
 
         var callback = function(result) {
@@ -330,28 +414,53 @@ function ArchiveFile(data) {
     /**
      * Extracts every file from this ArchiveFile to a given directory.
      */
-    this.extractAll = function () {
+    this.extractAll = function() {
         var args = validator_.validateArgs(arguments, [
-            { name: "destinationDirectory", type: types_.FILE_REFERENCE },
-            { name: "onsuccess", type: types_.FUNCTION, optional: true, nullable: true },
-            { name: "onerror", type: types_.FUNCTION, optional: true, nullable: true },
-            { name: "onprogress", type: types_.FUNCTION, optional: true, nullable: true },
-            { name: "overwrite", type: types_.BOOLEAN, optional: true, nullable: true }
-        ]),
-        opId = getNextOpId();
+                {
+                    name: 'destinationDirectory',
+                    type: types_.FILE_REFERENCE
+                },
+                {
+                    name: 'onsuccess',
+                    type: types_.FUNCTION,
+                    optional: true,
+                    nullable: true
+                },
+                {
+                    name: 'onerror',
+                    type: types_.FUNCTION,
+                    optional: true,
+                    nullable: true
+                },
+                {
+                    name: 'onprogress',
+                    type: types_.FUNCTION,
+                    optional: true,
+                    nullable: true
+                },
+                {
+                    name: 'overwrite',
+                    type: types_.BOOLEAN,
+                    optional: true,
+                    nullable: true
+                }
+            ]),
+            opId = getNextOpId();
 
         if (!CommonFS.isVirtualPath(args.destinationDirectory)) {
-            throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-                    "destinationDirectory should be virtual path or file.");
+            throw new WebAPIException(
+                WebAPIException.TYPE_MISMATCH_ERR,
+                'destinationDirectory should be virtual path or file.'
+            );
         }
 
-        checkMode(this.mode, ["r","rw"]);
+        checkMode(this.mode, ['r', 'rw']);
 
         var callArgs = {
-            destinationDirectory : CommonFS.toRealPath(args.destinationDirectory),
-            overwrite : args.overwrite || null,
-            opId : opId,
-            handle : getHandle()
+            destinationDirectory: CommonFS.toRealPath(args.destinationDirectory),
+            overwrite: args.overwrite || null,
+            opId: opId,
+            handle: getHandle()
         };
 
         var callback = function(result) {
@@ -378,18 +487,18 @@ function ArchiveFile(data) {
     /**
      * Retrieves information about the member files in ArchiveFile.
      */
-    this.getEntries = function () {
+    this.getEntries = function() {
         var args = validator_.validateArgs(arguments, [
-            { name: "onsuccess", type: types_.FUNCTION },
-            { name: "onerror", type: types_.FUNCTION, optional: true, nullable: true }
-        ]),
-        opId = getNextOpId();
+                { name: 'onsuccess', type: types_.FUNCTION },
+                { name: 'onerror', type: types_.FUNCTION, optional: true, nullable: true }
+            ]),
+            opId = getNextOpId();
 
-        checkMode(this.mode, ["r","rw"]);
+        checkMode(this.mode, ['r', 'rw']);
 
         var callArgs = {
-            opId : opId,
-            handle : getHandle()
+            opId: opId,
+            handle: getHandle()
         };
 
         var callback = function(result) {
@@ -398,11 +507,11 @@ function ArchiveFile(data) {
             } else {
                 var entries = [];
                 var ret = native_.getResultObject(result);
-                ret.forEach(function (e) {
+                ret.forEach(function(e) {
                     entries.push(new ArchiveFileEntry(e, priv));
                 });
                 args.onsuccess(entries);
-          }
+            }
         };
 
         var result = native_.call('ArchiveFile_getEntries', callArgs, callback);
@@ -414,29 +523,32 @@ function ArchiveFile(data) {
     };
 
     /**
-     * Retrieves information about ArchiveFileEntry with the specified name in ArchiveFile.
+     * Retrieves information about ArchiveFileEntry with the specified name
+     * in ArchiveFile.
      */
-    this.getEntryByName = function () {
+    this.getEntryByName = function() {
         var args = validator_.validateArgs(arguments, [
-            { name: "name", type: types_.STRING },
-            { name: "onsuccess", type: types_.FUNCTION },
-            { name: "onerror", type: types_.FUNCTION, optional: true, nullable: true }
-        ]),
-        opId = getNextOpId();
+                { name: 'name', type: types_.STRING },
+                { name: 'onsuccess', type: types_.FUNCTION },
+                { name: 'onerror', type: types_.FUNCTION, optional: true, nullable: true }
+            ]),
+            opId = getNextOpId();
 
-        checkMode(this.mode, ["r","rw"]);
+        checkMode(this.mode, ['r', 'rw']);
 
         var callArgs = {
-            name : args.name,
-            opId : opId,
-            handle : getHandle()
+            name: args.name,
+            opId: opId,
+            handle: getHandle()
         };
 
         var callback = function(result) {
             if (native_.isFailure(result)) {
                 native_.callIfPossible(args.onerror, native_.getErrorObject(result));
             } else {
-                args.onsuccess(new ArchiveFileEntry(native_.getResultObject(result), priv));
+                args.onsuccess(
+                    new ArchiveFileEntry(native_.getResultObject(result), priv)
+                );
             }
         };
 
@@ -451,11 +563,11 @@ function ArchiveFile(data) {
     /**
      * Closes the ArchiveFile.
      */
-    this.close = function () {
+    this.close = function() {
         var handle = priv.handle;
-        if(priv.handle) {
+        if (priv.handle) {
             delete priv.handle;
-            var result = native_.callSync('ArchiveFile_close', {'handle': handle});
+            var result = native_.callSync('ArchiveFile_close', { handle: handle });
 
             if (native_.isFailure(result)) {
                 throw native_.getErrorObject(result);
@@ -464,45 +576,45 @@ function ArchiveFile(data) {
     };
 }
 
-
-var ArchiveManager = function () {
-};
+var ArchiveManager = function() {};
 
 /**
- * Opens the archive file. After this operation, it is possible to add or get files to and from the archive.
+ * Opens the archive file.
+ * After this operation, it is possible to add or get files to and from the archive.
  */
-ArchiveManager.prototype.open = function () {
+ArchiveManager.prototype.open = function() {
     var args = validator_.validateArgs(arguments, [
-        { name: "file", type: types_.FILE_REFERENCE },
-        { name: "mode", type: types_.ENUM, values: ["r", "rw", "w", "a"] },
-        { name: "onsuccess", type: types_.FUNCTION },
-        { name: "onerror", type: types_.FUNCTION, optional: true, nullable: true },
-        { name: "options", type: types_.DICTIONARY, optional: true, nullable: true }
-    ]),
-    opId = getNextOpId();
-
-    var optionsAttributes = ["overwrite"],
+            { name: 'file', type: types_.FILE_REFERENCE },
+            { name: 'mode', type: types_.ENUM, values: ['r', 'rw', 'w', 'a'] },
+            { name: 'onsuccess', type: types_.FUNCTION },
+            { name: 'onerror', type: types_.FUNCTION, optional: true, nullable: true },
+            { name: 'options', type: types_.DICTIONARY, optional: true, nullable: true }
+        ]),
+        opId = getNextOpId();
+
+    var optionsAttributes = ['overwrite'],
         options = args.options || {};
 
-    for(var i in optionsAttributes) {
+    for (var i in optionsAttributes) {
         if (!options[optionsAttributes[i]]) {
             options[optionsAttributes[i]] = null;
         }
     }
 
     if (!CommonFS.isVirtualPath(args.file)) {
-        throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-                "file should be virtual path or file.");
+        throw new WebAPIException(
+            WebAPIException.TYPE_MISMATCH_ERR,
+            'file should be virtual path or file.'
+        );
     }
 
     var callArgs = {
-        file : CommonFS.toRealPath(args.file),
-        mode : args.mode,
-        options : options,
-        opId : opId,
+        file: CommonFS.toRealPath(args.file),
+        mode: args.mode,
+        options: options,
+        opId: opId
     };
 
-
     var callback = function(result) {
         if (native_.isFailure(result)) {
             native_.callIfPossible(args.onerror, native_.getErrorObject(result));
@@ -522,12 +634,10 @@ ArchiveManager.prototype.open = function () {
 /**
  * Cancels an operation with the given identifier.
  */
-ArchiveManager.prototype.abort = function () {
-    var args = validator_.validateArgs(arguments, [
-        { name: "opId", type: types_.LONG }
-    ]);
+ArchiveManager.prototype.abort = function() {
+    var args = validator_.validateArgs(arguments, [{ name: 'opId', type: types_.LONG }]);
 
-    var result = native_.callSync('ArchiveManager_abort', {opId: args.opId});
+    var result = native_.callSync('ArchiveManager_abort', { opId: args.opId });
 
     if (native_.isFailure(result)) {
         throw native_.getErrorObject(result);
index dcd666b867a841ad32b5c5fe3ed3079c9896c56b..f26311cbfa03cc30f9c6caec61358375aa6f3211 100755 (executable)
@@ -13,7 +13,7 @@
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
+
 //maximum value of badge as found in old plugin implementation
 var MAX_BADGE_COUNT = 999;
 
@@ -27,143 +27,141 @@ var _badgeListenerRegistered = false;
 var _badgeCallbackMap = {};
 var _currentWatchId = 1;
 var _getNextWatchId = function() {
-  return _currentWatchId++;
+    return _currentWatchId++;
 };
 
 var _badgeChangeListener = function(result) {
-  if (result.appId && result.count && _badgeCallbackMap.hasOwnProperty(result.appId)) {
-    for (var functionToCall in _badgeCallbackMap[result.appId]) {
-      native_.callIfPossible(_badgeCallbackMap[result.appId][functionToCall],
-                             result.appId, converter_.toLong(result.count));
+    if (result.appId && result.count && _badgeCallbackMap.hasOwnProperty(result.appId)) {
+        for (var functionToCall in _badgeCallbackMap[result.appId]) {
+            native_.callIfPossible(
+                _badgeCallbackMap[result.appId][functionToCall],
+                result.appId,
+                converter_.toLong(result.count)
+            );
+        }
     }
-  }
 };
 
-
-
 /**
  * This class provides functions to request and release badge resource.
  * @constructor
  */
 function BadgeManager() {
-  Object.defineProperties(this, {
-    'maxBadgeCount': { value: MAX_BADGE_COUNT, emumerable: true, writable: false}
-  });
+    Object.defineProperties(this, {
+        maxBadgeCount: { value: MAX_BADGE_COUNT, emumerable: true, writable: false }
+    });
 }
 
-
 /**
  * Sets the badge count for the designated application.
  */
 BadgeManager.prototype.setBadgeCount = function() {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'appId', type: types_.STRING},
-    {name: 'count', type: types_.LONG}
-  ]);
-
-  if (args.count < 0) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-                              'Count parameter is negative!');
-  }
-
-  var ret = native_.callSync('BadgeManager_setBadgeCount', {
-    appId: args.appId,
-    count: args.count
-  });
-
-  if (native_.isFailure(ret)) {
-    throw native_.getErrorObject(ret);
-  }
-};
+    var args = validator_.validateArgs(arguments, [
+        { name: 'appId', type: types_.STRING },
+        { name: 'count', type: types_.LONG }
+    ]);
+
+    if (args.count < 0) {
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'Count parameter is negative!'
+        );
+    }
 
+    var ret = native_.callSync('BadgeManager_setBadgeCount', {
+        appId: args.appId,
+        count: args.count
+    });
+
+    if (native_.isFailure(ret)) {
+        throw native_.getErrorObject(ret);
+    }
+};
 
 /**
  * Gets the badge count for the designated application.
  * @return {number} long Count of the badge
  */
 BadgeManager.prototype.getBadgeCount = function() {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'appId', type: types_.STRING}
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'appId', type: types_.STRING }
+    ]);
 
-  var ret = native_.callSync('BadgeManager_getBadgeCount', {
-    appId: args.appId
-  });
+    var ret = native_.callSync('BadgeManager_getBadgeCount', {
+        appId: args.appId
+    });
 
-  if (native_.isFailure(ret)) {
-    throw native_.getErrorObject(ret);
-  }
+    if (native_.isFailure(ret)) {
+        throw native_.getErrorObject(ret);
+    }
 
-  return parseInt(native_.getResultObject(ret));
+    return parseInt(native_.getResultObject(ret));
 };
 
-
 /**
  * Gets the badge count for the designated application.
  */
 BadgeManager.prototype.addChangeListener = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'appIdList',
-      type: types_.ARRAY,
-      values: types_.STRING,
-      optional: false,
-      nullable: false
-    },
-    {
-      name: 'successCallback',
-      type: types_.FUNCTION,
-      optional: false,
-      nullable: false
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'appIdList',
+            type: types_.ARRAY,
+            values: types_.STRING,
+            optional: false,
+            nullable: false
+        },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: false,
+            nullable: false
+        }
+    ]);
+
+    var result = native_.callSync('BadgeManager_addChangeListener', args);
+
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+    if (!_badgeListenerRegistered) {
+        _badgeListenerRegistered = true;
+        native_.addListener('BadgeChangeListener', _badgeChangeListener);
     }
-  ]);
-
-  var result = native_.callSync('BadgeManager_addChangeListener', args);
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-  if (!_badgeListenerRegistered) {
-    _badgeListenerRegistered = true;
-    native_.addListener('BadgeChangeListener', _badgeChangeListener);
-  }
-  for (var i = 0; i < args.appIdList.length; i++) {
-    if (!_badgeCallbackMap.hasOwnProperty(args.appIdList[i])) {
-      _badgeCallbackMap[args.appIdList[i]] = [];
+    for (var i = 0; i < args.appIdList.length; i++) {
+        if (!_badgeCallbackMap.hasOwnProperty(args.appIdList[i])) {
+            _badgeCallbackMap[args.appIdList[i]] = [];
+        }
+        _badgeCallbackMap[args.appIdList[i]].push(args.successCallback);
     }
-    _badgeCallbackMap[args.appIdList[i]].push(args.successCallback);
-  }
-  return;
+    return;
 };
 
-
 /**
  * Gets the badge count for the designated application.
  */
 BadgeManager.prototype.removeChangeListener = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'appIdList',
-      type: types_.ARRAY,
-      values: types_.STRING,
-      optional: false,
-      nullable: false
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'appIdList',
+            type: types_.ARRAY,
+            values: types_.STRING,
+            optional: false,
+            nullable: false
+        }
+    ]);
+
+    for (var i = 0; i < args.appIdList.length; i++) {
+        if (_badgeCallbackMap.hasOwnProperty(args.appIdList[i]))
+            delete _badgeCallbackMap[args.appIdList[i]];
     }
-  ]);
-
-  for (var i = 0; i < args.appIdList.length; i++) {
-    if (_badgeCallbackMap.hasOwnProperty(args.appIdList[i]))
-      delete _badgeCallbackMap[args.appIdList[i]];
-  }
 
-  if (Type.isEmptyObject(_badgeCallbackMap)) {
-    native_.removeListener('BadgeChangeListener', _badgeChangeListener);
-    _badgeListenerRegistered = false;
-  }
+    if (Type.isEmptyObject(_badgeCallbackMap)) {
+        native_.removeListener('BadgeChangeListener', _badgeChangeListener);
+        _badgeListenerRegistered = false;
+    }
 
-  var result = native_.callSync('BadgeManager_removeChangeListener', args);
-  if (native_.isFailure(result))
-    throw native_.getErrorObject(result);
+    var result = native_.callSync('BadgeManager_removeChangeListener', args);
+    if (native_.isFailure(result)) throw native_.getErrorObject(result);
 };
 
 exports = new BadgeManager();
index 9fb4266ef9721eeaaf30ba2ba4919a9af20a0ab8..7a6540a8f93c8d6b83123bd58339d37f1d9ef930 100755 (executable)
@@ -13,7 +13,7 @@
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
+
 var T = xwalk.utils.type;
 var Converter = xwalk.utils.converter;
 var AV = xwalk.utils.validator;
@@ -24,377 +24,394 @@ var native = new xwalk.utils.NativeManager(extension);
 // class BluetoothClassDeviceMajor /////////////////////////////////////////
 var BluetoothClassDeviceMajor = function() {
     Object.defineProperties(this, {
-        MISC:          {value: 0x00, writable: false, enumerable: true},
-        COMPUTER:      {value: 0x01, writable: false, enumerable: true},
-        PHONE:         {value: 0x02, writable: false, enumerable: true},
-        NETWORK:       {value: 0x03, writable: false, enumerable: true},
-        AUDIO_VIDEO:   {value: 0x04, writable: false, enumerable: true},
-        PERIPHERAL:    {value: 0x05, writable: false, enumerable: true},
-        IMAGING:       {value: 0x06, writable: false, enumerable: true},
-        WEARABLE:      {value: 0x07, writable: false, enumerable: true},
-        TOY:           {value: 0x08, writable: false, enumerable: true},
-        HEALTH:        {value: 0x09, writable: false, enumerable: true},
-        UNCATEGORIZED: {value: 0x1F, writable: false, enumerable: true}
+        MISC: { value: 0x00, writable: false, enumerable: true },
+        COMPUTER: { value: 0x01, writable: false, enumerable: true },
+        PHONE: { value: 0x02, writable: false, enumerable: true },
+        NETWORK: { value: 0x03, writable: false, enumerable: true },
+        AUDIO_VIDEO: { value: 0x04, writable: false, enumerable: true },
+        PERIPHERAL: { value: 0x05, writable: false, enumerable: true },
+        IMAGING: { value: 0x06, writable: false, enumerable: true },
+        WEARABLE: { value: 0x07, writable: false, enumerable: true },
+        TOY: { value: 0x08, writable: false, enumerable: true },
+        HEALTH: { value: 0x09, writable: false, enumerable: true },
+        UNCATEGORIZED: { value: 0x1f, writable: false, enumerable: true }
     });
 };
 
 // class BluetoothClassDeviceMinor /////////////////////////////////////////
 var BluetoothClassDeviceMinor = function() {
     Object.defineProperties(this, {
-        COMPUTER_UNCATEGORIZED:           {value: 0x00, writable: false, enumerable: true},
-        COMPUTER_DESKTOP:                 {value: 0x01, writable: false, enumerable: true},
-        COMPUTER_SERVER:                  {value: 0x02, writable: false, enumerable: true},
-        COMPUTER_LAPTOP:                  {value: 0x03, writable: false, enumerable: true},
-        COMPUTER_HANDHELD_PC_OR_PDA:      {value: 0x04, writable: false, enumerable: true},
-        COMPUTER_PALM_PC_OR_PDA:          {value: 0x05, writable: false, enumerable: true},
-        COMPUTER_WEARABLE:                {value: 0x06, writable: false, enumerable: true},
-
-        PHONE_UNCATEGORIZED:              {value: 0x00, writable: false, enumerable: true},
-        PHONE_CELLULAR:                   {value: 0x01, writable: false, enumerable: true},
-        PHONE_CORDLESS:                   {value: 0x02, writable: false, enumerable: true},
-        PHONE_SMARTPHONE:                 {value: 0x03, writable: false, enumerable: true},
-        PHONE_MODEM_OR_GATEWAY:           {value: 0x04, writable: false, enumerable: true},
-        PHONE_ISDN:                       {value: 0x05, writable: false, enumerable: true},
-
-        AV_UNRECOGNIZED:                  {value: 0x00, writable: false, enumerable: true},
-        AV_WEARABLE_HEADSET:              {value: 0x01, writable: false, enumerable: true},
-        AV_HANDSFREE:                     {value: 0x02, writable: false, enumerable: true},
-        AV_MICROPHONE:                    {value: 0x04, writable: false, enumerable: true},
-        AV_LOUDSPEAKER:                   {value: 0x05, writable: false, enumerable: true},
-        AV_HEADPHONES:                    {value: 0x06, writable: false, enumerable: true},
-        AV_PORTABLE_AUDIO:                {value: 0x07, writable: false, enumerable: true},
-        AV_CAR_AUDIO:                     {value: 0x08, writable: false, enumerable: true},
-        AV_SETTOP_BOX:                    {value: 0x09, writable: false, enumerable: true},
-        AV_HIFI:                          {value: 0x0A, writable: false, enumerable: true},
-        AV_VCR:                           {value: 0x0B, writable: false, enumerable: true},
-        AV_VIDEO_CAMERA:                  {value: 0x0C, writable: false, enumerable: true},
-        AV_CAMCORDER:                     {value: 0x0D, writable: false, enumerable: true},
-        AV_MONITOR:                       {value: 0x0E, writable: false, enumerable: true},
-        AV_DISPLAY_AND_LOUDSPEAKER:       {value: 0x0F, writable: false, enumerable: true},
-        AV_VIDEO_CONFERENCING:            {value: 0x10, writable: false, enumerable: true},
-        AV_GAMING_TOY:                    {value: 0x12, writable: false, enumerable: true},
-
-        PERIPHERAL_UNCATEGORIZED:         {value: 0x00, writable: false, enumerable: true},
-        PERIPHERAL_KEYBOARD:              {value: 0x10, writable: false, enumerable: true},
-        PERIPHERAL_POINTING_DEVICE:       {value: 0x20, writable: false, enumerable: true},
+        COMPUTER_UNCATEGORIZED: { value: 0x00, writable: false, enumerable: true },
+        COMPUTER_DESKTOP: { value: 0x01, writable: false, enumerable: true },
+        COMPUTER_SERVER: { value: 0x02, writable: false, enumerable: true },
+        COMPUTER_LAPTOP: { value: 0x03, writable: false, enumerable: true },
+        COMPUTER_HANDHELD_PC_OR_PDA: { value: 0x04, writable: false, enumerable: true },
+        COMPUTER_PALM_PC_OR_PDA: { value: 0x05, writable: false, enumerable: true },
+        COMPUTER_WEARABLE: { value: 0x06, writable: false, enumerable: true },
+
+        PHONE_UNCATEGORIZED: { value: 0x00, writable: false, enumerable: true },
+        PHONE_CELLULAR: { value: 0x01, writable: false, enumerable: true },
+        PHONE_CORDLESS: { value: 0x02, writable: false, enumerable: true },
+        PHONE_SMARTPHONE: { value: 0x03, writable: false, enumerable: true },
+        PHONE_MODEM_OR_GATEWAY: { value: 0x04, writable: false, enumerable: true },
+        PHONE_ISDN: { value: 0x05, writable: false, enumerable: true },
+
+        AV_UNRECOGNIZED: { value: 0x00, writable: false, enumerable: true },
+        AV_WEARABLE_HEADSET: { value: 0x01, writable: false, enumerable: true },
+        AV_HANDSFREE: { value: 0x02, writable: false, enumerable: true },
+        AV_MICROPHONE: { value: 0x04, writable: false, enumerable: true },
+        AV_LOUDSPEAKER: { value: 0x05, writable: false, enumerable: true },
+        AV_HEADPHONES: { value: 0x06, writable: false, enumerable: true },
+        AV_PORTABLE_AUDIO: { value: 0x07, writable: false, enumerable: true },
+        AV_CAR_AUDIO: { value: 0x08, writable: false, enumerable: true },
+        AV_SETTOP_BOX: { value: 0x09, writable: false, enumerable: true },
+        AV_HIFI: { value: 0x0a, writable: false, enumerable: true },
+        AV_VCR: { value: 0x0b, writable: false, enumerable: true },
+        AV_VIDEO_CAMERA: { value: 0x0c, writable: false, enumerable: true },
+        AV_CAMCORDER: { value: 0x0d, writable: false, enumerable: true },
+        AV_MONITOR: { value: 0x0e, writable: false, enumerable: true },
+        AV_DISPLAY_AND_LOUDSPEAKER: { value: 0x0f, writable: false, enumerable: true },
+        AV_VIDEO_CONFERENCING: { value: 0x10, writable: false, enumerable: true },
+        AV_GAMING_TOY: { value: 0x12, writable: false, enumerable: true },
+
+        PERIPHERAL_UNCATEGORIZED: { value: 0x00, writable: false, enumerable: true },
+        PERIPHERAL_KEYBOARD: { value: 0x10, writable: false, enumerable: true },
+        PERIPHERAL_POINTING_DEVICE: { value: 0x20, writable: false, enumerable: true },
         PERIPHERAL_KEYBOARD_AND_POINTING_DEVICE: {
             value: 0x30,
             writable: false,
             enumerable: true
         },
-        PERIPHERAL_JOYSTICK:              {value: 0x01, writable: false, enumerable: true},
-        PERIPHERAL_GAMEPAD:               {value: 0x02, writable: false, enumerable: true},
-        PERIPHERAL_REMOTE_CONTROL:        {value: 0x03, writable: false, enumerable: true},
-        PERIPHERAL_SENSING_DEVICE:        {value: 0x04, writable: false, enumerable: true},
-        PERIPHERAL_DEGITIZER_TABLET:      {value: 0x05, writable: false, enumerable: true},
-        PERIPHERAL_CARD_READER:           {value: 0x06, writable: false, enumerable: true},
-        PERIPHERAL_DIGITAL_PEN:           {value: 0x07, writable: false, enumerable: true},
-        PERIPHERAL_HANDHELD_SCANNER:      {value: 0x08, writable: false, enumerable: true},
-        PERIPHERAL_HANDHELD_INPUT_DEVICE: {value: 0x09, writable: false, enumerable: true},
-
-        IMAGING_UNCATEGORIZED:            {value: 0x00, writable: false, enumerable: true},
-        IMAGING_DISPLAY:                  {value: 0x04, writable: false, enumerable: true},
-        IMAGING_CAMERA:                   {value: 0x08, writable: false, enumerable: true},
-        IMAGING_SCANNER:                  {value: 0x10, writable: false, enumerable: true},
-        IMAGING_PRINTER:                  {value: 0x20, writable: false, enumerable: true},
-
-        WEARABLE_WRITST_WATCH:            {value: 0x01, writable: false, enumerable: true},
-        WEARABLE_PAGER:                   {value: 0x02, writable: false, enumerable: true},
-        WEARABLE_JACKET:                  {value: 0x03, writable: false, enumerable: true},
-        WEARABLE_HELMET:                  {value: 0x04, writable: false, enumerable: true},
-        WEARABLE_GLASSES:                 {value: 0x05, writable: false, enumerable: true},
-
-        TOY_ROBOT:                        {value: 0x01, writable: false, enumerable: true},
-        TOY_VEHICLE:                      {value: 0x02, writable: false, enumerable: true},
-        TOY_DOLL:                         {value: 0x03, writable: false, enumerable: true},
-        TOY_CONTROLLER:                   {value: 0x04, writable: false, enumerable: true},
-        TOY_GAME:                         {value: 0x05, writable: false, enumerable: true},
-
-        HEALTH_UNDEFINED:                 {value: 0x00, writable: false, enumerable: true},
-        HEALTH_BLOOD_PRESSURE_MONITOR:    {value: 0x01, writable: false, enumerable: true},
-        HEALTH_THERMOMETER:               {value: 0x02, writable: false, enumerable: true},
-        HEALTH_WEIGHING_SCALE:            {value: 0x03, writable: false, enumerable: true},
-        HEALTH_GLUCOSE_METER:             {value: 0x04, writable: false, enumerable: true},
-        HEALTH_PULSE_OXIMETER:            {value: 0x05, writable: false, enumerable: true},
-        HEALTH_PULSE_RATE_MONITOR:        {value: 0x06, writable: false, enumerable: true},
-        HEALTH_DATA_DISPLAY:              {value: 0x07, writable: false, enumerable: true},
-        HEALTH_STEP_COUNTER:              {value: 0x08, writable: false, enumerable: true},
-        HEALTH_BODY_COMPOSITION_ANALYZER: {value: 0x09, writable: false, enumerable: true},
-        HEALTH_PEAK_FLOW_MONITOR:         {value: 0x0A, writable: false, enumerable: true},
-        HEALTH_MEDICATION_MONITOR:        {value: 0x0B, writable: false, enumerable: true},
-        HEALTH_KNEE_PROSTHESIS:           {value: 0x0C, writable: false, enumerable: true},
-        HEALTH_ANKLE_PROSTHESIS:          {value: 0x0D, writable: false, enumerable: true}
+        PERIPHERAL_JOYSTICK: { value: 0x01, writable: false, enumerable: true },
+        PERIPHERAL_GAMEPAD: { value: 0x02, writable: false, enumerable: true },
+        PERIPHERAL_REMOTE_CONTROL: { value: 0x03, writable: false, enumerable: true },
+        PERIPHERAL_SENSING_DEVICE: { value: 0x04, writable: false, enumerable: true },
+        PERIPHERAL_DEGITIZER_TABLET: { value: 0x05, writable: false, enumerable: true },
+        PERIPHERAL_CARD_READER: { value: 0x06, writable: false, enumerable: true },
+        PERIPHERAL_DIGITAL_PEN: { value: 0x07, writable: false, enumerable: true },
+        PERIPHERAL_HANDHELD_SCANNER: { value: 0x08, writable: false, enumerable: true },
+        PERIPHERAL_HANDHELD_INPUT_DEVICE: {
+            value: 0x09,
+            writable: false,
+            enumerable: true
+        },
+
+        IMAGING_UNCATEGORIZED: { value: 0x00, writable: false, enumerable: true },
+        IMAGING_DISPLAY: { value: 0x04, writable: false, enumerable: true },
+        IMAGING_CAMERA: { value: 0x08, writable: false, enumerable: true },
+        IMAGING_SCANNER: { value: 0x10, writable: false, enumerable: true },
+        IMAGING_PRINTER: { value: 0x20, writable: false, enumerable: true },
+
+        WEARABLE_WRITST_WATCH: { value: 0x01, writable: false, enumerable: true },
+        WEARABLE_PAGER: { value: 0x02, writable: false, enumerable: true },
+        WEARABLE_JACKET: { value: 0x03, writable: false, enumerable: true },
+        WEARABLE_HELMET: { value: 0x04, writable: false, enumerable: true },
+        WEARABLE_GLASSES: { value: 0x05, writable: false, enumerable: true },
+
+        TOY_ROBOT: { value: 0x01, writable: false, enumerable: true },
+        TOY_VEHICLE: { value: 0x02, writable: false, enumerable: true },
+        TOY_DOLL: { value: 0x03, writable: false, enumerable: true },
+        TOY_CONTROLLER: { value: 0x04, writable: false, enumerable: true },
+        TOY_GAME: { value: 0x05, writable: false, enumerable: true },
+
+        HEALTH_UNDEFINED: { value: 0x00, writable: false, enumerable: true },
+        HEALTH_BLOOD_PRESSURE_MONITOR: { value: 0x01, writable: false, enumerable: true },
+        HEALTH_THERMOMETER: { value: 0x02, writable: false, enumerable: true },
+        HEALTH_WEIGHING_SCALE: { value: 0x03, writable: false, enumerable: true },
+        HEALTH_GLUCOSE_METER: { value: 0x04, writable: false, enumerable: true },
+        HEALTH_PULSE_OXIMETER: { value: 0x05, writable: false, enumerable: true },
+        HEALTH_PULSE_RATE_MONITOR: { value: 0x06, writable: false, enumerable: true },
+        HEALTH_DATA_DISPLAY: { value: 0x07, writable: false, enumerable: true },
+        HEALTH_STEP_COUNTER: { value: 0x08, writable: false, enumerable: true },
+        HEALTH_BODY_COMPOSITION_ANALYZER: {
+            value: 0x09,
+            writable: false,
+            enumerable: true
+        },
+        HEALTH_PEAK_FLOW_MONITOR: { value: 0x0a, writable: false, enumerable: true },
+        HEALTH_MEDICATION_MONITOR: { value: 0x0b, writable: false, enumerable: true },
+        HEALTH_KNEE_PROSTHESIS: { value: 0x0c, writable: false, enumerable: true },
+        HEALTH_ANKLE_PROSTHESIS: { value: 0x0d, writable: false, enumerable: true }
     });
 };
 
 // class BluetoothClassDeviceService ///////////////////////////////////////
 var BluetoothClassDeviceService = function() {
     Object.defineProperties(this, {
-        LIMITED_DISCOVERABILITY: {value: 0x0001, writable: false, enumerable: true},
-        POSITIONING:             {value: 0x0008, writable: false, enumerable: true},
-        NETWORKING:              {value: 0x0010, writable: false, enumerable: true},
-        RENDERING:               {value: 0x0020, writable: false, enumerable: true},
-        CAPTURING:               {value: 0x0040, writable: false, enumerable: true},
-        OBJECT_TRANSFER:         {value: 0x0080, writable: false, enumerable: true},
-        AUDIO:                   {value: 0x0100, writable: false, enumerable: true},
-        TELEPHONY:               {value: 0x0200, writable: false, enumerable: true},
-        INFORMATION:             {value: 0x0400, writable: false, enumerable: true}
+        LIMITED_DISCOVERABILITY: { value: 0x0001, writable: false, enumerable: true },
+        POSITIONING: { value: 0x0008, writable: false, enumerable: true },
+        NETWORKING: { value: 0x0010, writable: false, enumerable: true },
+        RENDERING: { value: 0x0020, writable: false, enumerable: true },
+        CAPTURING: { value: 0x0040, writable: false, enumerable: true },
+        OBJECT_TRANSFER: { value: 0x0080, writable: false, enumerable: true },
+        AUDIO: { value: 0x0100, writable: false, enumerable: true },
+        TELEPHONY: { value: 0x0200, writable: false, enumerable: true },
+        INFORMATION: { value: 0x0400, writable: false, enumerable: true }
     });
 };
 
-//class tizen.BluetoothLEServiceData ////////////////////////////////////////////////////
+//class tizen.BluetoothLEServiceData //////////////////////
 tizen.BluetoothLEServiceData = function(d) {
-  AV.isConstructorCall(this, tizen.BluetoothLEServiceData);
-  var uuid_ = '';
-  var data_ = '';
-
-  Object.defineProperties(this, {
-    uuid: {
-      enumerable: true,
-      get: function() {
-        return uuid_;
-      },
-      set: function(v) {
-        uuid_ = Converter.toString(v);
-      }
-    },
-    data: {
-      enumerable: true,
-      get: function() {
-        return data_;
-      },
-      set: function(v) {
-        data_ = Converter.toString(v);
-      }
-    }
-  });
-
-  if (arguments.length >= 2) {  // public constructor
-    this.uuid = arguments[0];
-    this.data = arguments[1];
-  } else if (d && T.isObject(d)) {  // internal constructor
-    this.uuid = d.uuid;
-    this.data = d.data;
-  } else {
-    uuid_ = undefined;
-    data_ = undefined;
-  }
-};
-
-//class BluetoothLEAdvertiseData ////////////////////////////////////////////////////
-tizen.BluetoothLEAdvertiseData = function(dict) {
-  AV.isConstructorCall(this, tizen.BluetoothLEAdvertiseData);
-  var includeName_ = false;
-  var uuids_ = null;
-  var solicitationuuids_ = null;
-  var appearance_ = null;
-  var includeTxPowerLevel_ = false;
-  var serviceData_ = null;
-  var manufacturerData_ = null;
-
-  Object.defineProperties(this, {
-    includeName: {
-      enumerable: true,
-      get: function() {
-        return includeName_;
-      },
-      set: function(v) {
-        includeName_ = Converter.toBoolean(v, true);
-      }
-    },
-    uuids: {
-      enumerable: true,
-      get: function() {
-        return uuids_;
-      },
-      set: function(v) {
-        if (T.isNull(v)) {
-          uuids_ = v;
-        } else if (T.isArray(v)) {
-          for (var i = 0; i < v.length; ++i) {
-            if (!T.isString(v[i])) {
-              v[i] = Converter.toString(v[i]);
+    AV.isConstructorCall(this, tizen.BluetoothLEServiceData);
+    var uuid_ = '';
+    var data_ = '';
+
+    Object.defineProperties(this, {
+        uuid: {
+            enumerable: true,
+            get: function() {
+                return uuid_;
+            },
+            set: function(v) {
+                uuid_ = Converter.toString(v);
+            }
+        },
+        data: {
+            enumerable: true,
+            get: function() {
+                return data_;
+            },
+            set: function(v) {
+                data_ = Converter.toString(v);
             }
-          }
-          uuids_ = v;
         }
-      }
-    },
-    solicitationuuids: {
-      enumerable: true,
-      get: function() {
-        return solicitationuuids_;
-      },
-      set: function(v) {
-        if (T.isNull(v)) {
-          solicitationuuids_ = v;
-        } else if (T.isArray(v)) {
-          for (var i = 0; i < v.length; ++i) {
-            if (!T.isString(v[i])) {
-              v[i] = Converter.toString(v[i]);
+    });
+
+    if (arguments.length >= 2) {
+        // public constructor
+        this.uuid = arguments[0];
+        this.data = arguments[1];
+    } else if (d && T.isObject(d)) {
+        // internal constructor
+        this.uuid = d.uuid;
+        this.data = d.data;
+    } else {
+        uuid_ = undefined;
+        data_ = undefined;
+    }
+};
+
+//class BluetoothLEAdvertiseData //////////////////////
+tizen.BluetoothLEAdvertiseData = function(dict) {
+    AV.isConstructorCall(this, tizen.BluetoothLEAdvertiseData);
+    var includeName_ = false;
+    var uuids_ = null;
+    var solicitationuuids_ = null;
+    var appearance_ = null;
+    var includeTxPowerLevel_ = false;
+    var serviceData_ = null;
+    var manufacturerData_ = null;
+
+    Object.defineProperties(this, {
+        includeName: {
+            enumerable: true,
+            get: function() {
+                return includeName_;
+            },
+            set: function(v) {
+                includeName_ = Converter.toBoolean(v, true);
+            }
+        },
+        uuids: {
+            enumerable: true,
+            get: function() {
+                return uuids_;
+            },
+            set: function(v) {
+                if (T.isNull(v)) {
+                    uuids_ = v;
+                } else if (T.isArray(v)) {
+                    for (var i = 0; i < v.length; ++i) {
+                        if (!T.isString(v[i])) {
+                            v[i] = Converter.toString(v[i]);
+                        }
+                    }
+                    uuids_ = v;
+                }
+            }
+        },
+        solicitationuuids: {
+            enumerable: true,
+            get: function() {
+                return solicitationuuids_;
+            },
+            set: function(v) {
+                if (T.isNull(v)) {
+                    solicitationuuids_ = v;
+                } else if (T.isArray(v)) {
+                    for (var i = 0; i < v.length; ++i) {
+                        if (!T.isString(v[i])) {
+                            v[i] = Converter.toString(v[i]);
+                        }
+                    }
+                    solicitationuuids_ = v;
+                }
+            }
+        },
+        appearance: {
+            enumerable: true,
+            get: function() {
+                return appearance_;
+            },
+            set: function(v) {
+                appearance_ = Converter.toUnsignedLong(v, true);
+            }
+        },
+        includeTxPowerLevel: {
+            enumerable: true,
+            get: function() {
+                return includeTxPowerLevel_;
+            },
+            set: function(v) {
+                includeTxPowerLevel_ = Converter.toBoolean(v, true);
+            }
+        },
+        serviceData: {
+            enumerable: true,
+            get: function() {
+                return serviceData_;
+            },
+            set: function(v) {
+                if (T.isNull(v) || v instanceof tizen.BluetoothLEServiceData) {
+                    serviceData_ = v;
+                }
+            }
+        },
+        manufacturerData: {
+            enumerable: true,
+            get: function() {
+                return manufacturerData_;
+            },
+            set: function(v) {
+                if (T.isNull(v) || v instanceof tizen.BluetoothLEManufacturerData) {
+                    manufacturerData_ = v;
+                }
             }
-          }
-          solicitationuuids_ = v;
         }
-      }
-    },
-    appearance: {
-      enumerable: true,
-      get: function() {
-        return appearance_;
-      },
-      set: function(v) {
-        appearance_ = Converter.toUnsignedLong(v, true);
-      }
-    },
-    includeTxPowerLevel: {
-      enumerable: true,
-      get: function() {
-        return includeTxPowerLevel_;
-      },
-      set: function(v) {
-        includeTxPowerLevel_ = Converter.toBoolean(v, true);
-      }
-    },
-    serviceData: {
-      enumerable: true,
-      get: function() {
-        return serviceData_;
-      },
-      set: function(v) {
-        if (T.isNull(v) || (v instanceof tizen.BluetoothLEServiceData)) {
-          serviceData_ = v;
-        }
-      }
-    },
-    manufacturerData: {
-      enumerable: true,
-      get: function() {
-        return manufacturerData_;
-      },
-      set: function(v) {
-        if (T.isNull(v) || (v instanceof tizen.BluetoothLEManufacturerData)) {
-          manufacturerData_ = v;
+    });
+
+    if (T.isObject(dict)) {
+        var o = {};
+
+        // includeName
+        if (T.isNull(dict.includeName) || T.isBoolean(dict.includeName)) {
+            o.includeName = dict.includeName;
+        } else if (!T.isUndefined(dict.includeName)) {
+            return;
         }
-      }
-    }
-  });
 
-  if (T.isObject(dict)) {
-    var o = {};
+        // uuids
+        if (T.isNull(dict.uuids)) {
+            o.uuids = dict.uuids;
+        } else if (T.isArray(dict.uuids)) {
+            for (var i = 0; i < dict.uuids.length; ++i) {
+                if (!T.isString(dict.uuids[i])) {
+                    return;
+                }
+            }
+            o.uuids = dict.uuids;
+        } else if (!T.isUndefined(dict.uuids)) {
+            return;
+        }
+
+        // solicitationuuids
+        if (T.isNull(dict.solicitationuuids)) {
+            o.solicitationuuids = dict.solicitationuuids;
+        } else if (T.isArray(dict.solicitationuuids)) {
+            for (var i = 0; i < dict.solicitationuuids.length; ++i) {
+                if (!T.isString(dict.solicitationuuids[i])) {
+                    return;
+                }
+            }
+            o.solicitationuuids = dict.solicitationuuids;
+        } else if (!T.isUndefined(dict.solicitationuuids)) {
+            return;
+        }
 
-    // includeName
-    if (T.isNull(dict.includeName) || T.isBoolean(dict.includeName)) {
-      o.includeName = dict.includeName;
-    } else if (!T.isUndefined(dict.includeName)) {
-      return;
-    }
+        // appearance
+        if (T.isNull(dict.appearance) || T.isNumber(dict.appearance)) {
+            o.appearance = dict.appearance;
+        } else if (!T.isUndefined(dict.appearance)) {
+            return;
+        }
 
-    // uuids
-    if (T.isNull(dict.uuids)) {
-      o.uuids = dict.uuids;
-    } else if (T.isArray(dict.uuids)) {
-      for (var i = 0; i < dict.uuids.length; ++i) {
-        if (!T.isString(dict.uuids[i])) {
-          return;
+        // includeTxPowerLevel
+        if (T.isNull(dict.includeTxPowerLevel) || T.isBoolean(dict.includeTxPowerLevel)) {
+            o.includeTxPowerLevel = dict.includeTxPowerLevel;
+        } else if (!T.isUndefined(dict.includeTxPowerLevel)) {
+            return;
         }
-      }
-      o.uuids = dict.uuids;
-    } else if (!T.isUndefined(dict.uuids)) {
-      return;
-    }
 
-    // solicitationuuids
-    if (T.isNull(dict.solicitationuuids)) {
-      o.solicitationuuids = dict.solicitationuuids;
-    } else if (T.isArray(dict.solicitationuuids)) {
-      for (var i = 0; i < dict.solicitationuuids.length; ++i) {
-        if (!T.isString(dict.solicitationuuids[i])) {
-          return;
+        // serviceData
+        if (
+            T.isNull(dict.serviceData) ||
+            dict.serviceData instanceof tizen.BluetoothLEServiceData
+        ) {
+            o.serviceData = dict.serviceData;
+        } else if (!T.isUndefined(dict.serviceData)) {
+            return;
         }
-      }
-      o.solicitationuuids = dict.solicitationuuids;
-    } else if (!T.isUndefined(dict.solicitationuuids)) {
-      return;
-    }
 
-    // appearance
-    if (T.isNull(dict.appearance) || T.isNumber(dict.appearance)) {
-      o.appearance = dict.appearance;
-    } else if (!T.isUndefined(dict.appearance)) {
-      return;
-    }
+        // manufacturerData
+        if (
+            T.isNull(dict.manufacturerData) ||
+            dict.manufacturerData instanceof tizen.BluetoothLEManufacturerData
+        ) {
+            o.manufacturerData = dict.manufacturerData;
+        } else if (!T.isUndefined(dict.manufacturerData)) {
+            return;
+        }
 
-    // includeTxPowerLevel
-    if (T.isNull(dict.includeTxPowerLevel) || T.isBoolean(dict.includeTxPowerLevel)) {
-      o.includeTxPowerLevel = dict.includeTxPowerLevel;
-    } else if (!T.isUndefined(dict.includeTxPowerLevel)) {
-      return;
+        for (var prop in o) {
+            if (o.hasOwnProperty(prop) && this.hasOwnProperty(prop)) {
+                this[prop] = o[prop];
+            }
+        }
     }
+};
 
-    // serviceData
-    if (T.isNull(dict.serviceData) || dict.serviceData instanceof tizen.BluetoothLEServiceData) {
-      o.serviceData = dict.serviceData;
-    } else if (!T.isUndefined(dict.serviceData)) {
-      return;
-    }
+//class tizen.BluetoothLEManufacturerData //////////////////////
+tizen.BluetoothLEManufacturerData = function(d) {
+    AV.isConstructorCall(this, tizen.BluetoothLEManufacturerData);
+    var id_ = '';
+    var data_ = '';
 
-    // manufacturerData
-    if (T.isNull(dict.manufacturerData) ||
-        (dict.manufacturerData instanceof tizen.BluetoothLEManufacturerData)) {
-      o.manufacturerData = dict.manufacturerData;
-    } else if (!T.isUndefined(dict.manufacturerData)) {
-      return;
-    }
+    Object.defineProperties(this, {
+        id: {
+            enumerable: true,
+            get: function() {
+                return id_;
+            },
+            set: function(v) {
+                id_ = Converter.toString(v);
+            }
+        },
+        data: {
+            enumerable: true,
+            get: function() {
+                return data_;
+            },
+            set: function(v) {
+                data_ = Converter.toString(v);
+            }
+        }
+    });
 
-    for (var prop in o) {
-      if (o.hasOwnProperty(prop) && this.hasOwnProperty(prop)) {
-        this[prop] = o[prop];
-      }
+    if (arguments.length >= 2) {
+        // public constructor
+        this.id = arguments[0];
+        this.data = arguments[1];
+    } else if (d && T.isObject(d)) {
+        // internal constructor
+        this.id = d.id;
+        this.data = d.data;
+    } else {
+        id_ = undefined;
+        data_ = undefined;
     }
-  }
 };
 
-//class tizen.BluetoothLEManufacturerData ////////////////////////////////////////////////////
-tizen.BluetoothLEManufacturerData = function(d) {
-  AV.isConstructorCall(this, tizen.BluetoothLEManufacturerData);
-  var id_ = '';
-  var data_ = '';
-
-  Object.defineProperties(this, {
-    id: {
-      enumerable: true,
-      get: function() {
-        return id_;
-      },
-      set: function(v) {
-        id_ = Converter.toString(v);
-      }
-    },
-    data: {
-      enumerable: true,
-      get: function() {
-        return data_;
-      },
-      set: function(v) {
-        data_ = Converter.toString(v);
-      }
-    }
-  });
-
-  if (arguments.length >= 2) {  // public constructor
-    this.id = arguments[0];
-    this.data = arguments[1];
-  } else if (d && T.isObject(d)) {  // internal constructor
-    this.id = d.id;
-    this.data = d.data;
-  } else {
-    id_ = undefined;
-    data_ = undefined;
-  }
-};
-
-// class BluetoothClass ////////////////////////////////////////////////////
+// class BluetoothClass //////////////////////
 var BluetoothClass = function(data) {
     var services = [];
     if (data) {
@@ -402,46 +419,52 @@ var BluetoothClass = function(data) {
     }
 
     Object.defineProperties(this, {
-        major : {value: data.major, writable: false, enumerable: true},
-        minor : {value: data.minor, writable: false, enumerable: true},
-        services : {
+        major: { value: data.major, writable: false, enumerable: true },
+        minor: { value: data.minor, writable: false, enumerable: true },
+        services: {
             enumerable: true,
-            set : function(){},
-            get : function(){ return services.slice(); }
+            set: function() {},
+            get: function() {
+                return services.slice();
+            }
         }
     });
 };
 
 var BluetoothClass_hasService = function() {
-  privUtils_.log('Entered BluetoothClass.hasService()');
-  privUtils_.checkPrivilegeAccess4Ver("2.4", Privilege.BLUETOOTH, Privilege.BLUETOOTH_GAP);
+    privUtils_.log('Entered BluetoothClass.hasService()');
+    privUtils_.checkPrivilegeAccess4Ver(
+        '2.4',
+        Privilege.BLUETOOTH,
+        Privilege.BLUETOOTH_GAP
+    );
 
-  var args = AV.validateMethod(arguments, [
-      {
-          name : 'service',
-          type : AV.Types.UNSIGNED_LONG
-      }
-  ]);
+    var args = AV.validateMethod(arguments, [
+        {
+            name: 'service',
+            type: AV.Types.UNSIGNED_LONG
+        }
+    ]);
 
-  var size = this.services.length;
-  for (var i = 0; i < size; i++) {
-      if (this.services[i] === args.service) {
-          return true;
-      }
-  }
-  return false;
+    var size = this.services.length;
+    for (var i = 0; i < size; i++) {
+        if (this.services[i] === args.service) {
+            return true;
+        }
+    }
+    return false;
 };
 
 BluetoothClass.prototype.hasService = function() {
     return BluetoothClass_hasService.apply(this, arguments);
 };
 
-// class BluetoothSocket ////////////////////////////////////////////////////
+// class BluetoothSocket //////////////////////
 var _BLUETOOTH_SOCKET_STATE_CLOSED = 'CLOSED';
 
 function BluetoothSocketListeners() {
     var that = this;
-    this.socketCallback = function (data) {
+    this.socketCallback = function(data) {
         var event = data;
         var socket = that.sockets[event.id];
 
@@ -450,7 +473,9 @@ function BluetoothSocketListeners() {
                 // no more events
                 that.removeListener(event.id);
                 // change state
-                Object.defineProperty(socket, 'state', {value : _BLUETOOTH_SOCKET_STATE_CLOSED});
+                Object.defineProperty(socket, 'state', {
+                    value: _BLUETOOTH_SOCKET_STATE_CLOSED
+                });
             }
 
             var callback = socket[event.event];
@@ -485,12 +510,21 @@ var _bluetoothSocketListeners = new BluetoothSocketListeners();
 
 var BluetoothSocket = function(data) {
     Object.defineProperties(this, {
-        uuid : {value: data.uuid, writable: false, enumerable: true},
-        state : {value: data.state, writable: false, enumerable: true, configurable: true},
-        peer : {value: new BluetoothDevice(data.peer), writable: false, enumerable: true},
-        onmessage : {value: null, writable: true, enumerable: true},
-        onclose : {value: null, writable: true, enumerable: true},
-        _id : {value: data.id, writable: false, enumerable: false}
+        uuid: { value: data.uuid, writable: false, enumerable: true },
+        state: {
+            value: data.state,
+            writable: false,
+            enumerable: true,
+            configurable: true
+        },
+        peer: {
+            value: new BluetoothDevice(data.peer),
+            writable: false,
+            enumerable: true
+        },
+        onmessage: { value: null, writable: true, enumerable: true },
+        onclose: { value: null, writable: true, enumerable: true },
+        _id: { value: data.id, writable: false, enumerable: false }
     });
 
     _bluetoothSocketListeners.addListener(this);
@@ -501,15 +535,15 @@ BluetoothSocket.prototype.writeData = function() {
 
     var args = AV.validateMethod(arguments, [
         {
-            name : 'data',
-            type : AV.Types.ARRAY,
-            values : AV.Types.BYTE
+            name: 'data',
+            type: AV.Types.ARRAY,
+            values: AV.Types.BYTE
         }
     ]);
 
     var callArgs = {
-        id : this._id,
-        data : args.data
+        id: this._id,
+        data: args.data
     };
 
     var result = native.callSync('BluetoothSocket_writeData', callArgs);
@@ -525,7 +559,7 @@ BluetoothSocket.prototype.readData = function() {
     privUtils_.log('Entered BluetoothSocket.readData()');
 
     var callArgs = {
-        id : this._id
+        id: this._id
     };
 
     var result = native.callSync('BluetoothSocket_readData', callArgs);
@@ -542,7 +576,7 @@ BluetoothSocket.prototype.close = function() {
 
     if (_BLUETOOTH_SOCKET_STATE_CLOSED !== this.state) {
         var callArgs = {
-            id : this._id
+            id: this._id
         };
 
         var result = native.callSync('BluetoothSocket_close', callArgs);
@@ -552,80 +586,94 @@ BluetoothSocket.prototype.close = function() {
         }
 
         // change state
-        Object.defineProperty(this, 'state', { value : _BLUETOOTH_SOCKET_STATE_CLOSED });
+        Object.defineProperty(this, 'state', { value: _BLUETOOTH_SOCKET_STATE_CLOSED });
     }
 };
 
-//class BluetoothLEDevice ////////////////////////////////////////////////////
+//class BluetoothLEDevice //////////////////////
 var BluetoothLEDevice = function(data) {
-    var address = "", name = null, txpowerlevel = null, appearance = null, uuids = null,
-        solicitationuuids = null, serviceData = null, manufacturerData = null, rssi = null;
+    var address = '',
+        name = null,
+        txpowerlevel = null,
+        appearance = null,
+        uuids = null,
+        solicitationuuids = null,
+        serviceData = null,
+        manufacturerData = null,
+        rssi = null;
 
     if (data) {
-      address = data.address;
-      name = data.name || null;
-      txpowerlevel = data.txpowerlevel || null;
-      appearance = data.appearance || null;
-      uuids = data.uuids || null;
-      solicitationuuids = data.solicitationuuids || null;
-      if (data.serviceData) {
-        data.serviceData.forEach(function(d) {
-            serviceData.push(new tizen.BluetoothLEServiceData(d));
-        });
-      }
-      if (data.manufacturerData) {
-        manufacturerData = new tizen.BluetoothLEManufacturerData(data.manufacturerData);
-      }
-      if (data.rssi) {
-        rssi = data.rssi;
-      }
+        address = data.address;
+        name = data.name || null;
+        txpowerlevel = data.txpowerlevel || null;
+        appearance = data.appearance || null;
+        uuids = data.uuids || null;
+        solicitationuuids = data.solicitationuuids || null;
+        if (data.serviceData) {
+            data.serviceData.forEach(function(d) {
+                serviceData.push(new tizen.BluetoothLEServiceData(d));
+            });
+        }
+        if (data.manufacturerData) {
+            manufacturerData = new tizen.BluetoothLEManufacturerData(
+                data.manufacturerData
+            );
+        }
+        if (data.rssi) {
+            rssi = data.rssi;
+        }
     }
 
     Object.defineProperties(this, {
-        address : {value: address, writable: false, enumerable: true},
-        name : {value: name, writable: false, enumerable: true},
-        txpowerlevel : {value: txpowerlevel, writable: false, enumerable: true},
-        appearance : {value: appearance, writable: false, enumerable: true},
-        uuids : {
+        address: { value: address, writable: false, enumerable: true },
+        name: { value: name, writable: false, enumerable: true },
+        txpowerlevel: { value: txpowerlevel, writable: false, enumerable: true },
+        appearance: { value: appearance, writable: false, enumerable: true },
+        uuids: {
             enumerable: true,
-            set : function(){},
-            get : function(){
-              var service_uuids = uuids ? uuids.slice() : null;
-              return service_uuids;
+            set: function() {},
+            get: function() {
+                var service_uuids = uuids ? uuids.slice() : null;
+                return service_uuids;
             }
         },
-        solicitationuuids : {
+        solicitationuuids: {
             enumerable: true,
-            set : function(){},
-            get : function(){ return solicitationuuids ? solicitationuuids.slice() : null; }
+            set: function() {},
+            get: function() {
+                return solicitationuuids ? solicitationuuids.slice() : null;
+            }
         },
-        serviceData : {
+        serviceData: {
             enumerable: true,
-            set : function(){},
-            get : function(){ return serviceData ? serviceData.slice() : null; }
+            set: function() {},
+            get: function() {
+                return serviceData ? serviceData.slice() : null;
+            }
         },
-        manufacturerData : {
+        manufacturerData: {
             value: manufacturerData,
             writable: false,
-            enumerable: true},
-        rssi : {value: rssi, writable: false, enumerable: true}
+            enumerable: true
+        },
+        rssi: { value: rssi, writable: false, enumerable: true }
     });
 };
 
 BluetoothLEDevice.prototype.connect = function() {
     privUtils_.log('Entered BluetoothLEDevice.connect()');
     var args = AV.validateMethod(arguments, [
-    {
-        name : 'successCallback',
-        type : AV.Types.FUNCTION,
-        optional : true,
-        nullable : true
-    },
-    {
-        name : 'errorCallback',
-            type : AV.Types.FUNCTION,
-            optional : true,
-            nullable : true
+        {
+            name: 'successCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
         }
     ]);
 
@@ -637,26 +685,30 @@ BluetoothLEDevice.prototype.connect = function() {
         }
     };
     // Errors are handled by error callback
-    var result = native.call('BluetoothLEDevice_connect', {address : this.address}, callback);
+    var result = native.call(
+        'BluetoothLEDevice_connect',
+        { address: this.address },
+        callback
+    );
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     }
 };
 
 BluetoothLEDevice.prototype.disconnect = function() {
     privUtils_.log('Entered BluetoothLEDevice.disconnect()');
     var args = AV.validateMethod(arguments, [
-    {
-        name : 'successCallback',
-        type : AV.Types.FUNCTION,
-        optional : true,
-        nullable : true
-    },
-    {
-        name : 'errorCallback',
-            type : AV.Types.FUNCTION,
-            optional : true,
-            nullable : true
+        {
+            name: 'successCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
         }
     ]);
     var callback = function(result) {
@@ -667,7 +719,11 @@ BluetoothLEDevice.prototype.disconnect = function() {
         }
     };
 
-    var result = native.call('BluetoothLEDevice_disconnect', {address : this.address}, callback);
+    var result = native.call(
+        'BluetoothLEDevice_disconnect',
+        { address: this.address },
+        callback
+    );
     if (native.isFailure(result)) {
         throw native.getErrorObject(result);
     }
@@ -683,8 +739,8 @@ BluetoothLEDevice.prototype.getService = function() {
     ]);
 
     var callArgs = {
-        uuid : args.uuid,
-        address : this.address
+        uuid: args.uuid,
+        address: this.address
     };
 
     var result = native.callSync('BluetoothLEDevice_getService', callArgs);
@@ -696,19 +752,19 @@ BluetoothLEDevice.prototype.getService = function() {
 };
 
 BluetoothLEDevice.prototype.getServiceAllUuids = function() {
-  privUtils_.log('Entered BluetoothLEDevice.getServiceAllUuids()');
+    privUtils_.log('Entered BluetoothLEDevice.getServiceAllUuids()');
 
-  var callArgs = {
-    address : this.address
-  };
+    var callArgs = {
+        address: this.address
+    };
 
-  var result = native.callSync('BluetoothLEDevice_getServiceAllUuids', callArgs);
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    var uuids = native.getResultObject(result);
-    return uuids;
-  }
+    var result = native.callSync('BluetoothLEDevice_getServiceAllUuids', callArgs);
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    } else {
+        var uuids = native.getResultObject(result);
+        return uuids;
+    }
 };
 
 BluetoothLEDevice.prototype.addConnectStateChangeListener = function() {
@@ -727,7 +783,7 @@ BluetoothLEDevice.prototype.addConnectStateChangeListener = function() {
         if (event.address === that.address && args.listener[event.action]) {
             args.listener[event.action](that);
         }
-    }
+    };
 
     var watchId = _bleConnectChangeListener.addListener(func);
 
@@ -747,7 +803,7 @@ BluetoothLEDevice.prototype.removeConnectStateChangeListener = function() {
     _bleConnectChangeListener.removeListener(args.watchID);
 };
 
-// class BluetoothDevice ////////////////////////////////////////////////////
+// class BluetoothDevice //////////////////////
 var BluetoothDevice = function(data) {
     var self = this;
     function _getter(field) {
@@ -783,30 +839,34 @@ var BluetoothDevice = function(data) {
     }
 
     Object.defineProperties(this, {
-        name : {value: data.name, writable: false, enumerable: true},
-        address : {value: data.address, writable: false, enumerable: true},
-        deviceClass : {value: new BluetoothClass(data.deviceClass),
+        name: { value: data.name, writable: false, enumerable: true },
+        address: { value: data.address, writable: false, enumerable: true },
+        deviceClass: {
+            value: new BluetoothClass(data.deviceClass),
             writable: false,
-            enumerable: true},
-        isBonded : {
+            enumerable: true
+        },
+        isBonded: {
             enumerable: true,
-            set : function(){},
-            get : isBondedGetter
+            set: function() {},
+            get: isBondedGetter
         },
-        isTrusted : {
+        isTrusted: {
             enumerable: true,
-            set : function(){},
-            get : isTrustedGetter
+            set: function() {},
+            get: isTrustedGetter
         },
-        isConnected : {
+        isConnected: {
             enumerable: true,
-            set : function(){},
-            get : isConnectedGetter
+            set: function() {},
+            get: isConnectedGetter
         },
-        uuids : {
+        uuids: {
             enumerable: true,
-            set : function(){},
-            get : function(){ return uuids.slice(); }
+            set: function() {},
+            get: function() {
+                return uuids.slice();
+            }
         }
     });
 };
@@ -816,24 +876,24 @@ BluetoothDevice.prototype.connectToServiceByUUID = function() {
 
     var args = AV.validateMethod(arguments, [
         {
-            name : 'uuid',
-            type : AV.Types.STRING
+            name: 'uuid',
+            type: AV.Types.STRING
         },
         {
-            name : 'successCallback',
-            type : AV.Types.FUNCTION
+            name: 'successCallback',
+            type: AV.Types.FUNCTION
         },
         {
-            name : 'errorCallback',
-            type : AV.Types.FUNCTION,
-            optional : true,
-            nullable : true
+            name: 'errorCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
         }
     ]);
 
     var callArgs = {
-        address : this.address,
-        uuid : args.uuid
+        address: this.address,
+        uuid: args.uuid
     };
     var callback = function(result) {
         if (native.isFailure(result)) {
@@ -843,16 +903,20 @@ BluetoothDevice.prototype.connectToServiceByUUID = function() {
         }
     };
 
-    var result = native.call('BluetoothDevice_connectToServiceByUUID', callArgs, callback);
+    var result = native.call(
+        'BluetoothDevice_connectToServiceByUUID',
+        callArgs,
+        callback
+    );
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     }
 };
 
-// class BluetoothServiceHandler ////////////////////////////////////////////////////
+// class BluetoothServiceHandler //////////////////////
 function BluetoothServiceListeners() {
     var that = this;
-    this.serviceCallback = function (data) {
+    this.serviceCallback = function(data) {
         var e = data;
         var service = that.services[e.uuid];
         var result = new BluetoothSocket(e);
@@ -887,10 +951,12 @@ var _bluetoothServiceListeners = new BluetoothServiceListeners();
 var BluetoothServiceHandler = function(data) {
     function isConnectedGetter() {
         var callArgs = {
-            uuid : this.uuid
+            uuid: this.uuid
         };
 
-        var result = native.callSync('BluetoothAdapter_isServiceConnected', { uuid : this.uuid });
+        var result = native.callSync('BluetoothAdapter_isServiceConnected', {
+            uuid: this.uuid
+        });
 
         if (native.isFailure(result)) {
             return false;
@@ -900,14 +966,14 @@ var BluetoothServiceHandler = function(data) {
     }
 
     Object.defineProperties(this, {
-        uuid : {value: data.uuid, writable: false, enumerable: true},
-        name : {value: data.name, writable: false, enumerable: true},
-        isConnected : {
+        uuid: { value: data.uuid, writable: false, enumerable: true },
+        name: { value: data.name, writable: false, enumerable: true },
+        isConnected: {
             enumerable: true,
-            set : function(){},
-            get : isConnectedGetter
+            set: function() {},
+            get: isConnectedGetter
         },
-        onconnect : {value: null, writable: true, enumerable: true}
+        onconnect: { value: null, writable: true, enumerable: true }
     });
 
     _bluetoothServiceListeners.addListener(this);
@@ -917,21 +983,21 @@ BluetoothServiceHandler.prototype.unregister = function() {
     privUtils_.log('Entered BluetoothServiceHandler.unregister()');
     var args = AV.validateMethod(arguments, [
         {
-            name : 'successCallback',
-            type : AV.Types.FUNCTION,
-            optional : true,
-            nullable : true
+            name: 'successCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
         },
         {
-            name : 'errorCallback',
-            type : AV.Types.FUNCTION,
-            optional : true,
-            nullable : true
+            name: 'errorCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
         }
     ]);
 
     var callArgs = {
-        uuid : this.uuid
+        uuid: this.uuid
     };
 
     var callback = function(result) {
@@ -944,16 +1010,16 @@ BluetoothServiceHandler.prototype.unregister = function() {
 
     var result = native.call('BluetoothServiceHandler_unregister', callArgs, callback);
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     }
 
     _bluetoothServiceListeners.removeListener(this.uuid);
 };
 
-// class BluetoothHealthApplication ////////////////////////////////////////////////////
+// class BluetoothHealthApplication //////////////////////
 function BluetoothHealthApplicationListeners() {
     var that = this;
-    this.appCallback = function (data) {
+    this.appCallback = function(data) {
         var event = data;
         var app = that.apps[event.id];
 
@@ -1000,10 +1066,10 @@ var _bluetoothHealthApplicationListeners = new BluetoothHealthApplicationListene
 
 var BluetoothHealthApplication = function(data) {
     Object.defineProperties(this, {
-        dataType : {value: data.dataType, writable: false, enumerable: true},
-        name : {value: data.name, writable: false, enumerable: true},
-        onconnect : {value: null, writable: true, enumerable: true},
-        _id : {value: data._id, writable: false, enumerable: false}
+        dataType: { value: data.dataType, writable: false, enumerable: true },
+        name: { value: data.name, writable: false, enumerable: true },
+        onconnect: { value: null, writable: true, enumerable: true },
+        _id: { value: data._id, writable: false, enumerable: false }
     });
 
     _bluetoothHealthApplicationListeners.addListener(this);
@@ -1013,20 +1079,20 @@ BluetoothHealthApplication.prototype.unregister = function() {
     privUtils_.log('Entered BluetoothHealthApplication.unregister()');
     var args = AV.validateMethod(arguments, [
         {
-            name : 'successCallback',
-            type : AV.Types.FUNCTION,
-            optional : true,
-            nullable : true
+            name: 'successCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
         },
         {
-            name : 'errorCallback',
-            type : AV.Types.FUNCTION,
-            optional : true,
-            nullable : true
+            name: 'errorCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
         }
     ]);
 
-    var callArgs = {id : this._id};
+    var callArgs = { id: this._id };
 
     var callback = function(result) {
         if (native.isFailure(result)) {
@@ -1038,26 +1104,26 @@ BluetoothHealthApplication.prototype.unregister = function() {
 
     var result = native.call('BluetoothHealthApplication_unregister', callArgs, callback);
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     }
 
     _bluetoothHealthApplicationListeners.removeListener(this._id);
 };
 
-// class BluetoothProfileHandler ////////////////////////////////////////////////////
+// class BluetoothProfileHandler //////////////////////
 var _BluetoothProfileType = {
-    HEALTH : 'HEALTH'
+    HEALTH: 'HEALTH'
 };
 
 var BluetoothProfileHandler = function(data) {
     if (data) {
         Object.defineProperties(this, {
-            profileType : {value: data.profileType, writable: false, enumerable: true}
+            profileType: { value: data.profileType, writable: false, enumerable: true }
         });
     }
 };
 
-// class BluetoothHealthProfileHandler ////////////////////////////////////////////////////
+// class BluetoothHealthProfileHandler //////////////////////
 var BluetoothHealthProfileHandler = function(data) {
     BluetoothProfileHandler.call(this, data);
 };
@@ -1071,41 +1137,47 @@ BluetoothHealthProfileHandler.prototype.registerSinkApplication = function() {
 
     var args = AV.validateMethod(arguments, [
         {
-            name : 'dataType',
-            type : AV.Types.LONG // there's no short type
+            name: 'dataType',
+            type: AV.Types.LONG // there's no short type
         },
         {
-            name : 'name',
-            type : AV.Types.STRING
+            name: 'name',
+            type: AV.Types.STRING
         },
         {
-            name : 'successCallback',
-            type : AV.Types.FUNCTION
+            name: 'successCallback',
+            type: AV.Types.FUNCTION
         },
         {
-            name : 'errorCallback',
-            type : AV.Types.FUNCTION,
-            optional : true,
-            nullable : true
+            name: 'errorCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
         }
     ]);
 
     var callArgs = {
-        dataType : args.dataType,
-        name : args.name
+        dataType: args.dataType,
+        name: args.name
     };
 
     var callback = function(result) {
         if (native.isFailure(result)) {
             native.callIfPossible(args.errorCallback, native.getErrorObject(result));
         } else {
-            args.successCallback(new BluetoothHealthApplication(native.getResultObject(result)));
+            args.successCallback(
+                new BluetoothHealthApplication(native.getResultObject(result))
+            );
         }
     };
 
-    var result = native.call('BluetoothHealthProfileHandler_registerSinkApp', callArgs, callback);
+    var result = native.call(
+        'BluetoothHealthProfileHandler_registerSinkApp',
+        callArgs,
+        callback
+    );
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     }
 };
 
@@ -1114,30 +1186,30 @@ BluetoothHealthProfileHandler.prototype.connectToSource = function() {
 
     var args = AV.validateMethod(arguments, [
         {
-            name : 'peer',
-            type : AV.Types.PLATFORM_OBJECT,
-            values : BluetoothDevice
+            name: 'peer',
+            type: AV.Types.PLATFORM_OBJECT,
+            values: BluetoothDevice
         },
         {
-            name : 'application',
-            type : AV.Types.PLATFORM_OBJECT,
-            values : BluetoothHealthApplication
+            name: 'application',
+            type: AV.Types.PLATFORM_OBJECT,
+            values: BluetoothHealthApplication
         },
         {
-            name : 'successCallback',
-            type : AV.Types.FUNCTION
+            name: 'successCallback',
+            type: AV.Types.FUNCTION
         },
         {
-            name : 'errorCallback',
-            type : AV.Types.FUNCTION,
-            optional : true,
-            nullable : true
+            name: 'errorCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
         }
     ]);
 
     var callArgs = {
-        address : args.peer.address,
-        appId : args.application._id
+        address: args.peer.address,
+        appId: args.application._id
     };
 
     var callback = function(result) {
@@ -1151,28 +1223,33 @@ BluetoothHealthProfileHandler.prototype.connectToSource = function() {
         }
     };
 
-    var result = native.call('BluetoothHealthProfileHandler_connectToSource', callArgs, callback);
+    var result = native.call(
+        'BluetoothHealthProfileHandler_connectToSource',
+        callArgs,
+        callback
+    );
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     }
 };
 
-// class BluetoothHealthChannel ////////////////////////////////////////////////////
+// class BluetoothHealthChannel //////////////////////
 var BluetoothHealthChannel = function(data) {
     Object.defineProperties(this, {
-        peer : {value: data.peer, writable: false, enumerable: true},
-        channelType : {value: data.channelType, writable: false, enumerable: true},
-        application : {
+        peer: { value: data.peer, writable: false, enumerable: true },
+        channelType: { value: data.channelType, writable: false, enumerable: true },
+        application: {
             value: _bluetoothHealthApplicationListeners.apps[data.appId],
             writable: false,
             enumerable: true
         },
-        isConnected : {
+        isConnected: {
             value: data.isConnected,
             writable: false,
             enumerable: true,
-            configurable: true},
-        _id : {value: data._id, writable: false, enumerable: false}
+            configurable: true
+        },
+        _id: { value: data._id, writable: false, enumerable: false }
     });
 };
 
@@ -1181,8 +1258,8 @@ BluetoothHealthChannel.prototype.close = function() {
 
     if (this.isConnected) {
         var callArgs = {
-            channel : this._id,
-            address : this.peer.address
+            channel: this._id,
+            address: this.peer.address
         };
 
         var result = native.callSync('BluetoothHealthChannel_close', callArgs);
@@ -1191,7 +1268,7 @@ BluetoothHealthChannel.prototype.close = function() {
             throw native.getErrorObject(result);
         }
 
-        Object.defineProperty(this, 'isConnected', { value : false });
+        Object.defineProperty(this, 'isConnected', { value: false });
     }
 };
 
@@ -1199,15 +1276,15 @@ BluetoothHealthChannel.prototype.sendData = function() {
     privUtils_.log('Entered BluetoothHealthChannel.sendData()');
     var args = AV.validateMethod(arguments, [
         {
-            name : 'data',
-            type : AV.Types.ARRAY,
-            values : AV.Types.BYTE
+            name: 'data',
+            type: AV.Types.ARRAY,
+            values: AV.Types.BYTE
         }
     ]);
 
     var callArgs = {
-        channel : this._id,
-        data : args.data
+        channel: this._id,
+        data: args.data
     };
 
     var result = native.callSync('BluetoothHealthChannel_sendData', callArgs);
@@ -1245,257 +1322,283 @@ function _BluetoothHealthChannelChangeCallback(event) {
 }
 
 var BluetoothHealthChannel_setListener = function() {
-  privUtils_.log('Entered BluetoothHealthChannel.setListener()');
-  privUtils_.checkPrivilegeAccess4Ver("2.4", Privilege.BLUETOOTH, Privilege.BLUETOOTH_HEALTH);
-  var args = AV.validateMethod(arguments, [
-      {
-          name : 'changeCallback',
-          type : AV.Types.LISTENER,
-          values : ['onmessage', 'onclose']
-      }
-  ]);
+    privUtils_.log('Entered BluetoothHealthChannel.setListener()');
+    privUtils_.checkPrivilegeAccess4Ver(
+        '2.4',
+        Privilege.BLUETOOTH,
+        Privilege.BLUETOOTH_HEALTH
+    );
+    var args = AV.validateMethod(arguments, [
+        {
+            name: 'changeCallback',
+            type: AV.Types.LISTENER,
+            values: ['onmessage', 'onclose']
+        }
+    ]);
 
-  if (T.isEmptyObject(_healthListeners)) {
-      native.addListener('BluetoothHealthChannelChangeCallback',
-              _BluetoothHealthChannelChangeCallback);
-  }
-  _healthListeners[this._id] = args.changeCallback;
+    if (T.isEmptyObject(_healthListeners)) {
+        native.addListener(
+            'BluetoothHealthChannelChangeCallback',
+            _BluetoothHealthChannelChangeCallback
+        );
+    }
+    _healthListeners[this._id] = args.changeCallback;
 };
 
-
 BluetoothHealthChannel.prototype.setListener = function() {
     BluetoothHealthChannel_setListener.apply(this, arguments);
 };
 
-var BluetoothHealthChannel_unsetListener  = function() {
-  privUtils_.log('Entered BluetoothHealthChannel.unsetListener ()');
-  if (T.isEmptyObject(_healthListeners)) {
-    privUtils_.checkPrivilegeAccess4Ver("2.4", Privilege.BLUETOOTH, Privilege.BLUETOOTH_HEALTH);
-  }
+var BluetoothHealthChannel_unsetListener = function() {
+    privUtils_.log('Entered BluetoothHealthChannel.unsetListener ()');
+    if (T.isEmptyObject(_healthListeners)) {
+        privUtils_.checkPrivilegeAccess4Ver(
+            '2.4',
+            Privilege.BLUETOOTH,
+            Privilege.BLUETOOTH_HEALTH
+        );
+    }
 
-  delete _healthListeners[this._id];
+    delete _healthListeners[this._id];
 
-  if (T.isEmptyObject(_healthListeners)) {
-      native.removeListener('BluetoothHealthChannelChangeCallback',
-              _BluetoothHealthChannelChangeCallback);
-  }
+    if (T.isEmptyObject(_healthListeners)) {
+        native.removeListener(
+            'BluetoothHealthChannelChangeCallback',
+            _BluetoothHealthChannelChangeCallback
+        );
+    }
 };
 
-BluetoothHealthChannel.prototype.unsetListener  = function() {
-  BluetoothHealthChannel_unsetListener.apply(this, arguments);
+BluetoothHealthChannel.prototype.unsetListener = function() {
+    BluetoothHealthChannel_unsetListener.apply(this, arguments);
 };
 
-
 /**
  * Creates a manager for specified listener event.
  *
  * @param {string} name - name of the listener this manager handles
- * @param {function} callback - function to be invoked when event specified by the name fires.
- *                              This function should return false if the callback doesn't want
- *                              to handle the event anymore, true otherwise.
+ * @param {function} callback - function to be invoked when event specified by the name
+ *                              fires.
+ *                              This function should return false if the callback doesn't
+ *                              want to handle the event anymore, true otherwise.
  *                              This function should have following signature:
  *                              bool callback(event, successCallback, errorCallback);
  *
  * @return {object} object which allows to add or remove callbacks for specified listener
  */
 function _singleListenerBuilder(name, callback) {
-  var listenerName = name;
-  var successCallback;
-  var errorCallback;
-  var callbackFunction = callback;
-  var listenerRegistered = false;
+    var listenerName = name;
+    var successCallback;
+    var errorCallback;
+    var callbackFunction = callback;
+    var listenerRegistered = false;
 
-  function innerCallback(event) {
-    if (!callbackFunction(event, successCallback, errorCallback)) {
-      removeListener();
+    function innerCallback(event) {
+        if (!callbackFunction(event, successCallback, errorCallback)) {
+            removeListener();
+        }
     }
-  }
 
-  function addListener(s, e) {
-    successCallback = s;
-    errorCallback = e;
+    function addListener(s, e) {
+        successCallback = s;
+        errorCallback = e;
 
-    if (!listenerRegistered) {
-      native.addListener(listenerName, innerCallback);
-      listenerRegistered = true;
+        if (!listenerRegistered) {
+            native.addListener(listenerName, innerCallback);
+            listenerRegistered = true;
+        }
     }
-  }
 
-  function removeListener() {
-    if (listenerRegistered) {
-      native.removeListener(listenerName, innerCallback);
-      listenerRegistered = false;
-    }
+    function removeListener() {
+        if (listenerRegistered) {
+            native.removeListener(listenerName, innerCallback);
+            listenerRegistered = false;
+        }
 
-    successCallback = undefined;
-    errorCallback = undefined;
-  }
+        successCallback = undefined;
+        errorCallback = undefined;
+    }
 
-  return {
-    addListener: addListener,
-    removeListener: removeListener
-  };
+    return {
+        addListener: addListener,
+        removeListener: removeListener
+    };
 }
 
-var _bleScanListener = _singleListenerBuilder('BluetoothLEScanCallback',
-    function(event, successCallback, errorCallback) {
-
-  var d;
-  var ret = true;
+var _bleScanListener = _singleListenerBuilder('BluetoothLEScanCallback', function(
+    event,
+    successCallback,
+    errorCallback
+) {
+    var d;
+    var ret = true;
 
-  switch (event.action) {
+    switch (event.action) {
     case 'onsuccess':
-      d = new BluetoothLEDevice(event.data);
-      break;
+        d = new BluetoothLEDevice(event.data);
+        break;
 
     case 'onerror':
-      if (errorCallback) {
-        errorCallback(native.getErrorObject(event));
-      }
-      return ret;
+        if (errorCallback) {
+            errorCallback(native.getErrorObject(event));
+        }
+        return ret;
 
     default:
-      privUtils_.log('Unknown mode: ' + event.action);
-      return ret;
-  }
-  if (successCallback) {
-    successCallback(d);
-  }
-
-  return ret;
+        privUtils_.log('Unknown mode: ' + event.action);
+        return ret;
+    }
+    if (successCallback) {
+        successCallback(d);
+    }
+
+    return ret;
 });
 
-var _bleAdvertiseListener = _singleListenerBuilder('BluetoothLEAdvertiseCallback',
+var _bleAdvertiseListener = _singleListenerBuilder(
+    'BluetoothLEAdvertiseCallback',
     function(event, successCallback, errorCallback) {
-  var d;
-  var ret = true;
-
-  switch (event.action) {
-    case 'onstate':
-      if (successCallback) {
-        successCallback(native.getResultObject(event));
-        if (native.getResultObject(event) == 'STOPPED') {
-          _bleAdvertiseListener.removeListener();
-        }
-      }
-      return ret;
+        var d;
+        var ret = true;
+
+        switch (event.action) {
+        case 'onstate':
+            if (successCallback) {
+                successCallback(native.getResultObject(event));
+                if (native.getResultObject(event) == 'STOPPED') {
+                    _bleAdvertiseListener.removeListener();
+                }
+            }
+            return ret;
 
-    case 'onerror':
-      if (errorCallback) {
-        errorCallback(native.getErrorObject(event));
-      }
-      return ret;
+        case 'onerror':
+            if (errorCallback) {
+                errorCallback(native.getErrorObject(event));
+            }
+            return ret;
 
-    default:
-      privUtils_.log('Unknown mode: ' + event.action);
-      return ret;
-  }
-});
+        default:
+            privUtils_.log('Unknown mode: ' + event.action);
+            return ret;
+        }
+    }
+);
 
-//class BluetoothLEAdapter ////////////////////////////////////////////////////
-var BluetoothLEAdapter = function() {
-};
+//class BluetoothLEAdapter //////////////////////
+var BluetoothLEAdapter = function() {};
 
 BluetoothLEAdapter.prototype.startScan = function() {
-  privUtils_.log('Entered BluetoothLEAdapter.startScan()');
-  var args = AV.validateMethod(arguments, [{
-    name: 'successCallback',
-    type: AV.Types.FUNCTION
-  }, {
-    name: 'errorCallback',
-    type: AV.Types.FUNCTION,
-    optional: true,
-    nullable: true
-  }]);
+    privUtils_.log('Entered BluetoothLEAdapter.startScan()');
+    var args = AV.validateMethod(arguments, [
+        {
+            name: 'successCallback',
+            type: AV.Types.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
 
-  var result = native.callSync('BluetoothLEAdapter_startScan', {});
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
+    var result = native.callSync('BluetoothLEAdapter_startScan', {});
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    }
 
-  _bleScanListener.addListener(args.successCallback, args.errorCallback);
+    _bleScanListener.addListener(args.successCallback, args.errorCallback);
 };
 
 BluetoothLEAdapter.prototype.stopScan = function() {
-  privUtils_.log('Entered BluetoothLEAdapter.stopScan()');
+    privUtils_.log('Entered BluetoothLEAdapter.stopScan()');
 
-  _bleScanListener.removeListener();
+    _bleScanListener.removeListener();
 
-  var result = native.callSync('BluetoothLEAdapter_stopScan', {});
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
+    var result = native.callSync('BluetoothLEAdapter_stopScan', {});
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    }
 };
 
 var _BluetoothAdvertisePacketType = {
-  ADVERTISE: 'ADVERTISE',
-  SCAN_RESPONSE: 'SCAN_RESPONSE'
+    ADVERTISE: 'ADVERTISE',
+    SCAN_RESPONSE: 'SCAN_RESPONSE'
 };
 
 var _BluetoothAdvertisingMode = {
-  BALANCED: 'BALANCED',
-  LOW_LATENCY: 'LOW_LATENCY',
-  LOW_ENERGY: 'LOW_ENERGY'
+    BALANCED: 'BALANCED',
+    LOW_LATENCY: 'LOW_LATENCY',
+    LOW_ENERGY: 'LOW_ENERGY'
 };
 
 BluetoothLEAdapter.prototype.startAdvertise = function() {
-  privUtils_.log('Entered BluetoothLEAdapter.startAdvertise()');
-  var args = AV.validateMethod(arguments, [{
-    name: 'advertiseData',
-    type: AV.Types.PLATFORM_OBJECT,
-    values: tizen.BluetoothLEAdvertiseData
-  }, {
-    name: 'packetType',
-    type: AV.Types.ENUM,
-    values: T.getValues(_BluetoothAdvertisePacketType)
-  }, {
-    name: 'successCallback',
-    type: AV.Types.FUNCTION
-  }, {
-    name: 'errorCallback',
-    type: AV.Types.FUNCTION,
-    optional: true,
-    nullable: true
-  }, {
-    name: 'mode',
-    type: AV.Types.ENUM,
-    values: T.getValues(_BluetoothAdvertisingMode),
-    optional: true,
-    nullable: true
-  }, {
-    name: 'connectable',
-    type: AV.Types.BOOLEAN,
-    optional: true,
-    nullable: true
-  }]);
-
-  var callArgs = {
-    advertiseData: args.advertiseData,
-    packetType: args.packetType,
-    mode: T.isNullOrUndefined(args.mode) ? _BluetoothAdvertisingMode.BALANCED : args.mode,
-    connectable: T.isNullOrUndefined(args.connectable) ? true : args.connectable
-  };
-
-  var result = native.callSync('BluetoothLEAdapter_startAdvertise', callArgs);
-
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
-
-  _bleAdvertiseListener.addListener(args.successCallback, args.errorCallback);
+    privUtils_.log('Entered BluetoothLEAdapter.startAdvertise()');
+    var args = AV.validateMethod(arguments, [
+        {
+            name: 'advertiseData',
+            type: AV.Types.PLATFORM_OBJECT,
+            values: tizen.BluetoothLEAdvertiseData
+        },
+        {
+            name: 'packetType',
+            type: AV.Types.ENUM,
+            values: T.getValues(_BluetoothAdvertisePacketType)
+        },
+        {
+            name: 'successCallback',
+            type: AV.Types.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'mode',
+            type: AV.Types.ENUM,
+            values: T.getValues(_BluetoothAdvertisingMode),
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'connectable',
+            type: AV.Types.BOOLEAN,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var callArgs = {
+        advertiseData: args.advertiseData,
+        packetType: args.packetType,
+        mode: T.isNullOrUndefined(args.mode)
+            ? _BluetoothAdvertisingMode.BALANCED
+            : args.mode,
+        connectable: T.isNullOrUndefined(args.connectable) ? true : args.connectable
+    };
+
+    var result = native.callSync('BluetoothLEAdapter_startAdvertise', callArgs);
+
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    }
+
+    _bleAdvertiseListener.addListener(args.successCallback, args.errorCallback);
 };
 
 BluetoothLEAdapter.prototype.stopAdvertise = function() {
-  privUtils_.log('Entered BluetoothLEAdapter.stopAdvertise()');
+    privUtils_.log('Entered BluetoothLEAdapter.stopAdvertise()');
 
-  var result = native.callSync('BluetoothLEAdapter_stopAdvertise', {});
+    var result = native.callSync('BluetoothLEAdapter_stopAdvertise', {});
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    }
 };
 
-//class BluetoothGATTService ////////////////////////////////////////////////////
+//class BluetoothGATTService //////////////////////
 var BluetoothGATTService = function(data, address) {
     var handle_ = data.handle;
     var uuid_ = data.uuid;
@@ -1503,8 +1606,10 @@ var BluetoothGATTService = function(data, address) {
     var address_ = address || data.address;
     function servicesGetter() {
         var services = [];
-        var result = native.callSync('BluetoothGATTService_getServices',
-                {handle: handle_, address : address_});
+        var result = native.callSync('BluetoothGATTService_getServices', {
+            handle: handle_,
+            address: address_
+        });
         if (native.isSuccess(result)) {
             var resultObject = native.getResultObject(result);
             resultObject.forEach(function(s) {
@@ -1515,8 +1620,11 @@ var BluetoothGATTService = function(data, address) {
     }
     function characteristicsGetter() {
         var characteristics = [];
-        var result = native.callSync('BluetoothGATTService_getCharacteristics',
-                {handle: handle_, uuid: uuid_, address : address_});
+        var result = native.callSync('BluetoothGATTService_getCharacteristics', {
+            handle: handle_,
+            uuid: uuid_,
+            address: address_
+        });
         if (native.isSuccess(result)) {
             var resultObject = native.getResultObject(result);
             resultObject.forEach(function(c) {
@@ -1526,9 +1634,13 @@ var BluetoothGATTService = function(data, address) {
         return characteristics;
     }
     Object.defineProperties(this, {
-        uuid : {value: uuid_, writable: false, enumerable: true},
-        services : {enumerable: true, set : function() {}, get : servicesGetter},
-        characteristics : {enumerable: true, set : function() {}, get : characteristicsGetter}
+        uuid: { value: uuid_, writable: false, enumerable: true },
+        services: { enumerable: true, set: function() {}, get: servicesGetter },
+        characteristics: {
+            enumerable: true,
+            set: function() {},
+            get: characteristicsGetter
+        }
     });
 };
 
@@ -1541,219 +1653,232 @@ var toByteArray = function(array) {
     return d;
 };
 
-//class BluetoothGATTCharacteristic ////////////////////////////////////////////////////
+//class BluetoothGATTCharacteristic //////////////////////
 var BluetoothGATTCharacteristic = function(data, address) {
-  var handle_ = data.handle;
-  var descriptors_ = [];
-  var isBroadcast_ = false;
-  var hasExtendedProperties_ = false;
-  var isNotify_ = false;
-  var isIndication_ = false;
-  var isReadable_ = false;
-  var isSignedWrite_ = false;
-  var isWritable_ = false;
-  var isWriteNoResponse_ = false;
-  //address_ is needed to control if device is still connected
-  var address_ = address;
-
-  if (T.isObject(data)) {
-    data.descriptors.forEach(function(dd) {
-      descriptors_.push(new BluetoothGATTDescriptor(dd, address_));
-    });
-    isBroadcast_ = data.isBroadcast;
-    hasExtendedProperties_ = data.hasExtendedProperties;
-    isNotify_ = data.isNotify;
-    isIndication_ = data.isIndication;
-    isReadable_ = data.isReadable;
-    isSignedWrite_ = data.isSignedWrite;
-    isWritable_ = data.isWritable;
-    isWriteNoResponse_ = data.isWriteNoResponse;
-  }
-
-  Object.defineProperties(this, {
-    descriptors: {
-      enumerable: true,
-      get: function() {
-        return descriptors_.slice();
-      },
-      set: function() {
-      }
-    },
-    isBroadcast: {
-      enumerable: true,
-      get: function() {
-        return isBroadcast_;
-      },
-      set: function() {
-      }
-    },
-    hasExtendedProperties: {
-      enumerable: true,
-      get: function() {
-        return hasExtendedProperties_;
-      },
-      set: function() {
-      }
-    },
-    isNotify: {
-      enumerable: true,
-      get: function() {
-        return isNotify_;
-      },
-      set: function() {
-      }
-    },
-    isIndication: {
-      enumerable: true,
-      get: function() {
-        return isIndication_;
-      },
-      set: function() {
-      }
-    },
-    isReadable: {
-      enumerable: true,
-      get: function() {
-        return isReadable_;
-      },
-      set: function() {
-      }
-    },
-    isSignedWrite: {
-      enumerable: true,
-      get: function() {
-        return isSignedWrite_;
-      },
-      set: function() {
-      }
-    },
-    isWritable: {
-      enumerable: true,
-      get: function() {
-        return isWritable_;
-      },
-      set: function() {
-      }
-    },
-    isWriteNoResponse: {
-      enumerable: true,
-      get: function() {
-        return isWriteNoResponse_;
-      },
-      set: function() {
-      }
-    }
-  });
-
-  this.readValue = function() {
-      privUtils_.log('Entered BluetoothGATTCharacteristic.readValue()');
-      var args = AV.validateMethod(arguments, [{
-        name: 'successCallback',
-        type: AV.Types.FUNCTION
-      }, {
-        name: 'errorCallback',
-        type: AV.Types.FUNCTION,
-        optional: true,
-        nullable: true
-      }]);
-
-      var callback = function(result) {
-        if (native.isFailure(result)) {
-          native.callIfPossible(args.errorCallback, native.getErrorObject(result));
-        } else {
-          var d = toByteArray(native.getResultObject(result));
-          args.successCallback(d);
+    var handle_ = data.handle;
+    var descriptors_ = [];
+    var isBroadcast_ = false;
+    var hasExtendedProperties_ = false;
+    var isNotify_ = false;
+    var isIndication_ = false;
+    var isReadable_ = false;
+    var isSignedWrite_ = false;
+    var isWritable_ = false;
+    var isWriteNoResponse_ = false;
+    //address_ is needed to control if device is still connected
+    var address_ = address;
+
+    if (T.isObject(data)) {
+        data.descriptors.forEach(function(dd) {
+            descriptors_.push(new BluetoothGATTDescriptor(dd, address_));
+        });
+        isBroadcast_ = data.isBroadcast;
+        hasExtendedProperties_ = data.hasExtendedProperties;
+        isNotify_ = data.isNotify;
+        isIndication_ = data.isIndication;
+        isReadable_ = data.isReadable;
+        isSignedWrite_ = data.isSignedWrite;
+        isWritable_ = data.isWritable;
+        isWriteNoResponse_ = data.isWriteNoResponse;
+    }
+
+    Object.defineProperties(this, {
+        descriptors: {
+            enumerable: true,
+            get: function() {
+                return descriptors_.slice();
+            },
+            set: function() {}
+        },
+        isBroadcast: {
+            enumerable: true,
+            get: function() {
+                return isBroadcast_;
+            },
+            set: function() {}
+        },
+        hasExtendedProperties: {
+            enumerable: true,
+            get: function() {
+                return hasExtendedProperties_;
+            },
+            set: function() {}
+        },
+        isNotify: {
+            enumerable: true,
+            get: function() {
+                return isNotify_;
+            },
+            set: function() {}
+        },
+        isIndication: {
+            enumerable: true,
+            get: function() {
+                return isIndication_;
+            },
+            set: function() {}
+        },
+        isReadable: {
+            enumerable: true,
+            get: function() {
+                return isReadable_;
+            },
+            set: function() {}
+        },
+        isSignedWrite: {
+            enumerable: true,
+            get: function() {
+                return isSignedWrite_;
+            },
+            set: function() {}
+        },
+        isWritable: {
+            enumerable: true,
+            get: function() {
+                return isWritable_;
+            },
+            set: function() {}
+        },
+        isWriteNoResponse: {
+            enumerable: true,
+            get: function() {
+                return isWriteNoResponse_;
+            },
+            set: function() {}
         }
-      };
+    });
 
-      var callArgs = {handle : handle_, address : address_};
+    this.readValue = function() {
+        privUtils_.log('Entered BluetoothGATTCharacteristic.readValue()');
+        var args = AV.validateMethod(arguments, [
+            {
+                name: 'successCallback',
+                type: AV.Types.FUNCTION
+            },
+            {
+                name: 'errorCallback',
+                type: AV.Types.FUNCTION,
+                optional: true,
+                nullable: true
+            }
+        ]);
+
+        var callback = function(result) {
+            if (native.isFailure(result)) {
+                native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+            } else {
+                var d = toByteArray(native.getResultObject(result));
+                args.successCallback(d);
+            }
+        };
 
-      var result = native.call('BluetoothGATT_readValue', callArgs, callback);
+        var callArgs = { handle: handle_, address: address_ };
 
-      if (native.isFailure(result)) {
-        throw native.getErrorObject(result);
-      }
-    };
+        var result = native.call('BluetoothGATT_readValue', callArgs, callback);
 
-    this.writeValue = function() {
-      privUtils_.log('Entered BluetoothGATTCharacteristic.writeValue()');
-      var args = AV.validateMethod(arguments, [{
-        name: 'value',
-        type: AV.Types.ARRAY,
-        values: AV.Types.BYTE
-      }, {
-        name: 'successCallback',
-        type: AV.Types.FUNCTION,
-        optional: true,
-        nullable: true
-      }, {
-        name: 'errorCallback',
-        type: AV.Types.FUNCTION,
-        optional: true,
-        nullable: true
-      }]);
-
-      var callback = function(result) {
         if (native.isFailure(result)) {
-          native.callIfPossible(args.errorCallback, native.getErrorObject(result));
-        } else {
-          native.callIfPossible(args.successCallback);
+            throw native.getErrorObject(result);
         }
-      };
+    };
 
-      var callArgs = { handle : handle_, value: toByteArray(args.value), address : address_ };
+    this.writeValue = function() {
+        privUtils_.log('Entered BluetoothGATTCharacteristic.writeValue()');
+        var args = AV.validateMethod(arguments, [
+            {
+                name: 'value',
+                type: AV.Types.ARRAY,
+                values: AV.Types.BYTE
+            },
+            {
+                name: 'successCallback',
+                type: AV.Types.FUNCTION,
+                optional: true,
+                nullable: true
+            },
+            {
+                name: 'errorCallback',
+                type: AV.Types.FUNCTION,
+                optional: true,
+                nullable: true
+            }
+        ]);
 
-      var result = native.call('BluetoothGATT_writeValue', callArgs, callback);
+        var callback = function(result) {
+            if (native.isFailure(result)) {
+                native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+            } else {
+                native.callIfPossible(args.successCallback);
+            }
+        };
 
-      if (native.isFailure(result)) {
-        throw native.getErrorObject(result);
-      }
+        var callArgs = {
+            handle: handle_,
+            value: toByteArray(args.value),
+            address: address_
+        };
+
+        var result = native.call('BluetoothGATT_writeValue', callArgs, callback);
+
+        if (native.isFailure(result)) {
+            throw native.getErrorObject(result);
+        }
     };
 
     var addValueChangeListener = function() {
-      privUtils_.log('Entered BluetoothGATTCharacteristic.addValueChangeListener()');
-      privUtils_.checkPrivilegeAccess4Ver("2.4", Privilege.BLUETOOTH, Privilege.BLUETOOTH_ADMIN);
-      var args = AV.validateMethod(arguments, [{
-        name: 'callback',
-        type: AV.Types.FUNCTION
-      }]);
+        privUtils_.log('Entered BluetoothGATTCharacteristic.addValueChangeListener()');
+        privUtils_.checkPrivilegeAccess4Ver(
+            '2.4',
+            Privilege.BLUETOOTH,
+            Privilege.BLUETOOTH_ADMIN
+        );
+        var args = AV.validateMethod(arguments, [
+            {
+                name: 'callback',
+                type: AV.Types.FUNCTION
+            }
+        ]);
 
-      var callArgs = { handle: handle_, address : address_ };
+        var callArgs = { handle: handle_, address: address_ };
 
-      var callback = function(event) {
-        if (event.handle === handle_) {
-          args.callback(toByteArray(native.getResultObject(event)));
-        }
-      };
+        var callback = function(event) {
+            if (event.handle === handle_) {
+                args.callback(toByteArray(native.getResultObject(event)));
+            }
+        };
 
-      return _bluetoothGATTCharacteristicListener.addListener(callback, callArgs);
+        return _bluetoothGATTCharacteristicListener.addListener(callback, callArgs);
     };
 
     this.addValueChangeListener = function() {
-      return addValueChangeListener.apply(this, arguments);
+        return addValueChangeListener.apply(this, arguments);
     };
 
     this.removeValueChangeListener = function() {
-      privUtils_.log('Entered BluetoothGATTCharacteristic.removeValueChangeListener()');
+        privUtils_.log('Entered BluetoothGATTCharacteristic.removeValueChangeListener()');
 
-      var args = AV.validateMethod(arguments, [{
-        name: 'watchID',
-        type: AV.Types.LONG
-      }]);
+        var args = AV.validateMethod(arguments, [
+            {
+                name: 'watchID',
+                type: AV.Types.LONG
+            }
+        ]);
 
-      var callArgs = { handle: handle_, address : address_ };
+        var callArgs = { handle: handle_, address: address_ };
 
-      return _bluetoothGATTCharacteristicListener.removeListener(args.watchID, callArgs);
+        return _bluetoothGATTCharacteristicListener.removeListener(
+            args.watchID,
+            callArgs
+        );
     };
 };
 
-
 /**
  * Creates a manager for specified listener event. Manager handles multiple
  * registered listeners
  *
  * @param {string} name - name of the listener this manager handles
- * @param {function} callback - function to be invoked when event specified by the name fires.
+ * @param {function} callback - function to be invoked when event specified by the name
+ *                              fires.
  *                              This function should have following signature:
  *                              void callback(listener, event);
  * @param {string} addListenerId - optional parameter. If specified, this native
@@ -1763,81 +1888,91 @@ var BluetoothGATTCharacteristic = function(data, address) {
  *                                 method will be called synchronously when
  *                                 listener is removed.
  * @param {bool} repeatNativeCall - optional parameter. If specified, the addListenerId
- *                                 and removeListenerId methods will be called synchronously
- *                                 each time listener is added/removed. Otherwise they are
- *                                 going to be called just once: when first listener is added
- *                                 and last listener is removed.
+ *                                 and removeListenerId methods will be called
+ *                                 synchronously each time listener is added/removed.
+ *                                 Otherwise they are going to be called just once: when
+ *                                 first listener is added and last listener is removed.
  *
  * @return {object} object which allows to add or remove callbacks for specified listener
  */
-function _multipleListenerBuilder(name, callback, addListenerId, removeListenerId, repeatNativeCall) {
-  var listenerName = name;
-  var addId = addListenerId;
-  var removeId = removeListenerId;
-  var callbackFunction = callback;
-  var listeners = {};
-  var nextId = 1;
-  var jsListenerRegistered = false;
-  var nativeListenerRegistered = false;
-  var repeatNativeListenerCall = repeatNativeCall;
-
-  function innerCallback(event) {
-    for (var watchId in listeners) {
-      if (listeners.hasOwnProperty(watchId)) {
-        callbackFunction(listeners[watchId], event);
-      }
-    }
-  }
-
-  function addListener(callback, args) {
-    var id = ++nextId;
-
-    if (addId && (!nativeListenerRegistered || repeatNativeListenerCall)) {
-      var result = native.callSync(addId, args || {});
-      if (native.isFailure(result)) {
-        throw native.getErrorObject(result);
-      }
-      nativeListenerRegistered = true;
+function _multipleListenerBuilder(
+    name,
+    callback,
+    addListenerId,
+    removeListenerId,
+    repeatNativeCall
+) {
+    var listenerName = name;
+    var addId = addListenerId;
+    var removeId = removeListenerId;
+    var callbackFunction = callback;
+    var listeners = {};
+    var nextId = 1;
+    var jsListenerRegistered = false;
+    var nativeListenerRegistered = false;
+    var repeatNativeListenerCall = repeatNativeCall;
+
+    function innerCallback(event) {
+        for (var watchId in listeners) {
+            if (listeners.hasOwnProperty(watchId)) {
+                callbackFunction(listeners[watchId], event);
+            }
+        }
     }
 
-    if (!jsListenerRegistered) {
-      native.addListener(listenerName, innerCallback);
-      jsListenerRegistered = true;
-    }
+    function addListener(callback, args) {
+        var id = ++nextId;
 
-    listeners[id] = callback;
-    return id;
-  }
+        if (addId && (!nativeListenerRegistered || repeatNativeListenerCall)) {
+            var result = native.callSync(addId, args || {});
+            if (native.isFailure(result)) {
+                throw native.getErrorObject(result);
+            }
+            nativeListenerRegistered = true;
+        }
 
-  function removeListener(watchId, args) {
-    if (listeners.hasOwnProperty(watchId)) {
-      delete listeners[watchId];
-    }
+        if (!jsListenerRegistered) {
+            native.addListener(listenerName, innerCallback);
+            jsListenerRegistered = true;
+        }
 
-    if (removeId && ((nativeListenerRegistered && T.isEmptyObject(listeners)) || repeatNativeListenerCall)) {
-      var result = native.callSync(removeId, args || {});
-      if (native.isFailure(result)) {
-        throw native.getErrorObject(result);
-      }
-      nativeListenerRegistered = false;
+        listeners[id] = callback;
+        return id;
     }
 
-    if (jsListenerRegistered && T.isEmptyObject(listeners)) {
-      native.removeListener(listenerName, innerCallback);
-      jsListenerRegistered = false;
+    function removeListener(watchId, args) {
+        if (listeners.hasOwnProperty(watchId)) {
+            delete listeners[watchId];
+        }
+
+        if (
+            removeId &&
+            ((nativeListenerRegistered && T.isEmptyObject(listeners)) ||
+                repeatNativeListenerCall)
+        ) {
+            var result = native.callSync(removeId, args || {});
+            if (native.isFailure(result)) {
+                throw native.getErrorObject(result);
+            }
+            nativeListenerRegistered = false;
+        }
+
+        if (jsListenerRegistered && T.isEmptyObject(listeners)) {
+            native.removeListener(listenerName, innerCallback);
+            jsListenerRegistered = false;
+        }
     }
-  }
 
-  return {
-    addListener: addListener,
-    removeListener: removeListener
-  };
+    return {
+        addListener: addListener,
+        removeListener: removeListener
+    };
 }
 
 var _bluetoothGATTCharacteristicListener = _multipleListenerBuilder(
     'BluetoothGATTCharacteristicValueChangeListener',
     function(listener, event) {
-      listener(event);
+        listener(event);
     },
     'BluetoothGATTCharacteristic_addValueChangeListener',
     'BluetoothGATTCharacteristic_removeValueChangeListener',
@@ -1853,81 +1988,90 @@ var _bleConnectChangeListener = _multipleListenerBuilder(
     'BluetoothLEDevice_removeConnectStateChangeListener'
 );
 
-//class BluetoothGATTDescriptor ////////////////////////////////////////////////////
+//class BluetoothGATTDescriptor //////////////////////
 var BluetoothGATTDescriptor = function(data, address) {
-  var handle_ = data.handle;
-  //address_ is needed to control if device is still connected
-  var address_ = address;
-
-  this.readValue = function() {
-    privUtils_.log('Entered BluetoothGATTDescriptor.readValue()');
-    var args = AV.validateMethod(arguments, [{
-      name: 'successCallback',
-      type: AV.Types.FUNCTION
-    }, {
-      name: 'errorCallback',
-      type: AV.Types.FUNCTION,
-      optional: true,
-      nullable: true
-    }]);
-
-    var callback = function(result) {
-      if (native.isFailure(result)) {
-        native.callIfPossible(args.errorCallback, native.getErrorObject(result));
-      } else {
-        var d = toByteArray(native.getResultObject(result));
-        args.successCallback(d);
-      }
-    };
-
-    var callArgs = {handle : handle_, address : address_};
+    var handle_ = data.handle;
+    //address_ is needed to control if device is still connected
+    var address_ = address;
+
+    this.readValue = function() {
+        privUtils_.log('Entered BluetoothGATTDescriptor.readValue()');
+        var args = AV.validateMethod(arguments, [
+            {
+                name: 'successCallback',
+                type: AV.Types.FUNCTION
+            },
+            {
+                name: 'errorCallback',
+                type: AV.Types.FUNCTION,
+                optional: true,
+                nullable: true
+            }
+        ]);
+
+        var callback = function(result) {
+            if (native.isFailure(result)) {
+                native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+            } else {
+                var d = toByteArray(native.getResultObject(result));
+                args.successCallback(d);
+            }
+        };
 
-    var result = native.call('BluetoothGATT_readValue', callArgs, callback);
+        var callArgs = { handle: handle_, address: address_ };
 
-    if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
-    }
-  };
-
-  this.writeValue = function() {
-    privUtils_.log('Entered BluetoothGATTDescriptor.writeValue()');
-    var args = AV.validateMethod(arguments, [{
-      name: 'value',
-      type: AV.Types.ARRAY,
-      values: AV.Types.BYTE
-    }, {
-      name: 'successCallback',
-      type: AV.Types.FUNCTION,
-      optional: true,
-      nullable: true
-    }, {
-      name: 'errorCallback',
-      type: AV.Types.FUNCTION,
-      optional: true,
-      nullable: true
-    }]);
+        var result = native.call('BluetoothGATT_readValue', callArgs, callback);
 
-    var callback = function(result) {
-      if (native.isFailure(result)) {
-        native.callIfPossible(args.errorCallback, native.getErrorObject(result));
-      } else {
-        native.callIfPossible(args.successCallback);
-      }
+        if (native.isFailure(result)) {
+            throw native.getErrorObject(result);
+        }
     };
 
-    var callArgs = { handle : handle_, value: toByteArray(args.value), address : address_ };
+    this.writeValue = function() {
+        privUtils_.log('Entered BluetoothGATTDescriptor.writeValue()');
+        var args = AV.validateMethod(arguments, [
+            {
+                name: 'value',
+                type: AV.Types.ARRAY,
+                values: AV.Types.BYTE
+            },
+            {
+                name: 'successCallback',
+                type: AV.Types.FUNCTION,
+                optional: true,
+                nullable: true
+            },
+            {
+                name: 'errorCallback',
+                type: AV.Types.FUNCTION,
+                optional: true,
+                nullable: true
+            }
+        ]);
 
-    var result = native.call('BluetoothGATT_writeValue', callArgs, callback);
+        var callback = function(result) {
+            if (native.isFailure(result)) {
+                native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+            } else {
+                native.callIfPossible(args.successCallback);
+            }
+        };
 
-    if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
-    }
-  };
-};
+        var callArgs = {
+            handle: handle_,
+            value: toByteArray(args.value),
+            address: address_
+        };
 
+        var result = native.call('BluetoothGATT_writeValue', callArgs, callback);
 
+        if (native.isFailure(result)) {
+            throw native.getErrorObject(result);
+        }
+    };
+};
 
-// class BluetoothAdapter ////////////////////////////////////////////////////
+// class BluetoothAdapter //////////////////////
 var BluetoothAdapter = function() {
     function nameGetter() {
         var result = native.callSync('BluetoothAdapter_getName', {});
@@ -1970,25 +2114,25 @@ var BluetoothAdapter = function() {
     }
 
     Object.defineProperties(this, {
-        name : {
+        name: {
             enumerable: true,
-            set : function(){},
-            get : nameGetter
+            set: function() {},
+            get: nameGetter
         },
-        address : {
+        address: {
             enumerable: true,
-            set : function(){},
-            get : addressGetter
+            set: function() {},
+            get: addressGetter
         },
-        powered : {
+        powered: {
             enumerable: true,
-            set : function(){},
-            get : poweredGetter
+            set: function() {},
+            get: poweredGetter
         },
-        visible : {
+        visible: {
             enumerable: true,
-            set : function(){},
-            get : visibleGetter
+            set: function() {},
+            get: visibleGetter
         }
     });
 };
@@ -1997,25 +2141,25 @@ BluetoothAdapter.prototype.setName = function() {
     privUtils_.log('Entered BluetoothAdapter.setName()');
     var args = AV.validateMethod(arguments, [
         {
-            name : 'name',
-            type : AV.Types.STRING
+            name: 'name',
+            type: AV.Types.STRING
         },
         {
-            name : 'successCallback',
-            type : AV.Types.FUNCTION,
-            optional : true,
-            nullable : true
+            name: 'successCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
         },
         {
-            name : 'errorCallback',
-            type : AV.Types.FUNCTION,
-            optional : true,
-            nullable : true
+            name: 'errorCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
         }
     ]);
 
     var callArgs = {
-        name : args.name
+        name: args.name
     };
 
     var callback = function(result) {
@@ -2028,36 +2172,39 @@ BluetoothAdapter.prototype.setName = function() {
 
     var result = native.call('BluetoothAdapter_setName', callArgs, callback);
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     }
 };
 
 BluetoothAdapter.prototype.setPowered = function() {
     privUtils_.log('Entered BluetoothAdapter.setPowered()');
-    privUtils_.warn('DEPRECATION WARNING: setPowered() is deprecated and will be removed from next release. '
-        + 'Let the user turn on/off Bluetooth through the Settings application instead.');
+    privUtils_.warn(
+        'DEPRECATION WARNING: setPowered() is deprecated ' +
+            'and will be removed from next release. ' +
+            'Let the user turn on/off Bluetooth through the Settings application instead.'
+    );
 
     var args = AV.validateMethod(arguments, [
         {
-            name : 'powered',
-            type : AV.Types.BOOLEAN
+            name: 'powered',
+            type: AV.Types.BOOLEAN
         },
         {
-            name : 'successCallback',
-            type : AV.Types.FUNCTION,
-            optional : true,
-            nullable : true
+            name: 'successCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
         },
         {
-            name : 'errorCallback',
-            type : AV.Types.FUNCTION,
-            optional : true,
-            nullable : true
+            name: 'errorCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
         }
     ]);
 
     var callArgs = {
-        powered : args.powered
+        powered: args.powered
     };
 
     var callback = function(result) {
@@ -2070,44 +2217,47 @@ BluetoothAdapter.prototype.setPowered = function() {
 
     var result = native.call('BluetoothAdapter_setPowered', callArgs, callback);
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     }
 };
 
-
 // This method is deprecated since Tizen 2.3 and will be removed in Tizen 3.0.
 BluetoothAdapter.prototype.setVisible = function() {
     privUtils_.log('Entered BluetoothAdapter.setVisible()');
-    privUtils_.warn('DEPRECATION WARNING: setVisible() is deprecated and will be removed from next release. '
-        + 'Let the user change the Bluetooth visibility through the Settings application instead.');
+    privUtils_.warn(
+        'DEPRECATION WARNING: setVisible() is deprecated ' +
+            'and will be removed from next release. ' +
+            'Let the user change the Bluetooth visibility through ' +
+            'the Settings application instead.'
+    );
 
     var args = AV.validateMethod(arguments, [
         {
-            name : 'visible',
-            type : AV.Types.BOOLEAN
+            name: 'visible',
+            type: AV.Types.BOOLEAN
         },
         {
-            name : 'successCallback',
-            type : AV.Types.FUNCTION,
-            optional : true,
-            nullable : true
+            name: 'successCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
         },
         {
-            name : 'errorCallback',
-            type : AV.Types.FUNCTION,
-            optional : true,
-            nullable : true
+            name: 'errorCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
         },
         {
-            name : 'timeout',
-            type : AV.Types.UNSIGNED_LONG,
-            optional : true,
-            nullable : true
+            name: 'timeout',
+            type: AV.Types.UNSIGNED_LONG,
+            optional: true,
+            nullable: true
         }
     ]);
 
     var callArgs = {
-        visible : args.visible,
+        visible: args.visible
     };
 
     if (args.visible === true) {
@@ -2128,7 +2278,7 @@ BluetoothAdapter.prototype.setVisible = function() {
 
     var result = native.call('BluetoothAdapter_setVisible', callArgs, callback);
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     }
 };
 
@@ -2167,14 +2317,17 @@ BluetoothAdapter.prototype.setChangeListener = function() {
     privUtils_.log('Entered BluetoothAdapter.setChangeListener()');
     var args = AV.validateMethod(arguments, [
         {
-            name : 'changeCallback',
-            type : AV.Types.LISTENER,
-            values : ['onstatechanged', 'onnamechanged', 'onvisibilitychanged']
+            name: 'changeCallback',
+            type: AV.Types.LISTENER,
+            values: ['onstatechanged', 'onnamechanged', 'onvisibilitychanged']
         }
     ]);
 
     if (T.isNullOrUndefined(_listener)) {
-        native.addListener('BluetoothAdapterChangeCallback', _BluetoothAdapterChangeCallback);
+        native.addListener(
+            'BluetoothAdapterChangeCallback',
+            _BluetoothAdapterChangeCallback
+        );
     }
     _listener = args.changeCallback;
 };
@@ -2182,7 +2335,10 @@ BluetoothAdapter.prototype.setChangeListener = function() {
 BluetoothAdapter.prototype.unsetChangeListener = function() {
     privUtils_.log('Entered BluetoothAdapter.unsetChangeListener()');
     if (!T.isNullOrUndefined(_listener)) {
-        native.removeListener('BluetoothAdapterChangeCallback', _BluetoothAdapterChangeCallback);
+        native.removeListener(
+            'BluetoothAdapterChangeCallback',
+            _BluetoothAdapterChangeCallback
+        );
         _listener = undefined;
     }
 };
@@ -2209,15 +2365,19 @@ function _BluetoothDiscoverDevicesSuccessCallback(event) {
     case 'onfinished':
         var result = e.data;
         d = [];
-        result.forEach(function (data) {
+        result.forEach(function(data) {
             d.push(new BluetoothDevice(data));
         });
 
         //remove listeners after discovering
-        native.removeListener('BluetoothDiscoverDevicesSuccessCallback',
-                _BluetoothDiscoverDevicesSuccessCallback);
-        native.removeListener('BluetoothDiscoverDevicesErrorCallback',
-                _BluetoothDiscoverDevicesErrorCallback);
+        native.removeListener(
+            'BluetoothDiscoverDevicesSuccessCallback',
+            _BluetoothDiscoverDevicesSuccessCallback
+        );
+        native.removeListener(
+            'BluetoothDiscoverDevicesErrorCallback',
+            _BluetoothDiscoverDevicesErrorCallback
+        );
         break;
 
     default:
@@ -2241,32 +2401,40 @@ BluetoothAdapter.prototype.discoverDevices = function() {
     privUtils_.log('Entered BluetoothAdapter.discoverDevices()');
     var args = AV.validateMethod(arguments, [
         {
-            name : 'successCallback',
-            type : AV.Types.LISTENER,
-            values : ['onstarted', 'ondevicefound', 'ondevicedisappeared', 'onfinished']
+            name: 'successCallback',
+            type: AV.Types.LISTENER,
+            values: ['onstarted', 'ondevicefound', 'ondevicedisappeared', 'onfinished']
         },
         {
-            name : 'errorCallback',
-            type : AV.Types.FUNCTION,
-            optional : true,
-            nullable : true
+            name: 'errorCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
         }
     ]);
 
     _discoverDevicesSuccessCallback = args.successCallback;
     _discoverDevicesErrorCallback = args.errorCallback;
-    native.addListener('BluetoothDiscoverDevicesSuccessCallback',
-            _BluetoothDiscoverDevicesSuccessCallback);
-    native.addListener('BluetoothDiscoverDevicesErrorCallback',
-            _BluetoothDiscoverDevicesErrorCallback);
+    native.addListener(
+        'BluetoothDiscoverDevicesSuccessCallback',
+        _BluetoothDiscoverDevicesSuccessCallback
+    );
+    native.addListener(
+        'BluetoothDiscoverDevicesErrorCallback',
+        _BluetoothDiscoverDevicesErrorCallback
+    );
 
     var result = native.callSync('BluetoothAdapter_discoverDevices', {});
 
     if (native.isFailure(result)) {
-        native.removeListener('BluetoothDiscoverDevicesSuccessCallback',
-                _BluetoothDiscoverDevicesSuccessCallback);
-        native.removeListener('BluetoothDiscoverDevicesErrorCallback',
-                _BluetoothDiscoverDevicesErrorCallback);
+        native.removeListener(
+            'BluetoothDiscoverDevicesSuccessCallback',
+            _BluetoothDiscoverDevicesSuccessCallback
+        );
+        native.removeListener(
+            'BluetoothDiscoverDevicesErrorCallback',
+            _BluetoothDiscoverDevicesErrorCallback
+        );
         throw native.getErrorObject(result);
     }
 };
@@ -2275,16 +2443,16 @@ BluetoothAdapter.prototype.stopDiscovery = function() {
     privUtils_.log('Entered BluetoothAdapter.stopDiscovery()');
     var args = AV.validateMethod(arguments, [
         {
-            name : 'successCallback',
-            type : AV.Types.FUNCTION,
-            optional : true,
-            nullable : true
+            name: 'successCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
         },
         {
-            name : 'errorCallback',
-            type : AV.Types.FUNCTION,
-            optional : true,
-            nullable : true
+            name: 'errorCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
         }
     ]);
 
@@ -2298,7 +2466,7 @@ BluetoothAdapter.prototype.stopDiscovery = function() {
 
     var result = native.call('BluetoothAdapter_stopDiscovery', {}, callback);
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     }
 };
 
@@ -2306,14 +2474,14 @@ BluetoothAdapter.prototype.getKnownDevices = function() {
     privUtils_.log('Entered BluetoothAdapter.getKnownDevices()');
     var args = AV.validateMethod(arguments, [
         {
-            name : 'successCallback',
-            type : AV.Types.FUNCTION
+            name: 'successCallback',
+            type: AV.Types.FUNCTION
         },
         {
-            name : 'errorCallback',
-            type : AV.Types.FUNCTION,
-            optional : true,
-            nullable : true
+            name: 'errorCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
         }
     ]);
 
@@ -2323,7 +2491,7 @@ BluetoothAdapter.prototype.getKnownDevices = function() {
         } else {
             var r = native.getResultObject(result).devices;
             var devices = [];
-            r.forEach(function (data) {
+            r.forEach(function(data) {
                 devices.push(new BluetoothDevice(data));
             });
             args.successCallback(devices);
@@ -2332,7 +2500,7 @@ BluetoothAdapter.prototype.getKnownDevices = function() {
 
     var result = native.call('BluetoothAdapter_getKnownDevices', {}, callback);
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     }
 };
 
@@ -2340,18 +2508,18 @@ BluetoothAdapter.prototype.getDevice = function() {
     privUtils_.log('Entered BluetoothAdapter.getDevice()');
     var args = AV.validateMethod(arguments, [
         {
-            name : 'address',
-            type : AV.Types.STRING
+            name: 'address',
+            type: AV.Types.STRING
         },
         {
-            name : 'successCallback',
-            type : AV.Types.FUNCTION
+            name: 'successCallback',
+            type: AV.Types.FUNCTION
         },
         {
-            name : 'errorCallback',
-            type : AV.Types.FUNCTION,
-            optional : true,
-            nullable : true
+            name: 'errorCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
         }
     ]);
 
@@ -2363,9 +2531,13 @@ BluetoothAdapter.prototype.getDevice = function() {
         }
     };
 
-    var result = native.call('BluetoothAdapter_getDevice', {address : args.address}, callback);
+    var result = native.call(
+        'BluetoothAdapter_getDevice',
+        { address: args.address },
+        callback
+    );
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     }
 };
 
@@ -2373,25 +2545,25 @@ BluetoothAdapter.prototype.createBonding = function() {
     privUtils_.log('Entered BluetoothAdapter.createBonding()');
     var args = AV.validateMethod(arguments, [
         {
-            name : 'address',
-            type : AV.Types.STRING
+            name: 'address',
+            type: AV.Types.STRING
         },
         {
-            name : 'successCallback',
-            type : AV.Types.FUNCTION,
-            optional : false,
-            nullable : false
+            name: 'successCallback',
+            type: AV.Types.FUNCTION,
+            optional: false,
+            nullable: false
         },
         {
-            name : 'errorCallback',
-            type : AV.Types.FUNCTION,
-            optional : true,
-            nullable : true
+            name: 'errorCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
         }
     ]);
 
     var callArgs = {
-        address : args.address
+        address: args.address
     };
 
     var callback = function(result) {
@@ -2404,7 +2576,7 @@ BluetoothAdapter.prototype.createBonding = function() {
 
     var result = native.call('BluetoothAdapter_createBonding', callArgs, callback);
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     }
 };
 
@@ -2412,25 +2584,25 @@ BluetoothAdapter.prototype.destroyBonding = function() {
     privUtils_.log('Entered BluetoothAdapter.destroyBonding()');
     var args = AV.validateMethod(arguments, [
         {
-            name : 'address',
-            type : AV.Types.STRING
+            name: 'address',
+            type: AV.Types.STRING
         },
         {
-            name : 'successCallback',
-            type : AV.Types.FUNCTION,
-            optional : true,
-            nullable : true
+            name: 'successCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
         },
         {
-            name : 'errorCallback',
-            type : AV.Types.FUNCTION,
-            optional : true,
-            nullable : true
+            name: 'errorCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
         }
     ]);
 
     var callArgs = {
-        address : args.address
+        address: args.address
     };
 
     var callback = function(result) {
@@ -2443,7 +2615,7 @@ BluetoothAdapter.prototype.destroyBonding = function() {
 
     var result = native.call('BluetoothAdapter_destroyBonding', callArgs, callback);
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     }
 };
 
@@ -2451,28 +2623,28 @@ BluetoothAdapter.prototype.registerRFCOMMServiceByUUID = function() {
     privUtils_.log('Entered BluetoothAdapter.registerRFCOMMServiceByUUID()');
     var args = AV.validateMethod(arguments, [
         {
-            name : 'uuid',
-            type : AV.Types.STRING
+            name: 'uuid',
+            type: AV.Types.STRING
         },
         {
-            name : 'name',
-            type : AV.Types.STRING
+            name: 'name',
+            type: AV.Types.STRING
         },
         {
-            name : 'successCallback',
-            type : AV.Types.FUNCTION,
+            name: 'successCallback',
+            type: AV.Types.FUNCTION
         },
         {
-            name : 'errorCallback',
-            type : AV.Types.FUNCTION,
-            optional : true,
-            nullable : true
+            name: 'errorCallback',
+            type: AV.Types.FUNCTION,
+            optional: true,
+            nullable: true
         }
     ]);
 
     var callArgs = {
-        uuid : args.uuid,
-        name : args.name
+        uuid: args.uuid,
+        name: args.name
     };
 
     var callback = function(result) {
@@ -2485,9 +2657,13 @@ BluetoothAdapter.prototype.registerRFCOMMServiceByUUID = function() {
         }
     };
 
-    var result = native.call('BluetoothAdapter_registerRFCOMMServiceByUUID', callArgs, callback);
+    var result = native.call(
+        'BluetoothAdapter_registerRFCOMMServiceByUUID',
+        callArgs,
+        callback
+    );
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     }
 };
 
@@ -2496,13 +2672,13 @@ BluetoothAdapter.prototype.getBluetoothProfileHandler = function() {
 
     var args = AV.validateMethod(arguments, [
         {
-            name : 'profileType',
-            type : AV.Types.ENUM,
-            values : T.getValues(_BluetoothProfileType)
+            name: 'profileType',
+            type: AV.Types.ENUM,
+            values: T.getValues(_BluetoothProfileType)
         }
     ]);
 
-    var callArgs = {profileType : args.profileType};
+    var callArgs = { profileType: args.profileType };
 
     var result = native.callSync('BluetoothAdapter_getBluetoothProfileHandler', callArgs);
 
@@ -2514,25 +2690,28 @@ BluetoothAdapter.prototype.getBluetoothProfileHandler = function() {
             return new BluetoothHealthProfileHandler(callArgs);
 
         default:
-            throw new WebAPIException('NotSupportedError', 'Profile ' + args.profileType + ' is not supported.');
+            throw new WebAPIException(
+                'NotSupportedError',
+                'Profile ' + args.profileType + ' is not supported.'
+            );
         }
     }
 };
 
-// class BluetoothManager ////////////////////////////////////////////////////
+// class BluetoothManager //////////////////////
 var BluetoothManager = function() {
     Object.defineProperties(this, {
-        deviceMajor : {
+        deviceMajor: {
             value: new BluetoothClassDeviceMajor(),
             writable: false,
             enumerable: true
         },
-        deviceMinor : {
+        deviceMinor: {
             value: new BluetoothClassDeviceMinor(),
             writable: false,
             enumerable: true
         },
-        deviceService : {
+        deviceService: {
             value: new BluetoothClassDeviceService(),
             writable: false,
             enumerable: true
@@ -2541,26 +2720,33 @@ var BluetoothManager = function() {
 };
 
 var BluetoothManager_getDefaultAdapter = function() {
-  privUtils_.checkPrivilegeAccess4Ver("2.4", Privilege.BLUETOOTH, Privilege.BLUETOOTH_GAP);
+    privUtils_.checkPrivilegeAccess4Ver(
+        '2.4',
+        Privilege.BLUETOOTH,
+        Privilege.BLUETOOTH_GAP
+    );
 
-  return new BluetoothAdapter();
+    return new BluetoothAdapter();
 };
 
-
 BluetoothManager.prototype.getDefaultAdapter = function() {
     privUtils_.log('Entered BluetoothManager.getDefaultAdapter()');
     return BluetoothManager_getDefaultAdapter();
 };
 
 var BluetoothManager_getLEAdapter = function() {
-  privUtils_.checkPrivilegeAccess4Ver("2.4", Privilege.BLUETOOTH, Privilege.BLUETOOTH_ADMIN);
+    privUtils_.checkPrivilegeAccess4Ver(
+        '2.4',
+        Privilege.BLUETOOTH,
+        Privilege.BLUETOOTH_ADMIN
+    );
 
-  return new BluetoothLEAdapter();
+    return new BluetoothLEAdapter();
 };
 
 BluetoothManager.prototype.getLEAdapter = function() {
     privUtils_.log('Entered BluetoothManager.getLEAdapter()');
     return BluetoothManager_getLEAdapter();
 };
-// exports ///////////////////////////////////////////////////////////////////
+// exports /////////////////////////////////////
 exports = new BluetoothManager();
index 7ccf8a14a774568c8ffed3159d8f50719cd9533a..2470b6cdf26e2355899b6e2ab14f9f5643fcad8c 100755 (executable)
@@ -19,15 +19,15 @@ var types_ = validator_.Types;
 var native_ = new xwalk.utils.NativeManager(extension);
 
 function EditManager() {
-  this.canEdit = false;
+    this.canEdit = false;
 }
 
 EditManager.prototype.allow = function() {
-  this.canEdit = true;
+    this.canEdit = true;
 };
 
 EditManager.prototype.disallow = function() {
-  this.canEdit = false;
+    this.canEdit = false;
 };
 
 var _edit = new EditManager();
@@ -35,343 +35,333 @@ var _edit = new EditManager();
 function BookmarkManager() {}
 
 BookmarkManager.prototype.get = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'parentFolder',
-      type: types_.PLATFORM_OBJECT,
-      values: [tizen.BookmarkFolder, tizen.BookmarkItem],
-      optional: true,
-      nullable: true
-    },
-    {
-      name: 'recursive',
-      type: types_.BOOLEAN,
-      optional: true,
-      nullable: true
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'parentFolder',
+            type: types_.PLATFORM_OBJECT,
+            values: [tizen.BookmarkFolder, tizen.BookmarkItem],
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'recursive',
+            type: types_.BOOLEAN,
+            optional: true,
+            nullable: true
+        }
+    ]);
+    var result;
+
+    if (arguments.length === 0 || args.parentFolder === null) {
+        result = provider.getFolderItems(provider.getRootId(), args.recursive);
+        if (!result) throw new WebAPIException(WebAPIException.NOT_FOUND_ERR);
+        return result;
     }
-  ]);
-  var result;
+    if (args.parentFolder.id === null || args.parentFolder.id === 0)
+        throw new WebAPIException(WebAPIException.NOT_FOUND_ERR);
 
-  if (arguments.length === 0 || args.parentFolder === null) {
-    result = provider.getFolderItems(provider.getRootId(), args.recursive);
-    if (!result)
-      throw new WebAPIException(WebAPIException.NOT_FOUND_ERR);
+    result = provider.getFolderItems(args.parentFolder.id, args.recursive);
+    if (!result) throw new WebAPIException(WebAPIException.NOT_FOUND_ERR);
     return result;
-  }
-  if (args.parentFolder.id === null || args.parentFolder.id === 0)
-    throw new WebAPIException(WebAPIException.NOT_FOUND_ERR);
-
-  result = provider.getFolderItems(args.parentFolder.id, args.recursive);
-  if (!result)
-    throw new WebAPIException(WebAPIException.NOT_FOUND_ERR);
-  return result;
 };
 
 BookmarkManager.prototype.add = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'bookmark',
-      type: types_.PLATFORM_OBJECT,
-      values: [tizen.BookmarkFolder, tizen.BookmarkItem],
-      optional: false,
-      nullable: false
-    },
-    {
-      name: 'parentFolder',
-      type: types_.PLATFORM_OBJECT,
-      values: tizen.BookmarkFolder,
-      optional: true,
-      nullable: true
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'bookmark',
+            type: types_.PLATFORM_OBJECT,
+            values: [tizen.BookmarkFolder, tizen.BookmarkItem],
+            optional: false,
+            nullable: false
+        },
+        {
+            name: 'parentFolder',
+            type: types_.PLATFORM_OBJECT,
+            values: tizen.BookmarkFolder,
+            optional: true,
+            nullable: true
+        }
+    ]);
+    if (arguments.length == 1 || args.parentFolder === null) {
+        if (args.bookmark.id) {
+            throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
+        }
+
+        provider.addToFolder(args.bookmark, provider.getRootId());
+        return;
     }
-  ]);
-  if (arguments.length == 1 || args.parentFolder === null) {
-    if (args.bookmark.id) {
-      throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
+    if (!args.parentFolder.id) {
+        throw new WebAPIException(WebAPIException.NOT_FOUND_ERR);
     }
 
-    provider.addToFolder(args.bookmark, provider.getRootId());
-    return;
-  }
-  if (!args.parentFolder.id) {
-    throw new WebAPIException(WebAPIException.NOT_FOUND_ERR);
-  }
-
-  provider.addToFolder(args.bookmark, args.parentFolder.id);
+    provider.addToFolder(args.bookmark, args.parentFolder.id);
 };
 
 BookmarkManager.prototype.remove = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'bookmark',
-      type: types_.PLATFORM_OBJECT,
-      values: [tizen.BookmarkFolder, tizen.BookmarkItem],
-      optional: true,
-      nullable: true
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'bookmark',
+            type: types_.PLATFORM_OBJECT,
+            values: [tizen.BookmarkFolder, tizen.BookmarkItem],
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    if (!arguments.length || args.bookmark === null) {
+        var result = native_.callSync('Bookmark_removeAll');
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
+
+        return;
     }
-  ]);
 
-  if (!arguments.length || args.bookmark === null) {
-    var result = native_.callSync('Bookmark_removeAll');
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+    if (!args.bookmark.id) {
+        throw new WebAPIException(WebAPIException.UNKNOWN_ERR);
     }
 
-    return;
-  }
-
-  if (!args.bookmark.id) {
-    throw new WebAPIException(WebAPIException.UNKNOWN_ERR);
-  }
-
-  var result = native_.isFailure(native_.callSync('Bookmark_remove', {id: args.bookmark.id}));
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    var result = native_.isFailure(
+        native_.callSync('Bookmark_remove', { id: args.bookmark.id })
+    );
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 
-  _edit.allow();
-  args.bookmark.id = null;
-  args.bookmark.parent = undefined;
-  _edit.disallow();
+    _edit.allow();
+    args.bookmark.id = null;
+    args.bookmark.parent = undefined;
+    _edit.disallow();
 };
 
 function BookmarkProvider() {}
 
 BookmarkProvider.prototype.addToFolder = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'bookmark',
-      type: types_.PLATFORM_OBJECT,
-      values: [tizen.BookmarkFolder, tizen.BookmarkItem],
-      optional: true,
-      nullable: true
-    },
-    {
-      name: 'parentId',
-      type: types_.DOUBLE,
-      optional: false,
-      nullable: false}
-  ]);
-  var ret = native_.callSync('Bookmark_add',
-    {
-      title: args.bookmark.title,
-      url: String(args.bookmark.url),
-      parentId: args.parentId,
-      type: args.bookmark instanceof tizen.BookmarkFolder ? 1 : 0
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'bookmark',
+            type: types_.PLATFORM_OBJECT,
+            values: [tizen.BookmarkFolder, tizen.BookmarkItem],
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'parentId',
+            type: types_.DOUBLE,
+            optional: false,
+            nullable: false
+        }
+    ]);
+    var ret = native_.callSync('Bookmark_add', {
+        title: args.bookmark.title,
+        url: String(args.bookmark.url),
+        parentId: args.parentId,
+        type: args.bookmark instanceof tizen.BookmarkFolder ? 1 : 0
+    });
+
+    if (native_.isFailure(ret)) {
+        throw native_.getErrorObject(ret);
     }
-  );
-
-  if (native_.isFailure(ret)) {
-    throw native_.getErrorObject(ret);
-  }
 
-  var ret_id = native_.getResultObject(ret);
-  _edit.allow();
-  args.bookmark.id = ret_id;
-  args.bookmark.parent = this.getFolder(args.parentId);
-  _edit.disallow();
+    var ret_id = native_.getResultObject(ret);
+    _edit.allow();
+    args.bookmark.id = ret_id;
+    args.bookmark.parent = this.getFolder(args.parentId);
+    _edit.disallow();
 };
 
 BookmarkProvider.prototype.getFolder = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'id',
-      type: types_.DOUBLE,
-      optional: false,
-      nullable: false
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'id',
+            type: types_.DOUBLE,
+            optional: false,
+            nullable: false
+        }
+    ]);
+    if (arguments.length === 0 || args.id <= 0) return null;
+    if (args.id == this.getRootId()) return null;
+
+    var ret = native_.callSync('Bookmark_get', {
+        id: args.id,
+        shouldGetItems: 0
+    });
+
+    if (native_.isFailure(ret)) {
+        throw native_.getErrorObject(ret);
     }
-  ]);
-  if (arguments.length === 0 || args.id <= 0)
-    return null;
-  if (args.id == this.getRootId())
-    return null;
-
-  var ret = native_.callSync('Bookmark_get', {
-    id: args.id,
-    shouldGetItems: 0
-  });
-
-  if (native_.isFailure(ret)) {
-    throw native_.getErrorObject(ret);
-  }
-
-  var folder = native_.getResultObject(ret);
-  if (folder === undefined || folder === null) {
-    throw new WebAPIException(WebAPIException.UNKNOWN_ERR);
-  }
-
-  var obj = new tizen.BookmarkFolder(folder[0].title);
-  obj.id = folder[0].id;
-  obj.parent = this.getFolder(folder[0].parentId);
-  return obj;
-};
 
-BookmarkProvider.prototype.getFolderItems = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'id',
-      type: types_.DOUBLE,
-      optional: false,
-      nullable: false
-    },
-    {
-      name: 'recursive',
-      type: types_.BOOLEAN,
-      optional: true,
-      nullable: true
+    var folder = native_.getResultObject(ret);
+    if (folder === undefined || folder === null) {
+        throw new WebAPIException(WebAPIException.UNKNOWN_ERR);
     }
-  ]);
 
-  var ret = native_.callSync('Bookmark_get', {
-    id: Number(args.id),
-    shouldGetItems: 1
-  });
+    var obj = new tizen.BookmarkFolder(folder[0].title);
+    obj.id = folder[0].id;
+    obj.parent = this.getFolder(folder[0].parentId);
+    return obj;
+};
 
-  if (native_.isFailure(ret)) {
-    throw native_.getErrorObject(ret);
-  }
+BookmarkProvider.prototype.getFolderItems = function() {
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'id',
+            type: types_.DOUBLE,
+            optional: false,
+            nullable: false
+        },
+        {
+            name: 'recursive',
+            type: types_.BOOLEAN,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var ret = native_.callSync('Bookmark_get', {
+        id: Number(args.id),
+        shouldGetItems: 1
+    });
+
+    if (native_.isFailure(ret)) {
+        throw native_.getErrorObject(ret);
+    }
 
-  var folder = native_.getResultObject(ret);
-  if (folder === undefined) {
-    throw new WebAPIException(WebAPIException.UNKNOWN_ERR);
-  }
+    var folder = native_.getResultObject(ret);
+    if (folder === undefined) {
+        throw new WebAPIException(WebAPIException.UNKNOWN_ERR);
+    }
 
-  var item;
-  var obj;
-  var result = [];
-  var len = folder.length;
+    var item;
+    var obj;
+    var result = [];
+    var len = folder.length;
 
-  for (var i = 0; item = folder[i], i < len; i++) {
-    if (Number(item.type) === 0)
-      obj = new tizen.BookmarkItem(item.title, item.url);
-    else
-      obj = new tizen.BookmarkFolder(item.title);
+    for (var i = 0; (item = folder[i]), i < len; i++) {
+        if (Number(item.type) === 0) obj = new tizen.BookmarkItem(item.title, item.url);
+        else obj = new tizen.BookmarkFolder(item.title);
 
-    _edit.allow();
-    obj.id = item.id;
-    obj.parent = this.getFolder(item.parentId);
-    _edit.disallow();
-    result.push(obj);
+        _edit.allow();
+        obj.id = item.id;
+        obj.parent = this.getFolder(item.parentId);
+        _edit.disallow();
+        result.push(obj);
 
-    if (args.recursive && Number(item.type) !== 0)
-      result = result.concat(this.getFolderItems(item.id, true));
-  }
-  return result;
+        if (args.recursive && Number(item.type) !== 0)
+            result = result.concat(this.getFolderItems(item.id, true));
+    }
+    return result;
 };
 
 BookmarkProvider.prototype.getRootId = function() {
-  var ret = native_.callSync('Bookmark_getRootId');
-  if (native_.isFailure(ret)) {
-    throw native_.getErrorObject(ret);
-  }
-  var rootId = native_.getResultObject(ret);
-  return Number(rootId);
+    var ret = native_.callSync('Bookmark_getRootId');
+    if (native_.isFailure(ret)) {
+        throw native_.getErrorObject(ret);
+    }
+    var rootId = native_.getResultObject(ret);
+    return Number(rootId);
 };
 
 var provider = new BookmarkProvider();
 
 tizen.BookmarkItem = function() {
-  validator_.isConstructorCall(this, tizen.BookmarkItem);
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'title',
-      type: types_.STRING,
-      optional: false
-    },
-    {
-      name: 'url',
-      type: types_.STRING,
-      optional: false
-    }
-  ]);
-  var parent_;
-  var id_ = null;
-
-  Object.defineProperties(this, {
-    parent: {
-      get: function() {
-        return parent_;
-      },
-      set: function(new_parent) {
-        if (_edit.canEdit)
-          parent_ = new_parent;
-      },
-      enumerable: true,
-      nullable: true
-    },
-    title: {
-      get: function() {
-        return args.title;
-      },
-      enumerable: true,
-      nullable: false
-    },
-    url: {
-      get: function() {
-        if (args.url === "undefined")
-          args.url = undefined;
-        return args.url;
-      },
-      enumerable: true,
-      nullable: false
-    },
-    id: {
-      get: function() {
-        return id_;
-      },
-      set: function(new_id) {
-        if (_edit.canEdit)
-          id_ = new_id;
-      },
-      enumerable: false,
-      nullable: true
-    }
-  });
+    validator_.isConstructorCall(this, tizen.BookmarkItem);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'title',
+            type: types_.STRING,
+            optional: false
+        },
+        {
+            name: 'url',
+            type: types_.STRING,
+            optional: false
+        }
+    ]);
+    var parent_;
+    var id_ = null;
+
+    Object.defineProperties(this, {
+        parent: {
+            get: function() {
+                return parent_;
+            },
+            set: function(new_parent) {
+                if (_edit.canEdit) parent_ = new_parent;
+            },
+            enumerable: true,
+            nullable: true
+        },
+        title: {
+            get: function() {
+                return args.title;
+            },
+            enumerable: true,
+            nullable: false
+        },
+        url: {
+            get: function() {
+                if (args.url === 'undefined') args.url = undefined;
+                return args.url;
+            },
+            enumerable: true,
+            nullable: false
+        },
+        id: {
+            get: function() {
+                return id_;
+            },
+            set: function(new_id) {
+                if (_edit.canEdit) id_ = new_id;
+            },
+            enumerable: false,
+            nullable: true
+        }
+    });
 };
 
 tizen.BookmarkFolder = function() {
-  validator_.isConstructorCall(this, tizen.BookmarkFolder);
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'title',
-      type: types_.STRING,
-      optional: false,
-      nullable: false
-    }
-  ]);
-
-  var parent_;
-  var id_ = null;
-
-  Object.defineProperties(this, {
-    parent: {
-      get: function() {
-        return parent_;
-      },
-      set: function(new_parent) {
-        if (_edit.canEdit)
-          parent_ = new_parent;
-      },
-      enumerable: true,
-      nullable: true
-    },
-    title: {
-      get: function() {
-        return args.title;
-      },
-      enumerable: true,
-      nullable: false
-    },
-    id: {
-      get: function() {
-        return id_;
-      },
-      set: function(new_id) {
-        if (_edit.canEdit)
-          id_ = new_id;
-      },
-      enumerable: false,
-      nullable: true
-    }
-  });
+    validator_.isConstructorCall(this, tizen.BookmarkFolder);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'title',
+            type: types_.STRING,
+            optional: false,
+            nullable: false
+        }
+    ]);
+
+    var parent_;
+    var id_ = null;
+
+    Object.defineProperties(this, {
+        parent: {
+            get: function() {
+                return parent_;
+            },
+            set: function(new_parent) {
+                if (_edit.canEdit) parent_ = new_parent;
+            },
+            enumerable: true,
+            nullable: true
+        },
+        title: {
+            get: function() {
+                return args.title;
+            },
+            enumerable: true,
+            nullable: false
+        },
+        id: {
+            get: function() {
+                return id_;
+            },
+            set: function(new_id) {
+                if (_edit.canEdit) id_ = new_id;
+            },
+            enumerable: false,
+            nullable: true
+        }
+    });
 };
 exports = new BookmarkManager();
index af6ecdcbce4f1bc5d1d4b79d5dad950099004021..6269df69e3503001addcf930d316ae033131c1f0 100755 (executable)
  */
 
 var _global = window || global || {};
+
 var CalendarType = {
-  EVENT: 'EVENT',
-  TASK: 'TASK'
+    EVENT: 'EVENT',
+    TASK: 'TASK'
 };
 
 /**
  * For internal use only.
  */
 var InternalCalendar = function(data) {
-  Object.defineProperties(this, {
-    accountId: {
-      value: -1,
-      writable: true,
-      enumerable: true
-    },
-    id: {
-      value: null,
-      writable: true,
-      enumerable: true
-    },
-    name: {
-      value: null,
-      writable: true,
-      enumerable: true
-    },
-    type: {
-      value: '',
-      writable: true,
-      enumerable: true
-    },
-    isUnified: {
-      value: false,
-      writable: true,
-      enumerable: true
-    }
-  });
+    Object.defineProperties(this, {
+        accountId: {
+            value: -1,
+            writable: true,
+            enumerable: true
+        },
+        id: {
+            value: null,
+            writable: true,
+            enumerable: true
+        },
+        name: {
+            value: null,
+            writable: true,
+            enumerable: true
+        },
+        type: {
+            value: '',
+            writable: true,
+            enumerable: true
+        },
+        isUnified: {
+            value: false,
+            writable: true,
+            enumerable: true
+        }
+    });
 
-  if (data instanceof _global.Object) {
-    for (var prop in data) {
-      if (this.hasOwnProperty(prop)) {
-        this[prop] = data[prop];
-      }
+    if (data instanceof _global.Object) {
+        for (var prop in data) {
+            if (this.hasOwnProperty(prop)) {
+                this[prop] = data[prop];
+            }
+        }
     }
-  }
 };
 
-
 // class Calendar
 var Calendar = function(accountId, name, type) {
-  var _data;
+    var _data;
 
-  validator_.isConstructorCall(this, Calendar);
+    validator_.isConstructorCall(this, Calendar);
 
-  if (arguments[0] instanceof InternalCalendar) {
-    _data = arguments[0];
-  } else {
-    var _accountId = converter_.toLong(accountId);
-    var _name = converter_.toString(name);
-    var _type = converter_.toString(type);
-
-    if (arguments.length < 3) {
-      _data = new InternalCalendar();
+    if (arguments[0] instanceof InternalCalendar) {
+        _data = arguments[0];
     } else {
-      _data = new InternalCalendar({
+        var _accountId = converter_.toLong(accountId);
+        var _name = converter_.toString(name);
+        var _type = converter_.toString(type);
+
+        if (arguments.length < 3) {
+            _data = new InternalCalendar();
+        } else {
+            _data = new InternalCalendar({
                 accountId: _accountId,
                 name: _name,
                 type: _type
-      });
-    }
-  }
-
-  Object.defineProperties(this, {
-    accountId: {
-      value: converter_.toLong(_data.accountId),
-      writable: false,
-      enumerable: true
-    },
-    id: {
-      get: function() {
-        return converter_.toString(_data.id, true);
-      },
-      set: function(v) {
-        if (v instanceof InternalCalendar) {
-          _data.id = v.id;
+            });
         }
-      },
-      enumerable: true
-    },
-    name: {
-      value: _data.name,
-      writable: false,
-      enumerable: true
-    },
-    type: {
-      value: _data.type,
-      writable: false,
-      enumerable: false
-    },
-    isUnified: {
-      value: _data.isUnified,
-      writable: false,
-      enumerable: false
     }
-  });
+
+    Object.defineProperties(this, {
+        accountId: {
+            value: converter_.toLong(_data.accountId),
+            writable: false,
+            enumerable: true
+        },
+        id: {
+            get: function() {
+                return converter_.toString(_data.id, true);
+            },
+            set: function(v) {
+                if (v instanceof InternalCalendar) {
+                    _data.id = v.id;
+                }
+            },
+            enumerable: true
+        },
+        name: {
+            value: _data.name,
+            writable: false,
+            enumerable: true
+        },
+        type: {
+            value: _data.type,
+            writable: false,
+            enumerable: false
+        },
+        isUnified: {
+            value: _data.isUnified,
+            writable: false,
+            enumerable: false
+        }
+    });
 };
 
 Calendar.prototype.get = function(id) {
-  var args;
-  if (this.type === CalendarType.TASK) {
-    if (!parseInt(id) || parseInt(id) <= 0) {
-      throw new WebAPIException(WebAPIException.NOT_FOUND_ERR);
+    var args;
+    if (this.type === CalendarType.TASK) {
+        if (!parseInt(id) || parseInt(id) <= 0) {
+            throw new WebAPIException(WebAPIException.NOT_FOUND_ERR);
+        }
+        args = validator_.validateArgs(arguments, [
+            {
+                name: 'id',
+                type: types_.STRING
+            }
+        ]);
+    } else {
+        args = validator_.validateArgs(arguments, [
+            {
+                name: 'id',
+                type: types_.PLATFORM_OBJECT,
+                values: tizen.CalendarEventId
+            }
+        ]);
     }
-    args = validator_.validateArgs(arguments, [{
-      name: 'id',
-      type: types_.STRING
-    }]);
-  } else {
-    args = validator_.validateArgs(arguments, [{
-      name: 'id',
-      type: types_.PLATFORM_OBJECT,
-      values: tizen.CalendarEventId
-    }]);
-  }
-
-  var result = native_.callSync('Calendar_get', {
-    calendarId: this.id,
-    id: args.id
-  });
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-
-  _edit.allow();
-  var item;
-  var _item = native_.getResultObject(result);
-
-  if (this.type === CalendarType.TASK) {
-    item = new CalendarTask(_itemConverter.toTizenObject(_item, _item.isAllDay));
-  } else {
-    item = new CalendarEvent(_itemConverter.toTizenObject(_item, _item.isAllDay));
-  }
-  _edit.disallow();
-
-  return item;
+
+    var result = native_.callSync('Calendar_get', {
+        calendarId: this.id,
+        id: args.id
+    });
+
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+
+    _edit.allow();
+    var item;
+    var _item = native_.getResultObject(result);
+
+    if (this.type === CalendarType.TASK) {
+        item = new CalendarTask(_itemConverter.toTizenObject(_item, _item.isAllDay));
+    } else {
+        item = new CalendarEvent(_itemConverter.toTizenObject(_item, _item.isAllDay));
+    }
+    _edit.disallow();
+
+    return item;
 };
 
 Calendar.prototype.add = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'item',
-      type: types_.PLATFORM_OBJECT,
-      values: [CalendarEvent, CalendarTask]
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'item',
+            type: types_.PLATFORM_OBJECT,
+            values: [CalendarEvent, CalendarTask]
+        }
+    ]);
+
+    if (
+        (this.type === CalendarType.EVENT && !(args.item instanceof CalendarEvent)) ||
+        (this.type === CalendarType.TASK && !(args.item instanceof CalendarTask))
+    ) {
+        throw new WebAPIException(
+            WebAPIException.TYPE_MISMATCH_ERR,
+            'Invalid item type.'
+        );
     }
-  ]);
 
-  if ((this.type === CalendarType.EVENT && !(args.item instanceof CalendarEvent)) ||
-      (this.type === CalendarType.TASK && !(args.item instanceof CalendarTask))) {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-        'Invalid item type.');
-  }
+    var tmp = _itemConverter.fromTizenObject(args.item);
+    tmp.calendarId = this.id;
 
-  var tmp = _itemConverter.fromTizenObject(args.item);
-  tmp.calendarId = this.id;
-
-  var result = native_.callSync('Calendar_add', {
-    item: tmp,
-    type: this.type
-  });
+    var result = native_.callSync('Calendar_add', {
+        item: tmp,
+        type: this.type
+    });
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 
-  var _id = native_.getResultObject(result);
+    var _id = native_.getResultObject(result);
 
-  _edit.allow();
-  args.item.calendarId = this.id;
+    _edit.allow();
+    args.item.calendarId = this.id;
 
-  switch (this.type) {
+    switch (this.type) {
     case CalendarType.EVENT:
-      args.item.id = new CalendarEventId(_id.uid, _id.rid);
-      break;
+        args.item.id = new CalendarEventId(_id.uid, _id.rid);
+        break;
     case CalendarType.TASK:
-      args.item.id = _id.uid;
-      break;
-  }
-  _edit.disallow();
+        args.item.id = _id.uid;
+        break;
+    }
+    _edit.disallow();
 };
 
 Calendar.prototype.addBatch = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'items',
-      type: types_.ARRAY,
-      values: (this.type === CalendarType.EVENT)
-                ? tizen.CalendarEvent : tizen.CalendarTask
-    }, {
-      name: 'successCallback',
-      type: types_.FUNCTION,
-      optional: true,
-      nullable: true
-    }, {
-      name: 'errorCallback',
-      type: types_.FUNCTION,
-      optional: true,
-      nullable: true
-    }
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'items',
+            type: types_.ARRAY,
+            values:
+                this.type === CalendarType.EVENT
+                    ? tizen.CalendarEvent
+                    : tizen.CalendarTask
+        },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
 
-  var callback = function(result) {
-    if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-    } else {
-      _edit.allow();
-      var _ids = native_.getResultObject(result);
-      for (var i = 0; i < args.items.length; i++) {
-        args.items[i].calendarId = this.id;
-        switch (this.type) {
-          case CalendarType.EVENT:
-            args.items[i].id = new CalendarEventId(_ids[i].uid, _ids[i].rid);
-            break;
-          case CalendarType.TASK:
-            args.items[i].id = _ids[i].uid;
-            break;
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+        } else {
+            _edit.allow();
+            var _ids = native_.getResultObject(result);
+            for (var i = 0; i < args.items.length; i++) {
+                args.items[i].calendarId = this.id;
+                switch (this.type) {
+                case CalendarType.EVENT:
+                    args.items[i].id = new CalendarEventId(_ids[i].uid, _ids[i].rid);
+                    break;
+                case CalendarType.TASK:
+                    args.items[i].id = _ids[i].uid;
+                    break;
+                }
+            }
+            _edit.disallow();
+            native_.callIfPossible(args.successCallback, args.items);
         }
-      }
-      _edit.disallow();
-      native_.callIfPossible(args.successCallback, args.items);
+    }.bind(this);
+
+    var tmp = [];
+    var tmpItem;
+    for (var i = 0; i < args.items.length; i++) {
+        if (
+            (this.type === CalendarType.EVENT &&
+                !(args.items[i] instanceof CalendarEvent)) ||
+            (this.type === CalendarType.TASK && !(args.items[i] instanceof CalendarTask))
+        ) {
+            throw new WebAPIException(
+                WebAPIException.TYPE_MISMATCH_ERR,
+                'Invalid item type.'
+            );
+        }
+        tmpItem = _itemConverter.fromTizenObject(args.items[i]);
+        tmpItem.calendarId = this.id;
+        tmp.push(tmpItem);
     }
-  }.bind(this);
-
-  var tmp = [];
-  var tmpItem;
-  for (var i = 0; i < args.items.length; i++) {
-    if ((this.type === CalendarType.EVENT && !(args.items[i] instanceof CalendarEvent)) ||
-            (this.type === CalendarType.TASK && !(args.items[i] instanceof CalendarTask))) {
-      throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-        'Invalid item type.');
+
+    var result = native_.call(
+        'Calendar_addBatch',
+        {
+            type: this.type,
+            items: tmp
+        },
+        callback
+    );
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
     }
-    tmpItem = _itemConverter.fromTizenObject(args.items[i]);
-    tmpItem.calendarId = this.id;
-    tmp.push(tmpItem);
-  }
-
-  var result = native_.call('Calendar_addBatch', {
-    type: this.type,
-    items: tmp
-  }, callback);
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
 };
 
 Calendar.prototype.update = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'item',
-      type: types_.PLATFORM_OBJECT,
-      values: [tizen.CalendarEvent, tizen.CalendarTask]
-    },
-    {
-      name: 'updateAllInstances',
-      type: types_.BOOLEAN,
-      optional: true,
-      nullable: true
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'item',
+            type: types_.PLATFORM_OBJECT,
+            values: [tizen.CalendarEvent, tizen.CalendarTask]
+        },
+        {
+            name: 'updateAllInstances',
+            type: types_.BOOLEAN,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    if (
+        (this.type === CalendarType.EVENT && !(args.item instanceof CalendarEvent)) ||
+        (this.type === CalendarType.TASK && !(args.item instanceof CalendarTask))
+    ) {
+        throw new WebAPIException(
+            WebAPIException.TYPE_MISMATCH_ERR,
+            'Invalid item type.'
+        );
     }
-  ]);
-
-  if ((this.type === CalendarType.EVENT && !(args.item instanceof CalendarEvent)) ||
-      (this.type === CalendarType.TASK && !(args.item instanceof CalendarTask))) {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-      'Invalid item type.');
-  }
 
-  var tmp = _itemConverter.fromTizenObject(args.item);
-  tmp.calendarId = this.id;
+    var tmp = _itemConverter.fromTizenObject(args.item);
+    tmp.calendarId = this.id;
 
-  var result = native_.callSync('Calendar_update', {
-    item: tmp,
-    type: this.type,
-    updateAllInstances: (args.has.updateAllInstances)
+    var result = native_.callSync('Calendar_update', {
+        item: tmp,
+        type: this.type,
+        updateAllInstances: args.has.updateAllInstances
             ? converter_.toBoolean(args.updateAllInstances, true)
             : true
-  });
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    });
 
-  var _item = native_.getResultObject(result);
-  _edit.allow();
-  for (var prop in _item) {
-    if (args.item.hasOwnProperty(prop)) {
-      args.item[prop] = _item[prop];
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
     }
-  }
-  _edit.disallow();
 
+    var _item = native_.getResultObject(result);
+    _edit.allow();
+    for (var prop in _item) {
+        if (args.item.hasOwnProperty(prop)) {
+            args.item[prop] = _item[prop];
+        }
+    }
+    _edit.disallow();
 };
 
 Calendar.prototype.updateBatch = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'items',
-      type: types_.ARRAY,
-      values: (this.type === CalendarType.EVENT)
-                ? tizen.CalendarEvent : tizen.CalendarTask
-    },
-    {
-      name: 'successCallback',
-      type: types_.FUNCTION,
-      optional: true,
-      nullable: true
-    },
-    {
-      name: 'errorCallback',
-      type: types_.FUNCTION,
-      optional: true,
-      nullable: true
-    },
-    {
-      name: 'updateAllInstances',
-      type: types_.BOOLEAN,
-      optional: true,
-      nullable: true
-    }
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'items',
+            type: types_.ARRAY,
+            values:
+                this.type === CalendarType.EVENT
+                    ? tizen.CalendarEvent
+                    : tizen.CalendarTask
+        },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'updateAllInstances',
+            type: types_.BOOLEAN,
+            optional: true,
+            nullable: true
+        }
+    ]);
 
-  var calendarType = this.type;
+    var calendarType = this.type;
 
-  var callback = function(result) {
-    if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      return;
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+            return;
+        }
+
+        native_.callIfPossible(args.successCallback);
+    }.bind(this);
+
+    var tmp = [];
+    var tmpItem;
+    for (var i = 0; i < args.items.length; i++) {
+        if (
+            (calendarType === CalendarType.EVENT &&
+                !(args.items[i] instanceof CalendarEvent)) ||
+            (calendarType === CalendarType.TASK &&
+                !(args.items[i] instanceof CalendarTask))
+        ) {
+            throw new WebAPIException(
+                WebAPIException.TYPE_MISMATCH_ERR,
+                'Invalid item type.'
+            );
+        }
+        tmpItem = _itemConverter.fromTizenObject(args.items[i]);
+        tmp.push(tmpItem);
     }
 
-    native_.callIfPossible(args.successCallback);
-  }.bind(this);
+    var result = native_.call(
+        'Calendar_updateBatch',
+        {
+            type: this.type,
+            items: tmp,
+            updateAllInstances: args.has.updateAllInstances
+                ? converter_.toBoolean(args.updateAllInstances, true)
+                : true
+        },
+        callback
+    );
 
-  var tmp = [];
-  var tmpItem;
-  for (var i = 0; i < args.items.length; i++) {
-    if ((calendarType === CalendarType.EVENT && !(args.items[i] instanceof CalendarEvent)) ||
-            (calendarType === CalendarType.TASK && !(args.items[i] instanceof CalendarTask))) {
-      throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-        'Invalid item type.');
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
     }
-    tmpItem = _itemConverter.fromTizenObject(args.items[i]);
-    tmp.push(tmpItem);
-  }
-
-  var result = native_.call('Calendar_updateBatch', {
-    type: this.type,
-    items: tmp,
-    updateAllInstances: (args.has.updateAllInstances)
-            ? converter_.toBoolean(args.updateAllInstances, true)
-            : true
-  }, callback);
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
 };
 
 Calendar.prototype.remove = function(id) {
-  var args;
-  if (this.type === CalendarType.TASK) {
-    if (!parseInt(id) || parseInt(id) <= 0) {
-      throw new WebAPIException(WebAPIException.NOT_FOUND_ERR);
+    var args;
+    if (this.type === CalendarType.TASK) {
+        if (!parseInt(id) || parseInt(id) <= 0) {
+            throw new WebAPIException(WebAPIException.NOT_FOUND_ERR);
+        }
+        args = validator_.validateArgs(arguments, [
+            {
+                name: 'id',
+                type: types_.STRING
+            }
+        ]);
+    } else {
+        args = validator_.validateArgs(arguments, [
+            {
+                name: 'id',
+                type: types_.PLATFORM_OBJECT,
+                values: tizen.CalendarEventId
+            }
+        ]);
     }
-    args = validator_.validateArgs(arguments, [{
-      name: 'id',
-      type: types_.STRING
-    }]);
-  } else {
-    args = validator_.validateArgs(arguments, [{
-      name: 'id',
-      type: types_.PLATFORM_OBJECT,
-      values: tizen.CalendarEventId
-    }]);
-  }
-
-  var result = native_.callSync('Calendar_remove', {
-    type: this.type,
-    id: args.id
-  });
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-};
 
-Calendar.prototype.removeBatch = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'ids',
-      type: types_.ARRAY,
-      values: (this.type === CalendarType.EVENT)
-                ? tizen.CalendarEventId : undefined
-    },
-    {
-      name: 'successCallback',
-      type: types_.FUNCTION,
-      optional: true,
-      nullable: true
-    },
-    {
-      name: 'errorCallback',
-      type: types_.FUNCTION,
-      optional: true,
-      nullable: true
-    }
-  ]);
+    var result = native_.callSync('Calendar_remove', {
+        type: this.type,
+        id: args.id
+    });
 
-  var callback = function(result) {
     if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-    } else {
-      native_.callIfPossible(args.successCallback);
+        throw native_.getErrorObject(result);
     }
-  };
+};
+
+Calendar.prototype.removeBatch = function() {
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'ids',
+            type: types_.ARRAY,
+            values: this.type === CalendarType.EVENT ? tizen.CalendarEventId : undefined
+        },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+        } else {
+            native_.callIfPossible(args.successCallback);
+        }
+    };
 
-  var result = native_.call('Calendar_removeBatch', {
-    type: this.type,
-    ids: args.ids
-  }, callback);
+    var result = native_.call(
+        'Calendar_removeBatch',
+        {
+            type: this.type,
+            ids: args.ids
+        },
+        callback
+    );
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
 Calendar.prototype.find = function(successCallback, errorCallback, filter, sortMode) {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'successCallback',
-      type: types_.FUNCTION
-    },
-    {
-      name: 'errorCallback',
-      type: types_.FUNCTION,
-      optional: true,
-      nullable: true
-    },
-    {
-      name: 'filter',
-      type: types_.PLATFORM_OBJECT,
-      values: [tizen.AttributeFilter, tizen.AttributeRangeFilter, tizen.CompositeFilter],
-      optional: true,
-      nullable: true
-    },
-    {
-      name: 'sortMode',
-      type: types_.PLATFORM_OBJECT,
-      values: tizen.SortMode,
-      optional: true,
-      nullable: true
-    }
-  ]);
-  args.filter = utils_.repackFilter(args.filter);
-  var calendarType = this.type;
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'filter',
+            type: types_.PLATFORM_OBJECT,
+            values: [
+                tizen.AttributeFilter,
+                tizen.AttributeRangeFilter,
+                tizen.CompositeFilter
+            ],
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'sortMode',
+            type: types_.PLATFORM_OBJECT,
+            values: tizen.SortMode,
+            optional: true,
+            nullable: true
+        }
+    ]);
+    args.filter = utils_.repackFilter(args.filter);
+    var calendarType = this.type;
 
-  var callback = function(result) {
-    if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-    } else {
-      var _items = native_.getResultObject(result);
-      var c = [];
-      _edit.allow();
-      _items.forEach(function(i) {
-        if (calendarType === CalendarType.TASK) {
-          c.push(new CalendarTask(_itemConverter.toTizenObject(i, i.isAllDay)));
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
         } else {
-          c.push(new CalendarEvent(_itemConverter.toTizenObject(i, i.isAllDay)));
+            var _items = native_.getResultObject(result);
+            var c = [];
+            _edit.allow();
+            _items.forEach(function(i) {
+                if (calendarType === CalendarType.TASK) {
+                    c.push(new CalendarTask(_itemConverter.toTizenObject(i, i.isAllDay)));
+                } else {
+                    c.push(
+                        new CalendarEvent(_itemConverter.toTizenObject(i, i.isAllDay))
+                    );
+                }
+            });
+            _edit.disallow();
+            args.successCallback(c);
         }
-      });
-      _edit.disallow();
-      args.successCallback(c);
+    };
+    var result = native_.call(
+        'Calendar_find',
+        {
+            calendarId: this.id,
+            filter: args.filter,
+            sortMode: args.sortMode || null
+        },
+        callback
+    );
 
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
     }
-  };
-  var result = native_.call('Calendar_find', {
-    calendarId: this.id,
-    filter: args.filter,
-    sortMode: args.sortMode || null
-  }, callback);
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
 };
 
 var _listeners = {};
@@ -515,175 +566,190 @@ var _nativeListeners = {};
 var _nextId = 0;
 
 function _CalendarEventChangeCallback(event) {
-  _CalendarChangeCallback('EVENT', event);
+    _CalendarChangeCallback('EVENT', event);
 }
 function _CalendarTaskChangeCallback(event) {
-  _CalendarChangeCallback('TASK', event);
+    _CalendarChangeCallback('TASK', event);
 }
 function _CalendarChangeCallback(type, event) {
-  var invokeListeners = function(listeners, callbackName, items) {
-    var result = [];
-    _edit.allow();
-    for (var i = 0, length = items.length; i < length; i++) {
-      var item;
-
-      if (callbackName === 'onitemsremoved') {
-        if (type === 'EVENT') {
-          item = new CalendarEventId(items[i].id, null);
-        } else {
-          item = converter_.toString(items[i].id);
-        }
-      } else {
-        item = _itemConverter.toTizenObject(items[i], items[i].isAllDay);
-        if (type === 'EVENT') {
-          item = new CalendarEvent(item);
-        } else {
-          item = new CalendarTask(item);
+    var invokeListeners = function(listeners, callbackName, items) {
+        var result = [];
+        _edit.allow();
+        for (var i = 0, length = items.length; i < length; i++) {
+            var item;
+
+            if (callbackName === 'onitemsremoved') {
+                if (type === 'EVENT') {
+                    item = new CalendarEventId(items[i].id, null);
+                } else {
+                    item = converter_.toString(items[i].id);
+                }
+            } else {
+                item = _itemConverter.toTizenObject(items[i], items[i].isAllDay);
+                if (type === 'EVENT') {
+                    item = new CalendarEvent(item);
+                } else {
+                    item = new CalendarTask(item);
+                }
+            }
+
+            result.push(item);
         }
-      }
+        _edit.disallow();
 
-      result.push(item);
-    }
-    _edit.disallow();
+        for (var watchId in listeners) {
+            if (listeners.hasOwnProperty(watchId)) {
+                native_.callIfPossible(listeners[watchId][callbackName], result);
+            }
+        }
+    }.bind(this);
 
-    for (var watchId in listeners) {
-      if (listeners.hasOwnProperty(watchId)) {
-        native_.callIfPossible(listeners[watchId][callbackName], result);
-      }
-    }
-  }.bind(this);
+    var groupItemsByCalendar = function(items) {
+        var grouped = {};
 
-  var groupItemsByCalendar = function(items) {
-    var grouped = {};
+        for (var i = 0, length = items.length; i < length; i++) {
+            var item = items[i];
 
-    for (var i = 0, length = items.length; i < length; i++) {
-      var item = items[i];
+            // skip item if we are not listening on this calendarId
+            if (!_listeners.hasOwnProperty(item.calendarId)) {
+                continue;
+            }
 
-      // skip item if we are not listening on this calendarId
-      if (!_listeners.hasOwnProperty(item.calendarId)) {
-        continue;
-      }
+            if (!grouped.hasOwnProperty(item.calendarId)) {
+                grouped[item.calendarId] = [];
+            }
+            grouped[item.calendarId].push(item);
+        }
 
-      if (!grouped.hasOwnProperty(item.calendarId)) {
-        grouped[item.calendarId] = [];
-      }
-      grouped[item.calendarId].push(item);
+        return grouped;
+    }.bind(this);
+
+    var actions = ['added', 'updated', 'removed'];
+    for (var i = 0; i < actions.length; i++) {
+        var action = actions[i];
+        var callback = 'onitems' + action;
+
+        if (
+            event.hasOwnProperty(action) &&
+            type_.isArray(event[action]) &&
+            event[action].length
+        ) {
+            // invoke listeners for unified calendars
+            if (_listeners.hasOwnProperty(type)) {
+                invokeListeners(_listeners[type], callback, event[action]);
+            }
+
+            var groupedItems = groupItemsByCalendar(event[action]);
+            for (var calendarId in groupedItems) {
+                if (groupedItems.hasOwnProperty(calendarId)) {
+                    invokeListeners(
+                        _listeners[calendarId],
+                        callback,
+                        groupedItems[calendarId]
+                    );
+                }
+            }
+        }
     }
+}
 
-    return grouped;
-  }.bind(this);
-
-  var actions = ['added', 'updated', 'removed'];
-  for (var i = 0; i < actions.length; i++) {
-    var action = actions[i];
-    var callback = 'onitems' + action;
-
-    if (event.hasOwnProperty(action) && type_.isArray(event[action]) && event[action].length) {
+Calendar.prototype.addChangeListener = function() {
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'successCallback',
+            type: types_.LISTENER,
+            values: ['onitemsadded', 'onitemsupdated', 'onitemsremoved']
+        }
+    ]);
 
-      // invoke listeners for unified calendars
-      if (_listeners.hasOwnProperty(type)) {
-        invokeListeners(_listeners[type], callback, event[action]);
-      }
+    var listenerId = 'CalendarChangeCallback_' + this.type;
 
-      var groupedItems = groupItemsByCalendar(event[action]);
-      for (var calendarId in groupedItems) {
-        if (groupedItems.hasOwnProperty(calendarId)) {
-          invokeListeners(_listeners[calendarId], callback, groupedItems[calendarId]);
+    if (!_nativeListeners.hasOwnProperty(listenerId)) {
+        var result = native_.callSync('Calendar_addChangeListener', {
+            type: this.type,
+            listenerId: listenerId
+        });
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
         }
-      }
-    }
-  }
-}
 
-Calendar.prototype.addChangeListener = function() {
-  var args = validator_.validateArgs(arguments, [{
-    name: 'successCallback',
-    type: types_.LISTENER,
-    values: ['onitemsadded', 'onitemsupdated', 'onitemsremoved']
-  }]);
-
-  var listenerId = 'CalendarChangeCallback_' + this.type;
-
-  if (!_nativeListeners.hasOwnProperty(listenerId)) {
-    var result = native_.callSync('Calendar_addChangeListener', {
-      type: this.type,
-      listenerId: listenerId
-    });
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+        native_.addListener(
+            listenerId,
+            this.type === 'EVENT'
+                ? _CalendarEventChangeCallback
+                : _CalendarTaskChangeCallback
+        );
+        _nativeListeners[listenerId] = this.type;
     }
 
-    native_.addListener(listenerId, (this.type === 'EVENT')
-            ? _CalendarEventChangeCallback
-            : _CalendarTaskChangeCallback);
-    _nativeListeners[listenerId] = this.type;
-  }
-
-  // we can't use id in case of unified calendar - which is null for both calendar types
-  var calendarId = (this.isUnified) ? this.type : this.id;
-  if (!_listeners.hasOwnProperty(calendarId)) {
-    _listeners[calendarId] = {};
-  }
+    // we can't use id in case of unified calendar - which is null for both calendar types
+    var calendarId = this.isUnified ? this.type : this.id;
+    if (!_listeners.hasOwnProperty(calendarId)) {
+        _listeners[calendarId] = {};
+    }
 
-  var watchId = ++_nextId;
-  _listeners[calendarId][watchId] = args.successCallback;
+    var watchId = ++_nextId;
+    _listeners[calendarId][watchId] = args.successCallback;
 
-  return watchId;
+    return watchId;
 };
 
 var Calendar_removeChangeListener = function() {
-  if (type_.isEmptyObject(_listeners)) {
-    utils_.checkPrivilegeAccess(privilege_.CALENDAR_READ);
-  }
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'watchId',
-      type: types_.LONG
+    if (type_.isEmptyObject(_listeners)) {
+        utils_.checkPrivilegeAccess(privilege_.CALENDAR_READ);
     }
-  ]);
-
-  var watchId = converter_.toString(args.watchId);
-  var calendarId = (this.isUnified) ? this.type : this.id;
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'watchId',
+            type: types_.LONG
+        }
+    ]);
 
-  if (!_listeners[calendarId] || !_listeners[calendarId][watchId]) {
-    return;
-  }
+    var watchId = converter_.toString(args.watchId);
+    var calendarId = this.isUnified ? this.type : this.id;
 
-  delete _listeners[calendarId][watchId];
+    if (!_listeners[calendarId] || !_listeners[calendarId][watchId]) {
+        return;
+    }
 
-  if (type_.isEmptyObject(_listeners[calendarId])) {
-    delete _listeners[calendarId];
-  }
+    delete _listeners[calendarId][watchId];
 
-  if (type_.isEmptyObject(_listeners)) {
+    if (type_.isEmptyObject(_listeners[calendarId])) {
+        delete _listeners[calendarId];
+    }
 
-    var result;
-    // @todo consider listener unregister when we are not listening on this.type of calendar
-    var fail = false;
-    for (var listenerId in _nativeListeners) {
-      if (_nativeListeners.hasOwnProperty(listenerId)) {
-        result = native_.callSync('Calendar_removeChangeListener', {
-          type: _nativeListeners[listenerId]
-        });
-        if (native_.isFailure(result)) {
-          fail = native_.getErrorObject(result);
+    if (type_.isEmptyObject(_listeners)) {
+        var result;
+        // @todo consider listener unregister when we are not listening
+        // on this.type of calendar
+        var fail = false;
+        for (var listenerId in _nativeListeners) {
+            if (_nativeListeners.hasOwnProperty(listenerId)) {
+                result = native_.callSync('Calendar_removeChangeListener', {
+                    type: _nativeListeners[listenerId]
+                });
+                if (native_.isFailure(result)) {
+                    fail = native_.getErrorObject(result);
+                }
+                native_.removeListener(
+                    listenerId,
+                    this.type === 'EVENT'
+                        ? _CalendarEventChangeCallback
+                        : _CalendarTaskChangeCallback
+                );
+
+                delete _nativeListeners[listenerId];
+            }
         }
-        native_.removeListener(listenerId, (this.type === 'EVENT')
-                    ? _CalendarEventChangeCallback
-                    : _CalendarTaskChangeCallback);
 
-        delete _nativeListeners[listenerId];
-      }
-    }
-
-    if (fail) {
-      throw fail;
+        if (fail) {
+            throw fail;
+        }
     }
-  }
 };
 
 Calendar.prototype.removeChangeListener = function() {
-  Calendar_removeChangeListener.apply(this, arguments);
+    Calendar_removeChangeListener.apply(this, arguments);
 };
 
 tizen.Calendar = Calendar;
index 6976ac5a3ee908d9b28b69ff5757a8e6278cb7dd..3755560e4461f3a8d58535fa414126a4d1b8002a 100755 (executable)
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
+
 var AlarmMethod = {
-  SOUND: 'SOUND',
-  DISPLAY: 'DISPLAY'
+    SOUND: 'SOUND',
+    DISPLAY: 'DISPLAY'
 };
 
 var privUtils_ = xwalk.utils;
 
 var CalendarAlarm = function(time, method, description) {
-  validator_.isConstructorCall(this, CalendarAlarm);
+    validator_.isConstructorCall(this, CalendarAlarm);
 
-  var _absoluteDate = time instanceof tizen.TZDate && !this.before ? time : null;
-  var _before = time instanceof tizen.TimeDuration && !this.absoluteDate ? time : null;
-  var _description = (description) ? converter_.toString(description, true) : '';
-  var _method;
+    var _absoluteDate = time instanceof tizen.TZDate && !this.before ? time : null;
+    var _before = time instanceof tizen.TimeDuration && !this.absoluteDate ? time : null;
+    var _description = description ? converter_.toString(description, true) : '';
+    var _method;
 
-  try {
-    _method = converter_.toEnum(method, Object.keys(AlarmMethod), false);
-  } catch (e) {
-    privUtils_.warn('Failed to convert method: "' + method + '" to enum AlarmMethod.');
-    _method = method;
-  }
+    try {
+        _method = converter_.toEnum(method, Object.keys(AlarmMethod), false);
+    } catch (e) {
+        privUtils_.warn(
+            'Failed to convert method: "' + method + '" to enum AlarmMethod.'
+        );
+        _method = method;
+    }
 
-  Object.defineProperties(this, {
-    absoluteDate: {
-      get: function() {
-        return _absoluteDate;
-      },
-      set: function(v) {
-        _absoluteDate = v instanceof tizen.TZDate && !_before ? v : null;
-      },
-      enumerable: true
-    },
-    before: {
-      get: function() {
-        return _before;
-      },
-      set: function(v) {
-        _before = v instanceof tizen.TimeDuration && !_absoluteDate ? v : null;
-      },
-      enumerable: true
-    },
-    method: {
-      get: function() {
-        return _method;
-      },
-      set: function(v) {
-        if (v === null) {
-          return;
+    Object.defineProperties(this, {
+        absoluteDate: {
+            get: function() {
+                return _absoluteDate;
+            },
+            set: function(v) {
+                _absoluteDate = v instanceof tizen.TZDate && !_before ? v : null;
+            },
+            enumerable: true
+        },
+        before: {
+            get: function() {
+                return _before;
+            },
+            set: function(v) {
+                _before = v instanceof tizen.TimeDuration && !_absoluteDate ? v : null;
+            },
+            enumerable: true
+        },
+        method: {
+            get: function() {
+                return _method;
+            },
+            set: function(v) {
+                if (v === null) {
+                    return;
+                }
+                _method = converter_.toEnum(v, Object.keys(AlarmMethod), false);
+            },
+            enumerable: true
+        },
+        description: {
+            get: function() {
+                return _description;
+            },
+            set: function(v) {
+                _description = converter_.toString(v, true);
+            },
+            enumerable: true
         }
-        _method = converter_.toEnum(v, Object.keys(AlarmMethod), false);
-      },
-      enumerable: true
-    },
-    description: {
-      get: function() {
-        return _description;
-      },
-      set: function(v) {
-        _description = converter_.toString(v, true);
-      },
-      enumerable: true
-    }
-  });
+    });
 };
 
 tizen.CalendarAlarm = CalendarAlarm;
index 0db4f5511607b75fff3edb2c48b0a7daf204d9fc..bb24760f87fbd7493fde9ed7ca4f9937c2c9d461 100755 (executable)
  */
 
 var _global = window || global || {};
+
 var AttendeeType = {
-  INDIVIDUAL: 'INDIVIDUAL',
-  GROUP: 'GROUP',
-  RESOURCE: 'RESOURCE',
-  ROOM: 'ROOM',
-  UNKNOWN: 'UNKNOWN'
+    INDIVIDUAL: 'INDIVIDUAL',
+    GROUP: 'GROUP',
+    RESOURCE: 'RESOURCE',
+    ROOM: 'ROOM',
+    UNKNOWN: 'UNKNOWN'
 };
 
 var AttendeeStatus = {
-  PENDING: 'PENDING',
-  ACCEPTED: 'ACCEPTED',
-  DECLINED: 'DECLINED',
-  TENTATIVE: 'TENTATIVE',
-  DELEGATED: 'DELEGATED',
-  COMPLETED: 'COMPLETED',
-  IN_PROCESS: 'IN_PROCESS'
+    PENDING: 'PENDING',
+    ACCEPTED: 'ACCEPTED',
+    DECLINED: 'DECLINED',
+    TENTATIVE: 'TENTATIVE',
+    DELEGATED: 'DELEGATED',
+    COMPLETED: 'COMPLETED',
+    IN_PROCESS: 'IN_PROCESS'
 };
 
 var AttendeeRole = {
-  REQ_PARTICIPANT: 'REQ_PARTICIPANT',
-  OPT_PARTICIPANT: 'OPT_PARTICIPANT',
-  NON_PARTICIPANT: 'NON_PARTICIPANT',
-  CHAIR: 'CHAIR'
+    REQ_PARTICIPANT: 'REQ_PARTICIPANT',
+    OPT_PARTICIPANT: 'OPT_PARTICIPANT',
+    NON_PARTICIPANT: 'NON_PARTICIPANT',
+    CHAIR: 'CHAIR'
 };
 
 var CalendarAttendeeInit = function(data) {
-  var _name = null;
-  var _role = 'REQ_PARTICIPANT';
-  var _status = 'PENDING';
-  var _RSVP = false;
-  var _type = 'INDIVIDUAL';
-  var _group = null;
-  var _delegatorURI = null;
-  var _delegateURI = null;
-  var _contactRef = null;
+    var _name = null;
+    var _role = 'REQ_PARTICIPANT';
+    var _status = 'PENDING';
+    var _RSVP = false;
+    var _type = 'INDIVIDUAL';
+    var _group = null;
+    var _delegatorURI = null;
+    var _delegateURI = null;
+    var _contactRef = null;
 
-  Object.defineProperties(this, {
-    name: {
-      get: function() {
-        return _name;
-      },
-      set: function(v) {
-        _name = converter_.toString(v, true);
-      },
-      enumerable: true
-    },
-    role: {
-      get: function() {
-        return _role;
-      },
-      set: function(v) {
-        if (v === null) {
-          return;
-        }
-        _role = converter_.toEnum(v, Object.keys(AttendeeRole), false);
-      },
-      enumerable: true
-    },
-    status: {
-      get: function() {
-        return _status;
-      },
-      set: function(v) {
-        if (v === null) {
-          return;
-        }
-        _status = converter_.toEnum(v, Object.keys(AttendeeStatus), false);
-      },
-      enumerable: true
-    },
-    RSVP: {
-      get: function() {
-        return _RSVP;
-      },
-      set: function(v) {
-        _RSVP = converter_.toBoolean(v);
-      },
-      enumerable: true
-    },
-    type: {
-      get: function() {
-        return _type;
-      },
-      set: function(v) {
-        if (v === null) {
-          return;
+    Object.defineProperties(this, {
+        name: {
+            get: function() {
+                return _name;
+            },
+            set: function(v) {
+                _name = converter_.toString(v, true);
+            },
+            enumerable: true
+        },
+        role: {
+            get: function() {
+                return _role;
+            },
+            set: function(v) {
+                if (v === null) {
+                    return;
+                }
+                _role = converter_.toEnum(v, Object.keys(AttendeeRole), false);
+            },
+            enumerable: true
+        },
+        status: {
+            get: function() {
+                return _status;
+            },
+            set: function(v) {
+                if (v === null) {
+                    return;
+                }
+                _status = converter_.toEnum(v, Object.keys(AttendeeStatus), false);
+            },
+            enumerable: true
+        },
+        RSVP: {
+            get: function() {
+                return _RSVP;
+            },
+            set: function(v) {
+                _RSVP = converter_.toBoolean(v);
+            },
+            enumerable: true
+        },
+        type: {
+            get: function() {
+                return _type;
+            },
+            set: function(v) {
+                if (v === null) {
+                    return;
+                }
+                _type = converter_.toEnum(v, Object.keys(AttendeeType), false);
+            },
+            enumerable: true
+        },
+        group: {
+            get: function() {
+                return _group;
+            },
+            set: function(v) {
+                _group = converter_.toString(v, true);
+            },
+            enumerable: true
+        },
+        delegatorURI: {
+            get: function() {
+                return _delegatorURI;
+            },
+            set: function(v) {
+                _delegatorURI = converter_.toString(v, true);
+            },
+            enumerable: true
+        },
+        delegateURI: {
+            get: function() {
+                return _delegateURI;
+            },
+            set: function(v) {
+                _delegateURI = converter_.toString(v, true);
+            },
+            enumerable: true
+        },
+        contactRef: {
+            get: function() {
+                return _contactRef;
+            },
+            set: function(v) {
+                _contactRef = v instanceof tizen.ContactRef ? v : _contactRef;
+            },
+            enumerable: true
         }
-        _type = converter_.toEnum(v, Object.keys(AttendeeType), false);
-      },
-      enumerable: true
-    },
-    group: {
-      get: function() {
-        return _group;
-      },
-      set: function(v) {
-        _group = converter_.toString(v, true);
-      },
-      enumerable: true
-    },
-    delegatorURI: {
-      get: function() {
-        return _delegatorURI;
-      },
-      set: function(v) {
-        _delegatorURI = converter_.toString(v, true);
-      },
-      enumerable: true
-    },
-    delegateURI: {
-      get: function() {
-        return _delegateURI;
-      },
-      set: function(v) {
-        _delegateURI = converter_.toString(v, true);
-      },
-      enumerable: true
-    },
-    contactRef: {
-      get: function() {
-        return _contactRef;
-      },
-      set: function(v) {
-        _contactRef = v instanceof tizen.ContactRef ? v : _contactRef;
-      },
-      enumerable: true
-    }
-  });
+    });
 
-  if (data instanceof _global.Object) {
-    for (var prop in data) {
-      if (this.hasOwnProperty(prop)) {
-        this[prop] = data[prop];
-      }
+    if (data instanceof _global.Object) {
+        for (var prop in data) {
+            if (this.hasOwnProperty(prop)) {
+                this[prop] = data[prop];
+            }
+        }
     }
-  }
 };
 
 var CalendarAttendee = function(uri, attendeeInitDict) {
-  validator_.isConstructorCall(this, CalendarAttendee);
+    validator_.isConstructorCall(this, CalendarAttendee);
 
-  CalendarAttendeeInit.call(this, attendeeInitDict);
+    CalendarAttendeeInit.call(this, attendeeInitDict);
 
-  var _uri = null;
+    var _uri = null;
 
-  Object.defineProperties(this, {
-    uri: {
-      get: function() {
-        return _uri;
-      },
-      set: function(v) {
-        if (v === null) {
-          return;
+    Object.defineProperties(this, {
+        uri: {
+            get: function() {
+                return _uri;
+            },
+            set: function(v) {
+                if (v === null) {
+                    return;
+                }
+                _uri = converter_.toString(v, true);
+            },
+            enumerable: true
         }
-        _uri = converter_.toString(v, true);
-      },
-      enumerable: true
-    }
-  });
+    });
 
-  this.uri = uri;
+    this.uri = uri;
 };
 
 CalendarAttendee.prototype = new CalendarAttendeeInit();
index fe45594c622a3d044b8ebbd768a14b33e22c0fa2..38d1142d779d73ce23fee164f7c7c8b0faae5fa2 100644 (file)
 var _global = window || global || {};
 
 var CalendarTextFormat = {
-  ICALENDAR_20: 'ICALENDAR_20',
-  VCALENDAR_10: 'VCALENDAR_10'
+    ICALENDAR_20: 'ICALENDAR_20',
+    VCALENDAR_10: 'VCALENDAR_10'
 };
 
 var CalendarItemVisibility = {
-  PUBLIC: 'PUBLIC', //default
-  PRIVATE: 'PRIVATE',
-  CONFIDENTIAL: 'CONFIDENTIAL'
+    PUBLIC: 'PUBLIC', //default
+    PRIVATE: 'PRIVATE',
+    CONFIDENTIAL: 'CONFIDENTIAL'
 };
 
 var CalendarItemPriority = {
-  HIGH: 'HIGH',
-  MEDIUM: 'MEDIUM',
-  LOW: 'LOW',
-  NONE: 'NONE' //default
+    HIGH: 'HIGH',
+    MEDIUM: 'MEDIUM',
+    LOW: 'LOW',
+    NONE: 'NONE' //default
 };
 
 var CalendarItemStatus = {
-  TENTATIVE: 'TENTATIVE',
-  CONFIRMED: 'CONFIRMED',
-  CANCELLED: 'CANCELLED',
-  NONE: 'NONE', //default for both CalendarEvent and CalendarTask
-  NEEDS_ACTION: 'NEEDS_ACTION',
-  IN_PROCESS: 'IN_PROCESS',
-  COMPLETED: 'COMPLETED'
+    TENTATIVE: 'TENTATIVE',
+    CONFIRMED: 'CONFIRMED',
+    CANCELLED: 'CANCELLED',
+    NONE: 'NONE', //default for both CalendarEvent and CalendarTask
+    NEEDS_ACTION: 'NEEDS_ACTION',
+    IN_PROCESS: 'IN_PROCESS',
+    COMPLETED: 'COMPLETED'
 };
 
 var EventAvailability = {
-  BUSY: 'BUSY', //default for CalendarEvent
-  FREE: 'FREE'
+    BUSY: 'BUSY', //default for CalendarEvent
+    FREE: 'FREE'
 };
 
 var CalendarEventId = function(uid, rid) {
-  validator_.isConstructorCall(this, CalendarEventId);
-
-  var _uid = null;
-
-  Object.defineProperties(this, {
-    uid: {
-      get: function() {
-        return _uid;
-      },
-      set: function(v) {
-        if (v === null) {
-          return;
+    validator_.isConstructorCall(this, CalendarEventId);
+
+    var _uid = null;
+
+    Object.defineProperties(this, {
+        uid: {
+            get: function() {
+                return _uid;
+            },
+            set: function(v) {
+                if (v === null) {
+                    return;
+                }
+                _uid = converter_.toString(v, true);
+            },
+            enumerable: true
+        },
+        rid: {
+            value: rid ? converter_.toString(rid, true) : null,
+            writable: true,
+            enumerable: true
         }
-        _uid = converter_.toString(v, true);
-      },
-      enumerable: true
-    },
-    rid: {
-      value: (rid) ? converter_.toString(rid, true) : null,
-      writable: true,
-      enumerable: true
-    }
-  });
+    });
 
-  this.uid = uid;
+    this.uid = uid;
 };
 
 // class CalendarItem
 var CalendarItem = function(data) {
-  var _id = null;
-  var _calendarId = null;
-  var _lastModificationDate = null;
-  var _description = '';
-  var _summary = '';
-  var _isAllDay = false;
-  var _startDate = null;
-  var _duration = null;
-  var _location = '';
-  var _geolocation = null;
-  var _organizer = '';
-  var _visibility = CalendarItemVisibility.PUBLIC;
-  var _status = CalendarItemStatus.NONE;
-  var _priority = CalendarItemPriority.NONE;
-  var _alarms = [];
-  var _categories = [];
-  var _attendees = [];
-
-  function _validateAlarms(v) {
-    var valid = false;
-
-    if (type_.isArray(v)) {
-      for (var i = 0; i < v.length; i++) {
-        if (!(v[i] instanceof tizen.CalendarAlarm)) {
-          return false;
+    var _id = null;
+    var _calendarId = null;
+    var _lastModificationDate = null;
+    var _description = '';
+    var _summary = '';
+    var _isAllDay = false;
+    var _startDate = null;
+    var _duration = null;
+    var _location = '';
+    var _geolocation = null;
+    var _organizer = '';
+    var _visibility = CalendarItemVisibility.PUBLIC;
+    var _status = CalendarItemStatus.NONE;
+    var _priority = CalendarItemPriority.NONE;
+    var _alarms = [];
+    var _categories = [];
+    var _attendees = [];
+
+    function _validateAlarms(v) {
+        var valid = false;
+
+        if (type_.isArray(v)) {
+            for (var i = 0; i < v.length; i++) {
+                if (!(v[i] instanceof tizen.CalendarAlarm)) {
+                    return false;
+                }
+            }
+            valid = true;
         }
-      }
-      valid = true;
+        return valid;
     }
-    return valid;
-  }
 
-  function _validateAttendees(v) {
-    var valid = false;
+    function _validateAttendees(v) {
+        var valid = false;
 
-    if (type_.isArray(v)) {
-      for (var i = 0; i < v.length; i++) {
-        if (!(v[i] instanceof tizen.CalendarAttendee)) {
-          return false;
+        if (type_.isArray(v)) {
+            for (var i = 0; i < v.length; i++) {
+                if (!(v[i] instanceof tizen.CalendarAttendee)) {
+                    return false;
+                }
+            }
+            valid = true;
         }
-      }
-      valid = true;
+        return valid;
     }
-    return valid;
-  }
 
-  function _validateCategories(v) {
-    var valid = false;
+    function _validateCategories(v) {
+        var valid = false;
 
-    if (type_.isArray(v)) {
-      for (var i = 0; i < v.length; i++) {
-        if (!(type_.isString(v[i]))) {
-          return false;
+        if (type_.isArray(v)) {
+            for (var i = 0; i < v.length; i++) {
+                if (!type_.isString(v[i])) {
+                    return false;
+                }
+            }
+            valid = true;
         }
-      }
-      valid = true;
+        return valid;
     }
-    return valid;
-  }
-
-  Object.defineProperties(this, {
-    id: {
-      get: function() {
-        return _id;
-      },
-      set: function(v) {
-        if (_edit.canEdit) {
-          if (v instanceof _global.Object) {
-            _id = new CalendarEventId(v.uid, v.rid);
-          } else {
-            _id = converter_.toString(v, true);
-          }
-        }
-      },
-      enumerable: true
-    },
-    calendarId: {
-      get: function() {
-        return _calendarId;
-      },
-      set: function(v) {
-        if (_edit.canEdit) {
-          _calendarId = v;
-        }
-      },
-      enumerable: true
-    },
-    lastModificationDate: {
-      get: function() {
-        return _lastModificationDate;
-      },
-      set: function(v) {
-        if (_edit.canEdit) {
-          _lastModificationDate = v instanceof tizen.TZDate ? v :
-              tizen.time.getCurrentDateTime();
-        }
-      },
-      enumerable: true
-    },
-    description: {
-      get: function() {
-        return _description;
-      },
-      set: function(v) {
-        _description = v ? converter_.toString(v, true) : _description;
-      },
-      enumerable: true
-    },
-    summary: {
-      get: function() {
-        return _summary;
-      },
-      set: function(v) {
-        _summary = v ? converter_.toString(v, true) : _summary;
-      },
-      enumerable: true
-    },
-    isAllDay: {
-      get: function() {
-        return _isAllDay;
-      },
-      set: function(v) {
-        _isAllDay = converter_.toBoolean(v);
-      },
-      enumerable: true
-    },
-    startDate: {
-      get: function() {
-        return _startDate;
-      },
-      set: function(v) {
-        _startDate = v instanceof tizen.TZDate ? v : _startDate;
-        this.duration = _duration;
-      },
-      enumerable: true
-    },
-    duration: {
-      get: function() {
-        return _duration;
-      },
-      set: function(v) {
-        // set duration as dueDate or endDate
-        var _startDate = this.startDate ?
-            this.startDate : tizen.time.getCurrentDateTime();
-        if (this instanceof tizen.CalendarEvent) {
-          this.endDate = v instanceof tizen.TimeDuration ?
-              _startDate.addDuration(v) : this.endDate;
-        } else {
-          this.dueDate = v instanceof tizen.TimeDuration ?
-              _startDate.addDuration(v) : this.dueDate;
-        }
-        _duration = v instanceof tizen.TimeDuration ? v : null;
-        //@todo Fix UTC, UTC expect duration value but according to documentation:
-        // ... the implementation may not save the duration itself,
-        // rather convert it to the corresponding endDate/dueDate attribute and save it.
-        // For example, if you set the startDate and the duration attributes and save the item,
-        // you may see that the duration is null while endDate/dueDate is non-null
-        // after retrieving it because the implementation has calculated the endDate/dueDate
-        // based on the duration and the startDate then saved it, not the duration.
-      },
-      enumerable: true
-    },
-    location: {
-      get: function() {
-        return _location;
-      },
-      set: function(v) {
-        _location = v ? converter_.toString(v) : _location;
-      },
-      enumerable: true
-    },
-    geolocation: {
-      get: function() {
-        return _geolocation;
-      },
-      set: function(v) {
-        _geolocation = v instanceof tizen.SimpleCoordinates ? v : _geolocation;
-      },
-      enumerable: true
-    },
-    organizer: {
-      get: function() {
-        return _organizer;
-      },
-      set: function(v) {
-        _organizer = v ? converter_.toString(v) : _organizer;
-      },
-      enumerable: true
-    },
-    visibility: {
-      get: function() {
-        return _visibility;
-      },
-      set: function(v) {
-        _visibility = v ? converter_.toEnum(v, Object.keys(CalendarItemVisibility), false) :
-                _visibility;
-      },
-      enumerable: true
-    },
-    status: {
-      get: function() {
-        return _status;
-      },
-      set: function(v) {
-        if (v === null) {
-          return;
-        }
-        if (this instanceof tizen.CalendarEvent) {
-          _status = v ? converter_.toEnum(v, Object.keys(CalendarItemStatus).slice(0, 4), false) :
-                        CalendarItemStatus.NONE;
-        } else {
-          _status = v ? converter_.toEnum(v, Object.keys(CalendarItemStatus).slice(2), false) :
-                        CalendarItemStatus.NONE;
+
+    Object.defineProperties(this, {
+        id: {
+            get: function() {
+                return _id;
+            },
+            set: function(v) {
+                if (_edit.canEdit) {
+                    if (v instanceof _global.Object) {
+                        _id = new CalendarEventId(v.uid, v.rid);
+                    } else {
+                        _id = converter_.toString(v, true);
+                    }
+                }
+            },
+            enumerable: true
+        },
+        calendarId: {
+            get: function() {
+                return _calendarId;
+            },
+            set: function(v) {
+                if (_edit.canEdit) {
+                    _calendarId = v;
+                }
+            },
+            enumerable: true
+        },
+        lastModificationDate: {
+            get: function() {
+                return _lastModificationDate;
+            },
+            set: function(v) {
+                if (_edit.canEdit) {
+                    _lastModificationDate =
+                        v instanceof tizen.TZDate ? v : tizen.time.getCurrentDateTime();
+                }
+            },
+            enumerable: true
+        },
+        description: {
+            get: function() {
+                return _description;
+            },
+            set: function(v) {
+                _description = v ? converter_.toString(v, true) : _description;
+            },
+            enumerable: true
+        },
+        summary: {
+            get: function() {
+                return _summary;
+            },
+            set: function(v) {
+                _summary = v ? converter_.toString(v, true) : _summary;
+            },
+            enumerable: true
+        },
+        isAllDay: {
+            get: function() {
+                return _isAllDay;
+            },
+            set: function(v) {
+                _isAllDay = converter_.toBoolean(v);
+            },
+            enumerable: true
+        },
+        startDate: {
+            get: function() {
+                return _startDate;
+            },
+            set: function(v) {
+                _startDate = v instanceof tizen.TZDate ? v : _startDate;
+                this.duration = _duration;
+            },
+            enumerable: true
+        },
+        duration: {
+            get: function() {
+                return _duration;
+            },
+            set: function(v) {
+                // set duration as dueDate or endDate
+                var _startDate = this.startDate
+                    ? this.startDate
+                    : tizen.time.getCurrentDateTime();
+                if (this instanceof tizen.CalendarEvent) {
+                    this.endDate =
+                        v instanceof tizen.TimeDuration
+                            ? _startDate.addDuration(v)
+                            : this.endDate;
+                } else {
+                    this.dueDate =
+                        v instanceof tizen.TimeDuration
+                            ? _startDate.addDuration(v)
+                            : this.dueDate;
+                }
+                _duration = v instanceof tizen.TimeDuration ? v : null;
+                /*
+                @todo Fix UTC, UTC expect duration value but according to documentation:
+                ... the implementation may not save the duration itself,
+                rather convert it to the corresponding endDate/dueDate attribute and
+                save it. For example, if you set the startDate and the duration attributes
+                and save the item, you may see that the duration is null while
+                endDate/dueDate is non-null after retrieving it because the implementation
+                has calculated the endDate/dueDate based on the duration and the startDate
+                then saved it, not the duration.
+                */
+            },
+            enumerable: true
+        },
+        location: {
+            get: function() {
+                return _location;
+            },
+            set: function(v) {
+                _location = v ? converter_.toString(v) : _location;
+            },
+            enumerable: true
+        },
+        geolocation: {
+            get: function() {
+                return _geolocation;
+            },
+            set: function(v) {
+                _geolocation = v instanceof tizen.SimpleCoordinates ? v : _geolocation;
+            },
+            enumerable: true
+        },
+        organizer: {
+            get: function() {
+                return _organizer;
+            },
+            set: function(v) {
+                _organizer = v ? converter_.toString(v) : _organizer;
+            },
+            enumerable: true
+        },
+        visibility: {
+            get: function() {
+                return _visibility;
+            },
+            set: function(v) {
+                _visibility = v
+                    ? converter_.toEnum(v, Object.keys(CalendarItemVisibility), false)
+                    : _visibility;
+            },
+            enumerable: true
+        },
+        status: {
+            get: function() {
+                return _status;
+            },
+            set: function(v) {
+                if (v === null) {
+                    return;
+                }
+                if (this instanceof tizen.CalendarEvent) {
+                    _status = v
+                        ? converter_.toEnum(
+                            v,
+                            Object.keys(CalendarItemStatus).slice(0, 4),
+                            false
+                        )
+                        : CalendarItemStatus.NONE;
+                } else {
+                    _status = v
+                        ? converter_.toEnum(
+                            v,
+                            Object.keys(CalendarItemStatus).slice(2),
+                            false
+                        )
+                        : CalendarItemStatus.NONE;
+                }
+            },
+            enumerable: true
+        },
+        priority: {
+            get: function() {
+                return _priority;
+            },
+            set: function(v) {
+                if (v === null) {
+                    return;
+                }
+                _priority = v
+                    ? converter_.toEnum(v, Object.keys(CalendarItemPriority), false)
+                    : _status;
+            },
+            enumerable: true
+        },
+        alarms: {
+            get: function() {
+                return _alarms;
+            },
+            set: function(v) {
+                _alarms = _validateAlarms(v) ? v : _alarms;
+            },
+            enumerable: true
+        },
+        categories: {
+            get: function() {
+                return _categories;
+            },
+            set: function(v) {
+                _categories = _validateCategories(v) ? v : _categories;
+            },
+            enumerable: true
+        },
+        attendees: {
+            get: function() {
+                return _attendees;
+            },
+            set: function(v) {
+                _attendees = _validateAttendees(v) ? v : _attendees;
+            },
+            enumerable: true
         }
-      },
-      enumerable: true
-    },
-    priority: {
-      get: function() {
-        return _priority;
-      },
-      set: function(v) {
-        if (v === null) {
-          return;
+    });
+
+    if (data instanceof _global.Object) {
+        for (var prop in data) {
+            if (this.hasOwnProperty(prop)) {
+                this[prop] = data[prop];
+            }
         }
-        _priority = v ? converter_.toEnum(v, Object.keys(CalendarItemPriority), false) :
-                    _status;
-      },
-      enumerable: true
-    },
-    alarms: {
-      get: function() {
-        return _alarms;
-      },
-      set: function(v) {
-        _alarms = _validateAlarms(v) ? v : _alarms;
-      },
-      enumerable: true
-    },
-    categories: {
-      get: function() {
-        return _categories;
-      },
-      set: function(v) {
-        _categories = _validateCategories(v) ? v : _categories;
-      },
-      enumerable: true
-    },
-    attendees: {
-      get: function() {
-        return _attendees;
-      },
-      set: function(v) {
-        _attendees = _validateAttendees(v) ? v : _attendees;
-      },
-      enumerable: true
     }
-  });
+};
 
-  if (data instanceof _global.Object) {
-    for (var prop in data) {
-      if (this.hasOwnProperty(prop)) {
-        this[prop] = data[prop];
-      }
+var CalendarItem_convertToString = function() {
+    utils_.checkPrivilegeAccess(privilege_.CALENDAR_READ);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'format',
+            type: types_.ENUM,
+            values: Object.keys(CalendarTextFormat)
+        }
+    ]);
+
+    var _checkNumber = function(n) {
+        return n < 10 ? '0' + n : n;
+    };
+
+    var _timeFormat = function(d) {
+        return (
+            ';TZID=' +
+            d.getTimezone() +
+            ':' +
+            d.getFullYear() +
+            _checkNumber(d.getMonth()) +
+            _checkNumber(d.getDate()) +
+            'T' +
+            _checkNumber(d.getHours()) +
+            _checkNumber(d.getMinutes()) +
+            _checkNumber(d.getSeconds() + 'Z')
+        );
+    };
+
+    var _this = this;
+    var _dtStart = '';
+
+    if (_this.startDate) {
+        _dtStart = _timeFormat(_this.startDate);
+    } else {
+        _dtStart = _timeFormat(tizen.time.getCurrentDateTime());
     }
-  }
 
-};
+    var _dtEnd = _dtStart;
 
-var CalendarItem_convertToString = function() {
-  utils_.checkPrivilegeAccess(privilege_.CALENDAR_READ);
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'format',
-      type: types_.ENUM,
-      values: Object.keys(CalendarTextFormat)
+    if (_this.endDate) {
+        _dtEnd = _timeFormat(_this.endDate);
+    } else if (_this.dueDate) {
+        _dtEnd = _timeFormat(_this.dueDate);
     }
-  ]);
-
-  var _checkNumber = function(n) {
-    return n < 10 ? '0' + n : n;
-  };
-
-  var _timeFormat = function(d) {
-    return ';TZID=' + d.getTimezone() +
-        ':' + d.getFullYear() + _checkNumber(d.getMonth()) + _checkNumber(d.getDate()) +
-            'T' + _checkNumber(d.getHours()) + _checkNumber(d.getMinutes()) +
-            _checkNumber(d.getSeconds() + 'Z');
-  };
-
-  var _this = this;
-  var _dtStart = '';
-
-  if (_this.startDate) {
-    _dtStart = _timeFormat(_this.startDate);
-  } else {
-    _dtStart = _timeFormat(tizen.time.getCurrentDateTime());
-  }
-
-  var _dtEnd = _dtStart;
-
-  if (_this.endDate) {
-    _dtEnd = _timeFormat(_this.endDate);
-  } else if (_this.dueDate) {
-    _dtEnd = _timeFormat(_this.dueDate);
-  }
-
-  var _description = _this.description.length ? ':' + _this.description : '';
-  var _location = _this.location.length ? ':' + _this.location : '';
-  var _organizer = _this.organizer.length ? ';CN=' + _this.organizer : '';
-  var _priority = _this.priority.length ? ':' + _this.priority : '';
-  var _summary = _this.summary.length ? ':' + _this.summary : '';
-  var _categories = _this.categories.length ? ':' + _this.categories.join(', ') : '';
-  var _visibility = _this.visibility;
-  var _status = _this.status;
-  var _version = args.format === CalendarTextFormat.ICALENDAR_20 ? ':2.0' : ':1.0';
-
-  var vEven = [
-    'BEGIN:VCALENDAR',
-    'VERSION' + _version,
-    'BEGIN:VEVENT',
-    'CLASS:' + _visibility,
-    'TRANSP:OPAQUE',
-    'DTSTART' + _dtStart,
-    'DESCRIPTION' + _description,
-    'LOCATION' + _location,
-    'ORGANIZER' + _organizer,
-    'PRIORITY' + _priority,
-    'SUMMARY' + _summary,
-    'DTEND' + _dtEnd,
-    'CATEGORIES' + _categories,
-    'END:VEVENT',
-    'END:VCALENDAR'
-  ].join('\n');
-
-  var vTodo = [
-    'BEGIN:VCALENDAR',
-    'VERSION' + _version,
-    'BEGIN:VTODO',
-    'SUMMARY' + _summary,
-    'DUE' + _dtEnd,
-    'STATUS' + _status,
-    'END:VTODO',
-    'END:VCALENDAR'
-  ].join('\n');
-
-  if (this instanceof tizen.CalendarTask) {
-    return vTodo;
-  } else {
-    return vEven;
-  }
 
+    var _description = _this.description.length ? ':' + _this.description : '';
+    var _location = _this.location.length ? ':' + _this.location : '';
+    var _organizer = _this.organizer.length ? ';CN=' + _this.organizer : '';
+    var _priority = _this.priority.length ? ':' + _this.priority : '';
+    var _summary = _this.summary.length ? ':' + _this.summary : '';
+    var _categories = _this.categories.length ? ':' + _this.categories.join(', ') : '';
+    var _visibility = _this.visibility;
+    var _status = _this.status;
+    var _version = args.format === CalendarTextFormat.ICALENDAR_20 ? ':2.0' : ':1.0';
+
+    var vEven = [
+        'BEGIN:VCALENDAR',
+        'VERSION' + _version,
+        'BEGIN:VEVENT',
+        'CLASS:' + _visibility,
+        'TRANSP:OPAQUE',
+        'DTSTART' + _dtStart,
+        'DESCRIPTION' + _description,
+        'LOCATION' + _location,
+        'ORGANIZER' + _organizer,
+        'PRIORITY' + _priority,
+        'SUMMARY' + _summary,
+        'DTEND' + _dtEnd,
+        'CATEGORIES' + _categories,
+        'END:VEVENT',
+        'END:VCALENDAR'
+    ].join('\n');
+
+    var vTodo = [
+        'BEGIN:VCALENDAR',
+        'VERSION' + _version,
+        'BEGIN:VTODO',
+        'SUMMARY' + _summary,
+        'DUE' + _dtEnd,
+        'STATUS' + _status,
+        'END:VTODO',
+        'END:VCALENDAR'
+    ].join('\n');
+
+    if (this instanceof tizen.CalendarTask) {
+        return vTodo;
+    } else {
+        return vEven;
+    }
 };
 
 CalendarItem.prototype.convertToString = function() {
-  return CalendarItem_convertToString.apply(this, arguments);
-}
+    return CalendarItem_convertToString.apply(this, arguments);
+};
 
 var CalendarItem_clone = function() {
-  utils_.checkPrivilegeAccess(privilege_.CALENDAR_READ);
-  var tmp = _itemConverter.toTizenObject(_itemConverter.fromTizenObject(this));
+    utils_.checkPrivilegeAccess(privilege_.CALENDAR_READ);
+    var tmp = _itemConverter.toTizenObject(_itemConverter.fromTizenObject(this));
 
-  tmp.id = null;
+    tmp.id = null;
 
-  return this instanceof tizen.CalendarEvent ? new tizen.CalendarEvent(tmp) :
-      new tizen.CalendarTask(tmp);
+    return this instanceof tizen.CalendarEvent
+        ? new tizen.CalendarEvent(tmp)
+        : new tizen.CalendarTask(tmp);
 };
 
 CalendarItem.prototype.clone = function() {
-  return CalendarItem_clone.apply(this, arguments);
+    return CalendarItem_clone.apply(this, arguments);
 };
 
 function _convertFromStringToItem(str) {
-  if (str.indexOf('VCALENDAR') === -1) {
-    return;
-  }
-
-  var _startDate = null;
-  var _description = '';
-  var _location = null;
-  var _organizer = null;
-  var _priority = null;
-  var _summary = null;
-  var _categories = [];
-  var _visibility = null;
-  var _status = null;
-  var _endDate = null;
-  var _dueDate = null;
-  var sep;
-
-  if (str.indexOf('\r\n') > -1) {
-    sep = '\r\n';
-  } else if (str.indexOf('\n') > -1) {
-    sep = '\n';
-  } else {
-    return;
-  }
-
-  function _convertTime(v) {
-    var y = parseInt(v.substring(0, 4) , 10);
-    var m = parseInt(v.substring(4, 6) , 10);
-    var d = parseInt(v.substring(6, 8) , 10);
-    var h = parseInt(v.substring(9, 11) , 10);
-    var n = parseInt(v.substring(11, 13) , 10);
-    var s = parseInt(v.substring(13, 15) , 10);
-
-    return new tizen.TZDate(y, m, d, h, n, s);
-  }
-
-  var arr = str.split(sep);
-
-  for (var i = 0; i < arr.length; i++) {
-    if (arr[i].indexOf('SUMMARY') > -1) {
-      _summary = arr[i].split(':')[1];
-    } else if (arr[i].indexOf('CATEGORIES') > -1) {
-      var c = arr[i].split(':')[1];
-      _categories = c.split(',');
-    } else if (arr[i].indexOf('ORGANIZER') > -1) {
-      _organizer = arr[i].split('=')[1];
-    } else if (arr[i].indexOf('DESCRIPTION') > -1) {
-      _description = arr[i].split(':')[1];
-    } else if (arr[i].indexOf('CLASS') > -1) {
-      _visibility = arr[i].split(':')[1];
-    } else if (arr[i].indexOf('LOCATION') > -1) {
-      _location = arr[i].split(':')[1];
-    } else if (arr[i].indexOf('PRIORITY') > -1) {
-      _priority = arr[i].split(':')[1];
-    } else if (arr[i].indexOf('STATUS') > -1) {
-      _status = arr[i].split(':')[1];
-    } else if (arr[i].indexOf('DTSTART') > -1) {
-      _startDate = _convertTime(arr[i].split(':')[1]);
-    } else if (arr[i].indexOf('DTEND') > -1) {
-      _endDate = _convertTime(arr[i].split(':')[1]);
-    } else if (arr[i].indexOf('DUE') > -1) {
-      _dueDate = _convertTime(arr[i].split(':')[1]);
+    if (str.indexOf('VCALENDAR') === -1) {
+        return;
+    }
+
+    var _startDate = null;
+    var _description = '';
+    var _location = null;
+    var _organizer = null;
+    var _priority = null;
+    var _summary = null;
+    var _categories = [];
+    var _visibility = null;
+    var _status = null;
+    var _endDate = null;
+    var _dueDate = null;
+    var sep;
+
+    if (str.indexOf('\r\n') > -1) {
+        sep = '\r\n';
+    } else if (str.indexOf('\n') > -1) {
+        sep = '\n';
+    } else {
+        return;
+    }
+
+    function _convertTime(v) {
+        var y = parseInt(v.substring(0, 4), 10);
+        var m = parseInt(v.substring(4, 6), 10);
+        var d = parseInt(v.substring(6, 8), 10);
+        var h = parseInt(v.substring(9, 11), 10);
+        var n = parseInt(v.substring(11, 13), 10);
+        var s = parseInt(v.substring(13, 15), 10);
+
+        return new tizen.TZDate(y, m, d, h, n, s);
     }
-  }
-
-  return {
-    visibility: _visibility,
-    startDate: _startDate,
-    description: _description,
-    location: _location,
-    organizer: _organizer,
-    priority: _priority,
-    summary: _summary,
-    status: _status,
-    categories: _categories,
-    endDate: _endDate,
-    dueDate: _dueDate
-  };
 
+    var arr = str.split(sep);
+
+    for (var i = 0; i < arr.length; i++) {
+        if (arr[i].indexOf('SUMMARY') > -1) {
+            _summary = arr[i].split(':')[1];
+        } else if (arr[i].indexOf('CATEGORIES') > -1) {
+            var c = arr[i].split(':')[1];
+            _categories = c.split(',');
+        } else if (arr[i].indexOf('ORGANIZER') > -1) {
+            _organizer = arr[i].split('=')[1];
+        } else if (arr[i].indexOf('DESCRIPTION') > -1) {
+            _description = arr[i].split(':')[1];
+        } else if (arr[i].indexOf('CLASS') > -1) {
+            _visibility = arr[i].split(':')[1];
+        } else if (arr[i].indexOf('LOCATION') > -1) {
+            _location = arr[i].split(':')[1];
+        } else if (arr[i].indexOf('PRIORITY') > -1) {
+            _priority = arr[i].split(':')[1];
+        } else if (arr[i].indexOf('STATUS') > -1) {
+            _status = arr[i].split(':')[1];
+        } else if (arr[i].indexOf('DTSTART') > -1) {
+            _startDate = _convertTime(arr[i].split(':')[1]);
+        } else if (arr[i].indexOf('DTEND') > -1) {
+            _endDate = _convertTime(arr[i].split(':')[1]);
+        } else if (arr[i].indexOf('DUE') > -1) {
+            _dueDate = _convertTime(arr[i].split(':')[1]);
+        }
+    }
+
+    return {
+        visibility: _visibility,
+        startDate: _startDate,
+        description: _description,
+        location: _location,
+        organizer: _organizer,
+        priority: _priority,
+        summary: _summary,
+        status: _status,
+        categories: _categories,
+        endDate: _endDate,
+        dueDate: _dueDate
+    };
 }
 
 var CalendarTaskInit = function(data) {
-  CalendarItem.call(this, {
-    status: CalendarItemStatus.NONE
-  });
-
-  var _dueDate = null;
-  var _completedDate = null;
-  var _progress = 0;
-
-  Object.defineProperties(this, {
-    dueDate: {
-      get: function() {
-        return _dueDate;
-      },
-      set: function(v) {
-        if (!v instanceof tizen.TZDate && this.startDate) {
-          v = this.startDate;
+    CalendarItem.call(this, {
+        status: CalendarItemStatus.NONE
+    });
+
+    var _dueDate = null;
+    var _completedDate = null;
+    var _progress = 0;
+
+    Object.defineProperties(this, {
+        dueDate: {
+            get: function() {
+                return _dueDate;
+            },
+            set: function(v) {
+                if (!v instanceof tizen.TZDate && this.startDate) {
+                    v = this.startDate;
+                }
+
+                _dueDate = v instanceof tizen.TZDate ? v : _dueDate;
+            },
+            enumerable: true
+        },
+        completedDate: {
+            get: function() {
+                return _completedDate;
+            },
+            set: function(v) {
+                _completedDate = v instanceof tizen.TZDate ? v : _completedDate;
+            },
+            enumerable: true
+        },
+        progress: {
+            get: function() {
+                return _progress;
+            },
+            set: function(v) {
+                if (v === null) {
+                    return;
+                }
+                _progress = type_.isNumber(v) && (v >= 0 || v <= 100) ? v : _progress;
+            },
+            enumerable: true
         }
+    });
 
-        _dueDate = v instanceof tizen.TZDate ? v : _dueDate;
-      },
-      enumerable: true
-    },
-    completedDate: {
-      get: function() {
-        return _completedDate;
-      },
-      set: function(v) {
-        _completedDate = v instanceof tizen.TZDate ? v : _completedDate;
-      },
-      enumerable: true
-    },
-    progress: {
-      get: function() {
-        return _progress;
-      },
-      set: function(v) {
-        if (v === null) {
-          return;
+    if (data instanceof _global.Object) {
+        for (var prop in data) {
+            if (this.hasOwnProperty(prop)) {
+                this[prop] = data[prop];
+            }
         }
-        _progress = (type_.isNumber(v) && (v >= 0 || v <= 100)) ? v : _progress;
-      },
-      enumerable: true
     }
-  });
-
-  if (data instanceof _global.Object) {
-    for (var prop in data) {
-      if (this.hasOwnProperty(prop)) {
-        this[prop] = data[prop];
-      }
-    }
-  }
 };
 
 var CalendarTask = function(taskInitDict, format) {
-  validator_.isConstructorCall(this, CalendarTask);
+    validator_.isConstructorCall(this, CalendarTask);
 
-  if (type_.isString(taskInitDict) && Object.keys(CalendarTextFormat).indexOf(format) > -1) {
-    CalendarTaskInit.call(this, _convertFromStringToItem(taskInitDict));
-  } else {
-    CalendarTaskInit.call(this, taskInitDict);
-  }
+    if (
+        type_.isString(taskInitDict) &&
+        Object.keys(CalendarTextFormat).indexOf(format) > -1
+    ) {
+        CalendarTaskInit.call(this, _convertFromStringToItem(taskInitDict));
+    } else {
+        CalendarTaskInit.call(this, taskInitDict);
+    }
 };
 
 CalendarTask.prototype = new CalendarItem();
 CalendarTask.prototype.constructor = CalendarTask;
 
-
 var CalendarEventInit = function(data) {
-  CalendarItem.call(this, {
-    status: CalendarItemStatus.NONE
-  });
-
-  var _isDetached = false;
-  var _endDate = null;
-  var _availability = EventAvailability.BUSY;
-  var _recurrenceRule = null;
-
-  var _validateReccurence = function(v) {
-    if (_isDetached && v !== null) {
-      throw new WebAPIException(WebAPIException.NOT_SUPPORTED_ERR,
-        'Recurrence can\'t be set because event is detached');
-    }
+    CalendarItem.call(this, {
+        status: CalendarItemStatus.NONE
+    });
+
+    var _isDetached = false;
+    var _endDate = null;
+    var _availability = EventAvailability.BUSY;
+    var _recurrenceRule = null;
+
+    var _validateReccurence = function(v) {
+        if (_isDetached && v !== null) {
+            throw new WebAPIException(
+                WebAPIException.NOT_SUPPORTED_ERR,
+                'Recurrence can\'t be set because event is detached'
+            );
+        }
 
-    if (v === null || v instanceof tizen.CalendarRecurrenceRule) {
-      return v;
-    } else {
-      return _recurrenceRule;
-    }
-  };
-
-  Object.defineProperties(this, {
-    isDetached: {
-      get: function() {
-        return _isDetached;
-      },
-      set: function(v) {
-        if (_edit.canEdit) {
-          _isDetached = v;
+        if (v === null || v instanceof tizen.CalendarRecurrenceRule) {
+            return v;
+        } else {
+            return _recurrenceRule;
         }
-      },
-      enumerable: true
-    },
-    endDate: {
-      get: function() {
-        return _endDate;
-      },
-      set: function(v) {
-        if (!v instanceof tizen.TZDate && this.startDate) {
-          v = this.startDate;
+    };
+
+    Object.defineProperties(this, {
+        isDetached: {
+            get: function() {
+                return _isDetached;
+            },
+            set: function(v) {
+                if (_edit.canEdit) {
+                    _isDetached = v;
+                }
+            },
+            enumerable: true
+        },
+        endDate: {
+            get: function() {
+                return _endDate;
+            },
+            set: function(v) {
+                if (!v instanceof tizen.TZDate && this.startDate) {
+                    v = this.startDate;
+                }
+
+                _endDate = v instanceof tizen.TZDate ? v : _endDate;
+            },
+            enumerable: true
+        },
+        availability: {
+            get: function() {
+                return _availability;
+            },
+            set: function(v) {
+                _availability =
+                    Object.keys(EventAvailability).indexOf(v) > -1 ? v : _availability;
+            },
+            enumerable: true
+        },
+        recurrenceRule: {
+            get: function() {
+                return _recurrenceRule;
+            },
+            set: function(v) {
+                _recurrenceRule = _validateReccurence(v);
+            },
+            enumerable: true
         }
+    });
 
-        _endDate = v instanceof tizen.TZDate ? v : _endDate;
-      },
-      enumerable: true
-    },
-    availability: {
-      get: function() {
-        return _availability;
-      },
-      set: function(v) {
-        _availability = Object.keys(EventAvailability).indexOf(v) > -1 ? v :
-                _availability;
-      },
-      enumerable: true
-    },
-    recurrenceRule: {
-      get: function() {
-        return _recurrenceRule;
-      },
-      set: function(v) {
-        _recurrenceRule = _validateReccurence(v);
-      },
-      enumerable: true
-    }
-  });
-
-  if (data instanceof _global.Object) {
-    for (var prop in data) {
-      if (this.hasOwnProperty(prop)) {
-        this[prop] = data[prop];
-      }
+    if (data instanceof _global.Object) {
+        for (var prop in data) {
+            if (this.hasOwnProperty(prop)) {
+                this[prop] = data[prop];
+            }
+        }
     }
-  }
 };
 
 var CalendarEvent = function(eventInitDict, format) {
-  validator_.isConstructorCall(this, CalendarEvent);
+    validator_.isConstructorCall(this, CalendarEvent);
 
-  if (type_.isString(eventInitDict) && Object.keys(CalendarTextFormat).indexOf(format) > -1) {
-    CalendarEventInit.call(this, _convertFromStringToItem(eventInitDict));
-  } else {
-    CalendarEventInit.call(this, eventInitDict);
-  }
+    if (
+        type_.isString(eventInitDict) &&
+        Object.keys(CalendarTextFormat).indexOf(format) > -1
+    ) {
+        CalendarEventInit.call(this, _convertFromStringToItem(eventInitDict));
+    } else {
+        CalendarEventInit.call(this, eventInitDict);
+    }
 };
 
 CalendarEvent.prototype = new CalendarItem();
 CalendarEvent.prototype.constructor = CalendarEvent;
 
-var CalendarEvent_expandRecurrence = function(startDate, endDate, successCallback, errorCallback) {
-  utils_.checkPrivilegeAccess(privilege_.CALENDAR_READ);
-  if (arguments.length < 3) {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
-  }
-  if (!(startDate instanceof tizen.TZDate)) {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
-  }
-  if (!(endDate instanceof tizen.TZDate)) {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
-  }
-  if (typeof successCallback !== 'function') {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
-  }
-  if (errorCallback) {
-    if (typeof errorCallback !== 'function') {
-      throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
+var CalendarEvent_expandRecurrence = function(
+    startDate,
+    endDate,
+    successCallback,
+    errorCallback
+) {
+    utils_.checkPrivilegeAccess(privilege_.CALENDAR_READ);
+    if (arguments.length < 3) {
+        throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
     }
-  }
-  if (!(this.recurrenceRule instanceof tizen.CalendarRecurrenceRule)) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-      'The event is not recurring.');
-  }
-
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'startDate',
-      type: types_.PLATFORM_OBJECT,
-      values: tizen.TZDate
-    },
-    {
-      name: 'endDate',
-      type: types_.PLATFORM_OBJECT,
-      values: tizen.TZDate
-    },
-    {
-      name: 'successCallback',
-      type: types_.FUNCTION,
-      nullable: true
-    },
-    {
-      name: 'errorCallback',
-      type: types_.FUNCTION,
-      optional: true,
-      nullable: true
+    if (!(startDate instanceof tizen.TZDate)) {
+        throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
     }
-  ]);
-
-  // invoke callbacks in "next tick"
-  setTimeout(function() {
-    var result = _recurrenceManager.get(this, startDate, endDate);
-
-    if (result instanceof Array) {
-      args.successCallback(result);
-    } else if (args.errorCallback) {
-      args.errorCallback(result);
+    if (!(endDate instanceof tizen.TZDate)) {
+        throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
     }
-  }.bind(this), 1);
+    if (typeof successCallback !== 'function') {
+        throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
+    }
+    if (errorCallback) {
+        if (typeof errorCallback !== 'function') {
+            throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
+        }
+    }
+    if (!(this.recurrenceRule instanceof tizen.CalendarRecurrenceRule)) {
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'The event is not recurring.'
+        );
+    }
+
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'startDate',
+            type: types_.PLATFORM_OBJECT,
+            values: tizen.TZDate
+        },
+        {
+            name: 'endDate',
+            type: types_.PLATFORM_OBJECT,
+            values: tizen.TZDate
+        },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    // invoke callbacks in "next tick"
+    setTimeout(
+        function() {
+            var result = _recurrenceManager.get(this, startDate, endDate);
+
+            if (result instanceof Array) {
+                args.successCallback(result);
+            } else if (args.errorCallback) {
+                args.errorCallback(result);
+            }
+        }.bind(this),
+        1
+    );
 };
 
 CalendarEvent.prototype.expandRecurrence = function() {
-  CalendarEvent_expandRecurrence.apply(this, arguments);
+    CalendarEvent_expandRecurrence.apply(this, arguments);
 };
 
 tizen.CalendarEventId = CalendarEventId;
index 9f5bcca238a8620383396699d7279583d7dc97ea..960a0323149110d62becf45b556a275d0f1b131a 100755 (executable)
@@ -19,167 +19,175 @@ var CalendarManager = function() {};
 
 // IDs defined in C-API calendar_types2.h
 var DefaultCalendarId = {
-  EVENT: 1, // DEFAULT_EVENT_CALENDAR_BOOK_ID
-  TASK: 2 // DEFAULT_TODO_CALENDAR_BOOK_ID
+    EVENT: 1, // DEFAULT_EVENT_CALENDAR_BOOK_ID
+    TASK: 2 // DEFAULT_TODO_CALENDAR_BOOK_ID
 };
 
 CalendarManager.prototype.getCalendars = function() {
-  var args = validator_.validateArgs(arguments, [{
-    name: 'type',
-    type: types_.ENUM,
-    values: Object.keys(CalendarType)
-  },
-  {
-    name: 'successCallback',
-    type: types_.FUNCTION
-  },
-  {
-    name: 'errorCallback',
-    type: types_.FUNCTION,
-    optional: true,
-    nullable: true
-  }]);
-
-  var callArgs = {
-    type: args.type
-  };
-
-  var callback = function(result) {
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'type',
+            type: types_.ENUM,
+            values: Object.keys(CalendarType)
+        },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var callArgs = {
+        type: args.type
+    };
+
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+        } else {
+            var calendars = native_.getResultObject(result);
+            var c = [];
+            calendars.forEach(function(i) {
+                c.push(new Calendar(new InternalCalendar(i)));
+            });
+            args.successCallback(c);
+        }
+    };
+
+    var result = native_.call('CalendarManager_getCalendars', callArgs, callback);
     if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-    } else {
-      var calendars = native_.getResultObject(result);
-      var c = [];
-      calendars.forEach(function(i) {
-        c.push(new Calendar(new InternalCalendar(i)));
-      });
-      args.successCallback(c);
+        throw native_.getErrorObject(result);
     }
-  };
-
-  var result = native_.call('CalendarManager_getCalendars', callArgs, callback);
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
 };
 
 var CalendarManager_getUnifiedCalendar = function() {
-  utils_.checkPrivilegeAccess(privilege_.CALENDAR_READ);
-  var args = validator_.validateArgs(arguments, [{
-    name: 'type',
-    type: types_.ENUM,
-    values: Object.keys(CalendarType)
-  }]);
-
-  return new Calendar(new InternalCalendar({
-    type: args.type,
-    isUnified: true
-  }));
+    utils_.checkPrivilegeAccess(privilege_.CALENDAR_READ);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'type',
+            type: types_.ENUM,
+            values: Object.keys(CalendarType)
+        }
+    ]);
+
+    return new Calendar(
+        new InternalCalendar({
+            type: args.type,
+            isUnified: true
+        })
+    );
 };
 
 CalendarManager.prototype.getUnifiedCalendar = function() {
-  return CalendarManager_getUnifiedCalendar.apply(this, arguments);
+    return CalendarManager_getUnifiedCalendar.apply(this, arguments);
 };
 
 var CalendarManager_getDefaultCalendar = function() {
-  utils_.checkPrivilegeAccess(privilege_.CALENDAR_READ);
-  var args = validator_.validateArgs(arguments, [{
-    name: 'type',
-    type: types_.ENUM,
-    values: Object.keys(CalendarType)
-  }
-  ]);
-
-  return this.getCalendar(args.type, DefaultCalendarId[args.type]);
+    utils_.checkPrivilegeAccess(privilege_.CALENDAR_READ);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'type',
+            type: types_.ENUM,
+            values: Object.keys(CalendarType)
+        }
+    ]);
+
+    return this.getCalendar(args.type, DefaultCalendarId[args.type]);
 };
 
 CalendarManager.prototype.getDefaultCalendar = function() {
-  return CalendarManager_getDefaultCalendar.apply(this, arguments);
+    return CalendarManager_getDefaultCalendar.apply(this, arguments);
 };
 
 var CalendarManagerGetCalendar = function() {
-  var args = validator_.validateArgs(arguments, [{
-    name: 'type',
-    type: types_.ENUM,
-    values: Object.keys(CalendarType)
-  },
-  {
-    name: 'id',
-    type: types_.STRING
-  }
-  ]);
-
-  if (isNaN(Number(args.id))) {
-      throw new WebAPIException(WebAPIException.NOT_FOUND_ERR,
-          'Calendar not found');
-  }
-
-  var callArgs = {
-    type: args.type,
-    id: args.id
-  };
-
-  var result = native_.callSync('CalendarManager_getCalendar', callArgs);
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-
-  return new Calendar(new InternalCalendar(native_.getResultObject(result)));
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'type',
+            type: types_.ENUM,
+            values: Object.keys(CalendarType)
+        },
+        {
+            name: 'id',
+            type: types_.STRING
+        }
+    ]);
+
+    if (isNaN(Number(args.id))) {
+        throw new WebAPIException(WebAPIException.NOT_FOUND_ERR, 'Calendar not found');
+    }
+
+    var callArgs = {
+        type: args.type,
+        id: args.id
+    };
+
+    var result = native_.callSync('CalendarManager_getCalendar', callArgs);
+
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+
+    return new Calendar(new InternalCalendar(native_.getResultObject(result)));
 };
 
 CalendarManager.prototype.getCalendar = function() {
-  return CalendarManagerGetCalendar.apply(this, arguments);
+    return CalendarManagerGetCalendar.apply(this, arguments);
 };
 
 CalendarManager.prototype.addCalendar = function() {
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'calendar',
+            type: types_.PLATFORM_OBJECT,
+            values: Calendar
+        }
+    ]);
+
+    var callArgs = {
+        name: args.calendar.name,
+        accountId: args.calendar.accountId,
+        type: args.calendar.type
+    };
+
+    var result = native_.callSync('CalendarManager_addCalendar', callArgs);
 
-  var args = validator_.validateArgs(arguments, [{
-    name: 'calendar',
-    type: types_.PLATFORM_OBJECT,
-    values: Calendar
-  }]);
-
-  var callArgs = {
-    name: args.calendar.name,
-    accountId: args.calendar.accountId,
-    type: args.calendar.type
-  };
-
-  var result = native_.callSync('CalendarManager_addCalendar', callArgs);
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 
-  args.calendar.id = new InternalCalendar({
-    id: native_.getResultObject(result).id
-  });
+    args.calendar.id = new InternalCalendar({
+        id: native_.getResultObject(result).id
+    });
 };
 
 CalendarManager.prototype.removeCalendar = function() {
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'type',
+            type: types_.ENUM,
+            values: Object.keys(CalendarType)
+        },
+        {
+            name: 'id',
+            type: types_.STRING
+        }
+    ]);
+
+    var callArgs = {
+        type: args.type,
+        id: args.id
+    };
+
+    var result = native_.callSync('CalendarManager_removeCalendar', callArgs);
 
-  var args = validator_.validateArgs(arguments, [{
-    name: 'type',
-    type: types_.ENUM,
-    values: Object.keys(CalendarType)
-  },
-  {
-    name: 'id',
-    type: types_.STRING
-  }
-  ]);
-
-  var callArgs = {
-    type: args.type,
-    id: args.id
-  };
-
-  var result = native_.callSync('CalendarManager_removeCalendar', callArgs);
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
 exports = new CalendarManager();
index b13ebffcf63f7f5eb472ced9aecada504cadd25d..b6c38865e652f5cfd6af6e950f3503bd5634d0a7 100755 (executable)
 var _global = window || global || {};
 
 var RecurrenceRuleFrequency = {
-  DAILY: 'DAILY',
-  WEEKLY: 'WEEKLY',
-  MONTHLY: 'MONTHLY',
-  YEARLY: 'YEARLY'
+    DAILY: 'DAILY',
+    WEEKLY: 'WEEKLY',
+    MONTHLY: 'MONTHLY',
+    YEARLY: 'YEARLY'
 };
 
 var ByDayValue = {
-  MO: 'MO',
-  TU: 'TU',
-  WE: 'WE',
-  TH: 'TH',
-  FR: 'FR',
-  SA: 'SA',
-  SU: 'SU'
+    MO: 'MO',
+    TU: 'TU',
+    WE: 'WE',
+    TH: 'TH',
+    FR: 'FR',
+    SA: 'SA',
+    SU: 'SU'
 };
 
 var CalendarRecurrenceRuleInit = function(data) {
-  var _interval = 1;
-  var _untilDate = null;
-  var _daysOfTheWeek = [];
-  var _occurrenceCount = -1;
-  var _setPositions = [];
-  var _exceptions = [];
-
-  function _validateDaysOfTheWeek(v) {
-    if (type_.isArray(v)) {
-      var allowedValues = Object.keys(ByDayValue);
-      for (var i = 0; i < v.length; ++i) {
-        if (allowedValues.indexOf(v[i]) < 0) {
-          return false;
+    var _interval = 1;
+    var _untilDate = null;
+    var _daysOfTheWeek = [];
+    var _occurrenceCount = -1;
+    var _setPositions = [];
+    var _exceptions = [];
+
+    function _validateDaysOfTheWeek(v) {
+        if (type_.isArray(v)) {
+            var allowedValues = Object.keys(ByDayValue);
+            for (var i = 0; i < v.length; ++i) {
+                if (allowedValues.indexOf(v[i]) < 0) {
+                    return false;
+                }
+            }
+            return true;
         }
-      }
-      return true;
-    }
-
-    return false;
-  }
 
-  function _validateSetPositions(v) {
-    var valid = false;
+        return false;
+    }
 
-    if (type_.isArray(v)) {
-      for (var i = 0; i < v.length; i++) {
-        v[i] = parseInt(v[i]);
-        if (isNaN(v[i]) || (v[i] < -366 || v[i] > 366 || v[i] === 0)) {
-          return false;
+    function _validateSetPositions(v) {
+        var valid = false;
+
+        if (type_.isArray(v)) {
+            for (var i = 0; i < v.length; i++) {
+                v[i] = parseInt(v[i]);
+                if (isNaN(v[i]) || (v[i] < -366 || v[i] > 366 || v[i] === 0)) {
+                    return false;
+                }
+            }
+            valid = true;
         }
-      }
-      valid = true;
+        return valid;
     }
-    return valid;
-  }
 
-  function _validateExceptions(v) {
-    var valid = false;
+    function _validateExceptions(v) {
+        var valid = false;
 
-    if (type_.isArray(v)) {
-      for (var i = 0; i < v.length; i++) {
-        if (!(v[i] instanceof tizen.TZDate)) {
-          return false;
+        if (type_.isArray(v)) {
+            for (var i = 0; i < v.length; i++) {
+                if (!(v[i] instanceof tizen.TZDate)) {
+                    return false;
+                }
+            }
+            valid = true;
         }
-      }
-      valid = true;
+        return valid;
     }
-    return valid;
-  }
-
-  Object.defineProperties(this, {
-    interval: {
-      get: function() {
-        return _interval;
-      },
-      set: function(v) {
-        _interval = (type_.isNumber(v) && v > 0) ? v : _interval;
-      },
-      enumerable: true
-    },
-    untilDate: {
-      get: function() {
-        return _untilDate;
-      },
-      set: function(v) {
-        if (v instanceof tizen.TZDate) {
-          _untilDate = v;
-        }
-      },
-      enumerable: true
-    },
-    occurrenceCount: {
-      get: function() {
-        return _occurrenceCount;
-      },
-      set: function(v) {
-        if (type_.isNumber(v) && v >= -1) {
-          _occurrenceCount = v;
+
+    Object.defineProperties(this, {
+        interval: {
+            get: function() {
+                return _interval;
+            },
+            set: function(v) {
+                _interval = type_.isNumber(v) && v > 0 ? v : _interval;
+            },
+            enumerable: true
+        },
+        untilDate: {
+            get: function() {
+                return _untilDate;
+            },
+            set: function(v) {
+                if (v instanceof tizen.TZDate) {
+                    _untilDate = v;
+                }
+            },
+            enumerable: true
+        },
+        occurrenceCount: {
+            get: function() {
+                return _occurrenceCount;
+            },
+            set: function(v) {
+                if (type_.isNumber(v) && v >= -1) {
+                    _occurrenceCount = v;
+                }
+            },
+            enumerable: true
+        },
+        daysOfTheWeek: {
+            get: function() {
+                return _daysOfTheWeek;
+            },
+            set: function(v) {
+                _daysOfTheWeek = _validateDaysOfTheWeek(v) ? v : _daysOfTheWeek;
+            },
+            enumerable: true
+        },
+        setPositions: {
+            get: function() {
+                return _setPositions;
+            },
+            set: function(v) {
+                _setPositions = _validateSetPositions(v) ? v : _setPositions;
+            },
+            enumerable: true
+        },
+        exceptions: {
+            get: function() {
+                return _exceptions;
+            },
+            set: function(v) {
+                _exceptions = _validateExceptions(v) ? v : _exceptions;
+            },
+            enumerable: true
         }
-      },
-      enumerable: true
-    },
-    daysOfTheWeek: {
-      get: function() {
-        return _daysOfTheWeek;
-      },
-      set: function(v) {
-        _daysOfTheWeek = _validateDaysOfTheWeek(v) ? v : _daysOfTheWeek;
-      },
-      enumerable: true
-    },
-    setPositions: {
-      get: function() {
-        return _setPositions;
-      },
-      set: function(v) {
-        _setPositions = _validateSetPositions(v) ? v : _setPositions;
-      },
-      enumerable: true
-    },
-    exceptions: {
-      get: function() {
-        return _exceptions;
-      },
-      set: function(v) {
-        _exceptions = _validateExceptions(v) ? v : _exceptions;
-      },
-      enumerable: true
-    }
-  });
+    });
 
-  if (data instanceof _global.Object) {
-    for (var prop in data) {
-      if (this.hasOwnProperty(prop)) {
-        this[prop] = data[prop];
-      }
+    if (data instanceof _global.Object) {
+        for (var prop in data) {
+            if (this.hasOwnProperty(prop)) {
+                this[prop] = data[prop];
+            }
+        }
     }
-  }
 };
 
 var CalendarRecurrenceRule = function(frequency, ruleInitDict) {
-  validator_.isConstructorCall(this, CalendarRecurrenceRule);
-
-  CalendarRecurrenceRuleInit.call(this, ruleInitDict);
-
-  var _frequency = null;
-
-  Object.defineProperties(this, {
-    frequency: {
-      get: function() {
-        return _frequency;
-      },
-      set: function(v) {
-        if (v === null) {
-          return;
+    validator_.isConstructorCall(this, CalendarRecurrenceRule);
+
+    CalendarRecurrenceRuleInit.call(this, ruleInitDict);
+
+    var _frequency = null;
+
+    Object.defineProperties(this, {
+        frequency: {
+            get: function() {
+                return _frequency;
+            },
+            set: function(v) {
+                if (v === null) {
+                    return;
+                }
+                _frequency = converter_.toEnum(
+                    v,
+                    Object.keys(RecurrenceRuleFrequency),
+                    false
+                );
+            },
+            enumerable: true
         }
-        _frequency = converter_.toEnum(v, Object.keys(RecurrenceRuleFrequency), false);
-      },
-      enumerable: true
-    }
-  });
+    });
 
-  // @todo fix UTC, according to documentation frequency is not optional
-  this.frequency = (!frequency) ? 'DAILY' : frequency;
+    // @todo fix UTC, according to documentation frequency is not optional
+    this.frequency = !frequency ? 'DAILY' : frequency;
 };
 
 CalendarRecurrenceRule.prototype = new CalendarRecurrenceRuleInit();
index cc7427e8904dba4907030f1e8c4378f71ebdbe8f..1a8633faac06d44a986e9f31c69eec9a8762de8a 100755 (executable)
@@ -26,15 +26,15 @@ var types_ = validator_.Types;
 var native_ = new utils_.NativeManager(extension);
 
 var EditManager = function() {
-  this.canEdit = false;
+    this.canEdit = false;
 };
 
 EditManager.prototype.allow = function() {
-  this.canEdit = true;
+    this.canEdit = true;
 };
 
 EditManager.prototype.disallow = function() {
-  this.canEdit = false;
+    this.canEdit = false;
 };
 
 var _edit = new EditManager();
@@ -42,224 +42,242 @@ var _edit = new EditManager();
 var ItemConverter = function() {};
 
 ItemConverter.prototype.toTizenObject = function(item) {
-  var tmp = {};
-  for (var prop in item) {
-    if (prop === 'startDate' ||
+    var tmp = {};
+    for (var prop in item) {
+        if (
+            prop === 'startDate' ||
             prop === 'endDate' ||
             prop === 'dueDate' ||
             prop === 'completedDate' ||
-            prop === 'lastModificationDate') {
-      tmp[prop] = dateConverter_.toTZDate(item[prop], item.isAllDay);
-    } else {
-      tmp[prop] = item[prop];
-    }
-  }
-
-  var alarms = [];
-  var alarm, time;
-  for (var i = 0; i < tmp.alarms.length; i++) {
-    alarm = tmp.alarms[i];
-    if (alarm.absoluteDate) {
-      time = dateConverter_.toTZDate(alarm.absoluteDate, tmp.isAllDay);
-    } else if (alarm.before) {
-      time = new tizen.TimeDuration(alarm.before.length, alarm.before.unit);
+            prop === 'lastModificationDate'
+        ) {
+            tmp[prop] = dateConverter_.toTZDate(item[prop], item.isAllDay);
+        } else {
+            tmp[prop] = item[prop];
+        }
     }
-    alarms.push(new tizen.CalendarAlarm(time, alarm.method, alarm.description));
-  }
-  tmp.alarms = alarms;
-
-  var attendees = [];
-  for (var i = 0; i < tmp.attendees.length; i++) {
-    if (tmp.attendees[i].contactRef) {
-      var contactRef = new tizen.ContactRef(tmp.attendees[i].contactRef.addressBookId,
-                                                  tmp.attendees[i].contactRef.contactId);
-      tmp.attendees[i].contactRef = contactRef;
+
+    var alarms = [];
+    var alarm, time;
+    for (var i = 0; i < tmp.alarms.length; i++) {
+        alarm = tmp.alarms[i];
+        if (alarm.absoluteDate) {
+            time = dateConverter_.toTZDate(alarm.absoluteDate, tmp.isAllDay);
+        } else if (alarm.before) {
+            time = new tizen.TimeDuration(alarm.before.length, alarm.before.unit);
+        }
+        alarms.push(new tizen.CalendarAlarm(time, alarm.method, alarm.description));
     }
-    if (tmp.attendees[i].uri) {
-      attendees.push(new tizen.CalendarAttendee(tmp.attendees[i].uri, tmp.attendees[i]));
+    tmp.alarms = alarms;
+
+    var attendees = [];
+    for (var i = 0; i < tmp.attendees.length; i++) {
+        if (tmp.attendees[i].contactRef) {
+            var contactRef = new tizen.ContactRef(
+                tmp.attendees[i].contactRef.addressBookId,
+                tmp.attendees[i].contactRef.contactId
+            );
+            tmp.attendees[i].contactRef = contactRef;
+        }
+        if (tmp.attendees[i].uri) {
+            attendees.push(
+                new tizen.CalendarAttendee(tmp.attendees[i].uri, tmp.attendees[i])
+            );
+        }
     }
-  }
-  tmp.attendees = attendees;
-
-  var untilDate;
-  var exceptions = [];
-  if (tmp.recurrenceRule) {
-    untilDate = dateConverter_.toTZDate(tmp.recurrenceRule.untilDate, tmp.isAllDay);
-    tmp.recurrenceRule.untilDate = untilDate;
+    tmp.attendees = attendees;
+
+    var untilDate;
+    var exceptions = [];
+    if (tmp.recurrenceRule) {
+        untilDate = dateConverter_.toTZDate(tmp.recurrenceRule.untilDate, tmp.isAllDay);
+        tmp.recurrenceRule.untilDate = untilDate;
+
+        for (var i = 0; i < tmp.recurrenceRule.exceptions.length; i++) {
+            exceptions.push(
+                dateConverter_.toTZDate(tmp.recurrenceRule.exceptions[i], tmp.isAllDay)
+            );
+        }
+        tmp.recurrenceRule.exceptions = exceptions;
 
-    for (var i = 0; i < tmp.recurrenceRule.exceptions.length; i++) {
-      exceptions.push(dateConverter_.toTZDate(tmp.recurrenceRule.exceptions[i], tmp.isAllDay));
+        var recurrenceRule = new tizen.CalendarRecurrenceRule(
+            tmp.recurrenceRule.frequency,
+            tmp.recurrenceRule
+        );
+        tmp.recurrenceRule = recurrenceRule;
     }
-    tmp.recurrenceRule.exceptions = exceptions;
-
-    var recurrenceRule = new tizen.CalendarRecurrenceRule(tmp.recurrenceRule.frequency, tmp.recurrenceRule);
-    tmp.recurrenceRule = recurrenceRule;
-  }
 
-  if (tmp.duration) {
-    var duration = new tizen.TimeDuration(tmp.duration.length, tmp.duration.unit);
-    tmp.duration = duration;
-  }
+    if (tmp.duration) {
+        var duration = new tizen.TimeDuration(tmp.duration.length, tmp.duration.unit);
+        tmp.duration = duration;
+    }
 
-  if (tmp.geolocation) {
-    var geolocation = new tizen.SimpleCoordinates(tmp.geolocation.latitude, tmp.geolocation.longitude);
-    tmp.geolocation = geolocation;
-  }
+    if (tmp.geolocation) {
+        var geolocation = new tizen.SimpleCoordinates(
+            tmp.geolocation.latitude,
+            tmp.geolocation.longitude
+        );
+        tmp.geolocation = geolocation;
+    }
 
-  return tmp;
+    return tmp;
 };
 
 ItemConverter.prototype.fromTizenObject = function(item) {
-  var tmp = {};
-  for (var prop in item) {
-    if (item[prop] instanceof tizen.TZDate) {
-      tmp[prop] = dateConverter_.fromTZDate(item[prop]);
-    } else if (item[prop] instanceof Array) {
-      tmp[prop] = [];
-      for (var i = 0, length = item[prop].length; i < length; i++) {
-        if (item[prop][i] instanceof _global.Object) {
-          tmp[prop][i] = {};
-          for (var p in item[prop][i]) {
-            if (item[prop][i][p] instanceof tizen.TZDate) {
-              tmp[prop][i][p] = dateConverter_.fromTZDate(item[prop][i][p]);
-            } else {
-              tmp[prop][i][p] = item[prop][i][p];
+    var tmp = {};
+    for (var prop in item) {
+        if (item[prop] instanceof tizen.TZDate) {
+            tmp[prop] = dateConverter_.fromTZDate(item[prop]);
+        } else if (item[prop] instanceof Array) {
+            tmp[prop] = [];
+            for (var i = 0, length = item[prop].length; i < length; i++) {
+                if (item[prop][i] instanceof _global.Object) {
+                    tmp[prop][i] = {};
+                    for (var p in item[prop][i]) {
+                        if (item[prop][i][p] instanceof tizen.TZDate) {
+                            tmp[prop][i][p] = dateConverter_.fromTZDate(item[prop][i][p]);
+                        } else {
+                            tmp[prop][i][p] = item[prop][i][p];
+                        }
+                    }
+                } else {
+                    tmp[prop] = item[prop];
+                }
+            }
+        } else if (item[prop] instanceof _global.Object) {
+            tmp[prop] = {};
+            for (var p in item[prop]) {
+                if (item[prop][p] instanceof tizen.TZDate) {
+                    tmp[prop][p] = dateConverter_.fromTZDate(item[prop][p]);
+                } else if (item[prop][p] instanceof Array) {
+                    tmp[prop][p] = [];
+                    for (var j = 0, l = item[prop][p].length; j < l; j++) {
+                        tmp[prop][p].push(dateConverter_.fromTZDate(item[prop][p][j]));
+                    }
+                } else {
+                    tmp[prop][p] = item[prop][p];
+                }
             }
-          }
-        } else {
-          tmp[prop] = item[prop];
-        }
-      }
-    } else if (item[prop] instanceof _global.Object) {
-      tmp[prop] = {};
-      for (var p in item[prop]) {
-        if (item[prop][p] instanceof tizen.TZDate) {
-          tmp[prop][p] = dateConverter_.fromTZDate(item[prop][p]);
-        } else if (item[prop][p] instanceof Array) {
-          tmp[prop][p] = [];
-          for (var j = 0, l = item[prop][p].length; j < l; j++) {
-            tmp[prop][p].push(dateConverter_.fromTZDate(item[prop][p][j]));
-          }
         } else {
-          tmp[prop][p] = item[prop][p];
+            tmp[prop] = item[prop];
         }
-      }
-    } else {
-      tmp[prop] = item[prop];
     }
-  }
 
-  return tmp;
+    return tmp;
 };
 
 var _itemConverter = new ItemConverter();
 
 function _daysInYear(y) {
-  if ((y % 4 === 0 && y % 100) || y % 400 === 0) {
-    return 366;
-  }
-  return 365;
+    if ((y % 4 === 0 && y % 100) || y % 400 === 0) {
+        return 366;
+    }
+    return 365;
 }
 
 function _daysInMonth(m, y) {
-  switch (m) {
-    case 1 :
-      return _daysInYear(y) === 366 ? 29 : 28;
-    case 3 :
-    case 5 :
-    case 8 :
-    case 10 :
-      return 30;
-    default :
-      return 31;
-  }
+    switch (m) {
+    case 1:
+        return _daysInYear(y) === 366 ? 29 : 28;
+    case 3:
+    case 5:
+    case 8:
+    case 10:
+        return 30;
+    default:
+        return 31;
+    }
 }
 
 var RecurrenceManager = function() {};
 
 RecurrenceManager.prototype.get = function(event, startDate, endDate) {
-  var events = [];
-  var frequency = event.recurrenceRule.frequency;
-  var interval = event.recurrenceRule.interval;
-  var untilDate = event.recurrenceRule.untilDate;
-  var occurrenceCount = event.recurrenceRule.occurrenceCount;
-  var exceptions = event.recurrenceRule.exceptions;
-  var isDetached = event.isDetached;
-  var startEvent = event.startDate;
-  var startDate = startDate;
-  var endDate = endDate;
-
-  if (isDetached) {
-    return 'The event is detached.';
-  }
-
-  if (startEvent.laterThan(startDate)) {
-    startDate = startEvent;
-  }
-
-  if (untilDate) {
-    endDate = untilDate.laterThan(endDate) ? endDate : untilDate;
-  }
-
-  var timeDifference = endDate.difference(startDate);
-  var daysDifference = timeDifference.length;
-
-  function checkDays(date) {
-    switch (frequency) {
-      case 'DAILY' :
-        return 1;
-      case 'WEEKLY' :
-        return 7;
-      case 'MONTHLY' :
-        return _daysInMonth(date.getMonth(), date.getFullYear());
-      case 'YEARLY' :
-        return _daysInYear(date.getFullYear());
+    var events = [];
+    var frequency = event.recurrenceRule.frequency;
+    var interval = event.recurrenceRule.interval;
+    var untilDate = event.recurrenceRule.untilDate;
+    var occurrenceCount = event.recurrenceRule.occurrenceCount;
+    var exceptions = event.recurrenceRule.exceptions;
+    var isDetached = event.isDetached;
+    var startEvent = event.startDate;
+    var startDate = startDate;
+    var endDate = endDate;
+
+    if (isDetached) {
+        return 'The event is detached.';
     }
-  }
 
-  function checkException(date) {
-    for (var j = 0; j < exceptions.length; j++) {
-      if (exceptions[j].equalsTo(date)) {
-        return true;
-      }
+    if (startEvent.laterThan(startDate)) {
+        startDate = startEvent;
     }
-    return false;
-  }
-
-  var dates = [];
-  var date = startDate;
-  var push = true;
-  var _interval = occurrenceCount >= 0 ? occurrenceCount :
-      (daysDifference + 1) / checkDays(startDate);
-
-  for (var i = 0; i < _interval; ++i) {
-    if (exceptions) {
-      checkException(date) ? push = false : null;
+
+    if (untilDate) {
+        endDate = untilDate.laterThan(endDate) ? endDate : untilDate;
     }
 
-    if (push) {
-      if (endDate.laterThan(date) || endDate.equalsTo(date)) {
-        dates.push(date);
-      }
+    var timeDifference = endDate.difference(startDate);
+    var daysDifference = timeDifference.length;
+
+    function checkDays(date) {
+        switch (frequency) {
+        case 'DAILY':
+            return 1;
+        case 'WEEKLY':
+            return 7;
+        case 'MONTHLY':
+            return _daysInMonth(date.getMonth(), date.getFullYear());
+        case 'YEARLY':
+            return _daysInYear(date.getFullYear());
+        }
     }
-    date = date.addDuration(new tizen.TimeDuration((checkDays(date) * interval), 'DAYS'));
-  }
-
-  var tmp;
-  for (var i = 0; i < dates.length; i++) {
-    tmp = event.clone();
-    _edit.allow();
-    tmp.startDate = dates[i];
-    if (event.id instanceof tizen.CalendarEventId) {
-      tmp.id = new tizen.CalendarEventId(event.id.uid, +new Date());
-      tmp.isDetached = true;
+
+    function checkException(date) {
+        for (var j = 0; j < exceptions.length; j++) {
+            if (exceptions[j].equalsTo(date)) {
+                return true;
+            }
+        }
+        return false;
     }
-    _edit.disallow();
 
-    events.push(tmp);
-  }
+    var dates = [];
+    var date = startDate;
+    var push = true;
+    var _interval =
+        occurrenceCount >= 0
+            ? occurrenceCount
+            : (daysDifference + 1) / checkDays(startDate);
+
+    for (var i = 0; i < _interval; ++i) {
+        if (exceptions) {
+            checkException(date) ? (push = false) : null;
+        }
+
+        if (push) {
+            if (endDate.laterThan(date) || endDate.equalsTo(date)) {
+                dates.push(date);
+            }
+        }
+        date = date.addDuration(
+            new tizen.TimeDuration(checkDays(date) * interval, 'DAYS')
+        );
+    }
+
+    var tmp;
+    for (var i = 0; i < dates.length; i++) {
+        tmp = event.clone();
+        _edit.allow();
+        tmp.startDate = dates[i];
+        if (event.id instanceof tizen.CalendarEventId) {
+            tmp.id = new tizen.CalendarEventId(event.id.uid, +new Date());
+            tmp.isDetached = true;
+        }
+        _edit.disallow();
+
+        events.push(tmp);
+    }
 
-  return events;
+    return events;
 };
 
 var _recurrenceManager = new RecurrenceManager();
index e2ed279c9caf3492f5115a65ec9b58ffb3b452c5..f930b972e5f8ad8ea318f742199e73d886d2c910 100755 (executable)
@@ -26,22 +26,22 @@ function _createCallHistoryEntries(e) {
     var entries_array = [];
     var entries = e.data;
 
-    entries.forEach(function (data) {
+    entries.forEach(function(data) {
         entries_array.push(new CallHistoryEntry(data));
     });
 
     return entries_array;
-};
+}
 
 function _getUidFromCallHistoryEntry(entries) {
     var uid = [];
 
-    entries.forEach(function (data) {
+    entries.forEach(function(data) {
         uid.push(data.uid);
     });
 
     return uid;
-};
+}
 
 function ListenerManager(native, listenerName) {
     this.listeners = {};
@@ -49,7 +49,7 @@ function ListenerManager(native, listenerName) {
     this.nativeSet = false;
     this.native = native;
     this.listenerName = listenerName;
-};
+}
 
 ListenerManager.prototype.onListenerCalled = function(msg) {
     var d = undefined;
@@ -69,7 +69,10 @@ ListenerManager.prototype.onListenerCalled = function(msg) {
     }
 
     for (var watchId in this.listeners) {
-        if (this.listeners.hasOwnProperty(watchId) && this.listeners[watchId][msg.action]) {
+        if (
+            this.listeners.hasOwnProperty(watchId) &&
+            this.listeners[watchId][msg.action]
+        ) {
             this.listeners[watchId][msg.action](d);
         }
     }
@@ -78,8 +81,8 @@ ListenerManager.prototype.onListenerCalled = function(msg) {
 ListenerManager.prototype.addListener = function(callback) {
     var id = this.nextId;
     if (!this.nativeSet) {
-      this.native.addListener(this.listenerName, this.onListenerCalled.bind(this));
-      this.nativeSet = true;
+        this.native.addListener(this.listenerName, this.onListenerCalled.bind(this));
+        this.nativeSet = true;
     }
     this.listeners[id] = callback;
     ++this.nextId;
@@ -97,50 +100,54 @@ ListenerManager.prototype.removeListener = function(watchId) {
 };
 
 var CALL_HISTORY_CHANGE_LISTENER = 'CallHistoryChangeCallback';
-var callHistoryChangeListener = new ListenerManager(native_, CALL_HISTORY_CHANGE_LISTENER);
+var callHistoryChangeListener = new ListenerManager(
+    native_,
+    CALL_HISTORY_CHANGE_LISTENER
+);
 
-function CallHistory() {
-};
+function CallHistory() {}
 
 CallHistory.prototype.find = function() {
     var args = validator_.validateArgs(arguments, [
         {
-            name : 'successCallback',
-            type : types_.FUNCTION,
+            name: 'successCallback',
+            type: types_.FUNCTION
         },
         {
-            name : 'errorCallback',
-            type : types_.FUNCTION,
-            optional : true,
-            nullable : true
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
         },
         {
-            name : 'filter',
-            type : types_.PLATFORM_OBJECT,
-            optional : true,
-            nullable : true,
-            values : [tizen.AttributeFilter,
-                      tizen.AttributeRangeFilter,
-                      tizen.CompositeFilter]
+            name: 'filter',
+            type: types_.PLATFORM_OBJECT,
+            optional: true,
+            nullable: true,
+            values: [
+                tizen.AttributeFilter,
+                tizen.AttributeRangeFilter,
+                tizen.CompositeFilter
+            ]
         },
         {
-            name : 'sortMode',
-            type : types_.PLATFORM_OBJECT,
-            optional : true,
-            nullable : true,
-            values : tizen.SortMode
+            name: 'sortMode',
+            type: types_.PLATFORM_OBJECT,
+            optional: true,
+            nullable: true,
+            values: tizen.SortMode
         },
         {
-            name : 'limit',
-            type : types_.UNSIGNED_LONG,
-            optional : true,
-            nullable : true
+            name: 'limit',
+            type: types_.UNSIGNED_LONG,
+            optional: true,
+            nullable: true
         },
         {
-            name : 'offset',
-            type : types_.UNSIGNED_LONG,
-            optional : true,
-            nullable : true
+            name: 'offset',
+            type: types_.UNSIGNED_LONG,
+            optional: true,
+            nullable: true
         }
     ]);
 
@@ -161,16 +168,16 @@ CallHistory.prototype.find = function() {
 
     var result = native_.call('CallHistory_find', callArgs, callback);
     if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+        throw native_.getErrorObject(result);
     }
 };
 
 CallHistory.prototype.remove = function() {
     var args = validator_.validateArgs(arguments, [
         {
-            name : 'entry',
-            type : types_.PLATFORM_OBJECT,
-            values : CallHistoryEntry
+            name: 'entry',
+            type: types_.PLATFORM_OBJECT,
+            values: CallHistoryEntry
         }
     ]);
 
@@ -179,7 +186,7 @@ CallHistory.prototype.remove = function() {
 
     var result = native_.callSync('CallHistory_remove', callArgs);
     if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+        throw native_.getErrorObject(result);
     }
 
     return;
@@ -188,21 +195,21 @@ CallHistory.prototype.remove = function() {
 CallHistory.prototype.removeBatch = function() {
     var args = validator_.validateArgs(arguments, [
         {
-            name : 'entries',
-            type : types_.ARRAY,
-            values : CallHistoryEntry
+            name: 'entries',
+            type: types_.ARRAY,
+            values: CallHistoryEntry
         },
         {
-            name : 'successCallback',
-            type : types_.FUNCTION,
-            optional : true,
-            nullable : true
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
         },
         {
-            name : 'errorCallback',
-            type : types_.FUNCTION,
-            optional : true,
-            nullable : true
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
         }
     ]);
 
@@ -220,23 +227,23 @@ CallHistory.prototype.removeBatch = function() {
 
     var result = native_.call('CallHistory_removeBatch', callArgs, callback);
     if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+        throw native_.getErrorObject(result);
     }
 };
 
 CallHistory.prototype.removeAll = function() {
     var args = validator_.validateArgs(arguments, [
         {
-            name : 'successCallback',
-            type : types_.FUNCTION,
-            optional : true,
-            nullable : true
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
         },
         {
-            name : 'errorCallback',
-            type : types_.FUNCTION,
-            optional : true,
-            nullable : true
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
         }
     ]);
 
@@ -250,23 +257,23 @@ CallHistory.prototype.removeAll = function() {
 
     var result = native_.call('CallHistory_removeAll', {}, callback);
     if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+        throw native_.getErrorObject(result);
     }
 };
 
 CallHistory.prototype.addChangeListener = function() {
     var args = validator_.validateArgs(arguments, [
         {
-            name : 'eventCallback',
-            type : types_.LISTENER,
-            values : ['onadded', 'onchanged', 'onremoved']
+            name: 'eventCallback',
+            type: types_.LISTENER,
+            values: ['onadded', 'onchanged', 'onremoved']
         }
     ]);
 
     if (T_.isEmptyObject(callHistoryChangeListener.listeners)) {
         var result = native_.callSync('CallHistory_addChangeListener');
         if (native_.isFailure(result)) {
-          throw native_.getErrorObject(result);
+            throw native_.getErrorObject(result);
         }
     }
 
@@ -280,8 +287,8 @@ function removeChangeListener() {
 
     var args = validator_.validateArgs(arguments, [
         {
-            name : 'watchId',
-            type : types_.LONG
+            name: 'watchId',
+            type: types_.LONG
         }
     ]);
 
@@ -290,13 +297,13 @@ function removeChangeListener() {
     if (T_.isEmptyObject(callHistoryChangeListener.listeners)) {
         var result = native_.callSync('CallHistory_removeChangeListener');
         if (native_.isFailure(result)) {
-          throw native_.getErrorObject(result);
+            throw native_.getErrorObject(result);
         }
     }
-};
+}
 
 CallHistory.prototype.removeChangeListener = function() {
-  removeChangeListener.apply(this, arguments);
+    removeChangeListener.apply(this, arguments);
 };
 
 function RemoteParty(data) {
@@ -312,12 +319,14 @@ function RemoteParty(data) {
             enumerable: true
         }
     });
-};
+}
 
 function CallHistoryEntry(data) {
     function directionSetter(val) {
         if (direction === 'MISSEDNEW' && val === 'MISSED') {
-            var result = native_.callSync('CallHistory_setMissedDirection', {uid : this.uid});
+            var result = native_.callSync('CallHistory_setMissedDirection', {
+                uid: this.uid
+            });
             if (native_.isSuccess(result)) {
                 direction = 'MISSED';
             }
@@ -326,7 +335,7 @@ function CallHistoryEntry(data) {
 
     function createRemoteParties(parties) {
         var parties_array = [];
-        parties.forEach(function (data) {
+        parties.forEach(function(data) {
             parties_array.push(new RemoteParty(data));
         });
         return parties_array;
@@ -338,35 +347,38 @@ function CallHistoryEntry(data) {
     }
 
     Object.defineProperties(this, {
-        uid: {value: converter_.toString(data.uid), writable: false, enumerable: true},
-        type: {value: data.type, writable: false, enumerable: true},
-        features : {
+        uid: { value: converter_.toString(data.uid), writable: false, enumerable: true },
+        type: { value: data.type, writable: false, enumerable: true },
+        features: {
             value: data.features ? data.features : null,
             writable: false,
             enumerable: true
         },
-        remoteParties : {
-            value : createRemoteParties(data.remoteParties),
+        remoteParties: {
+            value: createRemoteParties(data.remoteParties),
             writable: false,
             enumerable: true
         },
-        startTime: {value: new Date(Number(data.startTime) * 1000),
+        startTime: {
+            value: new Date(Number(data.startTime) * 1000),
             writable: false,
             enumerable: true
         },
-        duration: {value: data.duration, writable: false, enumerable: true},
+        duration: { value: data.duration, writable: false, enumerable: true },
         direction: {
             enumerable: true,
-            set : directionSetter,
-            get : function() { return direction; }
+            set: directionSetter,
+            get: function() {
+                return direction;
+            }
         },
         callingParty: {
             value: data.callingParty ? data.callingParty : null,
             writable: false,
             enumerable: true
-        },
+        }
     });
-};
+}
 
 // Exports
 exports = new CallHistory();
index b99dbb1513d9b3ec8a955a73755cf909ef576bfd..e8f45fd3fdaaeb6c9df3d2a8c70f237c8be43305 100755 (executable)
@@ -21,702 +21,760 @@ var _contactListenerRegistered = false;
 var _contactCallbackMap = {};
 
 var _filterById = function(array, id) {
-  var ret = [];
-  for (var i = 0; i < array.length; ++i) {
-    if (array[i].addressBookId === id) {
-      ret.push(_promote(array[i], Contact));
+    var ret = [];
+    for (var i = 0; i < array.length; ++i) {
+        if (array[i].addressBookId === id) {
+            ret.push(_promote(array[i], Contact));
+        }
     }
-  }
-  return ret;
+    return ret;
 };
 
 var _contactChangeListener = function(result) {
-  var unifiedId = UNIFIED_ADDRESSBOOK_ID;
-  var watchId;
-  var callback, i;
-
-  // Unified address book case
-  if (_contactCallbackMap.hasOwnProperty(unifiedId)) {
-    for (watchId in _contactCallbackMap[unifiedId]) {
-      if (_contactCallbackMap[unifiedId].hasOwnProperty(watchId)) {
-        callback = _contactCallbackMap[unifiedId][watchId].successCallback;
-        if (result.added.length) {
-          native_.callIfPossible(callback.oncontactsadded, _promote(result.added, Contact));
-        }
-        if (result.updated.length) {
-          native_.callIfPossible(callback.oncontactsupdated, _promote(result.updated, Contact));
+    var unifiedId = UNIFIED_ADDRESSBOOK_ID;
+    var watchId;
+    var callback, i;
+
+    // Unified address book case
+    if (_contactCallbackMap.hasOwnProperty(unifiedId)) {
+        for (watchId in _contactCallbackMap[unifiedId]) {
+            if (_contactCallbackMap[unifiedId].hasOwnProperty(watchId)) {
+                callback = _contactCallbackMap[unifiedId][watchId].successCallback;
+                if (result.added.length) {
+                    native_.callIfPossible(
+                        callback.oncontactsadded,
+                        _promote(result.added, Contact)
+                    );
+                }
+                if (result.updated.length) {
+                    native_.callIfPossible(
+                        callback.oncontactsupdated,
+                        _promote(result.updated, Contact)
+                    );
+                }
+                if (result.removed.length) {
+                    var allRemoved = [];
+                    for (i = 0; i < result.removed.length; ++i) {
+                        allRemoved.push(result.removed[i].id);
+                    }
+                    native_.callIfPossible(callback.oncontactsremoved, result.allRemoved);
+                }
+            }
         }
-        if (result.removed.length) {
-          var allRemoved = [];
-          for (i = 0; i < result.removed.length; ++i) {
-            allRemoved.push(result.removed[i].id);
-          }
-          native_.callIfPossible(callback.oncontactsremoved, result.allRemoved);
-        }
-      }
     }
-  }
-
-  for (var callbackAddressbookId in _contactCallbackMap) {
-    if (callbackAddressbookId !== UNIFIED_ADDRESSBOOK_ID &&
-        _contactCallbackMap.hasOwnProperty(callbackAddressbookId)) {
-
-      var filteredAdded = [];
-      var filteredUpdated = [];
-      var filteredRemoved = [];
-
-      if (result.added.length) {
-        filteredAdded = _filterById(result.added, callbackAddressbookId);
-      }
-      if (result.updated.length) {
-        filteredUpdated = _filterById(result.updated, callbackAddressbookId);
-      }
-      if (result.removed.length) {
-        for (i = 0; i < result.removed.length; ++i) {
-          if (result.removed[i].addressBookId === callbackAddressbookId) {
-            filteredRemoved.push(result.removed[i].id);
-          }
-        }
-      }
-
-      for (watchId in _contactCallbackMap[callbackAddressbookId]) {
-        if (_contactCallbackMap[callbackAddressbookId].hasOwnProperty(watchId)) {
-          callback = _contactCallbackMap[callbackAddressbookId][watchId].successCallback;
-          if (filteredAdded.length) {
-            native_.callIfPossible(callback.oncontactsadded, filteredAdded);
-          }
-          if (filteredUpdated.length) {
-            native_.callIfPossible(callback.oncontactsupdated, filteredUpdated);
-          }
-          if (filteredRemoved.length) {
-            native_.callIfPossible(callback.oncontactsremoved, filteredRemoved);
-          }
+
+    for (var callbackAddressbookId in _contactCallbackMap) {
+        if (
+            callbackAddressbookId !== UNIFIED_ADDRESSBOOK_ID &&
+            _contactCallbackMap.hasOwnProperty(callbackAddressbookId)
+        ) {
+            var filteredAdded = [];
+            var filteredUpdated = [];
+            var filteredRemoved = [];
+
+            if (result.added.length) {
+                filteredAdded = _filterById(result.added, callbackAddressbookId);
+            }
+            if (result.updated.length) {
+                filteredUpdated = _filterById(result.updated, callbackAddressbookId);
+            }
+            if (result.removed.length) {
+                for (i = 0; i < result.removed.length; ++i) {
+                    if (result.removed[i].addressBookId === callbackAddressbookId) {
+                        filteredRemoved.push(result.removed[i].id);
+                    }
+                }
+            }
+
+            for (watchId in _contactCallbackMap[callbackAddressbookId]) {
+                if (_contactCallbackMap[callbackAddressbookId].hasOwnProperty(watchId)) {
+                    callback =
+                        _contactCallbackMap[callbackAddressbookId][watchId]
+                            .successCallback;
+                    if (filteredAdded.length) {
+                        native_.callIfPossible(callback.oncontactsadded, filteredAdded);
+                    }
+                    if (filteredUpdated.length) {
+                        native_.callIfPossible(
+                            callback.oncontactsupdated,
+                            filteredUpdated
+                        );
+                    }
+                    if (filteredRemoved.length) {
+                        native_.callIfPossible(
+                            callback.oncontactsremoved,
+                            filteredRemoved
+                        );
+                    }
+                }
+            }
         }
-      }
     }
-  }
 };
 
 var AddressBook = function(accountId, name) {
-  validator_.isConstructorCall(this, AddressBook);
-
-  var id_ = null;
-  var name_ = '';
-  var readOnly_ = false;
-  var accountId_ = null;
-
-  if (type_.isNumber(accountId)) {
-    accountId_ = accountId;
-  }
-  if (type_.isString(name)) {
-    name_ = name;
-  }
-
-  Object.defineProperties(this, {
-    id: {
-      get: function() {
-        return id_;
-      },
-      set: function(v) {
-        if (_editGuard.isEditEnabled()) {
-          id_ = converter_.toString(v, false);
-        }
-      },
-      enumerable: true
-    },
-    accountId: {
-      get: function() {
-        return accountId_;
-      },
-      set: function(v) {
-        if (_editGuard.isEditEnabled()) {
-          accountId_ = converter_.toLong(v, true);
-        }
-      },
-      enumerable: true
-    },
-    name: {
-      get: function() {
-        return name_;
-      },
-      set: function(v) {
-        if (_editGuard.isEditEnabled()) {
-          name_ = converter_.toString(v, false);
-        }
-      },
-      enumerable: true
-    },
-    readOnly: {
-      get: function() {
-        return readOnly_;
-      },
-      set: function(v) {
-        if (_editGuard.isEditEnabled()) {
-          readOnly_ = converter_.toBoolean(v, false);
-        }
-      },
-      enumerable: true
+    validator_.isConstructorCall(this, AddressBook);
+
+    var id_ = null;
+    var name_ = '';
+    var readOnly_ = false;
+    var accountId_ = null;
+
+    if (type_.isNumber(accountId)) {
+        accountId_ = accountId;
+    }
+    if (type_.isString(name)) {
+        name_ = name;
     }
-  });
+
+    Object.defineProperties(this, {
+        id: {
+            get: function() {
+                return id_;
+            },
+            set: function(v) {
+                if (_editGuard.isEditEnabled()) {
+                    id_ = converter_.toString(v, false);
+                }
+            },
+            enumerable: true
+        },
+        accountId: {
+            get: function() {
+                return accountId_;
+            },
+            set: function(v) {
+                if (_editGuard.isEditEnabled()) {
+                    accountId_ = converter_.toLong(v, true);
+                }
+            },
+            enumerable: true
+        },
+        name: {
+            get: function() {
+                return name_;
+            },
+            set: function(v) {
+                if (_editGuard.isEditEnabled()) {
+                    name_ = converter_.toString(v, false);
+                }
+            },
+            enumerable: true
+        },
+        readOnly: {
+            get: function() {
+                return readOnly_;
+            },
+            set: function(v) {
+                if (_editGuard.isEditEnabled()) {
+                    readOnly_ = converter_.toBoolean(v, false);
+                }
+            },
+            enumerable: true
+        }
+    });
 };
 
 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;
+    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;
+            }
         }
-      } 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 contact;
+    });
 }
 
 AddressBook.prototype.get = function() {
-  var args = validator_.validateArgs(arguments, [{
-    name: 'id',
-    type: types_.STRING,
-    optional: false,
-    nullable: false
-  }]);
-
-  if (String(converter_.toLong(args.id)) !== args.id) {
-    // TCT: AddressBook_get_id_invalid
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
-  }
-
-  var result = native_.callSync('AddressBook_get', {
-    id: args.id
-  });
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-
-  return _prepareContact(native_.getResultObject(result));
-};
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'id',
+            type: types_.STRING,
+            optional: false,
+            nullable: false
+        }
+    ]);
 
-AddressBook.prototype.add = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'contact',
-      type: types_.PLATFORM_OBJECT,
-      values: Contact,
-      optional: false,
-      nullable: false
-    }
-  ]);
-
-  var result = native_.callSync('AddressBook_add', {
-    addressBookId: this.id,
-    contact: _toJsonObject(args.contact)
-  });
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-
-  var _updatedContact = native_.getResultObject(result);
-  _editGuard.run(function() {
-    for (var prop in _updatedContact) {
-      if (args.contact.hasOwnProperty(prop)) {
-        args.contact[prop] = _updatedContact[prop];
-      }
+    if (String(converter_.toLong(args.id)) !== args.id) {
+        // TCT: AddressBook_get_id_invalid
+        throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
     }
 
-    if (args.contact.name instanceof ContactName) {
-      args.contact.name.displayName = '';
-      if (type_.isString(args.contact.name.firstName)) {
-        args.contact.name.displayName = args.contact.name.firstName;
-        if (type_.isString(args.contact.name.lastName)) {
-          args.contact.name.displayName += ' ' + args.contact.name.lastName;
-        }
-      } else if (type_.isArray(args.contact.name.nicknames) &&
-          type_.isString(args.contact.name.nicknames[0])) {
-        args.contact.name.displayName = args.contact.name.nicknames[0];
-      } else if (type_.isString(args.contact.name.nicknames)) {
-        args.contact.name.displayName = args.contact.name.nicknames;
-      }
+    var result = native_.callSync('AddressBook_get', {
+        id: args.id
+    });
+
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
     }
-  });
+
+    return _prepareContact(native_.getResultObject(result));
 };
 
-AddressBook.prototype.addBatch = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'contacts',
-      type: types_.ARRAY,
-      value: Contact,
-      optional: false,
-      nullable: false
-    },
-    {
-      name: 'successCallback',
-      type: types_.FUNCTION,
-      optional: true,
-      nullable: true
-    },
-    {
-      name: 'errorCallback',
-      type: types_.FUNCTION,
-      optional: true,
-      nullable: true
-    }
+AddressBook.prototype.add = function() {
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'contact',
+            type: types_.PLATFORM_OBJECT,
+            values: Contact,
+            optional: false,
+            nullable: false
+        }
+    ]);
 
-  ]);
+    var result = native_.callSync('AddressBook_add', {
+        addressBookId: this.id,
+        contact: _toJsonObject(args.contact)
+    });
 
-  var callback = function(result) {
     if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      return;
+        throw native_.getErrorObject(result);
     }
 
+    var _updatedContact = native_.getResultObject(result);
     _editGuard.run(function() {
-      var _result = native_.getResultObject(result);
-      for (var i = 0; i < _result.length; ++i) {
-        for (var prop in _result[i]) {
-          if (args.contacts[i].hasOwnProperty(prop)) {
-            args.contacts[i][prop] = _result[i][prop];
-          }
+        for (var prop in _updatedContact) {
+            if (args.contact.hasOwnProperty(prop)) {
+                args.contact[prop] = _updatedContact[prop];
+            }
+        }
+
+        if (args.contact.name instanceof ContactName) {
+            args.contact.name.displayName = '';
+            if (type_.isString(args.contact.name.firstName)) {
+                args.contact.name.displayName = args.contact.name.firstName;
+                if (type_.isString(args.contact.name.lastName)) {
+                    args.contact.name.displayName += ' ' + args.contact.name.lastName;
+                }
+            } else if (
+                type_.isArray(args.contact.name.nicknames) &&
+                type_.isString(args.contact.name.nicknames[0])
+            ) {
+                args.contact.name.displayName = args.contact.name.nicknames[0];
+            } else if (type_.isString(args.contact.name.nicknames)) {
+                args.contact.name.displayName = args.contact.name.nicknames;
+            }
         }
-      }
     });
+};
 
-    native_.callIfPossible(args.successCallback, args.contacts);
-  };
+AddressBook.prototype.addBatch = function() {
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'contacts',
+            type: types_.ARRAY,
+            value: Contact,
+            optional: false,
+            nullable: false
+        },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
 
-  var result = native_.call('AddressBook_addBatch', {
-    addressBookId: this.id,
-    batchArgs: _toJsonObject(args.contacts)
-  }, callback);
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+            return;
+        }
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-};
+        _editGuard.run(function() {
+            var _result = native_.getResultObject(result);
+            for (var i = 0; i < _result.length; ++i) {
+                for (var prop in _result[i]) {
+                    if (args.contacts[i].hasOwnProperty(prop)) {
+                        args.contacts[i][prop] = _result[i][prop];
+                    }
+                }
+            }
+        });
+
+        native_.callIfPossible(args.successCallback, args.contacts);
+    };
+
+    var result = native_.call(
+        'AddressBook_addBatch',
+        {
+            addressBookId: this.id,
+            batchArgs: _toJsonObject(args.contacts)
+        },
+        callback
+    );
 
-AddressBook.prototype.update = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'contact',
-      type: types_.PLATFORM_OBJECT,
-      values: Contact,
-      optional: false,
-      nullable: false
-    }
-  ]);
-
-  if (args.contact.addressBookId !== this.id && UNIFIED_ADDRESSBOOK_ID !== this.id) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
-  }
-
-  var result = native_.callSync('AddressBook_update', {
-    contact: _toJsonObject(args.contact)
-  });
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-
-  var _updatedContact = native_.getResultObject(result);
-  _editGuard.run(function() {
-    for (var prop in _updatedContact) {
-      if (args.contact.hasOwnProperty(prop)) {
-        args.contact[prop] = _updatedContact[prop];
-      }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
     }
-  });
 };
 
-AddressBook.prototype.updateBatch = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'contacts',
-      type: types_.ARRAY,
-      values: Contact,
-      optional: false,
-      nullable: false
-    },
-    {
-      name: 'successCallback',
-      type: types_.FUNCTION,
-      optional: true,
-      nullable: true
-    },
-    {
-      name: 'errorCallback',
-      type: types_.FUNCTION,
-      optional: true,
-      nullable: true
+AddressBook.prototype.update = function() {
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'contact',
+            type: types_.PLATFORM_OBJECT,
+            values: Contact,
+            optional: false,
+            nullable: false
+        }
+    ]);
+
+    if (args.contact.addressBookId !== this.id && UNIFIED_ADDRESSBOOK_ID !== this.id) {
+        throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
     }
-  ]);
 
-  var callback = function(result) {
+    var result = native_.callSync('AddressBook_update', {
+        contact: _toJsonObject(args.contact)
+    });
+
     if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      return;
+        throw native_.getErrorObject(result);
     }
 
+    var _updatedContact = native_.getResultObject(result);
     _editGuard.run(function() {
-      var _result = native_.getResultObject(result);
-      for (var i = 0; i < _result.length; ++i) {
-        for (var prop in _result[i].result) {
-          if (args.contacts[i].hasOwnProperty(prop)) {
-            args.contacts[i][prop] = _result[i].result[prop];
-          }
+        for (var prop in _updatedContact) {
+            if (args.contact.hasOwnProperty(prop)) {
+                args.contact[prop] = _updatedContact[prop];
+            }
         }
-      }
     });
+};
 
-    native_.callIfPossible(args.successCallback);
-  };
+AddressBook.prototype.updateBatch = function() {
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'contacts',
+            type: types_.ARRAY,
+            values: Contact,
+            optional: false,
+            nullable: false
+        },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
 
-  var thatId = this.id;
-  args.contacts.forEach(function(c) {
-    if (c.addressBookId !== thatId && UNIFIED_ADDRESSBOOK_ID !== thatId) {
-      setTimeout(function() {
-        native_.callIfPossible(args.errorCallback, new WebAPIException(
-        WebAPIException.INVALID_VALUES_ERR,
-        'Contact is not saved in database'));
-      }, 0);
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+            return;
+        }
 
-      return;
-    }
-  });
+        _editGuard.run(function() {
+            var _result = native_.getResultObject(result);
+            for (var i = 0; i < _result.length; ++i) {
+                for (var prop in _result[i].result) {
+                    if (args.contacts[i].hasOwnProperty(prop)) {
+                        args.contacts[i][prop] = _result[i].result[prop];
+                    }
+                }
+            }
+        });
+
+        native_.callIfPossible(args.successCallback);
+    };
+
+    var thatId = this.id;
+    args.contacts.forEach(function(c) {
+        if (c.addressBookId !== thatId && UNIFIED_ADDRESSBOOK_ID !== thatId) {
+            setTimeout(function() {
+                native_.callIfPossible(
+                    args.errorCallback,
+                    new WebAPIException(
+                        WebAPIException.INVALID_VALUES_ERR,
+                        'Contact is not saved in database'
+                    )
+                );
+            }, 0);
+
+            return;
+        }
+    });
 
-  var result = native_.call('AddressBook_updateBatch', {
-    batchArgs: _toJsonObject(args.contacts)
-  }, callback);
+    var result = native_.call(
+        'AddressBook_updateBatch',
+        {
+            batchArgs: _toJsonObject(args.contacts)
+        },
+        callback
+    );
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
 AddressBook.prototype.remove = function() {
-  var args = validator_.validateArgs(arguments, [{
-    name: 'id',
-    type: types_.STRING,
-    optional: false,
-    nullable: false
-  }]);
-
-  if (String(converter_.toLong(args.id)) !== args.id) {
-    // TCT: AddressBook_remove_id_invalid
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
-  }
-
-  var result = native_.callSync('AddressBook_remove', {
-    id: args.id
-  });
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-};
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'id',
+            type: types_.STRING,
+            optional: false,
+            nullable: false
+        }
+    ]);
 
-AddressBook.prototype.removeBatch = function(ids, successCallback, errorCallback) {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'ids',
-      type: types_.ARRAY,
-      values: types_.STRING,
-      optional: false,
-      nullable: false
-    },
-    {
-      name: 'successCallback',
-      type: types_.FUNCTION,
-      optional: true,
-      nullable: true
-    },
-    {
-      name: 'errorCallback',
-      type: types_.FUNCTION,
-      optional: true,
-      nullable: true
+    if (String(converter_.toLong(args.id)) !== args.id) {
+        // TCT: AddressBook_remove_id_invalid
+        throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
     }
-  ]);
 
-  var callback = function(result) {
+    var result = native_.callSync('AddressBook_remove', {
+        id: args.id
+    });
+
     if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      return;
+        throw native_.getErrorObject(result);
     }
+};
 
-    native_.callIfPossible(args.successCallback);
-  };
+AddressBook.prototype.removeBatch = function(ids, successCallback, errorCallback) {
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'ids',
+            type: types_.ARRAY,
+            values: types_.STRING,
+            optional: false,
+            nullable: false
+        },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
 
-  var result = native_.call('AddressBook_removeBatch', {
-    batchArgs: args.ids
-  }, callback);
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+            return;
+        }
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-};
+        native_.callIfPossible(args.successCallback);
+    };
 
-AddressBook.prototype.find = function(successCallback, errorCallback, filter, sortMode) {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'successCallback',
-      type: types_.FUNCTION,
-      optional: false,
-      nullable: false
-    },
-    {
-      name: 'errorCallback',
-      type: types_.FUNCTION,
-      optional: true,
-      nullable: true
-    },
-    {
-      name: 'filter',
-      type: types_.PLATFORM_OBJECT,
-      values: [
-        tizen.AttributeFilter,
-        tizen.AttributeRangeFilter,
-        tizen.CompositeFilter
-      ],
-      optional: true,
-      nullable: true
-    },
-    {
-      name: 'sortMode',
-      type: types_.PLATFORM_OBJECT,
-      values: tizen.SortMode,
-      optional: true,
-      nullable: true
-    }
-  ]);
+    var result = native_.call(
+        'AddressBook_removeBatch',
+        {
+            batchArgs: args.ids
+        },
+        callback
+    );
 
-  var self = this;
-  var callback = function(result) {
     if (native_.isFailure(result)) {
-      native_.callIfPossible(errorCallback, native_.getErrorObject(result));
-      return;
+        throw native_.getErrorObject(result);
     }
+};
 
-    var _contacts = [];
-    var _result = native_.getResultObject(result);
-    _result.forEach(function(data) {
-      var contact = _prepareContact(data);
-      _contacts.push(contact);
-    });
+AddressBook.prototype.find = function(successCallback, errorCallback, filter, sortMode) {
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: false,
+            nullable: false
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'filter',
+            type: types_.PLATFORM_OBJECT,
+            values: [
+                tizen.AttributeFilter,
+                tizen.AttributeRangeFilter,
+                tizen.CompositeFilter
+            ],
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'sortMode',
+            type: types_.PLATFORM_OBJECT,
+            values: tizen.SortMode,
+            optional: true,
+            nullable: true
+        }
+    ]);
 
-    native_.callIfPossible(successCallback, _contacts);
-  };
+    var self = this;
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(errorCallback, native_.getErrorObject(result));
+            return;
+        }
 
-  var result = native_.call('AddressBook_find', {
-    addressBookId: this.id,
-    filter: utils_.repackFilter(filter),
-    sortMode: sortMode
-  }, callback);
+        var _contacts = [];
+        var _result = native_.getResultObject(result);
+        _result.forEach(function(data) {
+            var contact = _prepareContact(data);
+            _contacts.push(contact);
+        });
+
+        native_.callIfPossible(successCallback, _contacts);
+    };
+
+    var result = native_.call(
+        'AddressBook_find',
+        {
+            addressBookId: this.id,
+            filter: utils_.repackFilter(filter),
+            sortMode: sortMode
+        },
+        callback
+    );
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
 AddressBook.prototype.addChangeListener = function() {
-  var args = validator_.validateArgs(arguments, [{
-    name: 'successCallback',
-    type: types_.LISTENER,
-    values: ['oncontactsadded', 'oncontactsupdated', 'oncontactsremoved'],
-    optional: false,
-    nullable: false
-  }, {
-    name: 'errorCallback',
-    type: types_.FUNCTION,
-    optional: true,
-    nullable: true
-  }]);
-
-  // always on first registration checking privileges is done
-  if (type_.isEmptyObject(_contactCallbackMap)) {
-    var result = native_.callSync('AddressBook_startListening', {});
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'successCallback',
+            type: types_.LISTENER,
+            values: ['oncontactsadded', 'oncontactsupdated', 'oncontactsremoved'],
+            optional: false,
+            nullable: false
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
 
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+    // always on first registration checking privileges is done
+    if (type_.isEmptyObject(_contactCallbackMap)) {
+        var result = native_.callSync('AddressBook_startListening', {});
+
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
     }
-  }
 
-  if (!_contactListenerRegistered) {
-    native_.addListener('ContactChangeListener', _contactChangeListener);
-    _contactListenerRegistered = true;
-  }
+    if (!_contactListenerRegistered) {
+        native_.addListener('ContactChangeListener', _contactChangeListener);
+        _contactListenerRegistered = true;
+    }
 
-  if (!_contactCallbackMap.hasOwnProperty(this.id)) {
-    _contactCallbackMap[this.id] = {};
-  }
+    if (!_contactCallbackMap.hasOwnProperty(this.id)) {
+        _contactCallbackMap[this.id] = {};
+    }
 
-  var currentWatchId = _getNextWatchId();
+    var currentWatchId = _getNextWatchId();
 
-  _contactCallbackMap[this.id][currentWatchId] = {
-    successCallback: args.successCallback,
-    errorCallback: args.errorCallback
-  };
+    _contactCallbackMap[this.id][currentWatchId] = {
+        successCallback: args.successCallback,
+        errorCallback: args.errorCallback
+    };
 
-  return currentWatchId;
+    return currentWatchId;
 };
 
 var AddressBook_removeChangeListener = function(watchId) {
-  if (type_.isEmptyObject(_contactCallbackMap)) {
-    utils_.checkPrivilegeAccess(privilege_.CONTACT_READ);
-  }
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'watchId',
-      type: types_.LONG,
-      optional: false,
-      nullable: false
+    if (type_.isEmptyObject(_contactCallbackMap)) {
+        utils_.checkPrivilegeAccess(privilege_.CONTACT_READ);
     }
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'watchId',
+            type: types_.LONG,
+            optional: false,
+            nullable: false
+        }
+    ]);
 
-  if (args.watchId <= 0) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-        'Wrong watch id');
-  }
+    if (args.watchId <= 0) {
+        throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR, 'Wrong watch id');
+    }
 
-  if (!_contactCallbackMap.hasOwnProperty(this.id) ||
-      !_contactCallbackMap[this.id].hasOwnProperty(args.watchId)) {
-    throw new WebAPIException(WebAPIException.NOT_FOUND_ERR,
-        'watch id not found for this address book');
-  }
+    if (
+        !_contactCallbackMap.hasOwnProperty(this.id) ||
+        !_contactCallbackMap[this.id].hasOwnProperty(args.watchId)
+    ) {
+        throw new WebAPIException(
+            WebAPIException.NOT_FOUND_ERR,
+            'watch id not found for this address book'
+        );
+    }
 
-  delete _contactCallbackMap[this.id][args.watchId];
+    delete _contactCallbackMap[this.id][args.watchId];
 
-  if (type_.isEmptyObject(_contactCallbackMap[this.id])) {
-    delete _contactCallbackMap[this.id];
-  }
+    if (type_.isEmptyObject(_contactCallbackMap[this.id])) {
+        delete _contactCallbackMap[this.id];
+    }
 
-  if (type_.isEmptyObject(_contactCallbackMap)) {
-    native_.removeListener('ContactChangeListener', _contactChangeListener);
-    _contactListenerRegistered = false;
+    if (type_.isEmptyObject(_contactCallbackMap)) {
+        native_.removeListener('ContactChangeListener', _contactChangeListener);
+        _contactListenerRegistered = false;
 
-    var result = native_.callSync('AddressBook_stopListening', {});
+        var result = native_.callSync('AddressBook_stopListening', {});
 
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
     }
-  }
 };
 
 AddressBook.prototype.removeChangeListener = function(watchId) {
-  AddressBook_removeChangeListener.apply(this, arguments);
+    AddressBook_removeChangeListener.apply(this, arguments);
 };
 
 AddressBook.prototype.getGroup = function() {
-  var args = validator_.validateArgs(arguments, [{
-    name: 'groupId',
-    type: types_.STRING,
-    optional: false,
-    nullable: false
-  }]);
-
-  if (String(converter_.toLong(args.groupId)) !== args.groupId) {
-    // TCT: AddressBook_getGroup_groupId_invalid
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
-  }
-
-  var result = native_.callSync('AddressBook_getGroup', {
-    addressBookId: this.id,
-    id: args.groupId
-  });
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-
-  return _editGuard.run(function() {
-    return new ContactGroup(native_.getResultObject(result));
-  });
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'groupId',
+            type: types_.STRING,
+            optional: false,
+            nullable: false
+        }
+    ]);
+
+    if (String(converter_.toLong(args.groupId)) !== args.groupId) {
+        // TCT: AddressBook_getGroup_groupId_invalid
+        throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
+    }
+
+    var result = native_.callSync('AddressBook_getGroup', {
+        addressBookId: this.id,
+        id: args.groupId
+    });
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+
+    return _editGuard.run(function() {
+        return new ContactGroup(native_.getResultObject(result));
+    });
 };
 
 AddressBook.prototype.addGroup = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'group',
-      type: types_.PLATFORM_OBJECT,
-      values: ContactGroup,
-      optional: false,
-      nullable: false
-    }
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'group',
+            type: types_.PLATFORM_OBJECT,
+            values: ContactGroup,
+            optional: false,
+            nullable: false
+        }
+    ]);
 
-  var result = native_.callSync('AddressBook_addGroup',
-      {addressBookId: this.id, group: args.group});
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    var result = native_.callSync('AddressBook_addGroup', {
+        addressBookId: this.id,
+        group: args.group
+    });
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 
-  _editGuard.run(function() {
-    result = native_.getResultObject(result);
-    args.group.id = result.id;
-    args.group.addressBookId = result.addressBookId;
-  });
+    _editGuard.run(function() {
+        result = native_.getResultObject(result);
+        args.group.id = result.id;
+        args.group.addressBookId = result.addressBookId;
+    });
 };
 
 AddressBook.prototype.updateGroup = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'group',
-      type: types_.PLATFORM_OBJECT,
-      values: ContactGroup,
-      optional: false,
-      nullable: false
-    }
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'group',
+            type: types_.PLATFORM_OBJECT,
+            values: ContactGroup,
+            optional: false,
+            nullable: false
+        }
+    ]);
 
-  var result = native_.callSync('AddressBook_updateGroup',
-      {addressBookId: this.id, group: args.group});
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    var result = native_.callSync('AddressBook_updateGroup', {
+        addressBookId: this.id,
+        group: args.group
+    });
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
 AddressBook.prototype.removeGroup = function() {
-  var args = validator_.validateArgs(arguments, [{
-    name: 'groupId',
-    type: types_.STRING,
-    optional: false,
-    nullable: false
-  }]);
-
-  if (String(converter_.toLong(args.groupId)) !== args.groupId) {
-    // TCT: AddressBook_removeGroup_groupId_invalid
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
-  }
-
-  var result = native_.callSync('AddressBook_removeGroup',
-      {addressBookId: this.id, id: args.groupId});
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'groupId',
+            type: types_.STRING,
+            optional: false,
+            nullable: false
+        }
+    ]);
+
+    if (String(converter_.toLong(args.groupId)) !== args.groupId) {
+        // TCT: AddressBook_removeGroup_groupId_invalid
+        throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
+    }
+
+    var result = native_.callSync('AddressBook_removeGroup', {
+        addressBookId: this.id,
+        id: args.groupId
+    });
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
 AddressBook.prototype.getGroups = function() {
-  var result = native_.callSync('AddressBook_getGroups', {addressBook: this});
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-  result = native_.getResultObject(result);
-  var _tab = [];
-  _editGuard.run(function() {
-    result.forEach(function(data) {
-      _tab.push(new ContactGroup(data));
+    var result = native_.callSync('AddressBook_getGroups', { addressBook: this });
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+    result = native_.getResultObject(result);
+    var _tab = [];
+    _editGuard.run(function() {
+        result.forEach(function(data) {
+            _tab.push(new ContactGroup(data));
+        });
     });
-  });
-  return _tab;
+    return _tab;
 };
 
 // exports /////////////////////////////////////////////////////////////////
index c4d8142ade9908228275dcba13f83500a672db92..54883f6f8c4b97752ed77069bf2df3dda4e7cd5a 100755 (executable)
@@ -15,7 +15,7 @@
  */
 
 var _global = window || global || {};
+
 var utils_ = xwalk.utils;
 var privilege_ = xwalk.utils.privilege;
 var type_ = utils_.type;
@@ -27,78 +27,78 @@ var native_ = new utils_.NativeManager(extension);
 var _currentWatchId = 1;
 
 var _getNextWatchId = function() {
-  return _currentWatchId++;
+    return _currentWatchId++;
 };
 
 // Adjusts properties to have the correct format expected by the native side.
 // Currently only translates JS Date
 var _toJsonObject = function(obj) {
-  var ret;
-  if (type_.isDate(obj)) {
-    var year = ('0000' + obj.getFullYear()).slice(-4);
-    var month = ('00' + (obj.getMonth() + 1)).slice(-2);
-    var day = ('00' + obj.getDate()).slice(-2);
-    return Number(year + month + day);
-  }
-  if (type_.isArray(obj)) {
-    ret = [];
-    for (var i = 0; i < obj.length; ++i) {
-      ret[i] = _toJsonObject(obj[i]);
+    var ret;
+    if (type_.isDate(obj)) {
+        var year = ('0000' + obj.getFullYear()).slice(-4);
+        var month = ('00' + (obj.getMonth() + 1)).slice(-2);
+        var day = ('00' + obj.getDate()).slice(-2);
+        return Number(year + month + day);
+    }
+    if (type_.isArray(obj)) {
+        ret = [];
+        for (var i = 0; i < obj.length; ++i) {
+            ret[i] = _toJsonObject(obj[i]);
+        }
+        return ret;
     }
-    return ret;
-  }
-  if (obj instanceof _global.Object) {
-    ret = {};
-    for (var prop in obj) {
-      if (obj.hasOwnProperty(prop)) {
-        ret[prop] = _toJsonObject(obj[prop]);
-      }
+    if (obj instanceof _global.Object) {
+        ret = {};
+        for (var prop in obj) {
+            if (obj.hasOwnProperty(prop)) {
+                ret[prop] = _toJsonObject(obj[prop]);
+            }
+        }
+        return ret;
     }
-    return ret;
-  }
-  return obj;
+    return obj;
 };
 
 var _fromJsonDate = function(date) {
-  date = date + '';
-  var year = date.substr(0, 4);
-  var month = date.substr(4, 2);
-  var day = date.substr(6, 2);
-  return new Date(year, month - 1, day);
+    date = date + '';
+    var year = date.substr(0, 4);
+    var month = date.substr(4, 2);
+    var day = date.substr(6, 2);
+    return new Date(year, month - 1, day);
 };
 
 var _promote = function(val, type) {
-  return _editGuard.run(function() {
-    if (type_.isArray(val)) {
-      var ret = [];
-      for (var i = 0; i < val.length; ++i) {
-        ret.push(new type(val[i]));
-      }
-      return ret;
-    }
-    return new type(val);
-  });
+    return _editGuard.run(function() {
+        if (type_.isArray(val)) {
+            var ret = [];
+            for (var i = 0; i < val.length; ++i) {
+                ret.push(new type(val[i]));
+            }
+            return ret;
+        }
+        return new type(val);
+    });
 };
 
 function _checkError(result) {
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 }
 
 var TypeEnum = ['VCARD_30'];
 
 var PersonUsageTypeEnum = {
-  OUTGOING_CALL: 'OUTGOING_CALL',
-  OUTGOING_MSG: 'OUTGOING_MSG',
-  OUTGOING_EMAIL: 'OUTGOING_EMAIL',
-  INCOMING_CALL: 'INCOMING_CALL',
-  INCOMING_MSG: 'INCOMING_MSG',
-  INCOMING_EMAIL: 'INCOMING_EMAIL',
-  MISSED_CALL: 'MISSED_CALL',
-  REJECTED_CALL: 'REJECTED_CALL',
-  BLOCKED_CALL: 'BLOCKED_CALL',
-  BLOCKED_MSG: 'BLOCKED_MSG'
+    OUTGOING_CALL: 'OUTGOING_CALL',
+    OUTGOING_MSG: 'OUTGOING_MSG',
+    OUTGOING_EMAIL: 'OUTGOING_EMAIL',
+    INCOMING_CALL: 'INCOMING_CALL',
+    INCOMING_MSG: 'INCOMING_MSG',
+    INCOMING_EMAIL: 'INCOMING_EMAIL',
+    MISSED_CALL: 'MISSED_CALL',
+    REJECTED_CALL: 'REJECTED_CALL',
+    BLOCKED_CALL: 'BLOCKED_CALL',
+    BLOCKED_MSG: 'BLOCKED_MSG'
 };
 
 // Edit Guard //////////////////////////////////////////////////////////////
@@ -106,31 +106,30 @@ var PersonUsageTypeEnum = {
 // which tell to edit readonly fields.
 var _canEdit = 0;
 
-var EditGuard = function() {
-};
+var EditGuard = function() {};
 
 EditGuard.prototype.run = function(callback) {
-  try {
-    this.enable();
-    var result = callback();
-    this.disable();
-    return result;
-  } catch (ex) {
-    this.disable();
-    throw ex;
-  }
+    try {
+        this.enable();
+        var result = callback();
+        this.disable();
+        return result;
+    } catch (ex) {
+        this.disable();
+        throw ex;
+    }
 };
 
 EditGuard.prototype.enable = function() {
-  _canEdit++;
+    _canEdit++;
 };
 
 EditGuard.prototype.disable = function() {
-  _canEdit--;
+    _canEdit--;
 };
 
 EditGuard.prototype.isEditEnabled = function() {
-  return _canEdit > 0;
+    return _canEdit > 0;
 };
 
 var _editGuard = new EditGuard();
index af317dee75780795a96bc92cc544dcdcaa9bc6fb..cf5098a16c251b5ae6f9cc1d20a42c42c6ec3ea9 100755 (executable)
  */
 
 var Contact = function(data) {
-  validator_.isConstructorCall(this, Contact);
-
-  var _forceEditMode = false;
-  if (type_.isString(data)) {
-    var result = native_.callSync('ContactManager_importFromVCard', {
-      'contact': data
-    });
-    _checkError(result);
-
-    data = native_.getResultObject(result);
-    // These need to be forced to null as a contact created from a vcard is not added
-    // to any address book
-    data.id = null;
-    data.personId = null;
-    data.addressBookId = null;
-    data.lastUpdate = null;
-
-    // Force edit mode so that anonymous objects can be promoted to their correct types.
-    _forceEditMode = true;
-  } else if (type_.isObject(data) || type_.isFunction(data)) {
-    // It's a dictionary
-  } else {
-    // null or invalid types.
-    data = {};
-  }
-
-  var _id = null;
-  var _personId = null;
-  var _addressBookId = null;
-  var _lastUpdate = null;
-  var _isFavorite = false;
-  var _name = null;
-  var _addresses = [];
-  var _photoURI = null;
-  var _phoneNumbers = [];
-  var _emails = [];
-  var _messengers = [];
-  var _relationships = [];
-  var _extensions = [];
-  var _birthday = null;
-  var _anniversaries = [];
-  var _organizations = [];
-  var _notes = [];
-  var _urls = [];
-  var _ringtoneURI = null;
-  var _messageAlertURI = null;
-  var _vibrationURI = null;
-  var _groupIds = [];
-
-  var _sanitizeArray = function(arr, type, previousValue) {
-    if (!type_.isArray(arr)) {
-      return previousValue;
-    }
-    for (var i = 0; i < arr.length; ++i) {
-      if (type_.isString(type)) {
-        arr[i] = converter_.toString(arr[i]);
-      } else if (_editGuard.isEditEnabled()) {
-        arr[i] = new type(arr[i]);
-      } else if (!(arr[i] instanceof type)) {
-        return previousValue;
-      }
+    validator_.isConstructorCall(this, Contact);
+
+    var _forceEditMode = false;
+    if (type_.isString(data)) {
+        var result = native_.callSync('ContactManager_importFromVCard', {
+            contact: data
+        });
+        _checkError(result);
+
+        data = native_.getResultObject(result);
+        // These need to be forced to null as a contact created from a vcard is not added
+        // to any address book
+        data.id = null;
+        data.personId = null;
+        data.addressBookId = null;
+        data.lastUpdate = null;
+
+        // Force edit mode so that anonymous objects can be promoted
+        // to their correct types.
+        _forceEditMode = true;
+    } else if (type_.isObject(data) || type_.isFunction(data)) {
+        // It's a dictionary
+    } else {
+        // null or invalid types.
+        data = {};
     }
-    return arr;
-  };
-
-  Object.defineProperties(this, {
-    id: {
-      get: function() {
-        return _id;
-      },
-      set: function(v) {
-        if (_editGuard.isEditEnabled()) {
-          _id = converter_.toString(v, false);
-        }
-      },
-      enumerable: true
-    },
-    personId: {
-      get: function() {
-        return _personId;
-      },
-      set: function(v) {
-        if (_editGuard.isEditEnabled()) {
-          _personId = converter_.toString(v, false);
-        }
-      },
-      enumerable: true
-    },
-    addressBookId: {
-      get: function() {
-        return _addressBookId;
-      },
-      set: function(v) {
-        if (_editGuard.isEditEnabled()) {
-          _addressBookId = converter_.toString(v, false);
-        }
-      },
-      enumerable: true
-    },
-    lastUpdated: {
-      get: function() {
-        return _lastUpdate;
-      },
-      set: function(v) {
-        if (_editGuard.isEditEnabled()) {
-          if (v instanceof Date || v === null) {
-            _lastUpdate = v;
-          } else if (type_.isString(v)) {
-            _lastUpdate = new Date(v);
-          } else {
-            _lastUpdate = _fromJsonDate(v);
-          }
-        }
-      },
-      enumerable: true
-    },
-    isFavorite: {
-      get: function() {
-        return _isFavorite;
-      },
-      set: function(v) {
-        if (_editGuard.isEditEnabled()) {
-          _isFavorite = converter_.toBoolean(v, false);
+
+    var _id = null;
+    var _personId = null;
+    var _addressBookId = null;
+    var _lastUpdate = null;
+    var _isFavorite = false;
+    var _name = null;
+    var _addresses = [];
+    var _photoURI = null;
+    var _phoneNumbers = [];
+    var _emails = [];
+    var _messengers = [];
+    var _relationships = [];
+    var _extensions = [];
+    var _birthday = null;
+    var _anniversaries = [];
+    var _organizations = [];
+    var _notes = [];
+    var _urls = [];
+    var _ringtoneURI = null;
+    var _messageAlertURI = null;
+    var _vibrationURI = null;
+    var _groupIds = [];
+
+    var _sanitizeArray = function(arr, type, previousValue) {
+        if (!type_.isArray(arr)) {
+            return previousValue;
         }
-      },
-      enumerable: true
-    },
-    name: {
-      get: function() {
-        return _name;
-      },
-      set: function(v) {
-        if (_editGuard.isEditEnabled()) {
-          _name = new ContactName(v);
-        } else {
-          _name = (v instanceof ContactName || v === null) ? v : _name;
+        for (var i = 0; i < arr.length; ++i) {
+            if (type_.isString(type)) {
+                arr[i] = converter_.toString(arr[i]);
+            } else if (_editGuard.isEditEnabled()) {
+                arr[i] = new type(arr[i]);
+            } else if (!(arr[i] instanceof type)) {
+                return previousValue;
+            }
         }
-      },
-      enumerable: true
-    },
-    addresses: {
-      get: function() {
-        return _addresses;
-      },
-      set: function(v) {
-        _addresses = _sanitizeArray(v, ContactAddress, _addresses);
-      },
-      enumerable: true
-    },
-    photoURI: {
-      get: function() {
-        return _photoURI;
-      },
-      set: function(v) {
-        _photoURI = converter_.toString(v, true);
-      },
-      enumerable: true
-    },
-    phoneNumbers: {
-      get: function() {
-        return _phoneNumbers;
-      },
-      set: function(v) {
-        _phoneNumbers = _sanitizeArray(v, ContactPhoneNumber, _phoneNumbers);
-      },
-      enumerable: true
-    },
-    emails: {
-      get: function() {
-        return _emails;
-      },
-      set: function(v) {
-        _emails = _sanitizeArray(v, ContactEmailAddress, _emails);
-      },
-      enumerable: true
-    },
-    messengers: {
-      get: function() {
-        return _messengers;
-      },
-      set: function(v) {
-        _messengers = _sanitizeArray(v, ContactInstantMessenger, _messengers);
-      },
-      enumerable: true
-    },
-    relationships: {
-      get: function() {
-        return _relationships;
-      },
-      set: function(v) {
-        _relationships = _sanitizeArray(v, ContactRelationship, _relationships);
-      },
-      enumerable: true
-    },
-    extensions: {
-      get: function() {
-        return _extensions;
-      },
-      set: function(v) {
-        _extensions = _sanitizeArray(v, ContactExtension, _extensions);
-      },
-      enumerable: true
-    },
-    birthday: {
-      get: function() {
-        return _birthday;
-      },
-      set: function(v) {
-        if (v instanceof Date || v === null) {
-          _birthday = v;
-        } else if (type_.isString(v)) {
-          _birthday = new Date(v);
-        } else if (_editGuard.isEditEnabled()) {
-          _birthday = _fromJsonDate(v);
+        return arr;
+    };
+
+    Object.defineProperties(this, {
+        id: {
+            get: function() {
+                return _id;
+            },
+            set: function(v) {
+                if (_editGuard.isEditEnabled()) {
+                    _id = converter_.toString(v, false);
+                }
+            },
+            enumerable: true
+        },
+        personId: {
+            get: function() {
+                return _personId;
+            },
+            set: function(v) {
+                if (_editGuard.isEditEnabled()) {
+                    _personId = converter_.toString(v, false);
+                }
+            },
+            enumerable: true
+        },
+        addressBookId: {
+            get: function() {
+                return _addressBookId;
+            },
+            set: function(v) {
+                if (_editGuard.isEditEnabled()) {
+                    _addressBookId = converter_.toString(v, false);
+                }
+            },
+            enumerable: true
+        },
+        lastUpdated: {
+            get: function() {
+                return _lastUpdate;
+            },
+            set: function(v) {
+                if (_editGuard.isEditEnabled()) {
+                    if (v instanceof Date || v === null) {
+                        _lastUpdate = v;
+                    } else if (type_.isString(v)) {
+                        _lastUpdate = new Date(v);
+                    } else {
+                        _lastUpdate = _fromJsonDate(v);
+                    }
+                }
+            },
+            enumerable: true
+        },
+        isFavorite: {
+            get: function() {
+                return _isFavorite;
+            },
+            set: function(v) {
+                if (_editGuard.isEditEnabled()) {
+                    _isFavorite = converter_.toBoolean(v, false);
+                }
+            },
+            enumerable: true
+        },
+        name: {
+            get: function() {
+                return _name;
+            },
+            set: function(v) {
+                if (_editGuard.isEditEnabled()) {
+                    _name = new ContactName(v);
+                } else {
+                    _name = v instanceof ContactName || v === null ? v : _name;
+                }
+            },
+            enumerable: true
+        },
+        addresses: {
+            get: function() {
+                return _addresses;
+            },
+            set: function(v) {
+                _addresses = _sanitizeArray(v, ContactAddress, _addresses);
+            },
+            enumerable: true
+        },
+        photoURI: {
+            get: function() {
+                return _photoURI;
+            },
+            set: function(v) {
+                _photoURI = converter_.toString(v, true);
+            },
+            enumerable: true
+        },
+        phoneNumbers: {
+            get: function() {
+                return _phoneNumbers;
+            },
+            set: function(v) {
+                _phoneNumbers = _sanitizeArray(v, ContactPhoneNumber, _phoneNumbers);
+            },
+            enumerable: true
+        },
+        emails: {
+            get: function() {
+                return _emails;
+            },
+            set: function(v) {
+                _emails = _sanitizeArray(v, ContactEmailAddress, _emails);
+            },
+            enumerable: true
+        },
+        messengers: {
+            get: function() {
+                return _messengers;
+            },
+            set: function(v) {
+                _messengers = _sanitizeArray(v, ContactInstantMessenger, _messengers);
+            },
+            enumerable: true
+        },
+        relationships: {
+            get: function() {
+                return _relationships;
+            },
+            set: function(v) {
+                _relationships = _sanitizeArray(v, ContactRelationship, _relationships);
+            },
+            enumerable: true
+        },
+        extensions: {
+            get: function() {
+                return _extensions;
+            },
+            set: function(v) {
+                _extensions = _sanitizeArray(v, ContactExtension, _extensions);
+            },
+            enumerable: true
+        },
+        birthday: {
+            get: function() {
+                return _birthday;
+            },
+            set: function(v) {
+                if (v instanceof Date || v === null) {
+                    _birthday = v;
+                } else if (type_.isString(v)) {
+                    _birthday = new Date(v);
+                } else if (_editGuard.isEditEnabled()) {
+                    _birthday = _fromJsonDate(v);
+                }
+            },
+            enumerable: true
+        },
+        anniversaries: {
+            get: function() {
+                return _anniversaries;
+            },
+            set: function(v) {
+                _anniversaries = _sanitizeArray(v, ContactAnniversary, _anniversaries);
+            },
+            enumerable: true
+        },
+        organizations: {
+            get: function() {
+                return _organizations;
+            },
+            set: function(v) {
+                _organizations = _sanitizeArray(v, ContactOrganization, _organizations);
+            },
+            enumerable: true
+        },
+        notes: {
+            get: function() {
+                return _notes;
+            },
+            set: function(v) {
+                _notes = _sanitizeArray(v, '', _notes);
+            },
+            enumerable: true
+        },
+        urls: {
+            get: function() {
+                return _urls;
+            },
+            set: function(v) {
+                _urls = _sanitizeArray(v, ContactWebSite, _urls);
+            },
+            enumerable: true
+        },
+        ringtoneURI: {
+            get: function() {
+                return _ringtoneURI;
+            },
+            set: function(v) {
+                _ringtoneURI = converter_.toString(v, true);
+            },
+            enumerable: true
+        },
+        messageAlertURI: {
+            get: function() {
+                return _messageAlertURI;
+            },
+            set: function(v) {
+                _messageAlertURI = converter_.toString(v, true);
+            },
+            enumerable: true
+        },
+        vibrationURI: {
+            get: function() {
+                return _vibrationURI;
+            },
+            set: function(v) {
+                _vibrationURI = converter_.toString(v, true);
+            },
+            enumerable: true
+        },
+        groupIds: {
+            get: function() {
+                return _groupIds;
+            },
+            set: function(v) {
+                _groupIds = _sanitizeArray(v, '', _groupIds);
+            },
+            enumerable: true
         }
-      },
-      enumerable: true
-    },
-    anniversaries: {
-      get: function() {
-        return _anniversaries;
-      },
-      set: function(v) {
-        _anniversaries = _sanitizeArray(v, ContactAnniversary, _anniversaries);
-      },
-      enumerable: true
-    },
-    organizations: {
-      get: function() {
-        return _organizations;
-      },
-      set: function(v) {
-        _organizations = _sanitizeArray(v, ContactOrganization, _organizations);
-      },
-      enumerable: true
-    },
-    notes: {
-      get: function() {
-        return _notes;
-      },
-      set: function(v) {
-        _notes = _sanitizeArray(v, '', _notes);
-      },
-      enumerable: true
-    },
-    urls: {
-      get: function() {
-        return _urls;
-      },
-      set: function(v) {
-        _urls = _sanitizeArray(v, ContactWebSite, _urls);
-      },
-      enumerable: true
-    },
-    ringtoneURI: {
-      get: function() {
-        return _ringtoneURI;
-      },
-      set: function(v) {
-        _ringtoneURI = converter_.toString(v, true);
-      },
-      enumerable: true
-    },
-    messageAlertURI: {
-      get: function() {
-        return _messageAlertURI;
-      },
-      set: function(v) {
-        _messageAlertURI = converter_.toString(v, true);
-      },
-      enumerable: true
-    },
-    vibrationURI: {
-      get: function() {
-        return _vibrationURI;
-      },
-      set: function(v) {
-        _vibrationURI = converter_.toString(v, true);
-      },
-      enumerable: true
-    },
-    groupIds: {
-      get: function() {
-        return _groupIds;
-      },
-      set: function(v) {
-        _groupIds = _sanitizeArray(v, '', _groupIds);
-      },
-      enumerable: true
-    }
-  });
-
-  var _this = this;
-  var _setProperties = function() {
-    for (var p in _this) {
-      if (data.hasOwnProperty(p)) {
-        _this[p] = data[p];
-      }
-    }
-  };
+    });
 
-  if (_forceEditMode) {
-    _editGuard.run(_setProperties);
-  } else {
-    _setProperties();
-  }
+    var _this = this;
+    var _setProperties = function() {
+        for (var p in _this) {
+            if (data.hasOwnProperty(p)) {
+                _this[p] = data[p];
+            }
+        }
+    };
 
+    if (_forceEditMode) {
+        _editGuard.run(_setProperties);
+    } else {
+        _setProperties();
+    }
 };
 
 // Auxiliary functions /////////////////////////////////////////////////////
 
 // Convert address from Contact object to string
 var _contactAddressToString = function(obj) {
-  var str = '';
-  if (obj.addresses.length === 0) {
-    return '';
-  }
-  // Sorry for so many if statements, but the IDE makes me do it
-  for (var it in obj.addresses) {
-    if (!it instanceof ContactAddress) {
-      continue;
-    }
-    str += 'ADR;';
-    for (var addType in it.types) {
-      if (type_.isString(addType)) {
-        str += addType + ',';
-      }
+    var str = '';
+    if (obj.addresses.length === 0) {
+        return '';
     }
-    if (str.charAt(str.length - 1) === ',') {
-      str[str.length - 1] = ':';
+    // Sorry for so many if statements, but the IDE makes me do it
+    for (var it in obj.addresses) {
+        if (!it instanceof ContactAddress) {
+            continue;
+        }
+        str += 'ADR;';
+        for (var addType in it.types) {
+            if (type_.isString(addType)) {
+                str += addType + ',';
+            }
+        }
+        if (str.charAt(str.length - 1) === ',') {
+            str[str.length - 1] = ':';
+        }
+        str += ';'; // because of we don't keep Post office addres
+        // which is part of vCard 3.0 standard
+        str += it.additionalInformation + ';';
+        str += it.streetAddress + ';';
+        str += it.city + ';';
+        str += it.region + ';';
+        str += it.postalCode + ';';
+        str += it.country + ';';
+        str += '\n';
     }
-    str += ';'; // because of we don't keep Post office addres
-    // which is part of vCard 3.0 standard
-    str += it.additionalInformation + ';';
-    str += it.streetAddress + ';';
-    str += it.city + ';';
-    str += it.region + ';';
-    str += it.postalCode + ';';
-    str += it.country + ';';
-    str += '\n';
-  }
-  return str;
+    return str;
 };
 
 // Convert email address from Contact object to string
 var _contactEmailToString = function(obj) {
-  if (!type_.isArray(obj.emails) || obj.emails.length === 0) {
-    utils_.log('Empty email list');
-    return '';
-  }
-  var str = '';
-  for (var mail in obj.emails) {
-    if (!mail instanceof ContactEmailAddress || !type_.isArray(mail.types) ||
-      mail.types.length === 0) {
-      utils_.log('Incorrect email type');
-      continue;
-    }
-    str += 'EMAIL;';
-    // set types
-    for (var type in mail.types) {
-      if (type_.isString(type)) {
-        str += type + ',';
-      }
+    if (!type_.isArray(obj.emails) || obj.emails.length === 0) {
+        utils_.log('Empty email list');
+        return '';
     }
-    if (str.charAt(str.length - 1) === ',') {
-      str[str.length - 1] = ':';
+    var str = '';
+    for (var mail in obj.emails) {
+        if (
+            !mail instanceof ContactEmailAddress ||
+            !type_.isArray(mail.types) ||
+            mail.types.length === 0
+        ) {
+            utils_.log('Incorrect email type');
+            continue;
+        }
+        str += 'EMAIL;';
+        // set types
+        for (var type in mail.types) {
+            if (type_.isString(type)) {
+                str += type + ',';
+            }
+        }
+        if (str.charAt(str.length - 1) === ',') {
+            str[str.length - 1] = ':';
+        }
+        str += '=' + converter_.toString(mail.email) + '\n';
     }
-    str += '=' + converter_.toString(mail.email) + '\n';
-  }
-  return str;
+    return str;
 };
 
 // Convert organizations info from Contact object to string
 var _contactOrganizationToString = function(obj) {
-  if (obj.organizations.length === 0 ||
-    !obj.organizations[0] instanceof ContactOrganization) {
-    return '';
-  }
-  var str = '';
-  for (var org in obj.organizations) {
-    if (!org instanceof ContactOrganization) {
-      continue;
+    if (
+        obj.organizations.length === 0 ||
+        !obj.organizations[0] instanceof ContactOrganization
+    ) {
+        return '';
+    }
+    var str = '';
+    for (var org in obj.organizations) {
+        if (!org instanceof ContactOrganization) {
+            continue;
+        }
+        str += 'ORG:';
+        str += org.name + ';' + org.department + ';' + org.title + '\n';
     }
-    str += 'ORG:';
-    str += org.name + ';' + org.department + ';' + org.title + '\n';
-  }
-  return str;
+    return str;
 };
 
 // Convert organizations roles from Contact object to string
 var _contactRoleToString = function(obj) {
-  if (obj.organizations.length === 0 ||
-    !obj.organizations[0] instanceof ContactOrganization) {
-    return '';
-  }
-  var str = '';
-  for (var org in obj.organizations) {
-    if (!org instanceof ContactOrganization) {
-      continue;
+    if (
+        obj.organizations.length === 0 ||
+        !obj.organizations[0] instanceof ContactOrganization
+    ) {
+        return '';
     }
-    str += 'ROLE:';
-    str += org.name + ';' + org.role + '\n';
-  }
-  return str;
+    var str = '';
+    for (var org in obj.organizations) {
+        if (!org instanceof ContactOrganization) {
+            continue;
+        }
+        str += 'ROLE:';
+        str += org.name + ';' + org.role + '\n';
+    }
+    return str;
 };
 
 // Convert phone numbers from Contact object to string
 var _contactPhoneNumbersToString = function(obj) {
-  if (obj.phoneNumbers.length === 0 || !obj.phoneNumbers[0] instanceof ContactPhoneNumber) {
-    return '';
-  }
-  var str = '';
-  for (var phone in obj.phoneNumbers) {
-    if (!phone instanceof ContactPhoneNumber) {
-      continue;
+    if (
+        obj.phoneNumbers.length === 0 ||
+        !obj.phoneNumbers[0] instanceof ContactPhoneNumber
+    ) {
+        return '';
     }
-    str += 'TEL';
-    for (var type in phone.types) {
-      if (type_.isString(type)) {
-        str += ';' + type;
-      }
+    var str = '';
+    for (var phone in obj.phoneNumbers) {
+        if (!phone instanceof ContactPhoneNumber) {
+            continue;
+        }
+        str += 'TEL';
+        for (var type in phone.types) {
+            if (type_.isString(type)) {
+                str += ';' + type;
+            }
+        }
+        str += ':';
+        str += phone.number + '\n';
     }
-    str += ':';
-    str += phone.number + '\n';
-  }
-  return str;
+    return str;
 };
 
 // Convert urls from Contact object to string
 var _contactURLToString = function(obj) {
-  if (obj.urls.length === 0 || !obj.urls[0] instanceof ContactWebSite) {
-    return '';
-  }
-  var str = '';
-  for (var url in obj.urls) {
-    if (url instanceof ContactWebSite) {
-      str += 'URL:' + url.url + '\n';
+    if (obj.urls.length === 0 || !obj.urls[0] instanceof ContactWebSite) {
+        return '';
+    }
+    var str = '';
+    for (var url in obj.urls) {
+        if (url instanceof ContactWebSite) {
+            str += 'URL:' + url.url + '\n';
+        }
     }
-  }
-  return str;
+    return str;
 };
 
 // Convert anniversaries to string
 var _contactAnniversaryToString = function(obj) {
-  if (obj.anniversaries.length === 0 || !obj.anniversaries[0] instanceof ContactAnniversary) {
-    return '';
-  }
-  var str = '';
-  for (var ann in obj.anniversaries) {
-    if (ann instanceof ContactAnniversary) {
-      str += 'X-ANNIVERSARY;' + ann.label + ':' + ann.date + ';' + '\n';
+    if (
+        obj.anniversaries.length === 0 ||
+        !obj.anniversaries[0] instanceof ContactAnniversary
+    ) {
+        return '';
     }
-  }
-  return str;
+    var str = '';
+    for (var ann in obj.anniversaries) {
+        if (ann instanceof ContactAnniversary) {
+            str += 'X-ANNIVERSARY;' + ann.label + ':' + ann.date + ';' + '\n';
+        }
+    }
+    return str;
 };
 
 // Convert relationships to string
 var _contactRelationshipsToString = function(obj) {
-  if (obj.relationships.length === 0 ||
-    !obj.relationships[0] instanceof ContactRelationship) {
-    return '';
-  }
-  var str = '';
-  for (var rel in obj.relationships) {
-    if (rel instanceof ContactRelationship) {
-      str += 'X-RELATIONSHIP;' + rel.relativeName + ':' + rel.type +
-      ':' + rel.label + ';\n';
+    if (
+        obj.relationships.length === 0 ||
+        !obj.relationships[0] instanceof ContactRelationship
+    ) {
+        return '';
+    }
+    var str = '';
+    for (var rel in obj.relationships) {
+        if (rel instanceof ContactRelationship) {
+            str +=
+                'X-RELATIONSHIP;' +
+                rel.relativeName +
+                ':' +
+                rel.type +
+                ':' +
+                rel.label +
+                ';\n';
+        }
     }
-  }
-  return str;
+    return str;
 };
 
 // Convert extension to string
 // Format:
 // X-EXTENSION:<data1>;<data2>;...;<data12>
 var _contactExtensionsToString = function(obj) {
-  var str = '';
-  var label = null;
-
-  if (obj.extensions === null || !type_.isArray(obj.extensions)) {
-    return '';
-  }
-  for (var i = 0; i < obj.extensions.length; i++) {
-    if (!obj.extensions[i] instanceof ContactExtension) {
-      return '';
-    }
-    str += 'X-EXTENSION:';
+    var str = '';
+    var label = null;
 
-    if (obj.extensions[i].data1 === null) {
-      str += '0';
-    } else {
-      str += String(obj.extensions[i].data1);
+    if (obj.extensions === null || !type_.isArray(obj.extensions)) {
+        return '';
     }
+    for (var i = 0; i < obj.extensions.length; i++) {
+        if (!obj.extensions[i] instanceof ContactExtension) {
+            return '';
+        }
+        str += 'X-EXTENSION:';
 
-    for (var j = 2; j <= 12; j++) {
-      str += ';';
-      label = 'data' + j;
-      if (obj.extensions[i][label] && obj.extensions[i][label].length > 0) {
-        str += obj.extensions[i][label];
-      }
-    }
+        if (obj.extensions[i].data1 === null) {
+            str += '0';
+        } else {
+            str += String(obj.extensions[i].data1);
+        }
+
+        for (var j = 2; j <= 12; j++) {
+            str += ';';
+            label = 'data' + j;
+            if (obj.extensions[i][label] && obj.extensions[i][label].length > 0) {
+                str += obj.extensions[i][label];
+            }
+        }
 
-    str += '\n';
-  }
-  return str;
+        str += '\n';
+    }
+    return str;
 };
 
 // Convert messengers to string
 var _contactInstantMessengeToString = function(obj) {
-  if (obj.messengers.length === 0 || !obj.messengers[0] instanceof ContactInstantMessenger) {
-    return '';
-  }
-  var str = '';
-  for (var messenger in obj.messengers) {
-    if (messenger instanceof ContactInstantMessenger) {
-      str += 'X-MESSANGER;' + messenger.imAddress + ':' + messenger.type +
-      ':' + messenger.label + ';\n';
+    if (
+        obj.messengers.length === 0 ||
+        !obj.messengers[0] instanceof ContactInstantMessenger
+    ) {
+        return '';
+    }
+    var str = '';
+    for (var messenger in obj.messengers) {
+        if (messenger instanceof ContactInstantMessenger) {
+            str +=
+                'X-MESSANGER;' +
+                messenger.imAddress +
+                ':' +
+                messenger.type +
+                ':' +
+                messenger.label +
+                ';\n';
+        }
     }
-  }
-  return str;
+    return str;
 };
 
 // Auxiliary function, allows to parse JSON to Contact
 var _JSONToContactType = function(type, obj) {
-  var contact = new type();
-
-  for (var prop in obj) {
-    if (contact.hasOwnProperty(prop)) {
-      if (contact[prop] instanceof Date && type_.isNumber(obj[prop])) {
-        contact[prop] = new Date(1000 * obj[prop]);
-      } else {
-        contact[prop] = obj[prop];
-      }
+    var contact = new type();
+
+    for (var prop in obj) {
+        if (contact.hasOwnProperty(prop)) {
+            if (contact[prop] instanceof Date && type_.isNumber(obj[prop])) {
+                contact[prop] = new Date(1000 * obj[prop]);
+            } else {
+                contact[prop] = obj[prop];
+            }
+        }
     }
-  }
 
-  return contact;
+    return contact;
 };
 
 // Converts the Contact item to a string format.
 Contact.prototype.convertToString = function(format) {
-  format = format || TypeEnum[0];
-
-  if (!type_.isString(format)) {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR, 'Invalid format');
-  }
-
-  if (TypeEnum.indexOf(format) < 0) {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR, 'Invalid format');
-  }
+    format = format || TypeEnum[0];
 
-  if (this.id === '') {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-      'Contact ID is empty.');
-  }
-
-  var str = 'BEGIN:VCARD\nVERSION:3.0\n';
-
-  // set contact name
-  str += 'N:' + this.name.lastName + ';' + this.name.firstName + ';' +
-  this.name.middleName + ';' + this.name.prefix + ';' + this.name.suffix + '\n';
-  str += 'FN' + this.name.displayName + '\n';
+    if (!type_.isString(format)) {
+        throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR, 'Invalid format');
+    }
 
-  // set phonetic names
-  str += 'X-PHONETIC-FIRST-NAME' + this.name.phoneticFirstName + '\n' +
-  'X-PHONETIC-LAST-NAME' + this.name.phoneticLastName + '\n';
+    if (TypeEnum.indexOf(format) < 0) {
+        throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR, 'Invalid format');
+    }
 
-  // set contact address
-  str += _contactAddressToString(this);
+    if (this.id === '') {
+        throw new WebAPIException(
+            WebAPIException.TYPE_MISMATCH_ERR,
+            'Contact ID is empty.'
+        );
+    }
 
-  // set Birthday
-  if (this.birthday) {
-    str += 'BDAY:' + this.birthday.getYear() + '-' + this.birthday.getMonth() +
-    '-' + this.birthday.getDay() + '\n';
-  }
+    var str = 'BEGIN:VCARD\nVERSION:3.0\n';
+
+    // set contact name
+    str +=
+        'N:' +
+        this.name.lastName +
+        ';' +
+        this.name.firstName +
+        ';' +
+        this.name.middleName +
+        ';' +
+        this.name.prefix +
+        ';' +
+        this.name.suffix +
+        '\n';
+    str += 'FN' + this.name.displayName + '\n';
+
+    // set phonetic names
+    str +=
+        'X-PHONETIC-FIRST-NAME' +
+        this.name.phoneticFirstName +
+        '\n' +
+        'X-PHONETIC-LAST-NAME' +
+        this.name.phoneticLastName +
+        '\n';
+
+    // set contact address
+    str += _contactAddressToString(this);
+
+    // set Birthday
+    if (this.birthday) {
+        str +=
+            'BDAY:' +
+            this.birthday.getYear() +
+            '-' +
+            this.birthday.getMonth() +
+            '-' +
+            this.birthday.getDay() +
+            '\n';
+    }
 
-  // set anniversary
-  str += _contactAnniversaryToString(this);
+    // set anniversary
+    str += _contactAnniversaryToString(this);
 
-  // set relationship
-  str += _contactRelationshipsToString(this);
+    // set relationship
+    str += _contactRelationshipsToString(this);
 
-  // set extension
-  str += _contactExtensionsToString(this);
+    // set extension
+    str += _contactExtensionsToString(this);
 
-  // set emails
-  str += _contactEmailToString(this);
+    // set emails
+    str += _contactEmailToString(this);
 
-  // set organization data
-  str += _contactOrganizationToString(this);
+    // set organization data
+    str += _contactOrganizationToString(this);
 
-  // set role
-  str += _contactRoleToString(this);
+    // set role
+    str += _contactRoleToString(this);
 
-  // set phone numbers
-  str += _contactPhoneNumbersToString(this);
+    // set phone numbers
+    str += _contactPhoneNumbersToString(this);
 
-  // set user ID
-  str += 'UID:' + this.id + '\n';
+    // set user ID
+    str += 'UID:' + this.id + '\n';
 
-  // set isFavorite
-  str += 'X-IS-FAVORITE' + this.isFavorite + '\n';
+    // set isFavorite
+    str += 'X-IS-FAVORITE' + this.isFavorite + '\n';
 
-  // set URLs
-  str += _contactURLToString(this);
+    // set URLs
+    str += _contactURLToString(this);
 
-  // set messengers
-  str += _contactInstantMessengeToString(this);
+    // set messengers
+    str += _contactInstantMessengeToString(this);
 
-  // set last revision
-  if (this.lastUpdated) {
-    str += 'REV:' + this.lastUpdated.getYear() + '-' + this.lastUpdated.getMonth() +
-    '-' + this.lastUpdated.getDay() + 'T' + this.lastUpdated.getHours() + ':' +
-    this.lastUpdated.getMinutes() + ':' + this.lastUpdated.getSeconds() + 'Z\n';
-  }
+    // set last revision
+    if (this.lastUpdated) {
+        str +=
+            'REV:' +
+            this.lastUpdated.getYear() +
+            '-' +
+            this.lastUpdated.getMonth() +
+            '-' +
+            this.lastUpdated.getDay() +
+            'T' +
+            this.lastUpdated.getHours() +
+            ':' +
+            this.lastUpdated.getMinutes() +
+            ':' +
+            this.lastUpdated.getSeconds() +
+            'Z\n';
+    }
 
-  str += 'END:VCARD\n';
+    str += 'END:VCARD\n';
 
-  return str;
+    return str;
 };
 
 // Creates a clone of the Contact object, detached from any address book
 Contact.prototype.clone = function() {
-  return new Contact(this);
+    return new Contact(this);
 };
 
 // exports /////////////////////////////////////////////////////////////////
index 4296a49694fecd4c2f4cf0d344634c49e7b952c4..bd864b7b5c1df3c807ec1c432add0cf8b397bbdc 100755 (executable)
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
+
 // An enumerator that indicates the types for the relationships.
 var ContactRelationshipType = {
-  ASSISTANT: 'ASSISTANT',
-  BROTHER: 'BROTHER',
-  CHILD: 'CHILD',
-  DOMESTIC_PARTNER: 'DOMESTIC_PARTNER',
-  FATHER: 'FATHER',
-  FRIEND: 'FRIEND',
-  MANAGER: 'MANAGER',
-  MOTHER: 'MOTHER',
-  PARENT: 'PARENT',
-  PARTNER: 'PARTNER',
-  REFERRED_BY: 'REFERRED_BY',
-  RELATIVE: 'RELATIVE',
-  SISTER: 'SISTER',
-  SPOUSE: 'SPOUSE',
-  OTHER: 'OTHER',
-  CUSTOM: 'CUSTOM'
+    ASSISTANT: 'ASSISTANT',
+    BROTHER: 'BROTHER',
+    CHILD: 'CHILD',
+    DOMESTIC_PARTNER: 'DOMESTIC_PARTNER',
+    FATHER: 'FATHER',
+    FRIEND: 'FRIEND',
+    MANAGER: 'MANAGER',
+    MOTHER: 'MOTHER',
+    PARENT: 'PARENT',
+    PARTNER: 'PARTNER',
+    REFERRED_BY: 'REFERRED_BY',
+    RELATIVE: 'RELATIVE',
+    SISTER: 'SISTER',
+    SPOUSE: 'SPOUSE',
+    OTHER: 'OTHER',
+    CUSTOM: 'CUSTOM'
 };
 
 // An enumerator that indicates the types for instant messenger.
 var ContactInstantMessengerType = {
-  GOOGLE: 'GOOGLE',
-  WLM: 'WLM',
-  YAHOO: 'YAHOO',
-  FACEBOOK: 'FACEBOOK',
-  ICQ: 'ICQ',
-  AIM: 'AIM',
-  QQ: 'QQ',
-  JABBER: 'JABBER',
-  SKYPE: 'SKYPE',
-  IRC: 'IRC',
-  OTHER: 'OTHER',
-  CUSTOM: 'CUSTOM'
+    GOOGLE: 'GOOGLE',
+    WLM: 'WLM',
+    YAHOO: 'YAHOO',
+    FACEBOOK: 'FACEBOOK',
+    ICQ: 'ICQ',
+    AIM: 'AIM',
+    QQ: 'QQ',
+    JABBER: 'JABBER',
+    SKYPE: 'SKYPE',
+    IRC: 'IRC',
+    OTHER: 'OTHER',
+    CUSTOM: 'CUSTOM'
 };
 
 // class ContactRef ////////////////////////////////////////////////////////
 
 var ContactRef = function(data) {
-  validator_.isConstructorCall(this, ContactRef);
-  var _contactId = '';
-  var _addressBookId = '';
-  Object.defineProperties(this, {
-    addressBookId: {
-      get: function() {
-        return _addressBookId;
-      },
-      set: function(v) {
-        _addressBookId = converter_.toString(v, false);
-      },
-      enumerable: true
-    },
-    contactId: {
-      get: function() {
-        return _contactId;
-      },
-      set: function(v) {
-        _contactId = converter_.toString(v, false);
-      },
-      enumerable: true
-    }
-  });
-
-  if (type_.isObject(data)) {
-    this.addressBookId = data.addressBookId;
-    this.contactId = data.contactId;
-  } else {
-    try {
-      var args = validator_.validateArgs(arguments, [
-        {
-          name: 'addressBookId',
-          type: types_.STRING,
-          optional: false,
-          nullable: false
-        },
-        {
-          name: 'contactId',
-          type: types_.STRING,
-          optional: false,
-          nullable: false
+    validator_.isConstructorCall(this, ContactRef);
+    var _contactId = '';
+    var _addressBookId = '';
+    Object.defineProperties(this, {
+        addressBookId: {
+            get: function() {
+                return _addressBookId;
+            },
+            set: function(v) {
+                _addressBookId = converter_.toString(v, false);
+            },
+            enumerable: true
+        },
+        contactId: {
+            get: function() {
+                return _contactId;
+            },
+            set: function(v) {
+                _contactId = converter_.toString(v, false);
+            },
+            enumerable: true
+        }
+    });
+
+    if (type_.isObject(data)) {
+        this.addressBookId = data.addressBookId;
+        this.contactId = data.contactId;
+    } else {
+        try {
+            var args = validator_.validateArgs(arguments, [
+                {
+                    name: 'addressBookId',
+                    type: types_.STRING,
+                    optional: false,
+                    nullable: false
+                },
+                {
+                    name: 'contactId',
+                    type: types_.STRING,
+                    optional: false,
+                    nullable: false
+                }
+            ]);
+            _addressBookId = args.addressBookId;
+            _contactId = args.contactId;
+        } catch (x) {
+            // Constructors shouldn't throw
         }
-      ]);
-      _addressBookId = args.addressBookId;
-      _contactId = args.contactId;
-    } catch (x) {
-      // Constructors shouldn't throw
     }
-  }
 };
 
 // class ContactGroup //////////////////////////////////////////////////
 
 var ContactGroup = function(name, ringtone, photo) {
-  validator_.isConstructorCall(this, ContactGroup);
-
-  var _id = null;
-  var _address = null;
-  var _readOnly = false;
-  var _name = '';
-  var _ringtoneURI = null;
-  var _photoURI = null;
-
-  if (name && type_.isString(name)) {
-    _name = name.length ? name : '';
-  }
-
-  if (ringtone && type_.isString(ringtone)) {
-    _ringtoneURI = ringtone.length ? ringtone : null;
-  }
-
-  if (photo && type_.isString(photo)) {
-    _photoURI = photo.length ? photo : null;
-  }
-
-  Object.defineProperties(this, {
-    id: {
-      get: function() {
-        return _id;
-      },
-      set: function(v) {
-        if (_editGuard.isEditEnabled()) {
-          _id = converter_.toString(v, true);
-        }
-      },
-      enumerable: true
-    },
-    addressBookId: {
-      get: function() {
-        return _address;
-      },
-      set: function(v) {
-        if (_editGuard.isEditEnabled()) {
-          _address = converter_.toString(v, true);
-        }
-      },
-      enumerable: true
-    },
-    name: {
-      get: function() {
-        return _name;
-      },
-      set: function(v) {
-        _name = converter_.toString(v, false);
-      },
-      enumerable: true
-    },
-    ringtoneURI: {
-      get: function() {
-        return _ringtoneURI;
-      },
-      set: function(v) {
-        _ringtoneURI = converter_.toString(v, true);
-      },
-      enumerable: true
-    },
-    photoURI: {
-      get: function() {
-        return _photoURI;
-      },
-      set: function(v) {
-        _photoURI = converter_.toString(v, true);
-      },
-      enumerable: true
-    },
-    readOnly: {
-      get: function() {
-        return _readOnly;
-      },
-      set: function(v) {
-        if (_editGuard.isEditEnabled()) {
-          _readOnly = converter_.toBoolean(v, false);
-        }
-      },
-      enumerable: true
+    validator_.isConstructorCall(this, ContactGroup);
+
+    var _id = null;
+    var _address = null;
+    var _readOnly = false;
+    var _name = '';
+    var _ringtoneURI = null;
+    var _photoURI = null;
+
+    if (name && type_.isString(name)) {
+        _name = name.length ? name : '';
     }
-  });
 
-  if (_editGuard.isEditEnabled()) {
-    var data = arguments[0];
-    if (type_.isObject(data)) {
-      for (var prop in data) {
-        if (this.hasOwnProperty(prop)) {
-          this[prop] = data[prop];
+    if (ringtone && type_.isString(ringtone)) {
+        _ringtoneURI = ringtone.length ? ringtone : null;
+    }
+
+    if (photo && type_.isString(photo)) {
+        _photoURI = photo.length ? photo : null;
+    }
+
+    Object.defineProperties(this, {
+        id: {
+            get: function() {
+                return _id;
+            },
+            set: function(v) {
+                if (_editGuard.isEditEnabled()) {
+                    _id = converter_.toString(v, true);
+                }
+            },
+            enumerable: true
+        },
+        addressBookId: {
+            get: function() {
+                return _address;
+            },
+            set: function(v) {
+                if (_editGuard.isEditEnabled()) {
+                    _address = converter_.toString(v, true);
+                }
+            },
+            enumerable: true
+        },
+        name: {
+            get: function() {
+                return _name;
+            },
+            set: function(v) {
+                _name = converter_.toString(v, false);
+            },
+            enumerable: true
+        },
+        ringtoneURI: {
+            get: function() {
+                return _ringtoneURI;
+            },
+            set: function(v) {
+                _ringtoneURI = converter_.toString(v, true);
+            },
+            enumerable: true
+        },
+        photoURI: {
+            get: function() {
+                return _photoURI;
+            },
+            set: function(v) {
+                _photoURI = converter_.toString(v, true);
+            },
+            enumerable: true
+        },
+        readOnly: {
+            get: function() {
+                return _readOnly;
+            },
+            set: function(v) {
+                if (_editGuard.isEditEnabled()) {
+                    _readOnly = converter_.toBoolean(v, false);
+                }
+            },
+            enumerable: true
+        }
+    });
+
+    if (_editGuard.isEditEnabled()) {
+        var data = arguments[0];
+        if (type_.isObject(data)) {
+            for (var prop in data) {
+                if (this.hasOwnProperty(prop)) {
+                    this[prop] = data[prop];
+                }
+            }
         }
-      }
     }
-  }
 };
 
 // class ContactEmailAddress ///////////////////////////////////////////
 
 var ContactEmailAddress = function(address, types, isDefault) {
-  validator_.isConstructorCall(this, ContactEmailAddress);
-
-  var _email = '';
-  var _label = null;
-  var _isDefault = false;
-  var _types = ['WORK'];
-
-  if (type_.isString(address) && address.indexOf('@') > 0 &&
-      address.indexOf('@') !== (address.length - 1)) {
-    _email = address;
-  }
-
-  if (type_.isBoolean(isDefault)) {
-    _isDefault = isDefault;
-  }
-
-  if (type_.isArray(types)) {
-    _types = [];
-    for (var i = 0; i < types.length; ++i) {
-      if (type_.isString(types[i])) {
-        _types.push(types[i]);
-      }
+    validator_.isConstructorCall(this, ContactEmailAddress);
+
+    var _email = '';
+    var _label = null;
+    var _isDefault = false;
+    var _types = ['WORK'];
+
+    if (
+        type_.isString(address) &&
+        address.indexOf('@') > 0 &&
+        address.indexOf('@') !== address.length - 1
+    ) {
+        _email = address;
     }
-  } else if (type_.isString(types)) {
-    _types = [];
-    _types.push(types);
-  }
-
-  Object.defineProperties(this, {
-    email: {
-      get: function() {
-        return _email;
-      },
-      set: function(v) {
-        if (type_.isString(v) && v.indexOf('@') > 0 &&
-            v.indexOf('@') !== (v.length - 1)) {
-          _email = v;
-        }
-      },
-      enumerable: true
-    },
-    isDefault: {
-      get: function() {
-        return _isDefault;
-      },
-      set: function(v) {
-        _isDefault = converter_.toBoolean(v, false);
-      },
-      enumerable: true
-    },
-    types: {
-      get: function() {
-        return _types;
-      },
-      set: function(v) {
-        if (type_.isArray(v)) {
-          _types = [];
-          for (var i = 0; i < v.length; ++i) {
-            if (type_.isString(v[i])) {
-              _types.push(v[i]);
+
+    if (type_.isBoolean(isDefault)) {
+        _isDefault = isDefault;
+    }
+
+    if (type_.isArray(types)) {
+        _types = [];
+        for (var i = 0; i < types.length; ++i) {
+            if (type_.isString(types[i])) {
+                _types.push(types[i]);
             }
-          }
-        } else if (type_.isString(v)) {
-          _types = [];
-          _types.push(v);
         }
-      },
-      enumerable: true
-    },
-    label: {
-      get: function() {
-        return _label;
-      },
-      set: function(v) {
-        _label = converter_.toString(v, true);
-      },
-      enumerable: true
+    } else if (type_.isString(types)) {
+        _types = [];
+        _types.push(types);
     }
-  });
 
-  if (_editGuard.isEditEnabled()) {
-    for (var prop in arguments[0]) {
-      if (this.hasOwnProperty(prop)) {
-        this[prop] = arguments[0][prop];
-      }
+    Object.defineProperties(this, {
+        email: {
+            get: function() {
+                return _email;
+            },
+            set: function(v) {
+                if (
+                    type_.isString(v) &&
+                    v.indexOf('@') > 0 &&
+                    v.indexOf('@') !== v.length - 1
+                ) {
+                    _email = v;
+                }
+            },
+            enumerable: true
+        },
+        isDefault: {
+            get: function() {
+                return _isDefault;
+            },
+            set: function(v) {
+                _isDefault = converter_.toBoolean(v, false);
+            },
+            enumerable: true
+        },
+        types: {
+            get: function() {
+                return _types;
+            },
+            set: function(v) {
+                if (type_.isArray(v)) {
+                    _types = [];
+                    for (var i = 0; i < v.length; ++i) {
+                        if (type_.isString(v[i])) {
+                            _types.push(v[i]);
+                        }
+                    }
+                } else if (type_.isString(v)) {
+                    _types = [];
+                    _types.push(v);
+                }
+            },
+            enumerable: true
+        },
+        label: {
+            get: function() {
+                return _label;
+            },
+            set: function(v) {
+                _label = converter_.toString(v, true);
+            },
+            enumerable: true
+        }
+    });
+
+    if (_editGuard.isEditEnabled()) {
+        for (var prop in arguments[0]) {
+            if (this.hasOwnProperty(prop)) {
+                this[prop] = arguments[0][prop];
+            }
+        }
     }
-  }
 };
 
 // class ContactPhoneNumber ////////////////////////////////////////////
 
 var ContactPhoneNumber = function(number, type, isDefault) {
-  validator_.isConstructorCall(this, ContactPhoneNumber);
-
-  var _isDefault = false;
-  var _number = '';
-  var _types = ['VOICE'];
+    validator_.isConstructorCall(this, ContactPhoneNumber);
 
-  if (type_.isString(number)) {
-    _number = number;
-  }
+    var _isDefault = false;
+    var _number = '';
+    var _types = ['VOICE'];
 
-  if (type_.isArray(type)) {
-    _types = [];
-    for (var i = 0; i < type.length; ++i) {
-      _types.push(converter_.toString(type[i], false));
+    if (type_.isString(number)) {
+        _number = number;
     }
-  } else if (type_.isString(type)) {
-    _types = [];
-    _types.push(type, false);
-  }
-
-  if (type_.isBoolean(isDefault)) {
-    _isDefault = isDefault;
-  }
-
-  Object.defineProperties(this, {
-    number: {
-      get: function() {
-        return _number;
-      },
-      set: function(v) {
-        _number = converter_.toString(v, false);
-      },
-      enumerable: true
-    },
-    isDefault: {
-      get: function() {
-        return _isDefault;
-      },
-      set: function(v) {
-        _isDefault = converter_.toBoolean(v, false);
-      },
-      enumerable: true
-    },
-    types: {
-      get: function() {
-        return _types;
-      },
-      set: function(v) {
-        if (type_.isArray(v)) {
-          _types = [];
-          for (var i = 0; i < v.length; ++i) {
-            _types.push(converter_.toString(v[i], false));
-          }
-        } else if (type_.isString(v)) {
-          _types = [];
-          _types.push(v, false);
+
+    if (type_.isArray(type)) {
+        _types = [];
+        for (var i = 0; i < type.length; ++i) {
+            _types.push(converter_.toString(type[i], false));
         }
-      },
-      enumerable: true
-    },
-    label: {
-      value: null,
-      writable: true,
-      enumerable: true
+    } else if (type_.isString(type)) {
+        _types = [];
+        _types.push(type, false);
     }
-  });
 
-  if (_editGuard.isEditEnabled()) {
-    for (var prop in arguments[0]) {
-      if (this.hasOwnProperty(prop)) {
-        this[prop] = arguments[0][prop];
-      }
+    if (type_.isBoolean(isDefault)) {
+        _isDefault = isDefault;
+    }
+
+    Object.defineProperties(this, {
+        number: {
+            get: function() {
+                return _number;
+            },
+            set: function(v) {
+                _number = converter_.toString(v, false);
+            },
+            enumerable: true
+        },
+        isDefault: {
+            get: function() {
+                return _isDefault;
+            },
+            set: function(v) {
+                _isDefault = converter_.toBoolean(v, false);
+            },
+            enumerable: true
+        },
+        types: {
+            get: function() {
+                return _types;
+            },
+            set: function(v) {
+                if (type_.isArray(v)) {
+                    _types = [];
+                    for (var i = 0; i < v.length; ++i) {
+                        _types.push(converter_.toString(v[i], false));
+                    }
+                } else if (type_.isString(v)) {
+                    _types = [];
+                    _types.push(v, false);
+                }
+            },
+            enumerable: true
+        },
+        label: {
+            value: null,
+            writable: true,
+            enumerable: true
+        }
+    });
+
+    if (_editGuard.isEditEnabled()) {
+        for (var prop in arguments[0]) {
+            if (this.hasOwnProperty(prop)) {
+                this[prop] = arguments[0][prop];
+            }
+        }
     }
-  }
 };
 
 // class ContactAddress ////////////////////////////////////////////////
 
 var ContactAddress = function(data) {
-  validator_.isConstructorCall(this, ContactAddress);
-
-  var _isDefault = false;
-  var _types = ['HOME'];
-
-  Object.defineProperties(this, {
-    country: {
-      value: null,
-      writable: true,
-      enumerable: true
-    },
-    region: {
-      value: null,
-      writable: true,
-      enumerable: true
-    },
-    city: {
-      value: null,
-      writable: true,
-      enumerable: true
-    },
-    streetAddress: {
-      value: null,
-      writable: true,
-      enumerable: true
-    },
-    additionalInformation: {
-      value: null,
-      writable: true,
-      enumerable: true
-    },
-    postalCode: {
-      value: null,
-      writable: true,
-      enumerable: true
-    },
-    isDefault: {
-      get: function() {
-        return _isDefault;
-      },
-      set: function(v) {
-        _isDefault = converter_.toBoolean(v, false);
-      },
-      enumerable: true
-    },
-    types: {
-      get: function() {
-        return _types;
-      },
-      set: function(v) {
-        if (type_.isString(v)) {
-          _types = [];
-          _types.push(v);
-        } else if (type_.isArray(v)) {
-          _types = [];
-          for (var i = 0; i < v.length; ++i) {
-            if (type_.isString(v[i])) {
-              _types.push(v[i]);
-            }
-          }
+    validator_.isConstructorCall(this, ContactAddress);
+
+    var _isDefault = false;
+    var _types = ['HOME'];
+
+    Object.defineProperties(this, {
+        country: {
+            value: null,
+            writable: true,
+            enumerable: true
+        },
+        region: {
+            value: null,
+            writable: true,
+            enumerable: true
+        },
+        city: {
+            value: null,
+            writable: true,
+            enumerable: true
+        },
+        streetAddress: {
+            value: null,
+            writable: true,
+            enumerable: true
+        },
+        additionalInformation: {
+            value: null,
+            writable: true,
+            enumerable: true
+        },
+        postalCode: {
+            value: null,
+            writable: true,
+            enumerable: true
+        },
+        isDefault: {
+            get: function() {
+                return _isDefault;
+            },
+            set: function(v) {
+                _isDefault = converter_.toBoolean(v, false);
+            },
+            enumerable: true
+        },
+        types: {
+            get: function() {
+                return _types;
+            },
+            set: function(v) {
+                if (type_.isString(v)) {
+                    _types = [];
+                    _types.push(v);
+                } else if (type_.isArray(v)) {
+                    _types = [];
+                    for (var i = 0; i < v.length; ++i) {
+                        if (type_.isString(v[i])) {
+                            _types.push(v[i]);
+                        }
+                    }
+                }
+            },
+            enumerable: true
+        },
+        label: {
+            value: null,
+            writable: true,
+            enumerable: true
         }
-      },
-      enumerable: true
-    },
-    label: {
-      value: null,
-      writable: true,
-      enumerable: true
-    }
-  });
+    });
 
-  if (type_.isObject(data)) {
-    for (var prop in data) {
-      if (this.hasOwnProperty(prop)) {
-        this[prop] = data[prop];
-      }
+    if (type_.isObject(data)) {
+        for (var prop in data) {
+            if (this.hasOwnProperty(prop)) {
+                this[prop] = data[prop];
+            }
+        }
     }
-  }
 };
 
 // class ContactAnniversary ////////////////////////////////////////////////
 
 var ContactAnniversary = function(anniversary_date, anniversary_label) {
-  validator_.isConstructorCall(this, ContactAnniversary);
-
-  var _anniversary_date = new Date();
-  var _anniversary_label = null;
-
-  Object.defineProperties(this, {
-    date: {
-      get: function() {
-        return _anniversary_date;
-      },
-      set: function(v) {
-        _anniversary_date = v instanceof Date ? v : new Date();
-      },
-      enumerable: true
-    },
-    label: {
-      get: function() {
-        return _anniversary_label;
-      },
-      set: function(v) {
-        _anniversary_label = converter_.toString(v, true);
-      },
-      enumerable: true
-    }
-  });
-
-  if (_editGuard.isEditEnabled()) {
-    _anniversary_date = _fromJsonDate(arguments[0].date);
-    _anniversary_label = arguments[0].label;
-  } else {
-    if (type_.isDate(anniversary_date)) {
-      _anniversary_date = anniversary_date;
-    }
-    if (type_.isString(anniversary_label)) {
-      _anniversary_label = anniversary_label;
+    validator_.isConstructorCall(this, ContactAnniversary);
+
+    var _anniversary_date = new Date();
+    var _anniversary_label = null;
+
+    Object.defineProperties(this, {
+        date: {
+            get: function() {
+                return _anniversary_date;
+            },
+            set: function(v) {
+                _anniversary_date = v instanceof Date ? v : new Date();
+            },
+            enumerable: true
+        },
+        label: {
+            get: function() {
+                return _anniversary_label;
+            },
+            set: function(v) {
+                _anniversary_label = converter_.toString(v, true);
+            },
+            enumerable: true
+        }
+    });
+
+    if (_editGuard.isEditEnabled()) {
+        _anniversary_date = _fromJsonDate(arguments[0].date);
+        _anniversary_label = arguments[0].label;
+    } else {
+        if (type_.isDate(anniversary_date)) {
+            _anniversary_date = anniversary_date;
+        }
+        if (type_.isString(anniversary_label)) {
+            _anniversary_label = anniversary_label;
+        }
     }
-  }
 };
 
 // class ContactWebSite ////////////////////////////////////////////////////
 
 var ContactWebSite = function(contact_url, contact_type) {
-  validator_.isConstructorCall(this, ContactWebSite);
-
-  var _url = '';
-  var _type = 'HOMEPAGE';
-
-  if (type_.isString(contact_url)) {
-    _url = contact_url;
-  }
-  if (type_.isString(contact_type)) {
-    _type = contact_type;
-  }
-
-  Object.defineProperties(this, {
-    url: {
-      get: function() {
-        return _url;
-      },
-      set: function(v) {
-        _url = converter_.toString(v, false);
-      },
-      enumerable: true
-    },
-    type: {
-      get: function() {
-        return _type;
-      },
-      set: function(v) {
-        _type = converter_.toString(v, false);
-      },
-      enumerable: true
+    validator_.isConstructorCall(this, ContactWebSite);
+
+    var _url = '';
+    var _type = 'HOMEPAGE';
+
+    if (type_.isString(contact_url)) {
+        _url = contact_url;
+    }
+    if (type_.isString(contact_type)) {
+        _type = contact_type;
     }
-  });
+
+    Object.defineProperties(this, {
+        url: {
+            get: function() {
+                return _url;
+            },
+            set: function(v) {
+                _url = converter_.toString(v, false);
+            },
+            enumerable: true
+        },
+        type: {
+            get: function() {
+                return _type;
+            },
+            set: function(v) {
+                _type = converter_.toString(v, false);
+            },
+            enumerable: true
+        }
+    });
 };
 
 // class ContactOrganization ///////////////////////////////////////////////
 
 var ContactOrganization = function(data) {
-  validator_.isConstructorCall(this, ContactOrganization);
-  Object.defineProperties(this, {
-    name: {
-      value: null,
-      writable: true,
-      enumerable: true
-    },
-    department: {
-      value: null,
-      writable: true,
-      enumerable: true
-    },
-    title: {
-      value: null,
-      writable: true,
-      enumerable: true
-    },
-    role: {
-      value: null,
-      writable: true,
-      enumerable: true
-    },
-    logoURI: {
-      value: null,
-      writable: true,
-      enumerable: true
-    }
-  });
+    validator_.isConstructorCall(this, ContactOrganization);
+    Object.defineProperties(this, {
+        name: {
+            value: null,
+            writable: true,
+            enumerable: true
+        },
+        department: {
+            value: null,
+            writable: true,
+            enumerable: true
+        },
+        title: {
+            value: null,
+            writable: true,
+            enumerable: true
+        },
+        role: {
+            value: null,
+            writable: true,
+            enumerable: true
+        },
+        logoURI: {
+            value: null,
+            writable: true,
+            enumerable: true
+        }
+    });
 
-  if (type_.isObject(data)) {
-    for (var prop in data) {
-      if (this.hasOwnProperty(prop)) {
-        this[prop] = data[prop];
-      }
+    if (type_.isObject(data)) {
+        for (var prop in data) {
+            if (this.hasOwnProperty(prop)) {
+                this[prop] = data[prop];
+            }
+        }
     }
-  }
 };
 
 // class ContactName ///////////////////////////////////////////////////////
 
 var ContactName = function(data) {
-  validator_.isConstructorCall(this, ContactName);
-
-  var _displayName = null;
-  var _nicknames = [];
-
-  Object.defineProperties(this, {
-    prefix: {
-      value: null,
-      writable: true,
-      enumerable: true
-    },
-    suffix: {
-      value: null,
-      writable: true,
-      enumerable: true
-    },
-    firstName: {
-      value: null,
-      writable: true,
-      enumerable: true
-    },
-    middleName: {
-      value: null,
-      writable: true,
-      enumerable: true
-    },
-    lastName: {
-      value: null,
-      writable: true,
-      enumerable: true
-    },
-    nicknames: {
-      get: function() {
-        return _nicknames;
-      },
-      set: function(nicknames) {
-        if (type_.isArray(nicknames)) {
-          _nicknames = nicknames;
-        }
-      },
-      enumerable: true
-    },
-    phoneticFirstName: {
-      value: null,
-      writable: true,
-      enumerable: true
-    },
-    phoneticMiddleName: {
-      value: null,
-      writable: true,
-      enumerable: true
-    },
-    phoneticLastName: {
-      value: null,
-      writable: true,
-      enumerable: true
-    },
-    displayName: {
-      get: function() {
-        return _displayName;
-      },
-      set: function(v) {
-        if (_editGuard.isEditEnabled()) {
-          _displayName = converter_.toString(v, true);
+    validator_.isConstructorCall(this, ContactName);
+
+    var _displayName = null;
+    var _nicknames = [];
+
+    Object.defineProperties(this, {
+        prefix: {
+            value: null,
+            writable: true,
+            enumerable: true
+        },
+        suffix: {
+            value: null,
+            writable: true,
+            enumerable: true
+        },
+        firstName: {
+            value: null,
+            writable: true,
+            enumerable: true
+        },
+        middleName: {
+            value: null,
+            writable: true,
+            enumerable: true
+        },
+        lastName: {
+            value: null,
+            writable: true,
+            enumerable: true
+        },
+        nicknames: {
+            get: function() {
+                return _nicknames;
+            },
+            set: function(nicknames) {
+                if (type_.isArray(nicknames)) {
+                    _nicknames = nicknames;
+                }
+            },
+            enumerable: true
+        },
+        phoneticFirstName: {
+            value: null,
+            writable: true,
+            enumerable: true
+        },
+        phoneticMiddleName: {
+            value: null,
+            writable: true,
+            enumerable: true
+        },
+        phoneticLastName: {
+            value: null,
+            writable: true,
+            enumerable: true
+        },
+        displayName: {
+            get: function() {
+                return _displayName;
+            },
+            set: function(v) {
+                if (_editGuard.isEditEnabled()) {
+                    _displayName = converter_.toString(v, true);
+                }
+            },
+            enumerable: true
         }
-      },
-      enumerable: true
-    }
-  });
+    });
 
-  if (type_.isObject(data)) {
-    for (var prop in data) {
-      if (this.hasOwnProperty(prop)) {
-        this[prop] = data[prop];
-      }
+    if (type_.isObject(data)) {
+        for (var prop in data) {
+            if (this.hasOwnProperty(prop)) {
+                this[prop] = data[prop];
+            }
+        }
     }
-  }
 };
 
 var ContactRelationship = function(relativeName, type) {
-  validator_.isConstructorCall(this, ContactRelationship);
-
-  var _relativeName = converter_.toString(relativeName, false);
-  var _type = type ? converter_.toEnum(type, Object.keys(ContactRelationshipType), false)
-            : ContactRelationshipType.OTHER;
-  var _label = null;
-
-  Object.defineProperties(this, {
-    relativeName: {
-      get: function () {
-        return _relativeName;
-      },
-      set: function (v) {
-        _relativeName = converter_.toString(v, false);
-      },
-      enumerable: true
-    },
-    type: {
-      get: function () {
-        return _type;
-      },
-      set: function (v) {
-        _type = v ? converter_.toEnum(v, Object.keys(ContactRelationshipType), false)
-                  : _type;
-      },
-      enumerable: true
-    },
-    label: {
-      get: function () {
-        return _label;
-      },
-      set: function (v) {
-        _label = converter_.toString(v, true);
-      },
-      enumerable: true
-    }
-  });
+    validator_.isConstructorCall(this, ContactRelationship);
+
+    var _relativeName = converter_.toString(relativeName, false);
+    var _type = type
+        ? converter_.toEnum(type, Object.keys(ContactRelationshipType), false)
+        : ContactRelationshipType.OTHER;
+    var _label = null;
+
+    Object.defineProperties(this, {
+        relativeName: {
+            get: function() {
+                return _relativeName;
+            },
+            set: function(v) {
+                _relativeName = converter_.toString(v, false);
+            },
+            enumerable: true
+        },
+        type: {
+            get: function() {
+                return _type;
+            },
+            set: function(v) {
+                _type = v
+                    ? converter_.toEnum(v, Object.keys(ContactRelationshipType), false)
+                    : _type;
+            },
+            enumerable: true
+        },
+        label: {
+            get: function() {
+                return _label;
+            },
+            set: function(v) {
+                _label = converter_.toString(v, true);
+            },
+            enumerable: true
+        }
+    });
 };
 
 var ContactExtension = function(data) {
-  validator_.isConstructorCall(this, ContactExtension);
-
-  var _data1 = 0;
-  var _data2 = null;
-  var _data3 = null;
-  var _data4 = null;
-  var _data5 = null;
-  var _data6 = null;
-  var _data7 = null;
-  var _data8 = null;
-  var _data9 = null;
-  var _data10 = null;
-  var _data11 = null;
-  var _data12 = null;
-
-  Object.defineProperties(this, {
-    data1: {
-      get: function () {
-        return _data1;
-      },
-      set: function (v) {
-        _data1 = converter_.toLong(v, false);
-      },
-      enumerable: true
-    },
-    data2: {
-      get: function () {
-        return _data2;
-      },
-      set: function (v) {
-        _data2 = converter_.toString(v, true);
-      },
-      enumerable: true
-    },
-    data3: {
-      get: function () {
-        return _data3;
-      },
-      set: function (v) {
-        _data3 = converter_.toString(v, true);
-      },
-      enumerable: true
-    },
-    data4: {
-      get: function () {
-        return _data4;
-      },
-      set: function (v) {
-        _data4 = converter_.toString(v, true);
-      },
-      enumerable: true
-    },
-    data5: {
-      get: function () {
-        return _data5;
-      },
-      set: function (v) {
-        _data5 = converter_.toString(v, true);
-      },
-      enumerable: true
-    },
-    data6: {
-      get: function () {
-        return _data6;
-      },
-      set: function (v) {
-        _data6 = converter_.toString(v, true);
-      },
-      enumerable: true
-    },
-    data7: {
-      get: function () {
-        return _data7;
-      },
-      set: function (v) {
-        _data7 = converter_.toString(v, true);
-      },
-      enumerable: true
-    },
-    data8: {
-      get: function () {
-        return _data8;
-      },
-      set: function (v) {
-        _data8 = converter_.toString(v, true);
-      },
-      enumerable: true
-    },
-    data9: {
-      get: function () {
-        return _data9;
-      },
-      set: function (v) {
-        _data9 = converter_.toString(v, true);
-      },
-      enumerable: true
-    },
-    data10: {
-      get: function () {
-        return _data10;
-      },
-      set: function (v) {
-        _data10 = converter_.toString(v, true);
-      },
-      enumerable: true
-    },
-    data11: {
-      get: function () {
-        return _data11;
-      },
-      set: function (v) {
-        _data11 = converter_.toString(v, true);
-      },
-      enumerable: true
-    },
-    data12: {
-      get: function () {
-        return _data12;
-      },
-      set: function (v) {
-        _data12 = converter_.toString(v, true);
-      },
-      enumerable: true
-    }
-  });
+    validator_.isConstructorCall(this, ContactExtension);
+
+    var _data1 = 0;
+    var _data2 = null;
+    var _data3 = null;
+    var _data4 = null;
+    var _data5 = null;
+    var _data6 = null;
+    var _data7 = null;
+    var _data8 = null;
+    var _data9 = null;
+    var _data10 = null;
+    var _data11 = null;
+    var _data12 = null;
+
+    Object.defineProperties(this, {
+        data1: {
+            get: function() {
+                return _data1;
+            },
+            set: function(v) {
+                _data1 = converter_.toLong(v, false);
+            },
+            enumerable: true
+        },
+        data2: {
+            get: function() {
+                return _data2;
+            },
+            set: function(v) {
+                _data2 = converter_.toString(v, true);
+            },
+            enumerable: true
+        },
+        data3: {
+            get: function() {
+                return _data3;
+            },
+            set: function(v) {
+                _data3 = converter_.toString(v, true);
+            },
+            enumerable: true
+        },
+        data4: {
+            get: function() {
+                return _data4;
+            },
+            set: function(v) {
+                _data4 = converter_.toString(v, true);
+            },
+            enumerable: true
+        },
+        data5: {
+            get: function() {
+                return _data5;
+            },
+            set: function(v) {
+                _data5 = converter_.toString(v, true);
+            },
+            enumerable: true
+        },
+        data6: {
+            get: function() {
+                return _data6;
+            },
+            set: function(v) {
+                _data6 = converter_.toString(v, true);
+            },
+            enumerable: true
+        },
+        data7: {
+            get: function() {
+                return _data7;
+            },
+            set: function(v) {
+                _data7 = converter_.toString(v, true);
+            },
+            enumerable: true
+        },
+        data8: {
+            get: function() {
+                return _data8;
+            },
+            set: function(v) {
+                _data8 = converter_.toString(v, true);
+            },
+            enumerable: true
+        },
+        data9: {
+            get: function() {
+                return _data9;
+            },
+            set: function(v) {
+                _data9 = converter_.toString(v, true);
+            },
+            enumerable: true
+        },
+        data10: {
+            get: function() {
+                return _data10;
+            },
+            set: function(v) {
+                _data10 = converter_.toString(v, true);
+            },
+            enumerable: true
+        },
+        data11: {
+            get: function() {
+                return _data11;
+            },
+            set: function(v) {
+                _data11 = converter_.toString(v, true);
+            },
+            enumerable: true
+        },
+        data12: {
+            get: function() {
+                return _data12;
+            },
+            set: function(v) {
+                _data12 = converter_.toString(v, true);
+            },
+            enumerable: true
+        }
+    });
 
-  if (type_.isObject(data)) {
-    for (var prop in data) {
-      if (this.hasOwnProperty(prop)) {
-        this[prop] = data[prop];
-      }
+    if (type_.isObject(data)) {
+        for (var prop in data) {
+            if (this.hasOwnProperty(prop)) {
+                this[prop] = data[prop];
+            }
+        }
     }
-  }
 };
 
 var ContactInstantMessenger = function(imAddress, type) {
-  validator_.isConstructorCall(this, ContactInstantMessenger);
-
-  var _imAddress = '';
-  var _type = 'OTHER';
-
-  Object.defineProperties(this, {
-    imAddress: {
-      get: function() {
-        return _imAddress;
-      },
-      set: function(v) {
-        if (type_.isNullOrUndefined(v)) {
-          return;
-        }
-        _imAddress = converter_.toString(v, false);
-      },
-      enumerable: true
-    },
-    type: {
-      get: function() {
-        return _type;
-      },
-      set: function(v) {
-        if (type_.isNullOrUndefined(v)) {
-          return;
+    validator_.isConstructorCall(this, ContactInstantMessenger);
+
+    var _imAddress = '';
+    var _type = 'OTHER';
+
+    Object.defineProperties(this, {
+        imAddress: {
+            get: function() {
+                return _imAddress;
+            },
+            set: function(v) {
+                if (type_.isNullOrUndefined(v)) {
+                    return;
+                }
+                _imAddress = converter_.toString(v, false);
+            },
+            enumerable: true
+        },
+        type: {
+            get: function() {
+                return _type;
+            },
+            set: function(v) {
+                if (type_.isNullOrUndefined(v)) {
+                    return;
+                }
+                _type = converter_.toEnum(
+                    v,
+                    Object.keys(ContactInstantMessengerType),
+                    false
+                );
+            },
+            enumerable: true
+        },
+        label: {
+            value: null,
+            writable: true,
+            enumerable: true
         }
-        _type = converter_.toEnum(v, Object.keys(ContactInstantMessengerType), false);
-      },
-      enumerable: true
-    },
-    label: {
-      value: null,
-      writable: true,
-      enumerable: true
-    }
-  });
+    });
 
-  this.imAddress = imAddress;
-  this.type = type;
+    this.imAddress = imAddress;
+    this.type = type;
 };
 
 // exports /////////////////////////////////////////////////////////////////
index 3b526442ce5b27a5b7b0a160e3cf9568bd73564e..78f0a1dd84aa80b5dd6dfd0606c54f3782230693 100755 (executable)
 var _personListenerRegistered = false;
 var _personCallbackMap = {};
 var _personChangeListener = function(result) {
-  for (var key in _personCallbackMap) {
-    if (_personCallbackMap.hasOwnProperty(key)) {
-      if (result.added.length) {
-        native_.callIfPossible(_personCallbackMap[key].onpersonsadded,
-            _promote(result.added, Person));
-      }
-      if (result.updated.length) {
-        native_.callIfPossible(_personCallbackMap[key].onpersonsupdated,
-            _promote(result.updated, Person));
-      }
-      if (result.removed.length) {
-        native_.callIfPossible(_personCallbackMap[key].onpersonsremoved,
-            result.removed);
-      }
+    for (var key in _personCallbackMap) {
+        if (_personCallbackMap.hasOwnProperty(key)) {
+            if (result.added.length) {
+                native_.callIfPossible(
+                    _personCallbackMap[key].onpersonsadded,
+                    _promote(result.added, Person)
+                );
+            }
+            if (result.updated.length) {
+                native_.callIfPossible(
+                    _personCallbackMap[key].onpersonsupdated,
+                    _promote(result.updated, Person)
+                );
+            }
+            if (result.removed.length) {
+                native_.callIfPossible(
+                    _personCallbackMap[key].onpersonsremoved,
+                    result.removed
+                );
+            }
+        }
     }
-  }
 };
 
-
 var ContactManager = function() {};
 
 // Gets the available address books
 ContactManager.prototype.getAddressBooks = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'successCallback',
-      type: types_.FUNCTION,
-      optional: false,
-      nullable: false
-    },
-    {
-      name: 'errorCallback',
-      type: types_.FUNCTION,
-      optional: true,
-      nullable: true
-    }
-  ]);
-
-  var callback = function(result) {
-    if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-    } else {
-      var books = native_.getResultObject(result);
-      var tmp = [];
-
-      books.forEach(function(data) {
-        return _editGuard.run(function() {
-          var addressBook = new AddressBook(result.accountId, result.name);
-          addressBook.id = data.id;
-          addressBook.name = data.name;
-          addressBook.readOnly = result.readOnly;
-
-          tmp.push(addressBook);
-        });
-      });
-
-      native_.callIfPossible(args.successCallback, tmp);
-    }
-  };
-
-  var result = native_.call('ContactManager_getAddressBooks', {}, callback);
-
-  _checkError(result);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: false,
+            nullable: false
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+        } else {
+            var books = native_.getResultObject(result);
+            var tmp = [];
+
+            books.forEach(function(data) {
+                return _editGuard.run(function() {
+                    var addressBook = new AddressBook(result.accountId, result.name);
+                    addressBook.id = data.id;
+                    addressBook.name = data.name;
+                    addressBook.readOnly = result.readOnly;
+
+                    tmp.push(addressBook);
+                });
+            });
+
+            native_.callIfPossible(args.successCallback, tmp);
+        }
+    };
+
+    var result = native_.call('ContactManager_getAddressBooks', {}, callback);
+
+    _checkError(result);
 };
 
 // Gets the aggregation of all address books.
 var ContactManager_getUnifiedAddressBook = function() {
-  utils_.checkPrivilegeAccess(privilege_.CONTACT_READ);
+    utils_.checkPrivilegeAccess(privilege_.CONTACT_READ);
 
-  return _editGuard.run(function() {
-    var addressBook = new AddressBook(0, 'Unified address book');
-    addressBook.id = UNIFIED_ADDRESSBOOK_ID;
-    addressBook.readOnly = false;
+    return _editGuard.run(function() {
+        var addressBook = new AddressBook(0, 'Unified address book');
+        addressBook.id = UNIFIED_ADDRESSBOOK_ID;
+        addressBook.readOnly = false;
 
-    return addressBook;
-  });
+        return addressBook;
+    });
 };
 
 ContactManager.prototype.getUnifiedAddressBook = function() {
-  return ContactManager_getUnifiedAddressBook.apply(this, arguments);
+    return ContactManager_getUnifiedAddressBook.apply(this, arguments);
 };
 
 // Gets the default address book.
 ContactManager.prototype.getDefaultAddressBook = function() {
-  //privileges are checked in getAddressBook function
-  return this.getAddressBook(DEFAULT_ADDRESSBOOK_ID);
+    //privileges are checked in getAddressBook function
+    return this.getAddressBook(DEFAULT_ADDRESSBOOK_ID);
 };
 
 // Gets the address book with the specified identifier.
 ContactManager.prototype.getAddressBook = function() {
-  var args = validator_.validateArgs(arguments, [{
-    name: 'addressBookId',
-    type: types_.STRING,
-    optional: false,
-    nullable: false
-  }]);
-
-  if (String(converter_.toLong(args.addressBookId)) !== args.addressBookId) {
-    // TCT: ContactManager_getAddressBook_addressBookId_invalid
-    throw new WebAPIException(WebAPIException.NOT_FOUND_ERR);
-  }
-
-  var result = native_.callSync('ContactManager_getAddressBook', {
-    addressBookId: args.addressBookId
-  });
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-
-  result = native_.getResultObject(result);
-
-  return _editGuard.run(function() {
-    var addressBook = new AddressBook(result.accountId, result.name);
-    addressBook.id = args.addressBookId;
-    addressBook.readOnly = result.readOnly;
-
-    return addressBook;
-  });
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'addressBookId',
+            type: types_.STRING,
+            optional: false,
+            nullable: false
+        }
+    ]);
+
+    if (String(converter_.toLong(args.addressBookId)) !== args.addressBookId) {
+        // TCT: ContactManager_getAddressBook_addressBookId_invalid
+        throw new WebAPIException(WebAPIException.NOT_FOUND_ERR);
+    }
+
+    var result = native_.callSync('ContactManager_getAddressBook', {
+        addressBookId: args.addressBookId
+    });
+
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+
+    result = native_.getResultObject(result);
+
+    return _editGuard.run(function() {
+        var addressBook = new AddressBook(result.accountId, result.name);
+        addressBook.id = args.addressBookId;
+        addressBook.readOnly = result.readOnly;
+
+        return addressBook;
+    });
 };
 
 ContactManager.prototype.addAddressBook = function() {
-  var args = validator_.validateArgs(arguments, [{
-    name: 'addressBook',
-    type: types_.PLATFORM_OBJECT,
-    values: tizen.AddressBook,
-    optional: false,
-    nullable: false
-  }]);
-
-  var result = native_.callSync('ContactManager_addAddressBook', {
-    addressBook: args.addressBook
-  });
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-
-  var data = native_.getResultObject(result);
-  _editGuard.run(function() {
-    for (var prop in data) {
-      if (args.addressBook.hasOwnProperty(prop)) {
-        args.addressBook[prop] = data[prop];
-      }
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'addressBook',
+            type: types_.PLATFORM_OBJECT,
+            values: tizen.AddressBook,
+            optional: false,
+            nullable: false
+        }
+    ]);
+
+    var result = native_.callSync('ContactManager_addAddressBook', {
+        addressBook: args.addressBook
+    });
+
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
     }
-  });
+
+    var data = native_.getResultObject(result);
+    _editGuard.run(function() {
+        for (var prop in data) {
+            if (args.addressBook.hasOwnProperty(prop)) {
+                args.addressBook[prop] = data[prop];
+            }
+        }
+    });
 };
 
 ContactManager.prototype.removeAddressBook = function() {
-  // TCT: ContactManager_removeAddressBook_misarg
-  if (type_.isNullOrUndefined(arguments[0])) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
-  }
-
-  var args = validator_.validateArgs(arguments, [{
-    name: 'addressBookId',
-    type: types_.STRING,
-    optional: false,
-    nullable: false
-  }]);
-
-  if (args.addressBookId === UNIFIED_ADDRESSBOOK_ID) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-        'Unified address book can not be deleted');
-  }
-
-  if (args.addressBookId === DEFAULT_ADDRESSBOOK_ID) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-        'Default address book can not be deleted');
-  }
-
-  var result = native_.callSync('ContactManager_removeAddressBook', {
-    addressBookId: args.addressBookId
-  });
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    // TCT: ContactManager_removeAddressBook_misarg
+    if (type_.isNullOrUndefined(arguments[0])) {
+        throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
+    }
+
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'addressBookId',
+            type: types_.STRING,
+            optional: false,
+            nullable: false
+        }
+    ]);
+
+    if (args.addressBookId === UNIFIED_ADDRESSBOOK_ID) {
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'Unified address book can not be deleted'
+        );
+    }
+
+    if (args.addressBookId === DEFAULT_ADDRESSBOOK_ID) {
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'Default address book can not be deleted'
+        );
+    }
+
+    var result = native_.callSync('ContactManager_removeAddressBook', {
+        addressBookId: args.addressBookId
+    });
+
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
 // Gets the person with the specified identifier.
 ContactManager.prototype.get = function() {
-  // validation
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'personId',
-      type: types_.STRING,
-      optional: false,
-      nullable: false
+    // validation
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'personId',
+            type: types_.STRING,
+            optional: false,
+            nullable: false
+        }
+    ]);
+
+    if (String(converter_.toLong(args.personId)) !== args.personId) {
+        // TCT: ContactManager_get_personId_invalid
+        throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
     }
-  ]);
 
-  if (String(converter_.toLong(args.personId)) !== args.personId) {
-    // TCT: ContactManager_get_personId_invalid
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
-  }
+    var result = native_.callSync('ContactManager_get', {
+        personId: args.personId
+    });
+    _checkError(result);
 
-  var result = native_.callSync('ContactManager_get', {
-    personId: args.personId
-  });
-  _checkError(result);
-
-  return _editGuard.run(function() {
-    return new Person(native_.getResultObject(result));
-  });
+    return _editGuard.run(function() {
+        return new Person(native_.getResultObject(result));
+    });
 };
 
 // Updates a person in the address book synchronously.
 var ContactManagerUpdate = function() {
-  // validation
-  var args = validator_.validateArgs(arguments, [{
-    name: 'person',
-    type: types_.PLATFORM_OBJECT,
-    values: Person,
-    optional: false,
-    nullable: false
-  }]);
-  var result = native_.callSync('ContactManager_update', { person: args.person });
-  _checkError(result);
-
-  result = native_.getResultObject(result);
-  for (var prop in result) {
-    if (args.person.hasOwnProperty(prop)) {
-      args.person[prop] = result[prop];
+    // validation
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'person',
+            type: types_.PLATFORM_OBJECT,
+            values: Person,
+            optional: false,
+            nullable: false
+        }
+    ]);
+    var result = native_.callSync('ContactManager_update', { person: args.person });
+    _checkError(result);
+
+    result = native_.getResultObject(result);
+    for (var prop in result) {
+        if (args.person.hasOwnProperty(prop)) {
+            args.person[prop] = result[prop];
+        }
     }
-  }
 };
 
 ContactManager.prototype.update = function() {
-  ContactManagerUpdate.apply(this, arguments);
+    ContactManagerUpdate.apply(this, arguments);
 };
 
 // Updates several existing persons in the contact DB asynchronously.
 ContactManager.prototype.updateBatch = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'persons',
-      type: types_.ARRAY,
-      values: Person,
-      optional: false,
-      nullable: false
-    },
-    {
-      name: 'successCallback',
-      type: types_.FUNCTION,
-      optional: true,
-      nullable: true
-    },
-    {
-      name: 'errorCallback',
-      type: types_.FUNCTION,
-      optional: true,
-      nullable: true
-    }
-  ]);
-
-  var callback = function(result) {
-    if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      return;
-    }
-
-    native_.callIfPossible(args.successCallback);
-  };
-
-  var result = native_.call('ContactManager_updateBatch', {
-    addressBook: {},
-    batchArgs: _toJsonObject(args.persons)
-  }, callback);
-
-  _checkError(result);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'persons',
+            type: types_.ARRAY,
+            values: Person,
+            optional: false,
+            nullable: false
+        },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+            return;
+        }
+
+        native_.callIfPossible(args.successCallback);
+    };
+
+    var result = native_.call(
+        'ContactManager_updateBatch',
+        {
+            addressBook: {},
+            batchArgs: _toJsonObject(args.persons)
+        },
+        callback
+    );
+
+    _checkError(result);
 };
 
 // Removes a person from the contact DB synchronously.
 ContactManager.prototype.remove = function() {
-  // validation
-  var args = validator_.validateArgs(arguments, [{
-    name: 'personId',
-    type: types_.STRING,
-    optional: false,
-    nullable: false
-  }]);
-
-  if (String(converter_.toLong(args.personId)) !== args.personId) {
-    // TCT: ContactManager_remove_personId_invalid
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
-  }
-
-  var result = native_.callSync('ContactManager_remove', {personId: args.personId});
-  _checkError(result);
+    // validation
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'personId',
+            type: types_.STRING,
+            optional: false,
+            nullable: false
+        }
+    ]);
+
+    if (String(converter_.toLong(args.personId)) !== args.personId) {
+        // TCT: ContactManager_remove_personId_invalid
+        throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
+    }
+
+    var result = native_.callSync('ContactManager_remove', { personId: args.personId });
+    _checkError(result);
 };
 
 // Removes persons from contact DB asynchronously.
 ContactManager.prototype.removeBatch = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'personIds',
-      type: types_.ARRAY,
-      values: types_.STRING,
-      optional: false,
-      nullable: false
-    },
-    {
-      name: 'successCallback',
-      type: types_.FUNCTION,
-      optional: true,
-      nullable: true
-    },
-    {
-      name: 'errorCallback',
-      type: types_.FUNCTION,
-      optional: true,
-      nullable: true
-    }
-  ]);
-
-  var callback = function(result) {
-    if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      return;
-    }
-
-    native_.callIfPossible(args.successCallback);
-  };
-
-  var result = native_.call('ContactManager_removeBatch', {
-    addressBook: {},
-    batchArgs: _toJsonObject(args.personIds)
-  }, callback);
-
-  _checkError(result);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'personIds',
+            type: types_.ARRAY,
+            values: types_.STRING,
+            optional: false,
+            nullable: false
+        },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+            return;
+        }
+
+        native_.callIfPossible(args.successCallback);
+    };
+
+    var result = native_.call(
+        'ContactManager_removeBatch',
+        {
+            addressBook: {},
+            batchArgs: _toJsonObject(args.personIds)
+        },
+        callback
+    );
+
+    _checkError(result);
 };
 
 // Gets an array of all Person objects from the contact DB or the ones that match the
 // optionally supplied filter.
 ContactManager.prototype.find = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'successCallback',
-      type: types_.FUNCTION,
-      optional: false,
-      nullable: false
-    },
-    {
-      name: 'errorCallback',
-      type: types_.FUNCTION,
-      optional: true,
-      nullable: true
-    },
-    {
-      name: 'filter',
-      type: types_.PLATFORM_OBJECT,
-      values: [tizen.AttributeFilter,
-        tizen.AttributeRangeFilter,
-        tizen.CompositeFilter],
-      optional: true,
-      nullable: true
-    },
-    {
-      name: 'sortMode',
-      type: types_.PLATFORM_OBJECT,
-      values: tizen.SortMode,
-      optional: true,
-      nullable: true
-    }
-  ]);
-
-  var data = {
-    filter: utils_.repackFilter(args.filter),
-    sortMode: args.sortMode
-  };
-
-  var self = this;
-
-  var callback = function(result) {
-    if (native_.isSuccess(result)) {
-      var _result = native_.getResultObject(result);
-      var retval = [];
-      for (var i = 0; i < _result.length; ++i) {
-        var person = _editGuard.run(function() {
-          return new Person(_result[i]);
-        });
-        retval.push(person);
-      }
-      args.successCallback(retval);
-    } else {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-    }
-  };
-
-  var result = native_.call('ContactManager_find', data, callback);
-
-  _checkError(result);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: false,
+            nullable: false
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'filter',
+            type: types_.PLATFORM_OBJECT,
+            values: [
+                tizen.AttributeFilter,
+                tizen.AttributeRangeFilter,
+                tizen.CompositeFilter
+            ],
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'sortMode',
+            type: types_.PLATFORM_OBJECT,
+            values: tizen.SortMode,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var data = {
+        filter: utils_.repackFilter(args.filter),
+        sortMode: args.sortMode
+    };
+
+    var self = this;
+
+    var callback = function(result) {
+        if (native_.isSuccess(result)) {
+            var _result = native_.getResultObject(result);
+            var retval = [];
+            for (var i = 0; i < _result.length; ++i) {
+                var person = _editGuard.run(function() {
+                    return new Person(_result[i]);
+                });
+                retval.push(person);
+            }
+            args.successCallback(retval);
+        } else {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+        }
+    };
+
+    var result = native_.call('ContactManager_find', data, callback);
+
+    _checkError(result);
 };
 
 ContactManager.prototype.findByUsageCount = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'filter',
-      type: types_.PLATFORM_OBJECT,
-      values: [tizen.AttributeFilter,
-        tizen.AttributeRangeFilter],
-        optional: false,
-        nullable: false
-    },
-    {
-      name: 'successCallback',
-      type: types_.FUNCTION,
-      optional: false,
-      nullable: false
-    },
-    {
-      name: 'errorCallback',
-      type: types_.FUNCTION,
-      optional: true,
-      nullable: true
-    },
-    {
-      name: 'sortModeOrder',
-      type: types_.ENUM,
-      values: ['ASC', 'DESC'],
-      optional: true,
-      nullable: true
-    },
-    {
-      name: 'limit',
-      type: types_.UNSIGNED_LONG,
-      optional: true,
-      nullable: true
-    },
-    {
-      name: 'offset',
-      type: types_.UNSIGNED_LONG,
-      optional: true,
-      nullable: true
-    }
-  ]);
-
-  var data = {
-    filter: utils_.repackFilter(args.filter),
-    sortModeOrder: args.sortModeOrder,
-    limit: args.limit,
-    offset: args.offset
-  };
-
-  var self = this;
-
-  var callback = function(result) {
-    if (native_.isSuccess(result)) {
-      var _result = native_.getResultObject(result);
-      var retval = [];
-      for (var i = 0; i < _result.length; ++i) {
-        var person = _editGuard.run(function() {
-          return new Person(_result[i]);
-        });
-        retval.push(person);
-      }
-      args.successCallback(retval);
-    } else {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-    }
-  };
-
-  var result = native_.call('ContactManager_findByUsageCount', data, callback);
-
-  _checkError(result);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'filter',
+            type: types_.PLATFORM_OBJECT,
+            values: [tizen.AttributeFilter, tizen.AttributeRangeFilter],
+            optional: false,
+            nullable: false
+        },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: false,
+            nullable: false
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'sortModeOrder',
+            type: types_.ENUM,
+            values: ['ASC', 'DESC'],
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'limit',
+            type: types_.UNSIGNED_LONG,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'offset',
+            type: types_.UNSIGNED_LONG,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var data = {
+        filter: utils_.repackFilter(args.filter),
+        sortModeOrder: args.sortModeOrder,
+        limit: args.limit,
+        offset: args.offset
+    };
+
+    var self = this;
+
+    var callback = function(result) {
+        if (native_.isSuccess(result)) {
+            var _result = native_.getResultObject(result);
+            var retval = [];
+            for (var i = 0; i < _result.length; ++i) {
+                var person = _editGuard.run(function() {
+                    return new Person(_result[i]);
+                });
+                retval.push(person);
+            }
+            args.successCallback(retval);
+        } else {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+        }
+    };
+
+    var result = native_.call('ContactManager_findByUsageCount', data, callback);
+
+    _checkError(result);
 };
 
 // Subscribes to receive notifications about persons' changes.
 ContactManager.prototype.addChangeListener = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'successCallback',
-      type: types_.LISTENER,
-      values: ['onpersonsadded', 'onpersonsupdated', 'onpersonsremoved'],
-      optional: false,
-      nullable: false
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'successCallback',
+            type: types_.LISTENER,
+            values: ['onpersonsadded', 'onpersonsupdated', 'onpersonsremoved'],
+            optional: false,
+            nullable: false
+        }
+    ]);
+
+    if (type_.isEmptyObject(_personCallbackMap)) {
+        var result = native_.callSync('ContactManager_startListening', {});
+
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
     }
-  ]);
-
-  if (type_.isEmptyObject(_personCallbackMap)) {
-    var result = native_.callSync('ContactManager_startListening', {});
 
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+    if (!_personListenerRegistered) {
+        native_.addListener('ContactPersonChangeListener', _personChangeListener);
+        _personListenerRegistered = true;
     }
-  }
-
-  if (!_personListenerRegistered) {
-    native_.addListener('ContactPersonChangeListener', _personChangeListener);
-    _personListenerRegistered = true;
-  }
 
-  var currentWatchId = _getNextWatchId();
+    var currentWatchId = _getNextWatchId();
 
-  _personCallbackMap[currentWatchId] = args.successCallback;
+    _personCallbackMap[currentWatchId] = args.successCallback;
 
-  return currentWatchId;
+    return currentWatchId;
 };
 
 // Unsubscribes a persons' changes watch operation.
 var ContactManager_removeChangeListener = function() {
-  if (type_.isEmptyObject(_personCallbackMap)) {
-    utils_.checkPrivilegeAccess(privilege_.CONTACT_READ);
-  }
-
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'watchId',
-      type: types_.LONG,
-      optional: false,
-      nullable: false
+    if (type_.isEmptyObject(_personCallbackMap)) {
+        utils_.checkPrivilegeAccess(privilege_.CONTACT_READ);
     }
-  ]);
 
-  // This makes UTC_contact_removeChangeListenerPerson_N_001 pass.
-  // watch id's start at 1
-  if (args.watchId === 0) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-      'id is null or undefined');
-  }
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'watchId',
+            type: types_.LONG,
+            optional: false,
+            nullable: false
+        }
+    ]);
+
+    // This makes UTC_contact_removeChangeListenerPerson_N_001 pass.
+    // watch id's start at 1
+    if (args.watchId === 0) {
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'id is null or undefined'
+        );
+    }
 
-  if (args.watchId < 0) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-        'Negative watch id');
-  }
+    if (args.watchId < 0) {
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'Negative watch id'
+        );
+    }
 
-  if (!_personCallbackMap.hasOwnProperty(args.watchId)) {
-    throw new WebAPIException(WebAPIException.NOT_FOUND_ERR,
-        'watch id not found');
-  }
+    if (!_personCallbackMap.hasOwnProperty(args.watchId)) {
+        throw new WebAPIException(WebAPIException.NOT_FOUND_ERR, 'watch id not found');
+    }
 
-  delete _personCallbackMap[args.watchId];
+    delete _personCallbackMap[args.watchId];
 
-  if (type_.isEmptyObject(_personCallbackMap)) {
-    native_.removeListener('ContactPersonChangeListener', _personChangeListener);
-    _personListenerRegistered = false;
+    if (type_.isEmptyObject(_personCallbackMap)) {
+        native_.removeListener('ContactPersonChangeListener', _personChangeListener);
+        _personListenerRegistered = false;
 
-    var result = native_.callSync('ContactManager_stopListening', {});
+        var result = native_.callSync('ContactManager_stopListening', {});
 
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
     }
-  }
 };
 
 ContactManager.prototype.removeChangeListener = function() {
-  ContactManager_removeChangeListener.apply(this, arguments);
+    ContactManager_removeChangeListener.apply(this, arguments);
 };
 
 // exports /////////////////////////////////////////////////////////////////
index e0609f5d9e5d66e555d1f4a65ad5386d2534511b..16072c14c8865973a5bb9792b289be8d5f649fc3 100755 (executable)
  */
 
 var Person = function(data) {
-  validator_.isConstructorCall(this, Person);
-
-  var _id = '';
-  var _displayName = '';
-  var _contactCount = 0;
-  var _hasPhoneNumber = false;
-  var _hasEmail = false;
-  var _isFavorite = false;
-  var _displayContactId = '';
-
-  if (data.hasOwnProperty('id') && type_.isString(data.id)) {
-    _id = data.id;
-  }
-  if (data.hasOwnProperty('displayName') && type_.isString(data.displayName)) {
-    _displayName = data.displayName;
-  }
-  if (data.hasOwnProperty('contactCount') && type_.isNumber(data.contactCount)) {
-    _contactCount = data.contactCount;
-  }
-  if (data.hasOwnProperty('hasPhoneNumber') && type_.isBoolean(data.hasPhoneNumber)) {
-    _hasPhoneNumber = data.hasPhoneNumber;
-  }
-  if (data.hasOwnProperty('hasEmail') && type_.isBoolean(data.hasEmail)) {
-    _hasEmail = data.hasEmail;
-  }
-  if (data.hasOwnProperty('displayContactId') && type_.isString(data.displayContactId)) {
-    _displayContactId = data.displayContactId;
-  }
-  if (data.hasOwnProperty('isFavorite') && type_.isBoolean(data.isFavorite)) {
-    _isFavorite = data.isFavorite;
-  }
-
-  Object.defineProperties(this, {
-    id: {
-      get: function() {
-        return _id;
-      },
-      set: function(v) {
-        if (_editGuard.isEditEnabled()) {
-          _id = converter_.toString(v, false);
-        }
-      },
-      enumerable: true
-    },
-    displayName: {
-      get: function() {
-        return _displayName;
-      },
-      set: function(v) {
-        if (_editGuard.isEditEnabled()) {
-          _displayName = converter_.toString(v, false);
-        }
-      },
-      enumerable: true
-    },
-    contactCount: {
-      get: function() {
-        return _contactCount;
-      },
-      set: function(v) {
-        if (_editGuard.isEditEnabled()) {
-          _contactCount = converter_.toLong(v, false);
-        }
-      },
-      enumerable: true
-    },
-    hasPhoneNumber: {
-      get: function() {
-        return _hasPhoneNumber;
-      },
-      set: function(v) {
-        if (_editGuard.isEditEnabled()) {
-          _hasPhoneNumber = converter_.toBoolean(v, false);
-        }
-      },
-      enumerable: true
-    },
-    hasEmail: {
-      get: function() {
-        return _hasEmail;
-      },
-      set: function(v) {
-        if (_editGuard.isEditEnabled()) {
-          _hasEmail = converter_.toBoolean(v, false);
-        }
-      },
-      enumerable: true
-    },
-
-    isFavorite: {
-      get: function() {
-        return _isFavorite;
-      },
-      set: function(v) {
-        _isFavorite = converter_.toBoolean(v, false);
-      },
-      enumerable: true
-    },
-    photoURI: {
-      value: data.hasOwnProperty('photoURI') ? data.photoURI : null,
-      writable: true,
-      enumerable: true
-    },
-    ringtoneURI: {
-      value: data.hasOwnProperty('ringtoneURI') ? data.ringtoneURI : null,
-      writable: true,
-      enumerable: true
-    },
-    displayContactId: {
-      get: function() {
-        return _displayContactId;
-      },
-      set: function(v) {
-        _displayContactId = converter_.toString(v, false);
-      },
-      enumerable: true
+    validator_.isConstructorCall(this, Person);
+
+    var _id = '';
+    var _displayName = '';
+    var _contactCount = 0;
+    var _hasPhoneNumber = false;
+    var _hasEmail = false;
+    var _isFavorite = false;
+    var _displayContactId = '';
+
+    if (data.hasOwnProperty('id') && type_.isString(data.id)) {
+        _id = data.id;
+    }
+    if (data.hasOwnProperty('displayName') && type_.isString(data.displayName)) {
+        _displayName = data.displayName;
+    }
+    if (data.hasOwnProperty('contactCount') && type_.isNumber(data.contactCount)) {
+        _contactCount = data.contactCount;
+    }
+    if (data.hasOwnProperty('hasPhoneNumber') && type_.isBoolean(data.hasPhoneNumber)) {
+        _hasPhoneNumber = data.hasPhoneNumber;
     }
-  });
+    if (data.hasOwnProperty('hasEmail') && type_.isBoolean(data.hasEmail)) {
+        _hasEmail = data.hasEmail;
+    }
+    if (
+        data.hasOwnProperty('displayContactId') &&
+        type_.isString(data.displayContactId)
+    ) {
+        _displayContactId = data.displayContactId;
+    }
+    if (data.hasOwnProperty('isFavorite') && type_.isBoolean(data.isFavorite)) {
+        _isFavorite = data.isFavorite;
+    }
+
+    Object.defineProperties(this, {
+        id: {
+            get: function() {
+                return _id;
+            },
+            set: function(v) {
+                if (_editGuard.isEditEnabled()) {
+                    _id = converter_.toString(v, false);
+                }
+            },
+            enumerable: true
+        },
+        displayName: {
+            get: function() {
+                return _displayName;
+            },
+            set: function(v) {
+                if (_editGuard.isEditEnabled()) {
+                    _displayName = converter_.toString(v, false);
+                }
+            },
+            enumerable: true
+        },
+        contactCount: {
+            get: function() {
+                return _contactCount;
+            },
+            set: function(v) {
+                if (_editGuard.isEditEnabled()) {
+                    _contactCount = converter_.toLong(v, false);
+                }
+            },
+            enumerable: true
+        },
+        hasPhoneNumber: {
+            get: function() {
+                return _hasPhoneNumber;
+            },
+            set: function(v) {
+                if (_editGuard.isEditEnabled()) {
+                    _hasPhoneNumber = converter_.toBoolean(v, false);
+                }
+            },
+            enumerable: true
+        },
+        hasEmail: {
+            get: function() {
+                return _hasEmail;
+            },
+            set: function(v) {
+                if (_editGuard.isEditEnabled()) {
+                    _hasEmail = converter_.toBoolean(v, false);
+                }
+            },
+            enumerable: true
+        },
+
+        isFavorite: {
+            get: function() {
+                return _isFavorite;
+            },
+            set: function(v) {
+                _isFavorite = converter_.toBoolean(v, false);
+            },
+            enumerable: true
+        },
+        photoURI: {
+            value: data.hasOwnProperty('photoURI') ? data.photoURI : null,
+            writable: true,
+            enumerable: true
+        },
+        ringtoneURI: {
+            value: data.hasOwnProperty('ringtoneURI') ? data.ringtoneURI : null,
+            writable: true,
+            enumerable: true
+        },
+        displayContactId: {
+            get: function() {
+                return _displayContactId;
+            },
+            set: function(v) {
+                _displayContactId = converter_.toString(v, false);
+            },
+            enumerable: true
+        }
+    });
 };
 
 // Aggregates another person to this person.
 Person.prototype.link = function() {
-  var args = validator_.validateArgs(arguments, [{
-    name: 'personId',
-    type: types_.STRING,
-    optional: false,
-    nullable: false
-  }]);
-
-  if (String(converter_.toLong(args.personId)) !== args.personId) {
-    // TCT: Person_link_personId_invalid
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
-  }
-
-  var result = native_.callSync('Person_link', {
-    personId: this.id,
-    id: args.personId
-  });
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-  var _this = this;
-  _editGuard.run(function() {
-    _this.contactCount = _this.contactCount + 1;
-  });
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'personId',
+            type: types_.STRING,
+            optional: false,
+            nullable: false
+        }
+    ]);
+
+    if (String(converter_.toLong(args.personId)) !== args.personId) {
+        // TCT: Person_link_personId_invalid
+        throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
+    }
+
+    var result = native_.callSync('Person_link', {
+        personId: this.id,
+        id: args.personId
+    });
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+    var _this = this;
+    _editGuard.run(function() {
+        _this.contactCount = _this.contactCount + 1;
+    });
 };
 
 // Separates a contact from this person.
 Person.prototype.unlink = function(contactId) {
-  var args = validator_.validateArgs(arguments, [{
-    name: 'contactId',
-    type: types_.STRING,
-    optional: false,
-    nullable: false
-  }]);
-
-  if (String(converter_.toLong(args.contactId)) !== args.contactId) {
-    // TCT: Person_unlink_contactId_invalid
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
-  }
-
-  var result = native_.callSync('Person_unlink', {
-    personId: this.id,
-    id: args.contactId
-  });
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-  var _this = this;
-  return _editGuard.run(function() {
-    _this.contactCount = _this.contactCount - 1;
-    return new Person(native_.getResultObject(result));
-  });
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'contactId',
+            type: types_.STRING,
+            optional: false,
+            nullable: false
+        }
+    ]);
+
+    if (String(converter_.toLong(args.contactId)) !== args.contactId) {
+        // TCT: Person_unlink_contactId_invalid
+        throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
+    }
+
+    var result = native_.callSync('Person_unlink', {
+        personId: this.id,
+        id: args.contactId
+    });
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+    var _this = this;
+    return _editGuard.run(function() {
+        _this.contactCount = _this.contactCount - 1;
+        return new Person(native_.getResultObject(result));
+    });
 };
 
 // Gets person's usage count
 Person.prototype.getUsageCount = function() {
-  // validation
-  var args = validator_.validateArgs(arguments, [
-  {
-    name: 'usage_type',
-    type: types_.ENUM,
-    values: Object.keys(PersonUsageTypeEnum),
-    optional: true,
-    nullable: true
-  }]);
-
-  var usage_type = (args.usage_type === undefined ? null : args.usage_type);
-
-  var result = native_.callSync('Person_getUsageCount', { personId: this.id, usage_type: usage_type });
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-  var res = native_.getResultObject(result);
-  return Number(res.usageCount);
+    // validation
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'usage_type',
+            type: types_.ENUM,
+            values: Object.keys(PersonUsageTypeEnum),
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var usage_type = args.usage_type === undefined ? null : args.usage_type;
+
+    var result = native_.callSync('Person_getUsageCount', {
+        personId: this.id,
+        usage_type: usage_type
+    });
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+    var res = native_.getResultObject(result);
+    return Number(res.usageCount);
 };
 
 // Resets a person's usageCount from the contact DB synchronously.
 Person.prototype.resetUsageCount = function() {
-// validation
-   var args = validator_.validateArgs(arguments, [{
-   name: 'usage_type',
-   type: types_.ENUM,
-   values: Object.keys(PersonUsageTypeEnum),
-   optional: true,
-   nullable: true
-  }]);
-
-  var usage_type = (args.usage_type === undefined ? null : args.usage_type);
-
-  var result = native_.callSync('Person_resetUsageCount', { personId: this.id, usage_type: usage_type });
-  _checkError(result);
+    // validation
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'usage_type',
+            type: types_.ENUM,
+            values: Object.keys(PersonUsageTypeEnum),
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var usage_type = args.usage_type === undefined ? null : args.usage_type;
+
+    var result = native_.callSync('Person_resetUsageCount', {
+        personId: this.id,
+        usage_type: usage_type
+    });
+    _checkError(result);
 };
index e60816bbde457a6981121d31a573624e151c437a..4c55df55e61deee54a80a915bfefdbce9cbf7104 100755 (executable)
@@ -13,7 +13,7 @@
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
+
 var utils_ = xwalk.utils;
 var type_ = utils_.type;
 var converter_ = utils_.converter;
@@ -22,15 +22,15 @@ var types_ = validator_.Types;
 var native_ = new xwalk.utils.NativeManager(extension);
 
 var EditManager = function() {
-  this.isAllowed = false;
+    this.isAllowed = false;
 };
 
 EditManager.prototype.allow = function() {
-  this.isAllowed = true;
+    this.isAllowed = true;
 };
 
 EditManager.prototype.disallow = function() {
-  this.isAllowed = false;
+    this.isAllowed = false;
 };
 
 var edit_ = new EditManager();
@@ -38,45 +38,48 @@ var edit_ = new EditManager();
 var SCHEMA = 'file://';
 
 function createContentObject_(data) {
-  var content;
-  switch (data.type) {
+    var content;
+    switch (data.type) {
     case ContentType.IMAGE:
-      content = new ImageContent(data);
-      break;
+        content = new ImageContent(data);
+        break;
     case ContentType.AUDIO:
         content = new AudioContent(data);
-      break;
+        break;
     case ContentType.VIDEO:
-      content = new VideoContent(data);
-      break;
+        content = new VideoContent(data);
+        break;
     case ContentType.OTHER:
-      content = new Content(data);
-      break;
+        content = new Content(data);
+        break;
     default:
-      throw new WebAPIException(WebAPIException.UNKNOWN_ERR, 'Undefined content type');
-  }
-  // below constructor overwriting is needed because of backward compatibility
-  var object = {};
-  content.constructor = object.constructor;
-  return content;
+        throw new WebAPIException(
+            WebAPIException.UNKNOWN_ERR,
+            'Undefined content type'
+        );
+    }
+    // below constructor overwriting is needed because of backward compatibility
+    var object = {};
+    content.constructor = object.constructor;
+    return content;
 }
 
 function createContentDirObject_(data) {
-  return new ContentDirectory(data);
+    return new ContentDirectory(data);
 }
 
 function convertUriToPath_(uri) {
-  if (0 === uri.indexOf(SCHEMA)) {
-    return uri.substring(SCHEMA.length);
-  }
+    if (0 === uri.indexOf(SCHEMA)) {
+        return uri.substring(SCHEMA.length);
+    }
 
-  return uri;
+    return uri;
 }
 
 function convertPathToUri_(path) {
-  if (0 === path.indexOf(SCHEMA)) {
-    return path;
-  }
+    if (0 === path.indexOf(SCHEMA)) {
+        return path;
+    }
 
-  return SCHEMA + path;
+    return SCHEMA + path;
 }
index 5f28dc599145577b0c2f79f77891537154b777ae..1f8ec4356d12877daf60b9e9e6071fd0b76fcb4d 100755 (executable)
  */
 
 var ContentDirectoryStorageType = {
-  INTERNAL: 'INTERNAL',
-  EXTERNAL: 'EXTERNAL'
+    INTERNAL: 'INTERNAL',
+    EXTERNAL: 'EXTERNAL'
 };
 
 var ContentType = {
-  IMAGE: 'IMAGE',
-  VIDEO: 'VIDEO',
-  AUDIO: 'AUDIO',
-  OTHER: 'OTHER'
+    IMAGE: 'IMAGE',
+    VIDEO: 'VIDEO',
+    AUDIO: 'AUDIO',
+    OTHER: 'OTHER'
 };
 
 var AudioContentLyricsType = {
-  SYNCHRONIZED: 'SYNCHRONIZED',
-  UNSYNCHRONIZED: 'UNSYNCHRONIZED'
+    SYNCHRONIZED: 'SYNCHRONIZED',
+    UNSYNCHRONIZED: 'UNSYNCHRONIZED'
 };
 
 var ImageContentOrientation = {
-  NORMAL: 'NORMAL',
-  FLIP_HORIZONTAL: 'FLIP_HORIZONTAL',
-  ROTATE_180: 'ROTATE_180',
-  FLIP_VERTICAL: 'FLIP_VERTICAL',
-  TRANSPOSE: 'TRANSPOSE',
-  ROTATE_90: 'ROTATE_90',
-  TRANSVERSE: 'TRANSVERSE',
-  ROTATE_270: 'ROTATE_270'
+    NORMAL: 'NORMAL',
+    FLIP_HORIZONTAL: 'FLIP_HORIZONTAL',
+    ROTATE_180: 'ROTATE_180',
+    FLIP_VERTICAL: 'FLIP_VERTICAL',
+    TRANSPOSE: 'TRANSPOSE',
+    ROTATE_90: 'ROTATE_90',
+    TRANSVERSE: 'TRANSVERSE',
+    ROTATE_270: 'ROTATE_270'
 };
 
 function ContentDirectory(data) {
-  var id;
-  var directoryURI;
-  var title;
-  var storageType;
-  var modifiedDate = null;
-
-  Object.defineProperties(this, {
-    id: {
-      get: function() {
-        return id;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          id = converter_.toString(v, false);
-        }
-      },
-      enumerable: true
-    },
-    directoryURI: {
-      get: function() {
-        return directoryURI;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          directoryURI = convertPathToUri_(converter_.toString(v, false));
-        }
-      },
-      enumerable: true
-    },
-    title: {
-      get: function() {
-        return title;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          title = converter_.toString(v, false);
-        }
-      },
-      enumerable: true
-    },
-    storageType: {
-      get: function() {
-        return storageType;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          storageType = converter_.toEnum(v, Object.keys(ContentDirectoryStorageType), false);
-        }
-      },
-      enumerable: true
-    },
-    modifiedDate: {
-      get: function() {
-        return modifiedDate;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          modifiedDate = v > 0 ? new Date(v * 1000) : null;
-        }
-      },
-      enumerable: true
-    }
-  });
-
-  if (type_.isObject(data)) {
-    // fill object with data
-    edit_.allow();
-    for (var key in data) {
-      if (data.hasOwnProperty(key) && this.hasOwnProperty(key)) {
-        this[key] = data[key];
-      }
+    var id;
+    var directoryURI;
+    var title;
+    var storageType;
+    var modifiedDate = null;
+
+    Object.defineProperties(this, {
+        id: {
+            get: function() {
+                return id;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    id = converter_.toString(v, false);
+                }
+            },
+            enumerable: true
+        },
+        directoryURI: {
+            get: function() {
+                return directoryURI;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    directoryURI = convertPathToUri_(converter_.toString(v, false));
+                }
+            },
+            enumerable: true
+        },
+        title: {
+            get: function() {
+                return title;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    title = converter_.toString(v, false);
+                }
+            },
+            enumerable: true
+        },
+        storageType: {
+            get: function() {
+                return storageType;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    storageType = converter_.toEnum(
+                        v,
+                        Object.keys(ContentDirectoryStorageType),
+                        false
+                    );
+                }
+            },
+            enumerable: true
+        },
+        modifiedDate: {
+            get: function() {
+                return modifiedDate;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    modifiedDate = v > 0 ? new Date(v * 1000) : null;
+                }
+            },
+            enumerable: true
+        }
+    });
+
+    if (type_.isObject(data)) {
+        // fill object with data
+        edit_.allow();
+        for (var key in data) {
+            if (data.hasOwnProperty(key) && this.hasOwnProperty(key)) {
+                this[key] = data[key];
+            }
+        }
+        edit_.disallow();
     }
-    edit_.disallow();
-  }
 }
 
-
 function Content(data) {
-  var editableAttributes = ['name', 'rating', 'description', 'isFavorite'];
-  var id;
-  var name;
-  var type;
-  var mimeType;
-  var title;
-  var contentURI;
-  var thumbnailURIs = null;
-  var releaseDate = null;
-  var modifiedDate = null;
-  var size;
-  var description = null;
-  var rating;
-  var isFavorite;
-
-  Object.defineProperties(this, {
-    editableAttributes: {
-      value: editableAttributes,
-      writable: false,
-      enumerable: true
-    },
-    id: {
-      get: function() {
-        return id;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          id = converter_.toString(v, false);
-        }
-      },
-      enumerable: true
-    },
-    name: {
-      get: function() {
-        return name;
-      },
-      set: function(v) {
-        if (!type_.isNull(v)) {
-          name = converter_.toString(v, false);
-        }
-      },
-      enumerable: true
-    },
-    type: {
-      get: function() {
-        return type;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          type = converter_.toEnum(v, Object.keys(ContentType), false);
-        }
-      },
-      enumerable: true
-    },
-    mimeType: {
-      get: function() {
-        return mimeType;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          mimeType = converter_.toString(v, false);
-        }
-      },
-      enumerable: true
-    },
-    title: {
-      get: function() {
-        return title;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          title = converter_.toString(v, false);
-        }
-      },
-      enumerable: true
-    },
-    contentURI: {
-      get: function() {
-        return contentURI;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          contentURI = convertPathToUri_(v);
-        }
-      },
-      enumerable: true
-    },
-    thumbnailURIs: {
-      get: function() {
-        return thumbnailURIs;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          thumbnailURIs = converter_.toArray(v, true);
-        }
-      },
-      enumerable: true
-    },
-    releaseDate: {
-      get: function() {
-        return releaseDate;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          releaseDate = v > 0 ? new Date(v * 1000) : null;
-        }
-      },
-      enumerable: true
-    },
-    modifiedDate: {
-      get: function() {
-        return modifiedDate;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          modifiedDate = v > 0 ? new Date(v * 1000) : null;
-        }
-      },
-      enumerable: true
-    },
-    size: {
-      get: function() {
-        return size;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          size = converter_.toUnsignedLong(v, false);
-        }
-      },
-      enumerable: true
-    },
-    description: {
-      get: function() {
-        return description;
-      },
-      set: function(v) {
-        description = converter_.toString(v, true);
-      },
-      enumerable: true
-    },
-    rating: {
-      get: function() {
-        return rating;
-      },
-      set: function(v) {
-        if (!type_.isNull(v) && v >= 0 && v <= 10) {
-          rating = converter_.toUnsignedLong(v, false);
-        }
-      },
-      enumerable: true
-    },
-    isFavorite: {
-      get: function() {
-        return isFavorite;
-      },
-      set: function(v) {
-        if (!type_.isNull(v)) {
-          isFavorite = converter_.toBoolean(v, false);
-        }
-      },
-      enumerable: true
-    }
-  });
-
-  if (type_.isObject(data)) {
-    // fill object with data
-    edit_.allow();
-    for (var key in data) {
-      if (data.hasOwnProperty(key) && this.hasOwnProperty(key)) {
-        this[key] = data[key];
-      }
+    var editableAttributes = ['name', 'rating', 'description', 'isFavorite'];
+    var id;
+    var name;
+    var type;
+    var mimeType;
+    var title;
+    var contentURI;
+    var thumbnailURIs = null;
+    var releaseDate = null;
+    var modifiedDate = null;
+    var size;
+    var description = null;
+    var rating;
+    var isFavorite;
+
+    Object.defineProperties(this, {
+        editableAttributes: {
+            value: editableAttributes,
+            writable: false,
+            enumerable: true
+        },
+        id: {
+            get: function() {
+                return id;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    id = converter_.toString(v, false);
+                }
+            },
+            enumerable: true
+        },
+        name: {
+            get: function() {
+                return name;
+            },
+            set: function(v) {
+                if (!type_.isNull(v)) {
+                    name = converter_.toString(v, false);
+                }
+            },
+            enumerable: true
+        },
+        type: {
+            get: function() {
+                return type;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    type = converter_.toEnum(v, Object.keys(ContentType), false);
+                }
+            },
+            enumerable: true
+        },
+        mimeType: {
+            get: function() {
+                return mimeType;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    mimeType = converter_.toString(v, false);
+                }
+            },
+            enumerable: true
+        },
+        title: {
+            get: function() {
+                return title;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    title = converter_.toString(v, false);
+                }
+            },
+            enumerable: true
+        },
+        contentURI: {
+            get: function() {
+                return contentURI;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    contentURI = convertPathToUri_(v);
+                }
+            },
+            enumerable: true
+        },
+        thumbnailURIs: {
+            get: function() {
+                return thumbnailURIs;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    thumbnailURIs = converter_.toArray(v, true);
+                }
+            },
+            enumerable: true
+        },
+        releaseDate: {
+            get: function() {
+                return releaseDate;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    releaseDate = v > 0 ? new Date(v * 1000) : null;
+                }
+            },
+            enumerable: true
+        },
+        modifiedDate: {
+            get: function() {
+                return modifiedDate;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    modifiedDate = v > 0 ? new Date(v * 1000) : null;
+                }
+            },
+            enumerable: true
+        },
+        size: {
+            get: function() {
+                return size;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    size = converter_.toUnsignedLong(v, false);
+                }
+            },
+            enumerable: true
+        },
+        description: {
+            get: function() {
+                return description;
+            },
+            set: function(v) {
+                description = converter_.toString(v, true);
+            },
+            enumerable: true
+        },
+        rating: {
+            get: function() {
+                return rating;
+            },
+            set: function(v) {
+                if (!type_.isNull(v) && v >= 0 && v <= 10) {
+                    rating = converter_.toUnsignedLong(v, false);
+                }
+            },
+            enumerable: true
+        },
+        isFavorite: {
+            get: function() {
+                return isFavorite;
+            },
+            set: function(v) {
+                if (!type_.isNull(v)) {
+                    isFavorite = converter_.toBoolean(v, false);
+                }
+            },
+            enumerable: true
+        }
+    });
+
+    if (type_.isObject(data)) {
+        // fill object with data
+        edit_.allow();
+        for (var key in data) {
+            if (data.hasOwnProperty(key) && this.hasOwnProperty(key)) {
+                this[key] = data[key];
+            }
+        }
+        edit_.disallow();
     }
-    edit_.disallow();
-  }
 }
 
-
 function VideoContent(data) {
-  Content.call(this, data);
+    Content.call(this, data);
 
-  var editableAttributes = this.editableAttributes;
-  editableAttributes.push('geolocation');
+    var editableAttributes = this.editableAttributes;
+    editableAttributes.push('geolocation');
 
-  var geolocation;
-  var album;
-  var artists;
-  var duration;
-  var width;
-  var height;
+    var geolocation;
+    var album;
+    var artists;
+    var duration;
+    var width;
+    var height;
 
     Object.defineProperties(this, {
-    editableAttributes: {
-      value: editableAttributes,
-      writable: false,
-      enumerable: true
-    },
-    geolocation: {
-      get: function() {
-        return geolocation;
-      },
-      set: function(v) {
-        if (!type_.isNull(v)) {
-          var latitude = converter_.toDouble(v.latitude, false);
-          var longitude = converter_.toDouble(v.longitude, false);
-          geolocation = new tizen.SimpleCoordinates(latitude, longitude);
-        }
-      },
-      enumerable: true
-    },
-    album: {
-      get: function() {
-        return album;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          album = converter_.toString(v, false);
-        }
-      },
-      enumerable: true
-    },
-    artists: {
-      get: function() {
-        return artists;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          artists = converter_.toArray(v, true);
-        }
-      },
-      enumerable: true
-    },
-    duration: {
-      get: function() {
-        return duration;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          duration = converter_.toUnsignedLong(v, false);
-        }
-      },
-      enumerable: true
-    },
-    width: {
-      get: function() {
-        return width;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          width = converter_.toUnsignedLong(v, false);
-        }
-      },
-      enumerable: true
-    },
-    height: {
-      get: function() {
-        return height;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          height = converter_.toUnsignedLong(v, false);
-        }
-      },
-      enumerable: true
-    }
-  });
-
-  if (type_.isObject(data)) {
-    // fill object with data
-    edit_.allow();
-    for (var key in data) {
-      if (data.hasOwnProperty(key) && this.hasOwnProperty(key)) {
-        this[key] = data[key];
-      }
+        editableAttributes: {
+            value: editableAttributes,
+            writable: false,
+            enumerable: true
+        },
+        geolocation: {
+            get: function() {
+                return geolocation;
+            },
+            set: function(v) {
+                if (!type_.isNull(v)) {
+                    var latitude = converter_.toDouble(v.latitude, false);
+                    var longitude = converter_.toDouble(v.longitude, false);
+                    geolocation = new tizen.SimpleCoordinates(latitude, longitude);
+                }
+            },
+            enumerable: true
+        },
+        album: {
+            get: function() {
+                return album;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    album = converter_.toString(v, false);
+                }
+            },
+            enumerable: true
+        },
+        artists: {
+            get: function() {
+                return artists;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    artists = converter_.toArray(v, true);
+                }
+            },
+            enumerable: true
+        },
+        duration: {
+            get: function() {
+                return duration;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    duration = converter_.toUnsignedLong(v, false);
+                }
+            },
+            enumerable: true
+        },
+        width: {
+            get: function() {
+                return width;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    width = converter_.toUnsignedLong(v, false);
+                }
+            },
+            enumerable: true
+        },
+        height: {
+            get: function() {
+                return height;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    height = converter_.toUnsignedLong(v, false);
+                }
+            },
+            enumerable: true
+        }
+    });
+
+    if (type_.isObject(data)) {
+        // fill object with data
+        edit_.allow();
+        for (var key in data) {
+            if (data.hasOwnProperty(key) && this.hasOwnProperty(key)) {
+                this[key] = data[key];
+            }
+        }
+        edit_.disallow();
     }
-    edit_.disallow();
-  }
 }
 
 VideoContent.prototype = new Content();
 VideoContent.prototype.constructor = VideoContent;
 
-
 function AudioContentLyrics(data) {
-  var type;
-  var timestamps;
-  var texts;
-
-  Object.defineProperties(this, {
-    type: {
-      get: function() {
-        return type;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          type = converter_.toEnum(v, Object.keys(AudioContentLyricsType), false);
-        }
-      },
-      enumerable: true
-    },
-    timestamps: {
-      get: function() {
-        return timestamps;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          timestamps = converter_.toArray(v, true);
-        }
-      },
-      enumerable: true
-    },
-    texts: {
-      get: function() {
-        return texts;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          texts = converter_.toArray(v, false);
-        }
-      },
-      enumerable: true
-    }
-  });
-
-  if (type_.isObject(data)) {
-    // fill object with data
-    edit_.allow();
-    for (var key in data) {
-      if (data.hasOwnProperty(key) && this.hasOwnProperty(key)) {
-        this[key] = data[key];
-      }
+    var type;
+    var timestamps;
+    var texts;
+
+    Object.defineProperties(this, {
+        type: {
+            get: function() {
+                return type;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    type = converter_.toEnum(
+                        v,
+                        Object.keys(AudioContentLyricsType),
+                        false
+                    );
+                }
+            },
+            enumerable: true
+        },
+        timestamps: {
+            get: function() {
+                return timestamps;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    timestamps = converter_.toArray(v, true);
+                }
+            },
+            enumerable: true
+        },
+        texts: {
+            get: function() {
+                return texts;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    texts = converter_.toArray(v, false);
+                }
+            },
+            enumerable: true
+        }
+    });
+
+    if (type_.isObject(data)) {
+        // fill object with data
+        edit_.allow();
+        for (var key in data) {
+            if (data.hasOwnProperty(key) && this.hasOwnProperty(key)) {
+                this[key] = data[key];
+            }
+        }
+        edit_.disallow();
     }
-    edit_.disallow();
-  }
 }
 
-
 function AudioContent(data) {
-  Content.call(this, data);
-
-  var album;
-  var genres;
-  var artists;
-  var composers;
-  var lyrics;
-  var copyright;
-  var bitrate;
-  var trackNumber;
-  var duration;
-
-  var getLyrics = function() {
-    var data = {
-      contentURI: convertUriToPath_(this.contentURI)
-    };
-
-    var result = native_.callSync('ContentManager_getLyrics', data);
-
-    if (native_.isFailure(result)) {
-      utils_.log('Getting lyrics failed for ' + data.contentURI);
-      return;
-    }
+    Content.call(this, data);
 
-    return new AudioContentLyrics(native_.getResultObject(result));
-  }.bind(this);
-
-  Object.defineProperties(this, {
-    album: {
-      get: function() {
-        return album;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          album = converter_.toString(v, false);
-        }
-      },
-      enumerable: true
-    },
-    genres: {
-      get: function() {
-        return genres;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          genres = converter_.toArray(v, true);
-        }
-      },
-      enumerable: true
-    },
-    artists: {
-      get: function() {
-        return artists;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          artists = converter_.toArray(v, true);
-        }
-      },
-      enumerable: true
-    },
-    composers: {
-      get: function() {
-        return composers;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          composers = converter_.toArray(v, true);
-        }
-      },
-      enumerable: true
-    },
-    lyrics: {
-      get: function() {
-        if (lyrics === undefined) {
-          lyrics = getLyrics();
-        }
-        return lyrics;
-      },
-      set: function(v) {
-        if (edit_.isAllowed && type_.isObject(v)) {
-          lyrics = new AudioContentLyrics(v);
-        }
-      },
-      enumerable: true
-    },
-    copyright: {
-      get: function() {
-        return copyright;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          copyright = converter_.toString(v, false);
-        }
-      },
-      enumerable: true
-    },
-    bitrate: {
-      get: function() {
-        return bitrate;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          bitrate = converter_.toUnsignedLong(v, false);
-        }
-      },
-      enumerable: true
-    },
-    trackNumber: {
-      get: function() {
-        return trackNumber;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          trackNumber = converter_.toUnsignedLong(v, false);
-        }
-      },
-      enumerable: true
-    },
-    duration: {
-      get: function() {
-        return duration;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          duration = converter_.toUnsignedLong(v, false);
+    var album;
+    var genres;
+    var artists;
+    var composers;
+    var lyrics;
+    var copyright;
+    var bitrate;
+    var trackNumber;
+    var duration;
+
+    var getLyrics = function() {
+        var data = {
+            contentURI: convertUriToPath_(this.contentURI)
+        };
+
+        var result = native_.callSync('ContentManager_getLyrics', data);
+
+        if (native_.isFailure(result)) {
+            utils_.log('Getting lyrics failed for ' + data.contentURI);
+            return;
         }
-      },
-      enumerable: true
-    }
-  });
-
-  if (type_.isObject(data)) {
-    // fill object with data
-    edit_.allow();
-    for (var key in data) {
-      if (data.hasOwnProperty(key) && this.hasOwnProperty(key)) {
-        this[key] = data[key];
-      }
+
+        return new AudioContentLyrics(native_.getResultObject(result));
+    }.bind(this);
+
+    Object.defineProperties(this, {
+        album: {
+            get: function() {
+                return album;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    album = converter_.toString(v, false);
+                }
+            },
+            enumerable: true
+        },
+        genres: {
+            get: function() {
+                return genres;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    genres = converter_.toArray(v, true);
+                }
+            },
+            enumerable: true
+        },
+        artists: {
+            get: function() {
+                return artists;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    artists = converter_.toArray(v, true);
+                }
+            },
+            enumerable: true
+        },
+        composers: {
+            get: function() {
+                return composers;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    composers = converter_.toArray(v, true);
+                }
+            },
+            enumerable: true
+        },
+        lyrics: {
+            get: function() {
+                if (lyrics === undefined) {
+                    lyrics = getLyrics();
+                }
+                return lyrics;
+            },
+            set: function(v) {
+                if (edit_.isAllowed && type_.isObject(v)) {
+                    lyrics = new AudioContentLyrics(v);
+                }
+            },
+            enumerable: true
+        },
+        copyright: {
+            get: function() {
+                return copyright;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    copyright = converter_.toString(v, false);
+                }
+            },
+            enumerable: true
+        },
+        bitrate: {
+            get: function() {
+                return bitrate;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    bitrate = converter_.toUnsignedLong(v, false);
+                }
+            },
+            enumerable: true
+        },
+        trackNumber: {
+            get: function() {
+                return trackNumber;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    trackNumber = converter_.toUnsignedLong(v, false);
+                }
+            },
+            enumerable: true
+        },
+        duration: {
+            get: function() {
+                return duration;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    duration = converter_.toUnsignedLong(v, false);
+                }
+            },
+            enumerable: true
+        }
+    });
+
+    if (type_.isObject(data)) {
+        // fill object with data
+        edit_.allow();
+        for (var key in data) {
+            if (data.hasOwnProperty(key) && this.hasOwnProperty(key)) {
+                this[key] = data[key];
+            }
+        }
+        edit_.disallow();
     }
-    edit_.disallow();
-  }
 }
 
 AudioContent.prototype = new Content();
 AudioContent.prototype.constructor = AudioContent;
 
-
 function ImageContent(data) {
-  Content.call(this, data);
-
-  var editableAttributes = this.editableAttributes;
-  editableAttributes.push('geolocation');
-  editableAttributes.push('orientation');
-
-  var geolocation;
-  var width;
-  var height;
-  var orientation;
-
-  Object.defineProperties(this, {
-    editableAttributes: {
-      value: editableAttributes,
-      writable: false,
-      enumerable: true
-    },
-    geolocation: {
-      get: function() {
-        return geolocation;
-      },
-      set: function(v) {
-        if (!type_.isNull(v)) {
-          var latitude = converter_.toDouble(v.latitude, false);
-          var longitude = converter_.toDouble(v.longitude, false);
-          geolocation = new tizen.SimpleCoordinates(latitude, longitude);
-        }
-      },
-      enumerable: true
-    },
-    width: {
-      get: function() {
-        return width;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          width = converter_.toUnsignedLong(v, false);
-        }
-      },
-      enumerable: true
-    },
-    height: {
-      get: function() {
-        return height;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          height = converter_.toUnsignedLong(v, false);
-        }
-      },
-      enumerable: true
-    },
-    orientation: {
-      get: function() {
-        return orientation;
-      },
-      set: function(v) {
-        if (!type_.isNull(v)) {
-          orientation = converter_.toEnum(v, Object.keys(ImageContentOrientation), false);
-        }
-      },
-      enumerable: true
-    }
-  });
-
-  if (type_.isObject(data)) {
-    // fill object with data
-    edit_.allow();
-    for (var key in data) {
-      if (data.hasOwnProperty(key) && this.hasOwnProperty(key)) {
-        this[key] = data[key];
-      }
+    Content.call(this, data);
+
+    var editableAttributes = this.editableAttributes;
+    editableAttributes.push('geolocation');
+    editableAttributes.push('orientation');
+
+    var geolocation;
+    var width;
+    var height;
+    var orientation;
+
+    Object.defineProperties(this, {
+        editableAttributes: {
+            value: editableAttributes,
+            writable: false,
+            enumerable: true
+        },
+        geolocation: {
+            get: function() {
+                return geolocation;
+            },
+            set: function(v) {
+                if (!type_.isNull(v)) {
+                    var latitude = converter_.toDouble(v.latitude, false);
+                    var longitude = converter_.toDouble(v.longitude, false);
+                    geolocation = new tizen.SimpleCoordinates(latitude, longitude);
+                }
+            },
+            enumerable: true
+        },
+        width: {
+            get: function() {
+                return width;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    width = converter_.toUnsignedLong(v, false);
+                }
+            },
+            enumerable: true
+        },
+        height: {
+            get: function() {
+                return height;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    height = converter_.toUnsignedLong(v, false);
+                }
+            },
+            enumerable: true
+        },
+        orientation: {
+            get: function() {
+                return orientation;
+            },
+            set: function(v) {
+                if (!type_.isNull(v)) {
+                    orientation = converter_.toEnum(
+                        v,
+                        Object.keys(ImageContentOrientation),
+                        false
+                    );
+                }
+            },
+            enumerable: true
+        }
+    });
+
+    if (type_.isObject(data)) {
+        // fill object with data
+        edit_.allow();
+        for (var key in data) {
+            if (data.hasOwnProperty(key) && this.hasOwnProperty(key)) {
+                this[key] = data[key];
+            }
+        }
+        edit_.disallow();
     }
-    edit_.disallow();
-  }
 }
 
 ImageContent.prototype = new Content();
 ImageContent.prototype.constructor = ImageContent;
 
-
 function PlaylistItem(data) {
-  var content = data;
-
-  Object.defineProperties(this, {
-    content: {
-      get: function() {
-        return content;
-      },
-      set: function(v) {
-        if (edit_.isAllowed && v instanceof Content) {
-          content = v;
-        }
-      },
-      enumerable: true
-    }
-  });
+    var content = data;
+
+    Object.defineProperties(this, {
+        content: {
+            get: function() {
+                return content;
+            },
+            set: function(v) {
+                if (edit_.isAllowed && v instanceof Content) {
+                    content = v;
+                }
+            },
+            enumerable: true
+        }
+    });
 }
index db388dc6943c217c4805fdf086d85bccbfd91cce..26f2964d6e0b67319c1e6f44dee06d2ca29b4877 100755 (executable)
@@ -18,487 +18,599 @@ var T_ = xwalk.utils.type;
 var privUtils_ = xwalk.utils;
 var CONTENT_MANAGER_LISTENER_ID = 'ContentManagerChangeCallback';
 
-
 function _ContentManagerChangeCallback(result) {
-  if (result.state === 'oncontentadded' || result.state === 'oncontentupdated') {
-    var content = native_.getResultObject(result);
-    native_.callIfPossible(this[result.state], createContentObject_(content));
-  } else if (result.state === 'oncontentdiradded' || result.state === 'oncontentdirupdated') {
-    var contentDir = native_.getResultObject(result);
-    native_.callIfPossible(this[result.state], createContentDirObject_(contentDir));
-  } else if (result.state === 'oncontentremoved' || result.state === 'oncontentdirremoved') {
-    native_.callIfPossible(this[result.state], native_.getResultObject(result));
-  }
+    if (result.state === 'oncontentadded' || result.state === 'oncontentupdated') {
+        var content = native_.getResultObject(result);
+        native_.callIfPossible(this[result.state], createContentObject_(content));
+    } else if (
+        result.state === 'oncontentdiradded' ||
+        result.state === 'oncontentdirupdated'
+    ) {
+        var contentDir = native_.getResultObject(result);
+        native_.callIfPossible(this[result.state], createContentDirObject_(contentDir));
+    } else if (
+        result.state === 'oncontentremoved' ||
+        result.state === 'oncontentdirremoved'
+    ) {
+        native_.callIfPossible(this[result.state], native_.getResultObject(result));
+    }
 }
 
-
 var ContentListenersManager = (function() {
+    function changeContent(event) {
+        if (T_.isEmptyObject(this.listeners)) {
+            return;
+        }
 
-  function changeContent(event) {
-    if (T_.isEmptyObject(this.listeners)) {
-      return;
-    }
+        var result = null;
+
+        if (event.state === 'oncontentadded' || event.state === 'oncontentupdated') {
+            result = createContentObject_(native_.getResultObject(event));
+        } else if (
+            event.state === 'oncontentdiradded' ||
+            event.state === 'oncontentdirupdated'
+        ) {
+            result = createContentDirObject_(native_.getResultObject(event));
+        } else if (
+            event.state === 'oncontentremoved' ||
+            event.state === 'oncontentdirremoved'
+        ) {
+            result = native_.getResultObject(event);
+        }
 
-    var result = null;
+        if (!result) {
+            return;
+        }
 
-    if (event.state === 'oncontentadded' || event.state === 'oncontentupdated') {
-      result = createContentObject_(native_.getResultObject(event));
-    } else if (event.state === 'oncontentdiradded' || event.state === 'oncontentdirupdated') {
-      result = createContentDirObject_(native_.getResultObject(event));
-    } else if (event.state === 'oncontentremoved' || event.state === 'oncontentdirremoved') {
-      result = native_.getResultObject(event);
+        var callback;
+        for (var listenerId in this.listeners) {
+            if (this.listeners.hasOwnProperty(listenerId)) {
+                callback = this.listeners[listenerId];
+                if (T_.isFunction(callback[event.state])) {
+                    callback[event.state](result);
+                }
+            }
+        }
     }
 
-    if (!result) {
-      return;
+    function _ContentListenersManager() {
+        this.listeners = {};
+        this.lastListenerId = 0;
+        this.changeContent = changeContent.bind(this);
     }
 
-    var callback;
-    for (var listenerId in this.listeners) {
-      if (this.listeners.hasOwnProperty(listenerId)) {
-        callback = this.listeners[listenerId];
-        if (T_.isFunction(callback[event.state])) {
-          callback[event.state](result);
-        }
-      }
-    }
-  }
-
-  function _ContentListenersManager() {
-    this.listeners = {};
-    this.lastListenerId = 0;
-    this.changeContent = changeContent.bind(this);
-  }
-
-  _ContentListenersManager.prototype.addChangeListener = function(changeCallback) {
-    if (T_.isEmptyObject(this.listeners)) {
-      var result = native_.callSync('ContentManager_addChangeListener');
-      if (native_.isFailure(result)) {
-        throw native_.getErrorObject(result);
-      }
+    _ContentListenersManager.prototype.addChangeListener = function(changeCallback) {
+        if (T_.isEmptyObject(this.listeners)) {
+            var result = native_.callSync('ContentManager_addChangeListener');
+            if (native_.isFailure(result)) {
+                throw native_.getErrorObject(result);
+            }
 
-      native_.addListener(CONTENT_MANAGER_LISTENER_ID, this.changeContent);
-    }
+            native_.addListener(CONTENT_MANAGER_LISTENER_ID, this.changeContent);
+        }
 
-    this.listeners[++this.lastListenerId] = changeCallback;
-    return this.lastListenerId;
-  };
+        this.listeners[++this.lastListenerId] = changeCallback;
+        return this.lastListenerId;
+    };
 
-  _ContentListenersManager.prototype.removeChangeListener = function(listenerId) {
-    delete this.listeners[listenerId];
+    _ContentListenersManager.prototype.removeChangeListener = function(listenerId) {
+        delete this.listeners[listenerId];
 
-    if (T_.isEmptyObject(this.listeners)) {
-      var result = native_.callSync('ContentManager_removeChangeListener');
-      if (native_.isFailure(result)) {
-        throw native_.getErrorObject(result);
-      }
+        if (T_.isEmptyObject(this.listeners)) {
+            var result = native_.callSync('ContentManager_removeChangeListener');
+            if (native_.isFailure(result)) {
+                throw native_.getErrorObject(result);
+            }
 
-      native_.removeListener(CONTENT_MANAGER_LISTENER_ID);
-    }
-  };
+            native_.removeListener(CONTENT_MANAGER_LISTENER_ID);
+        }
+    };
 
-  return _ContentListenersManager;
+    return _ContentListenersManager;
 })();
 
 var listenersManager = new ContentListenersManager();
 
-
-function ContentManager() {
-}
+function ContentManager() {}
 
 var ContentManagerUpdate = function(content) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'content', type: types_.PLATFORM_OBJECT, values: Content}
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'content', type: types_.PLATFORM_OBJECT, values: Content }
+    ]);
 
-  var data = {
-    content: args.content
-  };
+    var data = {
+        content: args.content
+    };
 
-  var result = native_.callSync('ContentManager_update', data);
+    var result = native_.callSync('ContentManager_update', data);
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
 ContentManager.prototype.update = function() {
-  ContentManagerUpdate.apply(this, arguments);
+    ContentManagerUpdate.apply(this, arguments);
 };
 
-ContentManager.prototype.updateBatch = function(contents, successCallback, errorCallback) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'contents', type: types_.ARRAY, values: Content},
-    {name: 'successCallback', type: types_.FUNCTION, optional: true, nullable: true},
-    {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
+ContentManager.prototype.updateBatch = function(
+    contents,
+    successCallback,
+    errorCallback
+) {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'contents', type: types_.ARRAY, values: Content },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    var data = {
+        contents: args.contents
+    };
+
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+            return;
+        }
+        native_.callIfPossible(args.successCallback);
+    };
 
-  var data = {
-    contents: args.contents
-  };
+    var result = native_.call('ContentManager_updateBatch', data, callback);
 
-  var callback = function(result) {
     if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      return;
+        throw native_.getErrorObject(result);
     }
-    native_.callIfPossible(args.successCallback);
-  };
-
-  var result = native_.call('ContentManager_updateBatch', data, callback);
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
 };
 
 ContentManager.prototype.getDirectories = function(successCallback, errorCallback) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'successCallback', type: types_.FUNCTION},
-    {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'successCallback', type: types_.FUNCTION },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+            return;
+        }
+
+        var out = [];
+        result = native_.getResultObject(result);
+        for (var i = 0, max = result.length; i < max; i++) {
+            out.push(new ContentDirectory(result[i]));
+        }
+        native_.callIfPossible(args.successCallback, out);
+    };
+
+    var result = native_.call('ContentManager_getDirectories', null, callback);
 
-  var callback = function(result) {
     if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      return;
+        throw native_.getErrorObject(result);
     }
+};
 
-    var out = [];
-    result = native_.getResultObject(result);
-    for (var i = 0, max = result.length; i < max; i++) {
-      out.push(new ContentDirectory(result[i]));
-    }
-    native_.callIfPossible(args.successCallback, out);
-  };
+ContentManager.prototype.find = function(
+    successCallback,
+    errorCallback,
+    directoryId,
+    filter,
+    sortMode,
+    count,
+    offset
+) {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'successCallback', type: types_.FUNCTION },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true },
+        { name: 'directoryId', type: types_.STRING, optional: true, nullable: true },
+        {
+            name: 'filter',
+            type: types_.PLATFORM_OBJECT,
+            values: [
+                tizen.AttributeFilter,
+                tizen.AttributeRangeFilter,
+                tizen.CompositeFilter
+            ],
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'sortMode',
+            type: types_.PLATFORM_OBJECT,
+            values: tizen.SortMode,
+            optional: true,
+            nullable: true
+        },
+        { name: 'count', type: types_.UNSIGNED_LONG, optional: true, nullable: true },
+        { name: 'offset', type: types_.UNSIGNED_LONG, optional: true, nullable: true }
+    ]);
+
+    var data = {
+        directoryId: args.directoryId,
+        filter: utils_.repackFilter(args.filter),
+        sortMode: args.sortMode,
+        count: args.count,
+        offset: args.offset
+    };
+
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+            return;
+        }
 
-  var result = native_.call('ContentManager_getDirectories', null, callback);
+        var out = [];
+        result = native_.getResultObject(result);
+        try {
+            for (var i = 0, max = result.length; i < max; i++) {
+                out.push(createContentObject_(result[i]));
+            }
+        } catch (e) {
+            native_.callIfPossible(args.errorCallback, e);
+            return;
+        }
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-};
+        native_.callIfPossible(args.successCallback, out);
+    };
+
+    var result = native_.call('ContentManager_find', data, callback);
 
-ContentManager.prototype.find = function(successCallback, errorCallback, directoryId, filter, sortMode, count, offset) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'successCallback', type: types_.FUNCTION},
-    {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true},
-    {name: 'directoryId', type: types_.STRING, optional: true, nullable: true},
-    {
-      name: 'filter',
-      type: types_.PLATFORM_OBJECT,
-      values: [tizen.AttributeFilter, tizen.AttributeRangeFilter, tizen.CompositeFilter],
-      optional: true,
-      nullable: true
-    },
-    {name: 'sortMode', type: types_.PLATFORM_OBJECT, values: tizen.SortMode, optional: true, nullable: true},
-    {name: 'count', type: types_.UNSIGNED_LONG, optional: true, nullable: true},
-    {name: 'offset', type: types_.UNSIGNED_LONG, optional: true, nullable: true}
-  ]);
-
-  var data = {
-    directoryId: args.directoryId,
-    filter: utils_.repackFilter(args.filter),
-    sortMode: args.sortMode,
-    count: args.count,
-    offset: args.offset
-  };
-
-  var callback = function(result) {
     if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      return;
+        throw native_.getErrorObject(result);
     }
+};
 
-    var out = [];
-    result = native_.getResultObject(result);
-    try {
-      for (var i = 0, max = result.length; i < max; i++) {
-        out.push(createContentObject_(result[i]));
-      }
-    } catch(e) {
-      native_.callIfPossible(args.errorCallback, e);
-      return;
+ContentManager.prototype.scanFile = function(contentURI, successCallback, errorCallback) {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'contentURI', type: types_.STRING },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    var path = args.contentURI.trim();
+    if (!path.length) {
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'File path is not valid.'
+        );
     }
 
-    native_.callIfPossible(args.successCallback, out);
-  };
+    var data = {
+        contentURI: convertUriToPath_(path)
+    };
 
-  var result = native_.call('ContentManager_find', data, callback);
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+            return;
+        }
+        native_.callIfPossible(args.successCallback, args.contentURI);
+    };
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-};
+    var result = native_.call('ContentManager_scanFile', data, callback);
 
-ContentManager.prototype.scanFile = function(contentURI, successCallback, errorCallback) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'contentURI', type: types_.STRING},
-    {name: 'successCallback', type: types_.FUNCTION, optional: true, nullable: true},
-    {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
-
-  var path = args.contentURI.trim();
-  if (!path.length) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR, 'File path is not valid.');
-  }
-
-  var data = {
-    contentURI: convertUriToPath_(path)
-  };
-
-  var callback = function(result) {
     if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      return;
+        throw native_.getErrorObject(result);
     }
-    native_.callIfPossible(args.successCallback, args.contentURI);
-  };
-
-  var result = native_.call('ContentManager_scanFile', data, callback);
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
 };
 
-ContentManager.prototype.scanDirectory = function(contentDirURI, recursive, successCallback, errorCallback) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'contentDirURI', type: types_.STRING},
-    {name: 'recursive', type: types_.BOOLEAN},
-    {name: 'successCallback', type: types_.FUNCTION, optional: true, nullable: true},
-    {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
-
-  var path = args.contentDirURI.trim();
-  if (!path.length) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR, 'Directory path is not valid.');
-  }
-
-  var data = {
-    contentDirURI: convertUriToPath_(path),
-    recursive: args.recursive
-  };
-
-  var callback = function(result) {
-    if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      return;
+ContentManager.prototype.scanDirectory = function(
+    contentDirURI,
+    recursive,
+    successCallback,
+    errorCallback
+) {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'contentDirURI', type: types_.STRING },
+        { name: 'recursive', type: types_.BOOLEAN },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    var path = args.contentDirURI.trim();
+    if (!path.length) {
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'Directory path is not valid.'
+        );
     }
-    native_.callIfPossible(args.successCallback, args.contentDirURI);
-  };
 
-  var result = native_.call('ContentManager_scanDirectory', data, callback);
+    var data = {
+        contentDirURI: convertUriToPath_(path),
+        recursive: args.recursive
+    };
+
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+            return;
+        }
+        native_.callIfPossible(args.successCallback, args.contentDirURI);
+    };
+
+    var result = native_.call('ContentManager_scanDirectory', data, callback);
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
 ContentManager.prototype.cancelScanDirectory = function(contentDirURI) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'contentDirURI', type: types_.STRING}
-  ]);
-
-  var path = args.contentDirURI.trim();
-  if (!path.length) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR, 'Directory path is not valid.');
-  }
+    var args = validator_.validateArgs(arguments, [
+        { name: 'contentDirURI', type: types_.STRING }
+    ]);
+
+    var path = args.contentDirURI.trim();
+    if (!path.length) {
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'Directory path is not valid.'
+        );
+    }
 
-  var data = {
-    contentDirURI: convertUriToPath_(path)
-  };
+    var data = {
+        contentDirURI: convertUriToPath_(path)
+    };
 
-  var result = native_.callSync('ContentManager_cancelScanDirectory', data);
+    var result = native_.callSync('ContentManager_cancelScanDirectory', data);
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
 ContentManager.prototype.addChangeListener = function() {
-  var args = validator_.validateArgs(arguments, [{
-    name: 'changeCallback',
-    type: types_.LISTENER,
-    values: ['oncontentadded', 'oncontentupdated', 'oncontentremoved', 'oncontentdiradded', 'oncontentdirupdated', 'oncontentdirremoved']
-  }]);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'changeCallback',
+            type: types_.LISTENER,
+            values: [
+                'oncontentadded',
+                'oncontentupdated',
+                'oncontentremoved',
+                'oncontentdiradded',
+                'oncontentdirupdated',
+                'oncontentdirremoved'
+            ]
+        }
+    ]);
 
-  return listenersManager.addChangeListener(args.changeCallback);
+    return listenersManager.addChangeListener(args.changeCallback);
 };
 
 ContentManager.prototype.removeChangeListener = function() {
-  var args = validator_.validateArgs(arguments, [{
-    name: 'listenerId',
-    type: types_.LONG
-  }]);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'listenerId',
+            type: types_.LONG
+        }
+    ]);
 
-  listenersManager.removeChangeListener(args.listenerId);
+    listenersManager.removeChangeListener(args.listenerId);
 };
 
 ContentManager.prototype.setChangeListener = function(changeCallback) {
-  privUtils_.warn('DEPRECATION WARNING: setChangeListener() is deprecated and will be removed '
-      + 'from next release. Use addChangeListener() instead.');
-
-  var args = validator_.validateArgs(arguments, [{
-    name: 'changeCallback',
-    type: types_.LISTENER,
-    values: ['oncontentadded', 'oncontentupdated', 'oncontentremoved', 'oncontentdiradded', 'oncontentdirupdated', 'oncontentdirremoved']
-  }]);
-
-  var listenerId = 'ContentManagerChangeCallback_';
-
-  var data = {
-    listenerId: listenerId
-  };
-
-  var callbacks = {
-    oncontentadded: args.changeCallback.oncontentadded,
-    oncontentupdated: args.changeCallback.oncontentupdated,
-    oncontentremoved: args.changeCallback.oncontentremoved,
-    oncontentdiradded: args.changeCallback.oncontentdiradded,
-    oncontentdirupdated: args.changeCallback.oncontentdirupdated,
-    oncontentdirremoved: args.changeCallback.oncontentdirremoved
-  };
-
-  var result = native_.callSync('ContentManager_setChangeListener', data);
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-
-  native_.addListener('ContentManagerChangeCallback_',
-      _ContentManagerChangeCallback.bind(callbacks));
+    privUtils_.warn(
+        'DEPRECATION WARNING: setChangeListener() is deprecated ' +
+            'and will be removed from next release. ' +
+            'Use addChangeListener() instead.'
+    );
+
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'changeCallback',
+            type: types_.LISTENER,
+            values: [
+                'oncontentadded',
+                'oncontentupdated',
+                'oncontentremoved',
+                'oncontentdiradded',
+                'oncontentdirupdated',
+                'oncontentdirremoved'
+            ]
+        }
+    ]);
+
+    var listenerId = 'ContentManagerChangeCallback_';
+
+    var data = {
+        listenerId: listenerId
+    };
+
+    var callbacks = {
+        oncontentadded: args.changeCallback.oncontentadded,
+        oncontentupdated: args.changeCallback.oncontentupdated,
+        oncontentremoved: args.changeCallback.oncontentremoved,
+        oncontentdiradded: args.changeCallback.oncontentdiradded,
+        oncontentdirupdated: args.changeCallback.oncontentdirupdated,
+        oncontentdirremoved: args.changeCallback.oncontentdirremoved
+    };
+
+    var result = native_.callSync('ContentManager_setChangeListener', data);
+
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+
+    native_.addListener(
+        'ContentManagerChangeCallback_',
+        _ContentManagerChangeCallback.bind(callbacks)
+    );
 };
 
 ContentManager.prototype.unsetChangeListener = function() {
-  privUtils_.warn('DEPRECATION WARNING: unsetChangeListener() is deprecated and will be removed '
-      + 'from next release. Use removeChangeListener() instead.');
+    privUtils_.warn(
+        'DEPRECATION WARNING: unsetChangeListener() ' +
+            'is deprecated and will be removed from next release. ' +
+            'Use removeChangeListener() instead.'
+    );
 
-  var data = {};
+    var data = {};
 
-  var result = native_.callSync('ContentManager_unsetChangeListener', data);
+    var result = native_.callSync('ContentManager_unsetChangeListener', data);
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 
-  native_.removeListener('ContentManagerChangeCallback_');
+    native_.removeListener('ContentManagerChangeCallback_');
 };
 
 ContentManager.prototype.getPlaylists = function(successCallback, errorCallback) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'successCallback', type: types_.FUNCTION},
-    {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'successCallback', type: types_.FUNCTION },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    var data = {};
+
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+            return;
+        }
+        var out = [];
+        result = native_.getResultObject(result);
+        for (var i = 0, max = result.length; i < max; i++) {
+            out.push(new Playlist(result[i]));
+        }
+        native_.callIfPossible(args.successCallback, out);
+    };
 
-  var data = {};
+    var result = native_.call('ContentManager_getPlaylists', data, callback);
 
-  var callback = function(result) {
     if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      return;
+        throw native_.getErrorObject(result);
     }
-    var out = [];
-    result = native_.getResultObject(result);
-    for (var i = 0, max = result.length; i < max; i++) {
-      out.push(new Playlist(result[i]));
+};
+
+ContentManager.prototype.createPlaylist = function(
+    name,
+    successCallback,
+    errorCallback,
+    sourcePlaylist
+) {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'name', type: types_.STRING },
+        { name: 'successCallback', type: types_.FUNCTION },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true },
+        {
+            name: 'sourcePlaylist',
+            type: types_.PLATFORM_OBJECT,
+            values: Playlist,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    if (
+        !arguments.length ||
+        !type_.isString(arguments[0]) ||
+        (type_.isString(arguments[0]) && !arguments[0].length)
+    ) {
+        setTimeout(function() {
+            args.errorCallback(new WebAPIException(WebAPIException.INVALID_VALUES_ERR));
+        }, 0);
+        return;
     }
-    native_.callIfPossible(args.successCallback, out);
-  };
 
-  var result = native_.call('ContentManager_getPlaylists', data, callback);
+    var data = {
+        name: args.name,
+        sourcePlaylist: args.sourcePlaylist
+    };
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-};
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+            return;
+        }
+        native_.callIfPossible(
+            args.successCallback,
+            new Playlist(native_.getResultObject(result))
+        );
+    };
+
+    var result = native_.call('ContentManager_createPlaylist', data, callback);
 
-ContentManager.prototype.createPlaylist = function(name, successCallback, errorCallback, sourcePlaylist) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'name', type: types_.STRING},
-    {name: 'successCallback', type: types_.FUNCTION},
-    {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true},
-    {name: 'sourcePlaylist', type: types_.PLATFORM_OBJECT, values: Playlist, optional: true, nullable: true}
-  ]);
-
-  if (!arguments.length || !type_.isString(arguments[0]) ||
-    (type_.isString(arguments[0]) && !arguments[0].length)) {
-    setTimeout(function() {
-      args.errorCallback(new WebAPIException(WebAPIException.INVALID_VALUES_ERR));
-    }, 0);
-    return;
-  }
-
-  var data = {
-    name: args.name,
-    sourcePlaylist: args.sourcePlaylist
-  };
-
-  var callback = function(result) {
     if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      return;
+        throw native_.getErrorObject(result);
     }
-    native_.callIfPossible(args.successCallback, new Playlist(native_.getResultObject(result)));
-  };
-
-  var result = native_.call('ContentManager_createPlaylist', data, callback);
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
 };
 
 ContentManager.prototype.removePlaylist = function(id, successCallback, errorCallback) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'id', type: types_.STRING},
-    {name: 'successCallback', type: types_.FUNCTION, optional: true, nullable: true},
-    {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'id', type: types_.STRING },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    var data = {
+        id: args.id
+    };
+
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+            return;
+        }
+        native_.callIfPossible(args.successCallback);
+    };
 
-  var data = {
-    id: args.id
-  };
+    var result = native_.call('ContentManager_removePlaylist', data, callback);
 
-  var callback = function(result) {
     if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      return;
+        throw native_.getErrorObject(result);
     }
-    native_.callIfPossible(args.successCallback);
-  };
-
-  var result = native_.call('ContentManager_removePlaylist', data, callback);
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
 };
 
-ContentManager.prototype.createThumbnail = function(content, successCallback, errorCallback) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'content', type: types_.PLATFORM_OBJECT, values: Content},
-    {name: 'successCallback', type: types_.FUNCTION},
-    {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
+ContentManager.prototype.createThumbnail = function(
+    content,
+    successCallback,
+    errorCallback
+) {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'content', type: types_.PLATFORM_OBJECT, values: Content },
+        { name: 'successCallback', type: types_.FUNCTION },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    var data = {
+        id: args.content.id
+    };
+
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+            return;
+        }
+        args.successCallback(native_.getResultObject(result));
+    };
 
-  var data = {
-    id: args.content.id
-  };
+    var result = native_.call('ContentManager_createThumbnail', data, callback);
 
-  var callback = function(result) {
     if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      return;
+        throw native_.getErrorObject(result);
     }
-    args.successCallback(native_.getResultObject(result));
-  };
-
-  var result = native_.call('ContentManager_createThumbnail', data, callback);
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
 };
 
 exports = new ContentManager();
index b3b4a1998fc438fd3696ec4f065ed691b745372b..3b8ab05a79af658bb29a6c14942def24bb5249d7 100755 (executable)
  *    limitations under the License.
  */
 function Playlist(data) {
-  var id;
-  var numberOfTracks;
-
-  Object.defineProperties(this, {
-    id: {
-      get: function() {
-        return id;
-      },
-      set: function(v) {
-        if (edit_.isAllowed) {
-          id = converter_.toString(v, false);
+    var id;
+    var numberOfTracks;
+
+    Object.defineProperties(this, {
+        id: {
+            get: function() {
+                return id;
+            },
+            set: function(v) {
+                if (edit_.isAllowed) {
+                    id = converter_.toString(v, false);
+                }
+            },
+            enumerable: true
+        },
+        name: {
+            get: function() {
+                var result = native_.callSync('ContentPlaylist_getName', {
+                    id: Number(id)
+                });
+                if (native_.isFailure(result)) {
+                    throw native_.getErrorObject(result);
+                }
+                return native_.getResultObject(result);
+            },
+            set: function(v) {
+                if (!type_.isNull(v)) {
+                    var name = converter_.toString(v, false);
+                    var result = native_.callSync('ContentPlaylist_setName', {
+                        id: Number(id),
+                        name: name
+                    });
+                    if (native_.isFailure(result)) {
+                        throw native_.getErrorObject(result);
+                    }
+                }
+            },
+            enumerable: true
+        },
+        numberOfTracks: {
+            get: function() {
+                var result = native_.callSync('ContentPlaylist_getNumberOfTracks', {
+                    id: Number(id)
+                });
+                if (native_.isFailure(result)) {
+                    throw native_.getErrorObject(result);
+                }
+                return native_.getResultObject(result);
+            },
+            set: function() {},
+            enumerable: true
+        },
+        thumbnailURI: {
+            get: function() {
+                var result = native_.callSync('ContentPlaylist_getThumbnailUri', {
+                    id: Number(id)
+                });
+                if (native_.isFailure(result)) {
+                    throw native_.getErrorObject(result);
+                }
+                var res = native_.getResultObject(result);
+                //CoreAPI not support empty thumbnail,
+                //so one space must be used instead null thumbnail
+                return res === ' ' ? null : res;
+            },
+            set: function(v) {
+                var thumbnailURI = converter_.toString(v, true);
+                if (type_.isNullOrUndefined(thumbnailURI)) {
+                    //CoreAPI not support empty thumbnail,
+                    //so one space must be used instead null thumbnail
+                    thumbnailURI = ' ';
+                }
+                //TODO probably thumbnailURI should be converted here
+                //to absolute uri in case of virtual
+                var result = native_.callSync('ContentPlaylist_setThumbnailUri', {
+                    id: Number(id),
+                    uri: thumbnailURI
+                });
+                if (native_.isFailure(result)) {
+                    throw native_.getErrorObject(result);
+                }
+            },
+            enumerable: true
         }
-      },
-      enumerable: true
-    },
-    name: {
-      get: function() {
-        var result = native_.callSync('ContentPlaylist_getName', {'id' : Number(id)});
-        if (native_.isFailure(result)) {
-          throw native_.getErrorObject(result);
-        }
-        return native_.getResultObject(result);
-      },
-      set: function(v) {
-        if (!type_.isNull(v)) {
-          var name = converter_.toString(v, false);
-          var result = native_.callSync('ContentPlaylist_setName',
-                  {'id' : Number(id), 'name' : name});
-          if (native_.isFailure(result)) {
-            throw native_.getErrorObject(result);
-          }
-        }
-      },
-      enumerable: true
-    },
-    numberOfTracks: {
-      get: function() {
-        var result = native_.callSync('ContentPlaylist_getNumberOfTracks', {'id' : Number(id)});
-        if (native_.isFailure(result)) {
-          throw native_.getErrorObject(result);
-        }
-        return native_.getResultObject(result);
-      },
-      set: function() {},
-      enumerable: true
-    },
-    thumbnailURI: {
-      get: function() {
-        var result = native_.callSync('ContentPlaylist_getThumbnailUri', {'id' : Number(id)});
-        if (native_.isFailure(result)) {
-          throw native_.getErrorObject(result);
+    });
+
+    if (type_.isObject(data)) {
+        // fill object with data
+        edit_.allow();
+        for (var key in data) {
+            if (data.hasOwnProperty(key) && this.hasOwnProperty(key)) {
+                this[key] = data[key];
+            }
         }
-        var res = native_.getResultObject(result);
-        //CoreAPI not support empty thumbnail, so one space must be used instead null thumbnail
-        return res === " " ? null : res;
-      },
-      set: function(v) {
-        var thumbnailURI = converter_.toString(v, true);
-        if (type_.isNullOrUndefined(thumbnailURI)) {
-          //CoreAPI not support empty thumbnail, so one space must be used instead null thumbnail
-          thumbnailURI = " ";
-        }
-        //TODO probably thumbnailURI should be converted here to absolute uri in case of virtual
-        var result = native_.callSync('ContentPlaylist_setThumbnailUri',
-                {'id' : Number(id), 'uri' : thumbnailURI});
-        if (native_.isFailure(result)) {
-          throw native_.getErrorObject(result);
-        }
-      },
-      enumerable: true
-    },
-  });
-
-  if (type_.isObject(data)) {
-    // fill object with data
-    edit_.allow();
-    for (var key in data) {
-      if (data.hasOwnProperty(key) && this.hasOwnProperty(key)) {
-        this[key] = data[key];
-      }
+        edit_.disallow();
     }
-    edit_.disallow();
-  }
 }
 
-Playlist.prototype.add = function (item) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'item', type: types_.PLATFORM_OBJECT, values: Content}
-  ]);
+Playlist.prototype.add = function(item) {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'item', type: types_.PLATFORM_OBJECT, values: Content }
+    ]);
 
-  var data = {
-    contentId: args.item.id,
-    playlistId: this.id,
-  };
+    var data = {
+        contentId: args.item.id,
+        playlistId: this.id
+    };
 
-  var result = native_.callSync('ContentPlaylist_add', data);
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    var result = native_.callSync('ContentPlaylist_add', data);
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
-Playlist.prototype.addBatch = function (items, successCallback, errorCallback) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'items', type: types_.ARRAY, values: Content},
-    {name: 'successCallback', type: types_.FUNCTION, optional: true, nullable: true},
-    {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
+Playlist.prototype.addBatch = function(items, successCallback, errorCallback) {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'items', type: types_.ARRAY, values: Content },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    var data = {
+        playlistId: this.id,
+        contents: args.items
+    };
+
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+            return;
+        }
+        native_.callIfPossible(args.successCallback);
+    };
 
-  var data = {
-    playlistId: this.id,
-    contents: args.items
-  };
+    var result = native_.call('ContentPlaylist_addBatch', data, callback);
 
-  var callback = function (result) {
     if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      return;
+        throw native_.getErrorObject(result);
     }
-    native_.callIfPossible(args.successCallback);
-  };
-
-  var result = native_.call('ContentPlaylist_addBatch', data, callback);
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
 };
 
-Playlist.prototype.remove = function (item) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'item', type: types_.PLATFORM_OBJECT, values: PlaylistItem}
-  ]);
+Playlist.prototype.remove = function(item) {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'item', type: types_.PLATFORM_OBJECT, values: PlaylistItem }
+    ]);
 
-  var data = {
-    playlistId: this.id,
-    memberId: args.item.content.memberId
-  };
-  var result = native_.callSync('ContentPlaylist_remove', data);
+    var data = {
+        playlistId: this.id,
+        memberId: args.item.content.memberId
+    };
+    var result = native_.callSync('ContentPlaylist_remove', data);
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
-Playlist.prototype.removeBatch = function (items, successCallback, errorCallback) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'items', type: types_.ARRAY, values: PlaylistItem},
-    {name: 'successCallback', type: types_.FUNCTION, optional: true, nullable: true},
-    {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
+Playlist.prototype.removeBatch = function(items, successCallback, errorCallback) {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'items', type: types_.ARRAY, values: PlaylistItem },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    var members = [];
+    for (var i = 0; i < args.items.length; i++) {
+        members.push(args.items[i].content.memberId);
+    }
 
-  var members = [];
-  for (var i = 0; i < args.items.length; i++) {
-    members.push(args.items[i].content.memberId);
-  }
+    var data = {
+        playlistId: this.id,
+        members: members
+    };
 
-  var data = {
-    playlistId: this.id,
-    members: members
-  };
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+            return;
+        }
+        native_.callIfPossible(args.successCallback);
+    };
+
+    var result = native_.call('ContentPlaylist_removeBatch', data, callback);
 
-  var callback = function (result) {
     if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      return;
+        throw native_.getErrorObject(result);
     }
-    native_.callIfPossible(args.successCallback);
-  };
+};
 
-  var result = native_.call('ContentPlaylist_removeBatch', data, callback);
+Playlist.prototype.get = function(successCallback, errorCallback, count, offset) {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'successCallback', type: types_.FUNCTION },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true },
+        { name: 'count', type: types_.LONG, optional: true },
+        { name: 'offset', type: types_.LONG, optional: true }
+    ]);
+
+    if (args.offset < 0 || args.count < 0) {
+        setTimeout(function() {
+            args.errorCallback(new WebAPIException(WebAPIException.INVALID_VALUES_ERR));
+        }, 0);
+        return;
+    }
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-};
+    var data = {
+        playlistId: this.id,
+        count: type_.isNullOrUndefined(args.count) ? -1 : args.count,
+        offset: type_.isNullOrUndefined(args.offset) ? -1 : args.offset
+    };
+
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+            return;
+        }
+        result = native_.getResultObject(result);
+        var out = [];
+        for (var i = 0, max = result.length; i < max; i++) {
+            var itemToPush = createContentObject_(result[i]);
+            itemToPush['memberId'] = result[i]['playlist_member_id'];
+            out.push(new PlaylistItem(itemToPush));
+        }
+        native_.callIfPossible(args.successCallback, out);
+    };
+
+    var result = native_.call('ContentPlaylist_get', data, callback);
 
-Playlist.prototype.get = function (successCallback, errorCallback, count, offset) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'successCallback', type: types_.FUNCTION},
-    {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true},
-    {name: 'count', type: types_.LONG, optional: true},
-    {name: 'offset', type: types_.LONG, optional: true}
-  ]);
-
-  if (args.offset < 0 || args.count < 0) {
-    setTimeout(function() {
-      args.errorCallback(new WebAPIException(WebAPIException.INVALID_VALUES_ERR));
-    }, 0);
-    return;
-  }
-
-  var data = {
-    playlistId: this.id,
-    count: type_.isNullOrUndefined(args.count) ? -1 : args.count,
-    offset: type_.isNullOrUndefined(args.offset) ? -1 : args.offset
-  };
-
-  var callback = function (result) {
     if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      return;
+        throw native_.getErrorObject(result);
     }
-    result = native_.getResultObject(result);
-    var out = [];
-    for (var i = 0, max = result.length; i < max; i++) {
-      var itemToPush = createContentObject_(result[i]);
-      itemToPush['memberId'] = result[i]['playlist_member_id'];
-      out.push(new PlaylistItem(itemToPush));
+};
+
+Playlist.prototype.setOrder = function(items, successCallback, errorCallback) {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'items', type: types_.ARRAY, values: PlaylistItem },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    if (!args.items.length) {
+        setTimeout(function() {
+            args.errorCallback(new WebAPIException(WebAPIException.INVALID_VALUES_ERR));
+        }, 0);
+        return;
     }
-    native_.callIfPossible(args.successCallback, out);
-  };
 
-  var result = native_.call('ContentPlaylist_get', data, callback);
+    var members = [];
+    for (var i = 0; i < args.items.length; i++) {
+        members.push(args.items[i].content.memberId);
+    }
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-};
+    var data = {
+        playlistId: this.id,
+        members: members
+    };
+
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+            return;
+        }
+        native_.callIfPossible(args.successCallback);
+    };
+
+    var result = native_.call('ContentPlaylist_setOrder', data, callback);
 
-Playlist.prototype.setOrder = function (items, successCallback, errorCallback) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'items', type: types_.ARRAY, values: PlaylistItem},
-    {name: 'successCallback', type: types_.FUNCTION, optional: true, nullable: true},
-    {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
-
-  if (!args.items.length) {
-    setTimeout(function() {
-      args.errorCallback(new WebAPIException(WebAPIException.INVALID_VALUES_ERR));
-    }, 0);
-    return;
-  }
-
-  var members = [];
-  for (var i = 0; i < args.items.length; i++) {
-    members.push(args.items[i].content.memberId);
-  }
-
-  var data = {
-    playlistId: this.id,
-    members: members,
-  };
-
-  var callback = function (result) {
     if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      return;
+        throw native_.getErrorObject(result);
     }
-    native_.callIfPossible(args.successCallback);
-  };
+};
 
-  var result = native_.call('ContentPlaylist_setOrder', data, callback);
+Playlist.prototype.move = function(item, delta, successCallback, errorCallback) {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'item', type: types_.PLATFORM_OBJECT, values: PlaylistItem },
+        { name: 'delta', type: types_.LONG },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    var data = {
+        playlistId: this.id,
+        memberId: args.item.content.memberId,
+        delta: args.delta
+    };
+
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+            return;
+        }
+        native_.callIfPossible(args.successCallback);
+    };
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-};
+    var result = native_.call('ContentPlaylist_move', data, callback);
 
-Playlist.prototype.move = function (item, delta, successCallback, errorCallback) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'item', type: types_.PLATFORM_OBJECT, values: PlaylistItem},
-    {name: 'delta', type: types_.LONG},
-    {name: 'successCallback', type: types_.FUNCTION, optional: true, nullable: true},
-    {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
-
-  var data = {
-    playlistId: this.id,
-    memberId: args.item.content.memberId,
-    delta: args.delta
-  };
-
-  var callback = function (result) {
     if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      return;
+        throw native_.getErrorObject(result);
     }
-    native_.callIfPossible(args.successCallback);
-  };
-
-  var result = native_.call('ContentPlaylist_move', data, callback);
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
 };
index cb7158e8f4ea11071b32207a6991feb445f6ad7c..c92902dedcc0ce257e898e1a49b3e133eb175ab9 100755 (executable)
@@ -24,427 +24,491 @@ var callbackId = 0;
 var callbacks = {};
 
 extension.setMessageListener(function(json) {
-  var result = JSON_.parse(json);
-  var callback = callbacks[result['callbackId']];
-  setTimeout(function() {
-    callback(result);
-    delete callbacks[result['callbackId']];
-  }, 0);
+    var result = JSON_.parse(json);
+    var callback = callbacks[result['callbackId']];
+    setTimeout(function() {
+        callback(result);
+        delete callbacks[result['callbackId']];
+    }, 0);
 });
 
 function nextCallbackId() {
-  return callbackId++;
+    return callbackId++;
 }
 
 function callNative(cmd, args) {
-  var json = {'cmd': cmd, 'args': args};
-  var argjson = JSON_.stringify(json);
-  var resultString = extension.internal.sendSyncMessage(argjson);
-  var result = JSON_.parse(resultString);
-
-  if (typeof result !== 'object') {
-    throw new WebAPIException(WebAPIException.UNKNOWN_ERR);
-  }
-
-  if (result['status'] == 'success') {
-    if (result['result']) {
-      return result['result'];
+    var json = { cmd: cmd, args: args };
+    var argjson = JSON_.stringify(json);
+    var resultString = extension.internal.sendSyncMessage(argjson);
+    var result = JSON_.parse(resultString);
+
+    if (typeof result !== 'object') {
+        throw new WebAPIException(WebAPIException.UNKNOWN_ERR);
     }
-    return true;
-  } else if (result['status'] == 'error') {
-    var err = result['error'];
-    if (err) {
-      throw new WebAPIException(err);
+
+    if (result['status'] == 'success') {
+        if (result['result']) {
+            return result['result'];
+        }
+        return true;
+    } else if (result['status'] == 'error') {
+        var err = result['error'];
+        if (err) {
+            throw new WebAPIException(err);
+        }
+        return false;
     }
-    return false;
-  }
 }
 
-
 function callNativeWithCallback(cmd, args, callback) {
-  if (callback) {
-    var id = nextCallbackId();
-    args['callbackId'] = id;
-    callbacks[id] = callback;
-  }
+    if (callback) {
+        var id = nextCallbackId();
+        args['callbackId'] = id;
+        callbacks[id] = callback;
+    }
 
-  return callNative(cmd, args);
+    return callNative(cmd, args);
 }
 
 function SetReadOnlyProperty(obj, n, v) {
-  Object.defineProperty(obj, n, {value: v, writable: false});
+    Object.defineProperty(obj, n, { value: v, writable: false });
 }
 
 var DataType = {
-  'MAP': 'MAP',
-  'SQL': 'SQL'
+    MAP: 'MAP',
+    SQL: 'SQL'
 };
 
 function DataControlManager() {
-  // constructor of DataControlManager
+    // constructor of DataControlManager
 }
 
 var privUtils_ = xwalk.utils;
 
 var getDataControlConsumer = function(providerId, dataId, type) {
-  privUtils_.checkPrivilegeAccess(privUtils_.privilege.DATACONTROL_CONSUMER);
-  var args = validator_.validateArgs(arguments, [
-    {'name': 'providerId', 'type': types_.STRING},
-    {'name': 'dataId', 'type': types_.STRING},
-    {'name': 'type', 'type': types_.ENUM, 'values': ['MAP', 'SQL']}
-  ]);
-
-  var returnObject = null;
-  if (type === 'SQL') {
-    returnObject = new SQLDataControlConsumer();
-  } else if (type === 'MAP') {
-    returnObject = new MappedDataControlConsumer();
-  }
-  SetReadOnlyProperty(returnObject, 'type', args.type); // read only property
-  SetReadOnlyProperty(returnObject, 'providerId', args.providerId); // read only property
-  SetReadOnlyProperty(returnObject, 'dataId', args.dataId); // read only property
-
-  return returnObject;
-};
+    privUtils_.checkPrivilegeAccess(privUtils_.privilege.DATACONTROL_CONSUMER);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'providerId', type: types_.STRING },
+        { name: 'dataId', type: types_.STRING },
+        { name: 'type', type: types_.ENUM, values: ['MAP', 'SQL'] }
+    ]);
+
+    var returnObject = null;
+    if (type === 'SQL') {
+        returnObject = new SQLDataControlConsumer();
+    } else if (type === 'MAP') {
+        returnObject = new MappedDataControlConsumer();
+    }
+    SetReadOnlyProperty(returnObject, 'type', args.type); // read only property
+    // read only property
+    SetReadOnlyProperty(returnObject, 'providerId', args.providerId);
+    SetReadOnlyProperty(returnObject, 'dataId', args.dataId); // read only property
 
+    return returnObject;
+};
 
 DataControlManager.prototype.getDataControlConsumer = function(providerId, dataId, type) {
-  return getDataControlConsumer.apply(null, arguments);
+    return getDataControlConsumer.apply(null, arguments);
 };
 
 function DataControlConsumerObject() {
-  // constructor of DataControlConsumerObject
+    // constructor of DataControlConsumerObject
 }
 
-
-
 function SQLDataControlConsumer() {
-  // constructor of SQLDataControlConsumer
+    // constructor of SQLDataControlConsumer
 }
 
 SQLDataControlConsumer.prototype = new DataControlConsumerObject();
 SQLDataControlConsumer.prototype.constructor = SQLDataControlConsumer;
 
 SQLDataControlConsumer.prototype.insert = function(reqId, insertionData) {
-  var args = validator_.validateArgs(arguments, [
-    {'name': 'reqId', 'type': types_.LONG},
-    {'name': 'insertionData', 'type': types_.DICTIONARY},
-    {'name': 'successCallback', 'type': types_.FUNCTION, optional: true, nullable: true},
-    {'name': 'errorCallback', 'type': types_.FUNCTION, optional: true, nullable: true}
-  ]);
-
-  // doing conversion of all elements to string
-  var ins = validator_.validateArgs([args.insertionData.columns, args.insertionData.values], [
-    {name : 'columns', type : types_.ARRAY, values : types_.STRING},
-    {name : 'values', type : types_.ARRAY, values : types_.STRING}
-  ]);
-
-  var nativeParam = {
-    'providerId': this.providerId,
-    'dataId': this.dataId,
-    'reqId': args.reqId,
-    'insertionData': args.insertionData
-  };
-  try {
-    var syncResult =
-        callNativeWithCallback('SQLDataControlConsumer_insert', nativeParam, function(result) {
-      if (result.status == 'success') {
-        if (args.successCallback) {
-          args.successCallback(result['requestId'], result['result']);
-        }
-      }
-      if (result.status == 'error') {
-        if (args.errorCallback) {
-          var err = result['result'];
-          var e = new WebAPIException(err.name, err.message);
-          args.errorCallback(result['requestId'], e);
-        }
-      }
-    });
-  } catch (e) {
-    throw e;
-  }
+    var args = validator_.validateArgs(arguments, [
+        { name: 'reqId', type: types_.LONG },
+        { name: 'insertionData', type: types_.DICTIONARY },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    // doing conversion of all elements to string
+    var ins = validator_.validateArgs(
+        [args.insertionData.columns, args.insertionData.values],
+        [
+            { name: 'columns', type: types_.ARRAY, values: types_.STRING },
+            { name: 'values', type: types_.ARRAY, values: types_.STRING }
+        ]
+    );
+
+    var nativeParam = {
+        providerId: this.providerId,
+        dataId: this.dataId,
+        reqId: args.reqId,
+        insertionData: args.insertionData
+    };
+    try {
+        var syncResult = callNativeWithCallback(
+            'SQLDataControlConsumer_insert',
+            nativeParam,
+            function(result) {
+                if (result.status == 'success') {
+                    if (args.successCallback) {
+                        args.successCallback(result['requestId'], result['result']);
+                    }
+                }
+                if (result.status == 'error') {
+                    if (args.errorCallback) {
+                        var err = result['result'];
+                        var e = new WebAPIException(err.name, err.message);
+                        args.errorCallback(result['requestId'], e);
+                    }
+                }
+            }
+        );
+    } catch (e) {
+        throw e;
+    }
 };
 
 SQLDataControlConsumer.prototype.update = function(reqId, updateData, where) {
-  var args = validator_.validateArgs(arguments, [
-    {'name': 'reqId', 'type': types_.LONG},
-    {'name': 'updateData', 'type': types_.DICTIONARY},
-    {'name': 'where', 'type': types_.STRING},
-    {'name': 'successCallback', 'type': types_.FUNCTION, optional: true, nullable: true},
-    {'name': 'errorCallback', 'type': types_.FUNCTION, optional: true, nullable: true}
-  ]);
-
-  var nativeParam = {
-    'providerId': this.providerId,
-    'dataId': this.dataId,
-    'reqId': args.reqId,
-    'where': args.where,
-    'updateData': args.updateData
-  };
-  try {
-    var syncResult =
-        callNativeWithCallback('SQLDataControlConsumer_update', nativeParam, function(result) {
-      if (result.status == 'success') {
-        if (args.successCallback) {
-          args.successCallback(result['requestId']);
-        }
-      }
-      if (result.status == 'error') {
-        if (args.errorCallback) {
-          var err = result['result'];
-          var e = new WebAPIException(err.name, err.message);
-          args.errorCallback(result['requestId'], e);
-        }
-      }
-    });
-  } catch (e) {
-    throw e;
-  }
-
+    var args = validator_.validateArgs(arguments, [
+        { name: 'reqId', type: types_.LONG },
+        { name: 'updateData', type: types_.DICTIONARY },
+        { name: 'where', type: types_.STRING },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    var nativeParam = {
+        providerId: this.providerId,
+        dataId: this.dataId,
+        reqId: args.reqId,
+        where: args.where,
+        updateData: args.updateData
+    };
+    try {
+        var syncResult = callNativeWithCallback(
+            'SQLDataControlConsumer_update',
+            nativeParam,
+            function(result) {
+                if (result.status == 'success') {
+                    if (args.successCallback) {
+                        args.successCallback(result['requestId']);
+                    }
+                }
+                if (result.status == 'error') {
+                    if (args.errorCallback) {
+                        var err = result['result'];
+                        var e = new WebAPIException(err.name, err.message);
+                        args.errorCallback(result['requestId'], e);
+                    }
+                }
+            }
+        );
+    } catch (e) {
+        throw e;
+    }
 };
 
 SQLDataControlConsumer.prototype.remove = function(reqId, where) {
-  var args = validator_.validateArgs(arguments, [
-    {'name': 'reqId', 'type': types_.LONG},
-    {'name': 'where', 'type': types_.STRING},
-    {'name': 'successCallback', 'type': types_.FUNCTION, optional: true, nullable: true},
-    {'name': 'errorCallback', 'type': types_.FUNCTION, optional: true, nullable: true}
-  ]);
-
-  var nativeParam = {
-    'providerId': this.providerId,
-    'dataId': this.dataId,
-    'reqId': args.reqId,
-    'where': args.where
-  };
-  try {
-    var syncResult =
-        callNativeWithCallback('SQLDataControlConsumer_remove', nativeParam, function(result) {
-      if (result.status == 'success') {
-        if (args.successCallback) {
-          args.successCallback(result['requestId']);
-        }
-      }
-      if (result.status == 'error') {
-        if (args.errorCallback) {
-          var err = result['result'];
-          var e = new WebAPIException(err.name, err.message);
-          args.errorCallback(result['requestId'], e);
-        }
-      }
-    });
-  } catch (e) {
-    throw e;
-  }
-
+    var args = validator_.validateArgs(arguments, [
+        { name: 'reqId', type: types_.LONG },
+        { name: 'where', type: types_.STRING },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    var nativeParam = {
+        providerId: this.providerId,
+        dataId: this.dataId,
+        reqId: args.reqId,
+        where: args.where
+    };
+    try {
+        var syncResult = callNativeWithCallback(
+            'SQLDataControlConsumer_remove',
+            nativeParam,
+            function(result) {
+                if (result.status == 'success') {
+                    if (args.successCallback) {
+                        args.successCallback(result['requestId']);
+                    }
+                }
+                if (result.status == 'error') {
+                    if (args.errorCallback) {
+                        var err = result['result'];
+                        var e = new WebAPIException(err.name, err.message);
+                        args.errorCallback(result['requestId'], e);
+                    }
+                }
+            }
+        );
+    } catch (e) {
+        throw e;
+    }
 };
 
-SQLDataControlConsumer.prototype.select = function(reqId, columns, where, successCallback) {
-  var args = validator_.validateArgs(arguments, [
-    {'name': 'reqId', 'type': types_.LONG},
-    {'name': 'columns', 'type': types_.ARRAY},
-    {'name': 'where', 'type': types_.STRING},
-    {'name': 'successCallback', 'type': types_.FUNCTION},
-    {'name': 'errorCallback', 'type': types_.FUNCTION, optional: true, nullable: true},
-    {'name': 'page', 'type': types_.LONG, optional: true, nullable: true},
-    {'name': 'maxNumberPerPage', 'type': types_.LONG, optional: true, nullable: true},
-    {'name': 'order', 'type': types_.STRING, optional: true, nullable: true}
-  ]);
-
-  var nativeParam = {
-    'providerId': this.providerId,
-    'dataId': this.dataId,
-    'reqId': args.reqId,
-    'columns': args.columns,
-    'where': args.where
-  };
-  if (args['page']) {
-    nativeParam['page'] = args.page;
-  }
-  if (args['maxNumberPerPage']) {
-    nativeParam['maxNumberPerPage'] = args.maxNumberPerPage;
-  }
-  if (args['order']) {
-    nativeParam['order'] = args.order;
-  }
-
-  try {
-    var syncResult =
-        callNativeWithCallback('SQLDataControlConsumer_select', nativeParam, function(result) {
-      if (result.status == 'success') {
-        args.successCallback(result['result'], result['requestId']);
-      }
-      if (result.status == 'error') {
-        if (args.errorCallback) {
-          var err = result['result'];
-          var e = new WebAPIException(err.name, err.message);
-          args.errorCallback(result['requestId'], e);
-        }
-      }
-    });
-    // if you need synchronous result from native function using 'syncResult'.
-  } catch (e) {
-    throw e;
-  }
+SQLDataControlConsumer.prototype.select = function(
+    reqId,
+    columns,
+    where,
+    successCallback
+) {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'reqId', type: types_.LONG },
+        { name: 'columns', type: types_.ARRAY },
+        { name: 'where', type: types_.STRING },
+        { name: 'successCallback', type: types_.FUNCTION },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        { name: 'page', type: types_.LONG, optional: true, nullable: true },
+        {
+            name: 'maxNumberPerPage',
+            type: types_.LONG,
+            optional: true,
+            nullable: true
+        },
+        { name: 'order', type: types_.STRING, optional: true, nullable: true }
+    ]);
+
+    var nativeParam = {
+        providerId: this.providerId,
+        dataId: this.dataId,
+        reqId: args.reqId,
+        columns: args.columns,
+        where: args.where
+    };
+    if (args['page']) {
+        nativeParam['page'] = args.page;
+    }
+    if (args['maxNumberPerPage']) {
+        nativeParam['maxNumberPerPage'] = args.maxNumberPerPage;
+    }
+    if (args['order']) {
+        nativeParam['order'] = args.order;
+    }
 
+    try {
+        var syncResult = callNativeWithCallback(
+            'SQLDataControlConsumer_select',
+            nativeParam,
+            function(result) {
+                if (result.status == 'success') {
+                    args.successCallback(result['result'], result['requestId']);
+                }
+                if (result.status == 'error') {
+                    if (args.errorCallback) {
+                        var err = result['result'];
+                        var e = new WebAPIException(err.name, err.message);
+                        args.errorCallback(result['requestId'], e);
+                    }
+                }
+            }
+        );
+        // if you need synchronous result from native function using 'syncResult'.
+    } catch (e) {
+        throw e;
+    }
 };
 
-
 function MappedDataControlConsumer() {
-  // constructor of MappedDataControlConsumer
+    // constructor of MappedDataControlConsumer
 }
 
 MappedDataControlConsumer.prototype = new DataControlConsumerObject();
 MappedDataControlConsumer.prototype.constructor = MappedDataControlConsumer;
 
 MappedDataControlConsumer.prototype.addValue = function(reqId, key, value) {
-  var args = validator_.validateArgs(arguments, [
-    {'name': 'reqId', 'type': types_.LONG},
-    {'name': 'key', 'type': types_.STRING},
-    {'name': 'value', 'type': types_.STRING},
-    {'name': 'successCallback', 'type': types_.FUNCTION, optional: true, nullable: true},
-    {'name': 'errorCallback', 'type': types_.FUNCTION, optional: true, nullable: true}
-  ]);
-
-  var nativeParam = {
-    'providerId': this.providerId,
-    'dataId': this.dataId,
-    'reqId': args.reqId,
-    'key': args.key,
-    'value': args.value
-  };
-  try {
-    var syncResult =
-        callNativeWithCallback('MappedDataControlConsumer_addValue', nativeParam, function(result) {
-      if (result.status == 'success') {
-        if (args.successCallback) {
-          args.successCallback(result['requestId']);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'reqId', type: types_.LONG },
+        { name: 'key', type: types_.STRING },
+        { name: 'value', type: types_.STRING },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
         }
-      }
-      if (result.status == 'error') {
-        if (args.errorCallback) {
-          var err = result['result'];
-          var e = new WebAPIException(err.name, err.message);
-          args.errorCallback(result['requestId'], e);
-        }
-      }
-    });
-  } catch (e) {
-    throw e;
-  }
-
+    ]);
+
+    var nativeParam = {
+        providerId: this.providerId,
+        dataId: this.dataId,
+        reqId: args.reqId,
+        key: args.key,
+        value: args.value
+    };
+    try {
+        var syncResult = callNativeWithCallback(
+            'MappedDataControlConsumer_addValue',
+            nativeParam,
+            function(result) {
+                if (result.status == 'success') {
+                    if (args.successCallback) {
+                        args.successCallback(result['requestId']);
+                    }
+                }
+                if (result.status == 'error') {
+                    if (args.errorCallback) {
+                        var err = result['result'];
+                        var e = new WebAPIException(err.name, err.message);
+                        args.errorCallback(result['requestId'], e);
+                    }
+                }
+            }
+        );
+    } catch (e) {
+        throw e;
+    }
 };
 
-MappedDataControlConsumer.prototype.removeValue = function(reqId, key, value, successCallback) {
-  var args = validator_.validateArgs(arguments, [
-    {'name': 'reqId', 'type': types_.LONG},
-    {'name': 'key', 'type': types_.STRING},
-    {'name': 'value', 'type': types_.STRING},
-    {'name': 'successCallback', 'type': types_.FUNCTION},
-    {'name': 'errorCallback', 'type': types_.FUNCTION, optional: true, nullable: true}
-  ]);
-
-  var nativeParam = {
-    'providerId': this.providerId,
-    'dataId': this.dataId,
-    'reqId': args.reqId,
-    'key': args.key,
-    'value': args.value
-  };
-  try {
-    var syncResult =
-        callNativeWithCallback('MappedDataControlConsumer_removeValue', nativeParam, function(result) {
-      if (result.status == 'success') {
-        args.successCallback(result['requestId']);
-      }
-      if (result.status == 'error') {
-        if (args.errorCallback) {
-          var err = result['result'];
-          var e = new WebAPIException(err.name, err.message);
-          args.errorCallback(result['requestId'], e);
-        }
-      }
-    });
-  } catch (e) {
-    throw e;
-  }
-
+MappedDataControlConsumer.prototype.removeValue = function(
+    reqId,
+    key,
+    value,
+    successCallback
+) {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'reqId', type: types_.LONG },
+        { name: 'key', type: types_.STRING },
+        { name: 'value', type: types_.STRING },
+        { name: 'successCallback', type: types_.FUNCTION },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    var nativeParam = {
+        providerId: this.providerId,
+        dataId: this.dataId,
+        reqId: args.reqId,
+        key: args.key,
+        value: args.value
+    };
+    try {
+        var syncResult = callNativeWithCallback(
+            'MappedDataControlConsumer_removeValue',
+            nativeParam,
+            function(result) {
+                if (result.status == 'success') {
+                    args.successCallback(result['requestId']);
+                }
+                if (result.status == 'error') {
+                    if (args.errorCallback) {
+                        var err = result['result'];
+                        var e = new WebAPIException(err.name, err.message);
+                        args.errorCallback(result['requestId'], e);
+                    }
+                }
+            }
+        );
+    } catch (e) {
+        throw e;
+    }
 };
 
 MappedDataControlConsumer.prototype.getValue = function(reqId, key, successCallback) {
-  var args = validator_.validateArgs(arguments, [
-    {'name': 'reqId', 'type': types_.LONG},
-    {'name': 'key', 'type': types_.STRING},
-    {'name': 'successCallback', 'type': types_.FUNCTION},
-    {'name': 'errorCallback', 'type': types_.FUNCTION, optional: true, nullable: true}
-  ]);
-
-  var nativeParam = {
-    'providerId': this.providerId,
-    'dataId': this.dataId,
-    'reqId': args.reqId,
-    'key': args.key
-  };
-  try {
-    var syncResult = callNativeWithCallback('MappedDataControlConsumer_getValue', nativeParam, function(result) {
-      if (result.status == 'success') {
-        args.successCallback(result['result'], result['requestId']);
-      }
-      if (result.status == 'error') {
-        if (args.errorCallback) {
-          var err = result['result'];
-          var e = new WebAPIException(err.name, err.message);
-          args.errorCallback(result['requestId'], e);
-        }
-      }
-    });
-  } catch (e) {
-    throw e;
-  }
-
+    var args = validator_.validateArgs(arguments, [
+        { name: 'reqId', type: types_.LONG },
+        { name: 'key', type: types_.STRING },
+        { name: 'successCallback', type: types_.FUNCTION },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    var nativeParam = {
+        providerId: this.providerId,
+        dataId: this.dataId,
+        reqId: args.reqId,
+        key: args.key
+    };
+    try {
+        var syncResult = callNativeWithCallback(
+            'MappedDataControlConsumer_getValue',
+            nativeParam,
+            function(result) {
+                if (result.status == 'success') {
+                    args.successCallback(result['result'], result['requestId']);
+                }
+                if (result.status == 'error') {
+                    if (args.errorCallback) {
+                        var err = result['result'];
+                        var e = new WebAPIException(err.name, err.message);
+                        args.errorCallback(result['requestId'], e);
+                    }
+                }
+            }
+        );
+    } catch (e) {
+        throw e;
+    }
 };
 
 MappedDataControlConsumer.prototype.updateValue = function(
-        reqId, key, oldValue, newValue, successCallback) {
-  var args = validator_.validateArgs(arguments, [
-    {'name': 'reqId', 'type': types_.LONG},
-    {'name': 'key', 'type': types_.STRING},
-    {'name': 'oldValue', 'type': types_.STRING},
-    {'name': 'newValue', 'type': types_.STRING},
-    {'name': 'successCallback', 'type': types_.FUNCTION},
-    {'name': 'errorCallback', 'type': types_.FUNCTION, optional: true, nullable: true}
-  ]);
-
-  var nativeParam = {
-    'providerId': this.providerId,
-    'dataId': this.dataId,
-    'reqId': args.reqId,
-    'key': args.key,
-    'oldValue': args.oldValue,
-    'newValue': args.newValue
-  };
-  try {
-    var syncResult =
-        callNativeWithCallback('MappedDataControlConsumer_updateValue', nativeParam, function(result) {
-      if (result.status == 'success') {
-        args.successCallback(result['requestId']);
-      }
-      if (result.status == 'error') {
-        if (args.errorCallback) {
-          var err = result['result'];
-          var e = new WebAPIException(err.name, err.message);
-          args.errorCallback(result['requestId'], e);
-        }
-      }
-    });
-  } catch (e) {
-    throw e;
-  }
-
+    reqId,
+    key,
+    oldValue,
+    newValue,
+    successCallback
+) {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'reqId', type: types_.LONG },
+        { name: 'key', type: types_.STRING },
+        { name: 'oldValue', type: types_.STRING },
+        { name: 'newValue', type: types_.STRING },
+        { name: 'successCallback', type: types_.FUNCTION },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    var nativeParam = {
+        providerId: this.providerId,
+        dataId: this.dataId,
+        reqId: args.reqId,
+        key: args.key,
+        oldValue: args.oldValue,
+        newValue: args.newValue
+    };
+    try {
+        var syncResult = callNativeWithCallback(
+            'MappedDataControlConsumer_updateValue',
+            nativeParam,
+            function(result) {
+                if (result.status == 'success') {
+                    args.successCallback(result['requestId']);
+                }
+                if (result.status == 'error') {
+                    if (args.errorCallback) {
+                        var err = result['result'];
+                        var e = new WebAPIException(err.name, err.message);
+                        args.errorCallback(result['requestId'], e);
+                    }
+                }
+            }
+        );
+    } catch (e) {
+        throw e;
+    }
 };
 
-
-
 exports = new DataControlManager();
-
index 331fcdc3122f292d0662c6709870565929c35932..a1388d41d56bbe71467b3bda0c1c31e278a751aa 100755 (executable)
@@ -21,340 +21,354 @@ var types_ = validator_.Types;
 var check_ = xwalk.utils.type;
 var converter_ = xwalk.utils.converter;
 
-
 var callbackId = 0;
 var callbacks = {};
 var requests = {};
 
-
 extension.setMessageListener(function(json) {
+    var result = JSON_.parse(json);
+    var callback = callbacks[result.callbackId];
+    //privUtils_.log("PostMessage received: " + result.status);
 
-  var result = JSON_.parse(json);
-  var callback = callbacks[result.callbackId];
-  //privUtils_.log("PostMessage received: " + result.status);
-
-  if (!callback) {
-    privUtils_.log('Ignoring unknown callback: ' + result.callbackId);
-    return;
-  }
-  setTimeout(function() {
-    if (result.status == 'progress') {
-      if (callback.onprogress) {
-        var receivedSize = result.receivedSize;
-        var totalSize = result.totalSize;
-        callback.onprogress(result.callbackId, receivedSize, totalSize);
-      }
-    } else if (result.status == 'paused') {
-      if (callback.onpaused) {
-        callback.onpaused(result.callbackId);
-      }
-    } else if (result.status == 'canceled') {
-      if (callback.oncanceled) {
-        callback.oncanceled(result.callbackId);
-      }
-    } else if (result.status == 'completed') {
-      if (callback.oncompleted) {
-        var fullPath = result.fullPath;
-        callback.oncompleted(result.callbackId, fullPath);
-      }
-    } else if (result.status == 'error') {
-      if (callback.onfailed) {
-        callback.onfailed(result.callbackId,
-            new WebAPIException(result.error));
-      }
+    if (!callback) {
+        privUtils_.log('Ignoring unknown callback: ' + result.callbackId);
+        return;
     }
-  }, 0);
+    setTimeout(function() {
+        if (result.status == 'progress') {
+            if (callback.onprogress) {
+                var receivedSize = result.receivedSize;
+                var totalSize = result.totalSize;
+                callback.onprogress(result.callbackId, receivedSize, totalSize);
+            }
+        } else if (result.status == 'paused') {
+            if (callback.onpaused) {
+                callback.onpaused(result.callbackId);
+            }
+        } else if (result.status == 'canceled') {
+            if (callback.oncanceled) {
+                callback.oncanceled(result.callbackId);
+            }
+        } else if (result.status == 'completed') {
+            if (callback.oncompleted) {
+                var fullPath = result.fullPath;
+                callback.oncompleted(result.callbackId, fullPath);
+            }
+        } else if (result.status == 'error') {
+            if (callback.onfailed) {
+                callback.onfailed(result.callbackId, new WebAPIException(result.error));
+            }
+        }
+    }, 0);
 });
 
 function nextCallbackId() {
-  return ++callbackId;
+    return ++callbackId;
 }
 
 function callNative(cmd, args) {
-  var json = {'cmd': cmd, 'args': args};
-  var argjson = JSON_.stringify(json);
-  var resultString = extension.internal.sendSyncMessage(argjson);
-  var result = JSON_.parse(resultString);
-
-  if (typeof result !== 'object') {
-    throw new WebAPIException(WebAPIException.UNKNOWN_ERR);
-  }
-
-  if (result.status == 'success') {
-    if (result.result) {
-      return result.result;
+    var json = { cmd: cmd, args: args };
+    var argjson = JSON_.stringify(json);
+    var resultString = extension.internal.sendSyncMessage(argjson);
+    var result = JSON_.parse(resultString);
+
+    if (typeof result !== 'object') {
+        throw new WebAPIException(WebAPIException.UNKNOWN_ERR);
     }
-    return true;
-  } else if (result.status == 'error') {
-    var err = result.error;
-    if (err) {
-      throw new WebAPIException(err);
+
+    if (result.status == 'success') {
+        if (result.result) {
+            return result.result;
+        }
+        return true;
+    } else if (result.status == 'error') {
+        var err = result.error;
+        if (err) {
+            throw new WebAPIException(err);
+        }
+        return false;
     }
-    return false;
-  }
 }
 
-
 function callNativeWithCallback(cmd, args, callback) {
-  if (callback) {
-    var id = nextCallbackId();
-    args.callbackId = id;
-    callbacks[id] = callback;
-  }
+    if (callback) {
+        var id = nextCallbackId();
+        args.callbackId = id;
+        callbacks[id] = callback;
+    }
 
-  return callNative(cmd, args);
+    return callNative(cmd, args);
 }
 
 function SetReadOnlyProperty(obj, n, v) {
-  Object.defineProperty(obj, n, {value: v, writable: false});
+    Object.defineProperty(obj, n, { value: v, writable: false });
 }
 
 var DownloadState = {
-  'QUEUED': 'QUEUED',
-  'DOWNLOADING': 'DOWNLOADING',
-  'PAUSED': 'PAUSED',
-  'CANCELED': 'CANCELED',
-  'COMPLETED': 'COMPLETED',
-  'FAILED': 'FAILED'
+    QUEUED: 'QUEUED',
+    DOWNLOADING: 'DOWNLOADING',
+    PAUSED: 'PAUSED',
+    CANCELED: 'CANCELED',
+    COMPLETED: 'COMPLETED',
+    FAILED: 'FAILED'
 };
 
 var DownloadNetworkType = {
-  'CELLULAR': 'CELLULAR',
-  'WIFI': 'WIFI',
-  'ALL': 'ALL'
+    CELLULAR: 'CELLULAR',
+    WIFI: 'WIFI',
+    ALL: 'ALL'
 };
 
 tizen.DownloadRequest = function(url, destination, fileName, networkType, httpHeader) {
-  validator_.isConstructorCall(this, tizen.DownloadRequest);
-
-  var url_ = converter_.toString(url);
-  var destination_ = destination === undefined ? '' : converter_.toString(destination);
-  var fileName_ = fileName === undefined ? '' : converter_.toString(fileName);
-
-  var networkType_;
-
-  if (networkType === undefined || !(networkType in DownloadNetworkType)) {
-    networkType_ = 'ALL';
-  } else {
-    networkType_ = networkType;
-  }
-
-  Object.defineProperties(this, {
-    'url': {
-      enumerable: true,
-      get: function() {
-        return url_;
-      },
-      set: function(value) {
-        if (value !== null) {
-          url_ = converter_.toString(value);
-        }
-      },
-    },
-    'destination': {
-      enumerable: true,
-      get: function() {
-        return destination_;
-      },
-      set: function(value) {
-        if (value !== null) {
-          destination_ = converter_.toString(value);
-        }
-      },
-    },
-    'fileName': {
-      enumerable: true,
-      get: function() {
-        return fileName_;
-      },
-      set: function(value) {
-        if (value !== null) {
-          fileName_ = converter_.toString(value);
-        }
-      },
-    },
-    'networkType': {
-      enumerable: true,
-      get: function() {
-        return networkType_;
-      },
-      set: function(value) {
-        if (value === null || value in DownloadNetworkType) {
-          networkType_ = value;
-        }
-      },
-    },
-    'httpHeader': {
-      writable: true,
-      enumerable: true,
-      value: httpHeader === undefined ? {} : httpHeader,
+    validator_.isConstructorCall(this, tizen.DownloadRequest);
+
+    var url_ = converter_.toString(url);
+    var destination_ = destination === undefined ? '' : converter_.toString(destination);
+    var fileName_ = fileName === undefined ? '' : converter_.toString(fileName);
+
+    var networkType_;
+
+    if (networkType === undefined || !(networkType in DownloadNetworkType)) {
+        networkType_ = 'ALL';
+    } else {
+        networkType_ = networkType;
     }
-  });
-};
 
+    Object.defineProperties(this, {
+        url: {
+            enumerable: true,
+            get: function() {
+                return url_;
+            },
+            set: function(value) {
+                if (value !== null) {
+                    url_ = converter_.toString(value);
+                }
+            }
+        },
+        destination: {
+            enumerable: true,
+            get: function() {
+                return destination_;
+            },
+            set: function(value) {
+                if (value !== null) {
+                    destination_ = converter_.toString(value);
+                }
+            }
+        },
+        fileName: {
+            enumerable: true,
+            get: function() {
+                return fileName_;
+            },
+            set: function(value) {
+                if (value !== null) {
+                    fileName_ = converter_.toString(value);
+                }
+            }
+        },
+        networkType: {
+            enumerable: true,
+            get: function() {
+                return networkType_;
+            },
+            set: function(value) {
+                if (value === null || value in DownloadNetworkType) {
+                    networkType_ = value;
+                }
+            }
+        },
+        httpHeader: {
+            writable: true,
+            enumerable: true,
+            value: httpHeader === undefined ? {} : httpHeader
+        }
+    });
+};
 
 function DownloadManager() {
-  // constructor of DownloadManager
+    // constructor of DownloadManager
 }
 
 DownloadManager.prototype.start = function() {
-  var args = validator_.validateArgs(arguments, [
-    {'name' : 'downloadRequest', 'type': types_.PLATFORM_OBJECT, 'values': tizen.DownloadRequest},
-    {'name' : 'downloadCallback', 'type': types_.LISTENER,
-      'values' : ['onprogress', 'onpaused', 'oncanceled', 'oncompleted', 'onfailed'],
-      optional: true, nullable: true}
-  ]);
-
-  var nativeParam = {
-    'url': args.downloadRequest.url,
-    'destination': args.downloadRequest.destination,
-    'fileName': args.downloadRequest.fileName,
-    'networkType': args.downloadRequest.networkType,
-    'httpHeader': args.downloadRequest.httpHeader,
-    'callbackId': nextCallbackId()
-  };
-
-  if (args.downloadCallback) {
-    this.setListener(nativeParam.callbackId, args.downloadCallback);
-  }
-
-  try {
-    callNative('DownloadManager_start', nativeParam);
-  } catch (e) {
-    if ('NetworkError' === e.name) {
-      return -1;
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'downloadRequest',
+            type: types_.PLATFORM_OBJECT,
+            values: tizen.DownloadRequest
+        },
+        {
+            name: 'downloadCallback',
+            type: types_.LISTENER,
+            values: ['onprogress', 'onpaused', 'oncanceled', 'oncompleted', 'onfailed'],
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var nativeParam = {
+        url: args.downloadRequest.url,
+        destination: args.downloadRequest.destination,
+        fileName: args.downloadRequest.fileName,
+        networkType: args.downloadRequest.networkType,
+        httpHeader: args.downloadRequest.httpHeader,
+        callbackId: nextCallbackId()
+    };
+
+    if (args.downloadCallback) {
+        this.setListener(nativeParam.callbackId, args.downloadCallback);
     }
-    throw e;
-  }
 
-  requests[nativeParam.callbackId] = args.downloadRequest;
+    try {
+        callNative('DownloadManager_start', nativeParam);
+    } catch (e) {
+        if ('NetworkError' === e.name) {
+            return -1;
+        }
+        throw e;
+    }
 
-  return nativeParam.callbackId;
+    requests[nativeParam.callbackId] = args.downloadRequest;
+
+    return nativeParam.callbackId;
 };
 
 DownloadManager.prototype.cancel = function() {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'downloadId', type: types_.LONG, 'nullable': false, 'optional': false}
-  ]);
-
-  var nativeParam = {
-    'downloadId': args.downloadId
-  };
-
-  if (typeof requests[args.downloadId] === 'undefined')
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-        'the identifier does not match any download operation in progress');
-
-  try {
-    callNative('DownloadManager_cancel', nativeParam);
-  } catch (e) {
-    throw e;
-  }
+    var args = validator_.validateArgs(arguments, [
+        { name: 'downloadId', type: types_.LONG, nullable: false, optional: false }
+    ]);
+
+    var nativeParam = {
+        downloadId: args.downloadId
+    };
+
+    if (typeof requests[args.downloadId] === 'undefined')
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'the identifier does not match any download operation in progress'
+        );
+
+    try {
+        callNative('DownloadManager_cancel', nativeParam);
+    } catch (e) {
+        throw e;
+    }
 };
 
 DownloadManager.prototype.pause = function() {
-  var args = validator_.validateArgs(arguments, [
-    {'name': 'downloadId', 'type': types_.LONG, 'nullable': false, 'optional': false}
-  ]);
-
-  var nativeParam = {
-    'downloadId': args.downloadId
-  };
-
-  if (typeof requests[args.downloadId] === 'undefined')
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-        'the identifier does not match any download operation in progress');
-
-  try {
-    callNative('DownloadManager_pause', nativeParam);
-  } catch (e) {
-    throw e;
-  }
+    var args = validator_.validateArgs(arguments, [
+        { name: 'downloadId', type: types_.LONG, nullable: false, optional: false }
+    ]);
+
+    var nativeParam = {
+        downloadId: args.downloadId
+    };
+
+    if (typeof requests[args.downloadId] === 'undefined')
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'the identifier does not match any download operation in progress'
+        );
+
+    try {
+        callNative('DownloadManager_pause', nativeParam);
+    } catch (e) {
+        throw e;
+    }
 };
 
 DownloadManager.prototype.resume = function() {
-  var args = validator_.validateArgs(arguments, [
-    {'name' : 'downloadId', 'type': types_.LONG, 'nullable': false, 'optional': false}
-  ]);
-
-  var nativeParam = {
-    'downloadId': args.downloadId
-  };
-
-  if (typeof requests[args.downloadId] === 'undefined')
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-        'the identifier does not match any download operation in progress');
-
-  try {
-    callNative('DownloadManager_resume', nativeParam);
-  } catch (e) {
-    throw e;
-  }
+    var args = validator_.validateArgs(arguments, [
+        { name: 'downloadId', type: types_.LONG, nullable: false, optional: false }
+    ]);
+
+    var nativeParam = {
+        downloadId: args.downloadId
+    };
+
+    if (typeof requests[args.downloadId] === 'undefined')
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'the identifier does not match any download operation in progress'
+        );
+
+    try {
+        callNative('DownloadManager_resume', nativeParam);
+    } catch (e) {
+        throw e;
+    }
 };
 
 DownloadManager.prototype.getState = function() {
-  var args = validator_.validateArgs(arguments, [
-    {'name' : 'downloadId', 'type': types_.LONG, 'nullable': false, 'optional': false}
-  ]);
-
-  var nativeParam = {
-    'downloadId': args.downloadId
-  };
-
-  if (typeof requests[args.downloadId] === 'undefined')
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-        'the identifier does not match any download operation in progress');
-
-  try {
-    return callNative('DownloadManager_getState', nativeParam);
-  } catch (e) {
-    throw e;
-  }
+    var args = validator_.validateArgs(arguments, [
+        { name: 'downloadId', type: types_.LONG, nullable: false, optional: false }
+    ]);
+
+    var nativeParam = {
+        downloadId: args.downloadId
+    };
+
+    if (typeof requests[args.downloadId] === 'undefined')
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'the identifier does not match any download operation in progress'
+        );
+
+    try {
+        return callNative('DownloadManager_getState', nativeParam);
+    } catch (e) {
+        throw e;
+    }
 };
 
 DownloadManager.prototype.getDownloadRequest = function() {
-  var args = validator_.validateArgs(arguments, [
-    {'name': 'downloadId', 'type': types_.LONG, 'nullable': false, 'optional': false}
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'downloadId', type: types_.LONG, nullable: false, optional: false }
+    ]);
 
-  if (typeof requests[args.downloadId] === 'undefined')
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-        'the identifier does not match any download operation in progress');
+    if (typeof requests[args.downloadId] === 'undefined')
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'the identifier does not match any download operation in progress'
+        );
 
-  return requests[args.downloadId];
+    return requests[args.downloadId];
 };
 
 DownloadManager.prototype.getMIMEType = function() {
-  var args = validator_.validateArgs(arguments, [
-    {'name' : 'downloadId', 'type': types_.LONG, 'nullable': false, 'optional': false}
-  ]);
-
-  var nativeParam = {
-    'downloadId': args.downloadId
-  };
-
-  if (typeof requests[args.downloadId] === 'undefined')
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-        'the identifier does not match any download operation in progress');
-
-  try {
-    return callNative('DownloadManager_getMIMEType', nativeParam);
-  } catch (e) {
-    throw e;
-  }
+    var args = validator_.validateArgs(arguments, [
+        { name: 'downloadId', type: types_.LONG, nullable: false, optional: false }
+    ]);
+
+    var nativeParam = {
+        downloadId: args.downloadId
+    };
+
+    if (typeof requests[args.downloadId] === 'undefined')
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'the identifier does not match any download operation in progress'
+        );
+
+    try {
+        return callNative('DownloadManager_getMIMEType', nativeParam);
+    } catch (e) {
+        throw e;
+    }
 };
 
 DownloadManager.prototype.setListener = function() {
-  var args = validator_.validateArgs(arguments, [
-    {'name' : 'downloadId', 'type': types_.LONG},
-    {'name' : 'downloadCallback', 'type': types_.LISTENER,
-      'values' : ['onprogress', 'onpaused', 'oncanceled', 'oncompleted', 'onfailed']}
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'downloadId', type: types_.LONG },
+        {
+            name: 'downloadCallback',
+            type: types_.LISTENER,
+            values: ['onprogress', 'onpaused', 'oncanceled', 'oncompleted', 'onfailed']
+        }
+    ]);
 
-  callbacks[args.downloadId] = args.downloadCallback;
+    callbacks[args.downloadId] = args.downloadCallback;
 };
 
-
-
 exports = new DownloadManager();
-
index 3040336f35b9e9666c0619ead2fc4d526d843c4f..bd732e18a33d05032d321aaf381db884449eae6f 100644 (file)
@@ -15,7 +15,7 @@
  */
 
 var _global = window || global || {};
+
 var validator_ = xwalk.utils.validator;
 var type_ = xwalk.utils.type;
 var native_ = new xwalk.utils.NativeManager(extension);
@@ -24,539 +24,571 @@ var converter_ = xwalk.utils.converter;
 function ExifManager() {}
 
 var ImageContentOrientation = {
-  NORMAL: 'NORMAL',
-  FLIP_HORIZONTAL: 'FLIP_HORIZONTAL',
-  ROTATE_180: 'ROTATE_180',
-  FLIP_VERTICAL: 'FLIP_VERTICAL',
-  TRANSPOSE: 'TRANSPOSE',
-  ROTATE_90: 'ROTATE_90',
-  TRANSVERSE: 'TRANSVERSE',
-  ROTATE_270: 'ROTATE_270'
+    NORMAL: 'NORMAL',
+    FLIP_HORIZONTAL: 'FLIP_HORIZONTAL',
+    ROTATE_180: 'ROTATE_180',
+    FLIP_VERTICAL: 'FLIP_VERTICAL',
+    TRANSPOSE: 'TRANSPOSE',
+    ROTATE_90: 'ROTATE_90',
+    TRANSVERSE: 'TRANSVERSE',
+    ROTATE_270: 'ROTATE_270'
 };
 
 var ExposureProgram = {
-  NOT_DEFINED: 'NOT_DEFINED',
-  MANUAL: 'MANUAL',
-  NORMAL: 'NORMAL',
-  APERTURE_PRIORITY: 'APERTURE_PRIORITY',
-  SHUTTER_PRIORITY: 'SHUTTER_PRIORITY',
-  CREATIVE_PROGRAM: 'CREATIVE_PROGRAM',
-  ACTION_PROGRAM: 'ACTION_PROGRAM',
-  PORTRAIT_MODE: 'PORTRAIT_MODE',
-  LANDSCAPE_MODE: 'LANDSCAPE_MODE'
+    NOT_DEFINED: 'NOT_DEFINED',
+    MANUAL: 'MANUAL',
+    NORMAL: 'NORMAL',
+    APERTURE_PRIORITY: 'APERTURE_PRIORITY',
+    SHUTTER_PRIORITY: 'SHUTTER_PRIORITY',
+    CREATIVE_PROGRAM: 'CREATIVE_PROGRAM',
+    ACTION_PROGRAM: 'ACTION_PROGRAM',
+    PORTRAIT_MODE: 'PORTRAIT_MODE',
+    LANDSCAPE_MODE: 'LANDSCAPE_MODE'
 };
 
 var WhiteBalanceMode = {
-  AUTO: 'AUTO',
-  MANUAL: 'MANUAL'
+    AUTO: 'AUTO',
+    MANUAL: 'MANUAL'
 };
 
 var propertiesList = {
-  URI: 'uri',
-  WIDTH: 'width',
-  HEIGHT: 'height',
-  DEVICE_MAKER: 'deviceMaker',
-  DEVICE_MODEL: 'deviceModel',
-  ORIGINAL_TIME: 'originalTime',
-  ORIENTATION: 'orientation',
-  FNUMBER: 'fNumber',
-  ISO_SPEED_RATINGS: 'isoSpeedRatings',
-  EXPOSURE_TIME: 'exposureTime',
-  EXPOSURE_PROGRAM: 'exposureProgram',
-  FLASH: 'flash',
-  FOCAL_LENGTH: 'focalLength',
-  WHITE_BALANCE: 'whiteBalance',
-  GPS_LOCATION: 'gpsLocation',
-  GPS_ALTITUDE: 'gpsAltitude',
-  GPS_PROCESSING_METHOD: 'gpsProcessingMethod',
-  GPS_TIME: 'gpsTime',
-  USER_COMMENT: 'userComment'
+    URI: 'uri',
+    WIDTH: 'width',
+    HEIGHT: 'height',
+    DEVICE_MAKER: 'deviceMaker',
+    DEVICE_MODEL: 'deviceModel',
+    ORIGINAL_TIME: 'originalTime',
+    ORIENTATION: 'orientation',
+    FNUMBER: 'fNumber',
+    ISO_SPEED_RATINGS: 'isoSpeedRatings',
+    EXPOSURE_TIME: 'exposureTime',
+    EXPOSURE_PROGRAM: 'exposureProgram',
+    FLASH: 'flash',
+    FOCAL_LENGTH: 'focalLength',
+    WHITE_BALANCE: 'whiteBalance',
+    GPS_LOCATION: 'gpsLocation',
+    GPS_ALTITUDE: 'gpsAltitude',
+    GPS_PROCESSING_METHOD: 'gpsProcessingMethod',
+    GPS_TIME: 'gpsTime',
+    USER_COMMENT: 'userComment'
 };
 
-var URI_ABSOLUTE_PREFIX = "file:///";
+var URI_ABSOLUTE_PREFIX = 'file:///';
 
 function _isValidAbsoluteURI(uri) {
-  return 0 === uri.indexOf(URI_ABSOLUTE_PREFIX);
+    return 0 === uri.indexOf(URI_ABSOLUTE_PREFIX);
 }
 
 function _getJsonFromExifInformation(exifInfo) {
-  var json = {};
-
-  for (var prop in propertiesList) {
-    var propName = propertiesList[prop];
-
-    if (exifInfo[propName] !== null) {
-      if (propName === 'originalTime') {
-        json[propName] = Math.floor(exifInfo[propName].getTime() / 1000);
-      } else if (propName === 'gpsTime') {
-        var str = exifInfo[propName].toLocaleString().split(', ');
-        var res = str[1] + ', ' + str[2] + ', ' + str[3];
-
-        json[propName] = Math.floor(Date.parse(res) / 1000);
-      } else {
-        json[propName] = exifInfo[propName];
-      }
+    var json = {};
+
+    for (var prop in propertiesList) {
+        var propName = propertiesList[prop];
+
+        if (exifInfo[propName] !== null) {
+            if (propName === 'originalTime') {
+                json[propName] = Math.floor(exifInfo[propName].getTime() / 1000);
+            } else if (propName === 'gpsTime') {
+                var str = exifInfo[propName].toLocaleString().split(', ');
+                var res = str[1] + ', ' + str[2] + ', ' + str[3];
+
+                json[propName] = Math.floor(Date.parse(res) / 1000);
+            } else {
+                json[propName] = exifInfo[propName];
+            }
+        }
     }
-  }
 
-  return json;
+    return json;
 }
 
 function _calculateDegDecimal(degrees, minutes, seconds) {
-  return parseInt(degrees) + parseInt(minutes) / 60.0 + parseInt(seconds) / 3600.0;
+    return parseInt(degrees) + parseInt(minutes) / 60.0 + parseInt(seconds) / 3600.0;
 }
 
 function _calculateExifInfo(exifInfoNative) {
-  // copy all properties that share name from
-  // exifInfoNative to exifInfo
-  var exifInfo = new tizen.ExifInformation(exifInfoNative);
-
-  // copy all remaining properties that do not share name or need extra calculations
-  if (exifInfoNative.originalTimeSeconds) {
-    exifInfo.originalTime = new Date(exifInfoNative.originalTimeSeconds * 1000);
-  }
-
-  if (parseInt(exifInfoNative.whiteBalanceValue) === 0) {  // 0=AUTO
-    exifInfo.whiteBalance = WhiteBalanceMode.AUTO;
-  } else if (parseInt(exifInfoNative.whiteBalanceValue) === 1) {  // 1=MANUAL
-    exifInfo.whiteBalance = WhiteBalanceMode.MANUAL;
-  }
-
-  // gpsLocation
-  if (exifInfoNative.gpsLatitudeDegrees &&
-      exifInfoNative.gpsLongitudeDegrees &&
-      exifInfoNative.gpsLatitudeRef &&
-      exifInfoNative.gpsLongitudeRef) {
-    exifInfo.gpsLocation = new tizen.SimpleCoordinates();
-    exifInfo.gpsLocation.latitude = _calculateDegDecimal(exifInfoNative.gpsLatitudeDegrees,
-        exifInfoNative.gpsLatitudeMinutes, exifInfoNative.gpsLatitudeSeconds);
-    exifInfo.gpsLocation.longitude = _calculateDegDecimal(exifInfoNative.gpsLongitudeDegrees,
-        exifInfoNative.gpsLongitudeMinutes, exifInfoNative.gpsLongitudeSeconds);
-
-    if (exifInfoNative.gpsLatitudeRef === 'SOUTH') {
-      exifInfo.gpsLocation.latitude = -exifInfo.gpsLocation.latitude;
-    } else if (exifInfoNative.gpsLatitudeRef !== 'NORTH') {
-      exifInfo.gpsLocation.latitude = null;  // invalid gpsLatitudeRef
+    // copy all properties that share name from
+    // exifInfoNative to exifInfo
+    var exifInfo = new tizen.ExifInformation(exifInfoNative);
+
+    // copy all remaining properties that do not share name or need extra calculations
+    if (exifInfoNative.originalTimeSeconds) {
+        exifInfo.originalTime = new Date(exifInfoNative.originalTimeSeconds * 1000);
     }
 
-    if (exifInfoNative.gpsLongitudeRef === 'WEST') {
-      exifInfo.gpsLocation.longitude = -exifInfo.gpsLocation.longitude;
-    } else if (exifInfoNative.gpsLongitudeRef !== 'EAST') {
-      exifInfo.gpsLocation.longitude = null;  // invalid gpsLongitudeRef
+    if (parseInt(exifInfoNative.whiteBalanceValue) === 0) {
+        // 0=AUTO
+        exifInfo.whiteBalance = WhiteBalanceMode.AUTO;
+    } else if (parseInt(exifInfoNative.whiteBalanceValue) === 1) {
+        // 1=MANUAL
+        exifInfo.whiteBalance = WhiteBalanceMode.MANUAL;
     }
-  }
-
-  // gpsAltitude
-  if (exifInfoNative.gpsAltitude && exifInfoNative.gpsAltitudeRef) {
-    if (parseInt(exifInfoNative.gpsAltitudeRef) === 0) {  // 0=ABOVE SEA LEVEL
-      exifInfo.gpsAltitude = exifInfoNative.gpsAltitude;
-    } else if (parseInt(exifInfoNative.gpsAltitudeRef) === 1) {  // 1=BELOW SEA LEVEL
-      exifInfo.gpsAltitude = -exifInfoNative.gpsAltitude;
+
+    // gpsLocation
+    if (
+        exifInfoNative.gpsLatitudeDegrees &&
+        exifInfoNative.gpsLongitudeDegrees &&
+        exifInfoNative.gpsLatitudeRef &&
+        exifInfoNative.gpsLongitudeRef
+    ) {
+        exifInfo.gpsLocation = new tizen.SimpleCoordinates();
+        exifInfo.gpsLocation.latitude = _calculateDegDecimal(
+            exifInfoNative.gpsLatitudeDegrees,
+            exifInfoNative.gpsLatitudeMinutes,
+            exifInfoNative.gpsLatitudeSeconds
+        );
+        exifInfo.gpsLocation.longitude = _calculateDegDecimal(
+            exifInfoNative.gpsLongitudeDegrees,
+            exifInfoNative.gpsLongitudeMinutes,
+            exifInfoNative.gpsLongitudeSeconds
+        );
+
+        if (exifInfoNative.gpsLatitudeRef === 'SOUTH') {
+            exifInfo.gpsLocation.latitude = -exifInfo.gpsLocation.latitude;
+        } else if (exifInfoNative.gpsLatitudeRef !== 'NORTH') {
+            exifInfo.gpsLocation.latitude = null; // invalid gpsLatitudeRef
+        }
+
+        if (exifInfoNative.gpsLongitudeRef === 'WEST') {
+            exifInfo.gpsLocation.longitude = -exifInfo.gpsLocation.longitude;
+        } else if (exifInfoNative.gpsLongitudeRef !== 'EAST') {
+            exifInfo.gpsLocation.longitude = null; // invalid gpsLongitudeRef
+        }
     }
-  }
-
-  // gpsTime
-  if (exifInfoNative.gpsExifDate) {
-    var dateSplit = exifInfoNative.gpsExifDate.split(':');
-    exifInfo.gpsTime = new Date(
-        dateSplit[0],  // year
-        dateSplit[1],  // month
-        dateSplit[2],  // day
-        exifInfoNative.gpsExifTimeHours,
-        exifInfoNative.gpsExifTimeMinutes,
-        exifInfoNative.gpsExifTimeSeconds);
-  }
-
-  return exifInfo;
+
+    // gpsAltitude
+    if (exifInfoNative.gpsAltitude && exifInfoNative.gpsAltitudeRef) {
+        if (parseInt(exifInfoNative.gpsAltitudeRef) === 0) {
+            // 0=ABOVE SEA LEVEL
+            exifInfo.gpsAltitude = exifInfoNative.gpsAltitude;
+        } else if (parseInt(exifInfoNative.gpsAltitudeRef) === 1) {
+            // 1=BELOW SEA LEVEL
+            exifInfo.gpsAltitude = -exifInfoNative.gpsAltitude;
+        }
+    }
+
+    // gpsTime
+    if (exifInfoNative.gpsExifDate) {
+        var dateSplit = exifInfoNative.gpsExifDate.split(':');
+        exifInfo.gpsTime = new Date(
+            dateSplit[0], // year
+            dateSplit[1], // month
+            dateSplit[2], // day
+            exifInfoNative.gpsExifTimeHours,
+            exifInfoNative.gpsExifTimeMinutes,
+            exifInfoNative.gpsExifTimeSeconds
+        );
+    }
+
+    return exifInfo;
 }
 
 ExifManager.prototype.getExifInfo = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'uri',
-      type: validator_.Types.STRING,
-      optional: false,
-      nullable: false
-    },
-    {
-      name: 'successCallback',
-      type: validator_.Types.FUNCTION,
-      optional: false,
-      nullable: false
-    },
-    {
-      name: 'errorCallback',
-      type: validator_.Types.FUNCTION,
-      optional: true,
-      nullable: true
-    }
-  ]);
-
-  if (!_isValidAbsoluteURI(args.uri)) {
-    setTimeout(function() {
-      native_.callIfPossible(args.errorCallback, new WebAPIException(
-          WebAPIException.INVALID_VALUES_ERR,
-          'Invalid URI.'));
-    }, 0);
-    return;
-  }
-
-  var callback = function(result) {
-    if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-    } else {
-      // call to c++ code. Fields that do not exist are undefined.
-      var exifInfoNative = native_.getResultObject(result);
-
-      // calculate ExifInformation struct. All fields are initially null.
-      // Fields that do not exist in jpg EXIF must remain null.
-      var exifInfo = _calculateExifInfo(exifInfoNative);
-
-      // make successCalback and pass exifInfo
-      args.successCallback(exifInfo);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'uri',
+            type: validator_.Types.STRING,
+            optional: false,
+            nullable: false
+        },
+        {
+            name: 'successCallback',
+            type: validator_.Types.FUNCTION,
+            optional: false,
+            nullable: false
+        },
+        {
+            name: 'errorCallback',
+            type: validator_.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    if (!_isValidAbsoluteURI(args.uri)) {
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.errorCallback,
+                new WebAPIException(WebAPIException.INVALID_VALUES_ERR, 'Invalid URI.')
+            );
+        }, 0);
+        return;
     }
-  };
 
-  native_.call('ExifManager_getExifInfo', {'uri': args.uri}, callback);
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+        } else {
+            // call to c++ code. Fields that do not exist are undefined.
+            var exifInfoNative = native_.getResultObject(result);
+
+            // calculate ExifInformation struct. All fields are initially null.
+            // Fields that do not exist in jpg EXIF must remain null.
+            var exifInfo = _calculateExifInfo(exifInfoNative);
+
+            // make successCalback and pass exifInfo
+            args.successCallback(exifInfo);
+        }
+    };
+
+    native_.call('ExifManager_getExifInfo', { uri: args.uri }, callback);
 };
 
 ExifManager.prototype.saveExifInfo = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'exifInfo',
-      type: validator_.Types.PLATFORM_OBJECT,
-      values: tizen.ExifInformation,
-      optional: false,
-      nullable: false
-    },
-    {
-      name: 'successCallback',
-      type: validator_.Types.FUNCTION,
-      optional: true,
-      nullable: true
-    },
-    {
-      name: 'errorCallback',
-      type: validator_.Types.FUNCTION,
-      optional: true,
-      nullable: true
-    }
-  ]);
-
-  if (!_isValidAbsoluteURI(args.exifInfo.uri)) {
-    setTimeout(function() {
-      native_.callIfPossible(args.errorCallback, new WebAPIException(
-          WebAPIException.INVALID_VALUES_ERR,
-          'Invalid URI.'));
-    }, 0);
-    return;
-  }
-
-  var json = _getJsonFromExifInformation(args.exifInfo);
-  var callback = function(result) {
-    if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback,
-          native_.getErrorObject(result));
-    } else {
-      var exifInfo = native_.getResultObject(result);
-      args.successCallback(exifInfo);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'exifInfo',
+            type: validator_.Types.PLATFORM_OBJECT,
+            values: tizen.ExifInformation,
+            optional: false,
+            nullable: false
+        },
+        {
+            name: 'successCallback',
+            type: validator_.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: validator_.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    if (!_isValidAbsoluteURI(args.exifInfo.uri)) {
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.errorCallback,
+                new WebAPIException(WebAPIException.INVALID_VALUES_ERR, 'Invalid URI.')
+            );
+        }, 0);
+        return;
     }
-  };
 
-  native_.call('ExifManager_saveExifInfo', json, callback);
+    var json = _getJsonFromExifInformation(args.exifInfo);
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+        } else {
+            var exifInfo = native_.getResultObject(result);
+            args.successCallback(exifInfo);
+        }
+    };
+
+    native_.call('ExifManager_saveExifInfo', json, callback);
 };
 
 ExifManager.prototype.getThumbnail = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'uri',
-      type: validator_.Types.STRING,
-      optional: false,
-      nullable: false
-    },
-    {
-      name: 'successCallback',
-      type: validator_.Types.FUNCTION,
-      optional: false,
-      nullable: false
-    },
-    {
-      name: 'errorCallback',
-      type: validator_.Types.FUNCTION,
-      optional: true,
-      nullable: true
-    }
-  ]);
-
-  if (!_isValidAbsoluteURI(args.uri)) {
-    setTimeout(function() {
-      native_.callIfPossible(args.errorCallback, new WebAPIException(
-          WebAPIException.INVALID_VALUES_ERR,
-          'Invalid URI.'));
-    }, 0);
-    return;
-  }
-
-  var _callback = function(result) {
-    if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback,
-          native_.getErrorObject(result));
-    } else {
-      var thumb = native_.getResultObject(result);
-      args.successCallback(thumb.src);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'uri',
+            type: validator_.Types.STRING,
+            optional: false,
+            nullable: false
+        },
+        {
+            name: 'successCallback',
+            type: validator_.Types.FUNCTION,
+            optional: false,
+            nullable: false
+        },
+        {
+            name: 'errorCallback',
+            type: validator_.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    if (!_isValidAbsoluteURI(args.uri)) {
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.errorCallback,
+                new WebAPIException(WebAPIException.INVALID_VALUES_ERR, 'Invalid URI.')
+            );
+        }, 0);
+        return;
     }
-  };
 
-  native_.call('ExifManager_getThumbnail', {'uri': args.uri}, _callback);
+    var _callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+        } else {
+            var thumb = native_.getResultObject(result);
+            args.successCallback(thumb.src);
+        }
+    };
+
+    native_.call('ExifManager_getThumbnail', { uri: args.uri }, _callback);
 };
 
 tizen.ExifInformation = function() {
-  validator_.isConstructorCall(this, tizen.ExifInformation);
-
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'ExifInitDict',
-      type: validator_.Types.DICTIONARY,
-      optional: true,
-      nullable: false
-    }
-  ]);
-
-  var uri_ = null,
-      width_ = null,
-      height_ = null,
-      deviceMaker_ = null,
-      deviceModel_ = null,
-      originalTime_ = null,
-      orientation_ = null,
-      fNumber_ = null,
-      isoSpeedRatings_ = null,
-      exposureTime_ = null,
-      exposureProgram_ = null,
-      flash_ = null,
-      focalLength_ = null,
-      whiteBalance_ = null,
-      gpsLocation_ = null,
-      gpsAltitude_ = null,
-      gpsProcessingMethod_ = null,
-      gpsTime_ = null,
-      userComment_ = null;
-
-  var exifInitDict = args.ExifInitDict;
-  if (exifInitDict) {
-    if (exifInitDict.uri === null) {
-      throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-          'Parameter "uri" is required.');
-    }
-  }
-
-  Object.defineProperties(this, {
-    uri: {
-      get: function() {
-        return uri_;
-      },
-      set: function(v) {
-        uri_ = v ? converter_.toString(v) : uri_;
-      },
-      enumerable: true
-    },
-    width: {
-      get: function() {
-        return width_;
-      },
-      set: function(v) {
-        width_ = (!type_.isUndefined(v)) ? converter_.toLong(v, true) : width_;
-      },
-      enumerable: true
-    },
-    height: {
-      get: function() {
-        return height_;
-      },
-      set: function(v) {
-        height_ = (!type_.isUndefined(v)) ? converter_.toLong(v, true) : height_;
-      },
-      enumerable: true
-    },
-    deviceMaker: {
-      get: function() {
-        return deviceMaker_;
-      },
-      set: function(v) {
-        deviceMaker_ = (!type_.isUndefined(v)) ?
-            converter_.toString(v, true) : deviceMaker_;
-      },
-      enumerable: true
-    },
-    deviceModel: {
-      get: function() {
-        return deviceModel_;
-      },
-      set: function(v) {
-        deviceModel_ = (!type_.isUndefined(v)) ?
-            converter_.toString(v, true) : deviceModel_;
-      },
-      enumerable: true
-    },
-    originalTime: {
-      get: function() {
-        return originalTime_;
-      },
-      set: function(v) {
-        if (!type_.isUndefined(v)) {
-          if (v === null || v instanceof Date) originalTime_ = v;
+    validator_.isConstructorCall(this, tizen.ExifInformation);
+
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'ExifInitDict',
+            type: validator_.Types.DICTIONARY,
+            optional: true,
+            nullable: false
         }
-      },
-      enumerable: true
-    },
-    orientation: {
-      get: function() {
-        return orientation_;
-      },
-      set: function(v) {
-        orientation_ = (!type_.isUndefined(v)) ?
-            converter_.toEnum(v, Object.keys(ImageContentOrientation), true) : orientation_;
-      },
-      enumerable: true
-    },
-    fNumber: {
-      get: function() {
-        return fNumber_;
-      },
-      set: function(v) {
-        fNumber_ = (!type_.isUndefined(v)) ? converter_.toDouble(v, true) : fNumber_;
-      },
-      enumerable: true
-    },
-    isoSpeedRatings: {
-      get: function() {
-        return isoSpeedRatings_;
-      },
-      set: function(v) {
-        if (!type_.isUndefined(v)) {
-          if (v === null) {
-            isoSpeedRatings_ = null;
-          } else if (type_.isArray(v)) {
-            for (var i = 0; i < v.length; i++) {
-              v[i] = converter_.toUnsignedShort(v[i], false);
-            }
-            isoSpeedRatings_ = v;
-          }
+    ]);
+
+    var uri_ = null,
+        width_ = null,
+        height_ = null,
+        deviceMaker_ = null,
+        deviceModel_ = null,
+        originalTime_ = null,
+        orientation_ = null,
+        fNumber_ = null,
+        isoSpeedRatings_ = null,
+        exposureTime_ = null,
+        exposureProgram_ = null,
+        flash_ = null,
+        focalLength_ = null,
+        whiteBalance_ = null,
+        gpsLocation_ = null,
+        gpsAltitude_ = null,
+        gpsProcessingMethod_ = null,
+        gpsTime_ = null,
+        userComment_ = null;
+
+    var exifInitDict = args.ExifInitDict;
+    if (exifInitDict) {
+        if (exifInitDict.uri === null) {
+            throw new WebAPIException(
+                WebAPIException.INVALID_VALUES_ERR,
+                'Parameter "uri" is required.'
+            );
         }
-      },
-      enumerable: true
-    },
-    exposureTime: {
-      get: function() {
-        return exposureTime_;
-      },
-      set: function(v) {
-        exposureTime_ = (!type_.isUndefined(v)) ?
-            converter_.toString(v, true) : exposureTime_;
-      },
-      enumerable: true
-    },
-    exposureProgram: {
-      get: function() {
-        return exposureProgram_;
-      },
-      set: function(v) {
-        exposureProgram_ = (!type_.isUndefined(v)) ?
-            converter_.toEnum(v, Object.keys(ExposureProgram), true) : exposureProgram_;
-      },
-      enumerable: true
-    },
-    flash: {
-      get: function() {
-        return flash_;
-      },
-      set: function(v) {
-        flash_ = converter_.toBoolean(v, true);
-      },
-      enumerable: true
-    },
-    focalLength: {
-      get: function() {
-        return focalLength_;
-      },
-      set: function(v) {
-        focalLength_ = (!type_.isUndefined(v)) ?
-            converter_.toDouble(v, true) : focalLength_;
-      },
-      enumerable: true
-    },
-    whiteBalance: {
-      get: function() {
-        return whiteBalance_;
-      },
-      set: function(v) {
-        whiteBalance_ = (!type_.isUndefined(v)) ?
-            converter_.toEnum(v, Object.keys(WhiteBalanceMode), true) : whiteBalance_;
-      },
-      enumerable: true
-    },
-    gpsLocation: {
-      get: function() {
-        return gpsLocation_;
-      },
-      set: function(v) {
-        if (!type_.isUndefined(v)) {
-          if (v === null || v instanceof tizen.SimpleCoordinates) gpsLocation_ = v;
+    }
+
+    Object.defineProperties(this, {
+        uri: {
+            get: function() {
+                return uri_;
+            },
+            set: function(v) {
+                uri_ = v ? converter_.toString(v) : uri_;
+            },
+            enumerable: true
+        },
+        width: {
+            get: function() {
+                return width_;
+            },
+            set: function(v) {
+                width_ = !type_.isUndefined(v) ? converter_.toLong(v, true) : width_;
+            },
+            enumerable: true
+        },
+        height: {
+            get: function() {
+                return height_;
+            },
+            set: function(v) {
+                height_ = !type_.isUndefined(v) ? converter_.toLong(v, true) : height_;
+            },
+            enumerable: true
+        },
+        deviceMaker: {
+            get: function() {
+                return deviceMaker_;
+            },
+            set: function(v) {
+                deviceMaker_ = !type_.isUndefined(v)
+                    ? converter_.toString(v, true)
+                    : deviceMaker_;
+            },
+            enumerable: true
+        },
+        deviceModel: {
+            get: function() {
+                return deviceModel_;
+            },
+            set: function(v) {
+                deviceModel_ = !type_.isUndefined(v)
+                    ? converter_.toString(v, true)
+                    : deviceModel_;
+            },
+            enumerable: true
+        },
+        originalTime: {
+            get: function() {
+                return originalTime_;
+            },
+            set: function(v) {
+                if (!type_.isUndefined(v)) {
+                    if (v === null || v instanceof Date) originalTime_ = v;
+                }
+            },
+            enumerable: true
+        },
+        orientation: {
+            get: function() {
+                return orientation_;
+            },
+            set: function(v) {
+                orientation_ = !type_.isUndefined(v)
+                    ? converter_.toEnum(v, Object.keys(ImageContentOrientation), true)
+                    : orientation_;
+            },
+            enumerable: true
+        },
+        fNumber: {
+            get: function() {
+                return fNumber_;
+            },
+            set: function(v) {
+                fNumber_ = !type_.isUndefined(v)
+                    ? converter_.toDouble(v, true)
+                    : fNumber_;
+            },
+            enumerable: true
+        },
+        isoSpeedRatings: {
+            get: function() {
+                return isoSpeedRatings_;
+            },
+            set: function(v) {
+                if (!type_.isUndefined(v)) {
+                    if (v === null) {
+                        isoSpeedRatings_ = null;
+                    } else if (type_.isArray(v)) {
+                        for (var i = 0; i < v.length; i++) {
+                            v[i] = converter_.toUnsignedShort(v[i], false);
+                        }
+                        isoSpeedRatings_ = v;
+                    }
+                }
+            },
+            enumerable: true
+        },
+        exposureTime: {
+            get: function() {
+                return exposureTime_;
+            },
+            set: function(v) {
+                exposureTime_ = !type_.isUndefined(v)
+                    ? converter_.toString(v, true)
+                    : exposureTime_;
+            },
+            enumerable: true
+        },
+        exposureProgram: {
+            get: function() {
+                return exposureProgram_;
+            },
+            set: function(v) {
+                exposureProgram_ = !type_.isUndefined(v)
+                    ? converter_.toEnum(v, Object.keys(ExposureProgram), true)
+                    : exposureProgram_;
+            },
+            enumerable: true
+        },
+        flash: {
+            get: function() {
+                return flash_;
+            },
+            set: function(v) {
+                flash_ = converter_.toBoolean(v, true);
+            },
+            enumerable: true
+        },
+        focalLength: {
+            get: function() {
+                return focalLength_;
+            },
+            set: function(v) {
+                focalLength_ = !type_.isUndefined(v)
+                    ? converter_.toDouble(v, true)
+                    : focalLength_;
+            },
+            enumerable: true
+        },
+        whiteBalance: {
+            get: function() {
+                return whiteBalance_;
+            },
+            set: function(v) {
+                whiteBalance_ = !type_.isUndefined(v)
+                    ? converter_.toEnum(v, Object.keys(WhiteBalanceMode), true)
+                    : whiteBalance_;
+            },
+            enumerable: true
+        },
+        gpsLocation: {
+            get: function() {
+                return gpsLocation_;
+            },
+            set: function(v) {
+                if (!type_.isUndefined(v)) {
+                    if (v === null || v instanceof tizen.SimpleCoordinates) {
+                        gpsLocation_ = v;
+                    }
+                }
+            },
+            enumerable: true
+        },
+        gpsAltitude: {
+            get: function() {
+                return gpsAltitude_;
+            },
+            set: function(v) {
+                gpsAltitude_ = !type_.isUndefined(v)
+                    ? converter_.toDouble(v, true)
+                    : gpsAltitude_;
+            },
+            enumerable: true
+        },
+        gpsProcessingMethod: {
+            get: function() {
+                return gpsProcessingMethod_;
+            },
+            set: function(v) {
+                gpsProcessingMethod_ = !type_.isUndefined(v)
+                    ? converter_.toString(v, true)
+                    : gpsProcessingMethod_;
+            },
+            enumerable: true
+        },
+        gpsTime: {
+            enumerable: true,
+            get: function() {
+                return gpsTime_;
+            },
+            set: function(v) {
+                if (!type_.isUndefined(v)) {
+                    if (v === null || v instanceof Date || v instanceof tizen.TZDate) {
+                        gpsTime_ = v;
+                    }
+                }
+            }
+        },
+        userComment: {
+            enumerable: true,
+            get: function() {
+                return userComment_;
+            },
+            set: function(v) {
+                userComment_ = !type_.isUndefined(v)
+                    ? converter_.toString(v, true)
+                    : userComment_;
+            }
         }
-      },
-      enumerable: true
-    },
-    gpsAltitude: {
-      get: function() {
-        return gpsAltitude_;
-      },
-      set: function(v) {
-        gpsAltitude_ = (!type_.isUndefined(v)) ?
-            converter_.toDouble(v, true) : gpsAltitude_;
-      },
-      enumerable: true
-    },
-    gpsProcessingMethod: {
-      get: function() {
-        return gpsProcessingMethod_;
-      },
-      set: function(v) {
-        gpsProcessingMethod_ = (!type_.isUndefined(v)) ?
-            converter_.toString(v, true) : gpsProcessingMethod_;
-      },
-      enumerable: true
-    },
-    gpsTime: {
-      enumerable: true,
-      get: function() {
-        return gpsTime_;
-      },
-      set: function(v) {
-        if (!type_.isUndefined(v)) {
-          if (v === null || v instanceof Date || v instanceof tizen.TZDate) gpsTime_ = v;
+    });
+
+    //--- copy values from exifInitDict using setters above.
+    if (exifInitDict instanceof _global.Object) {
+        for (var prop in exifInitDict) {
+            if (this.hasOwnProperty(prop)) {
+                this[prop] = exifInitDict[prop];
+            }
         }
-      }
-    },
-    userComment: {
-      enumerable: true,
-      get: function() {
-        return userComment_;
-      },
-      set: function(v) {
-        userComment_ = (!type_.isUndefined(v)) ?
-            converter_.toString(v, true) : userComment_;
-      }
-    }
-  });
-
-  //--- copy values from exifInitDict using setters above.
-  if (exifInitDict instanceof _global.Object) {
-    for (var prop in exifInitDict) {
-      if (this.hasOwnProperty(prop)) {
-        this[prop] = exifInitDict[prop];
-      }
     }
-  }
 };
 
 exports = new ExifManager();
index 43ffb9901de821c42b6feba31c2a229eeec2709a..8863c31764a135d5d057c54b6710d424390b8343 100755 (executable)
@@ -21,51 +21,50 @@ var type_ = xwalk.utils.type;
 var native_ = new xwalk.utils.NativeManager(extension);
 
 var ExceptionMap = {
-  'UnknownError' : WebAPIException.UNKNOWN_ERR,
-  'TypeMismatchError' : WebAPIException.TYPE_MISMATCH_ERR,
-  'InvalidValuesError' : WebAPIException.INVALID_VALUES_ERR,
-  'IOError' : WebAPIException.IO_ERR,
-  'ServiceNotAvailableError' : WebAPIException.SERVICE_NOT_AVAILABLE_ERR,
-  'SecurityError' : WebAPIException.SECURITY_ERR,
-  'NetworkError' : WebAPIException.NETWORK_ERR,
-  'NotSupportedError' : WebAPIException.NOT_SUPPORTED_ERR,
-  'NotFoundError' : WebAPIException.NOT_FOUND_ERR,
-  'InvalidAccessError' : WebAPIException.INVALID_ACCESS_ERR,
-  'AbortError' : WebAPIException.ABORT_ERR,
-  'QuotaExceededError' : WebAPIException.QUOTA_EXCEEDED_ERR
+    UnknownError: WebAPIException.UNKNOWN_ERR,
+    TypeMismatchError: WebAPIException.TYPE_MISMATCH_ERR,
+    InvalidValuesError: WebAPIException.INVALID_VALUES_ERR,
+    IOError: WebAPIException.IO_ERR,
+    ServiceNotAvailableError: WebAPIException.SERVICE_NOT_AVAILABLE_ERR,
+    SecurityError: WebAPIException.SECURITY_ERR,
+    NetworkError: WebAPIException.NETWORK_ERR,
+    NotSupportedError: WebAPIException.NOT_SUPPORTED_ERR,
+    NotFoundError: WebAPIException.NOT_FOUND_ERR,
+    InvalidAccessError: WebAPIException.INVALID_ACCESS_ERR,
+    AbortError: WebAPIException.ABORT_ERR,
+    QuotaExceededError: WebAPIException.QUOTA_EXCEEDED_ERR
 };
 
 function callNative(cmd, args) {
-  var json = {'cmd': cmd, 'args': args};
-  var argjson = JSON_.stringify(json);
-  var resultString = extension.internal.sendSyncMessage(argjson);
-  var result = JSON_.parse(resultString);
-
-  if (typeof result !== 'object') {
-    throw new WebAPIException(WebAPIException.UNKNOWN_ERR);
-  }
-
-  if (result['status'] == 'success') {
-    if (result.hasOwnProperty('result')) {
-      return result['result'];
+    var json = { cmd: cmd, args: args };
+    var argjson = JSON_.stringify(json);
+    var resultString = extension.internal.sendSyncMessage(argjson);
+    var result = JSON_.parse(resultString);
+
+    if (typeof result !== 'object') {
+        throw new WebAPIException(WebAPIException.UNKNOWN_ERR);
     }
-    return true;
-  }
-  else if (result['status'] == 'error') {
-    var err = result['error'];
-    if (err) {
-      if (ExceptionMap[err.name]) {
-        throw new WebAPIException(ExceptionMap[err.name], err.message);
-      } else {
-        throw new WebAPIException(WebAPIException.UNKNOWN_ERR, err.message);
-      }
+
+    if (result['status'] == 'success') {
+        if (result.hasOwnProperty('result')) {
+            return result['result'];
+        }
+        return true;
+    } else if (result['status'] == 'error') {
+        var err = result['error'];
+        if (err) {
+            if (ExceptionMap[err.name]) {
+                throw new WebAPIException(ExceptionMap[err.name], err.message);
+            } else {
+                throw new WebAPIException(WebAPIException.UNKNOWN_ERR, err.message);
+            }
+        }
+        return false;
     }
-    return false;
-  }
 }
 
 function SetReadOnlyProperty(obj, n, v) {
-  Object.defineProperty(obj, n, {value: v, writable: false});
+    Object.defineProperty(obj, n, { value: v, writable: false });
 }
 
 var FeedbackType = {
@@ -75,90 +74,89 @@ var FeedbackType = {
 };
 
 var FeedbackPattern = {
-  TAP: 'TAP',
-  SIP: 'SIP',
-  KEY0: 'KEY0',
-  KEY1: 'KEY1',
-  KEY2: 'KEY2',
-  KEY3: 'KEY3',
-  KEY4: 'KEY4',
-  KEY5: 'KEY5',
-  KEY6: 'KEY6',
-  KEY7: 'KEY7',
-  KEY8: 'KEY8',
-  KEY9: 'KEY9',
-  KEY_STAR: 'KEY_STAR',
-  KEY_SHARP: 'KEY_SHARP',
-  KEY_BACK: 'KEY_BACK',
-  HOLD: 'HOLD',
-  HW_TAP: 'HW_TAP',
-  HW_HOLD: 'HW_HOLD',
-  MESSAGE: 'MESSAGE',
-  EMAIL: 'EMAIL',
-  WAKEUP: 'WAKEUP',
-  SCHEDULE: 'SCHEDULE',
-  TIMER: 'TIMER',
-  GENERAL: 'GENERAL',
-  POWERON: 'POWERON',
-  POWEROFF: 'POWEROFF',
-  CHARGERCONN: 'CHARGERCONN',
-  CHARGING_ERROR: 'CHARGING_ERROR',
-  FULLCHARGED: 'FULLCHARGED',
-  LOWBATT: 'LOWBATT',
-  LOCK: 'LOCK',
-  UNLOCK: 'UNLOCK',
-  VIBRATION_ON: 'VIBRATION_ON',
-  SILENT_OFF: 'SILENT_OFF',
-  BT_CONNECTED: 'BT_CONNECTED',
-  BT_DISCONNECTED: 'BT_DISCONNECTED',
-  LIST_REORDER: 'LIST_REORDER',
-  LIST_SLIDER: 'LIST_SLIDER',
-  VOLUME_KEY: 'VOLUME_KEY'
-  };
+    TAP: 'TAP',
+    SIP: 'SIP',
+    KEY0: 'KEY0',
+    KEY1: 'KEY1',
+    KEY2: 'KEY2',
+    KEY3: 'KEY3',
+    KEY4: 'KEY4',
+    KEY5: 'KEY5',
+    KEY6: 'KEY6',
+    KEY7: 'KEY7',
+    KEY8: 'KEY8',
+    KEY9: 'KEY9',
+    KEY_STAR: 'KEY_STAR',
+    KEY_SHARP: 'KEY_SHARP',
+    KEY_BACK: 'KEY_BACK',
+    HOLD: 'HOLD',
+    HW_TAP: 'HW_TAP',
+    HW_HOLD: 'HW_HOLD',
+    MESSAGE: 'MESSAGE',
+    EMAIL: 'EMAIL',
+    WAKEUP: 'WAKEUP',
+    SCHEDULE: 'SCHEDULE',
+    TIMER: 'TIMER',
+    GENERAL: 'GENERAL',
+    POWERON: 'POWERON',
+    POWEROFF: 'POWEROFF',
+    CHARGERCONN: 'CHARGERCONN',
+    CHARGING_ERROR: 'CHARGING_ERROR',
+    FULLCHARGED: 'FULLCHARGED',
+    LOWBATT: 'LOWBATT',
+    LOCK: 'LOCK',
+    UNLOCK: 'UNLOCK',
+    VIBRATION_ON: 'VIBRATION_ON',
+    SILENT_OFF: 'SILENT_OFF',
+    BT_CONNECTED: 'BT_CONNECTED',
+    BT_DISCONNECTED: 'BT_DISCONNECTED',
+    LIST_REORDER: 'LIST_REORDER',
+    LIST_SLIDER: 'LIST_SLIDER',
+    VOLUME_KEY: 'VOLUME_KEY'
+};
 
 function FeedbackManager() {
-  // constructor of FeedbackManager
+    // constructor of FeedbackManager
 }
 
-
 FeedbackManager.prototype.isPatternSupported = function(pattern, type) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'pattern', type: types_.ENUM, values: Object.keys(FeedbackPattern)},
-    {name: 'type', type: types_.ENUM, values: Object.keys(FeedbackType)},
-  ]);
-  return callNative('FeedbackManager_isPatternSupported', args);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'pattern', type: types_.ENUM, values: Object.keys(FeedbackPattern) },
+        { name: 'type', type: types_.ENUM, values: Object.keys(FeedbackType) }
+    ]);
+    return callNative('FeedbackManager_isPatternSupported', args);
 };
 
 FeedbackManager.prototype.play = function(pattern, type) {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'pattern',
-      type: types_.ENUM,
-      values: Object.keys(FeedbackPattern)
-    },
-    {
-      name: 'type',
-      type: types_.ENUM,
-      values: Object.keys(FeedbackType),
-      optional : true,
-      nullable : true
-    },
-  ]);
-
-  var nativeParam = {
-      'pattern': args.pattern,
-      'type': args.type ? args.type : 'any'
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'pattern',
+            type: types_.ENUM,
+            values: Object.keys(FeedbackPattern)
+        },
+        {
+            name: 'type',
+            type: types_.ENUM,
+            values: Object.keys(FeedbackType),
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var nativeParam = {
+        pattern: args.pattern,
+        type: args.type ? args.type : 'any'
     };
 
-  callNative('FeedbackManager_play', nativeParam);
-  return;
+    callNative('FeedbackManager_play', nativeParam);
+    return;
 };
 
 FeedbackManager.prototype.stop = function() {
-  var args = validator_.validateArgs(arguments, []);
+    var args = validator_.validateArgs(arguments, []);
 
-  callNative('FeedbackManager_stop', args);
-  return;
+    callNative('FeedbackManager_stop', args);
+    return;
 };
 
 exports = new FeedbackManager();
index 0952f2390ec5456766cf422de454d385f2dd5637..b4ca7eddce990aa7f417d88255db4d9d4c2e2d82 100755 (executable)
  */
 
 function base64_encode(data) {
-  var _b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
-  var output = '';
-  var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
-  var i = 0;
+    var _b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
+    var output = '';
+    var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
+    var i = 0;
 
-  while (i < data.length) {
-    chr1 = data[i++];
-    chr2 = data[i++];
-    chr3 = data[i++];
+    while (i < data.length) {
+        chr1 = data[i++];
+        chr2 = data[i++];
+        chr3 = data[i++];
 
-    enc1 = chr1 >> 2;
-    enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
-    enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
-    enc4 = chr3 & 63;
+        enc1 = chr1 >> 2;
+        enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
+        enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
+        enc4 = chr3 & 63;
 
-    if (isNaN(chr2)) {
-      enc3 = enc4 = 64;
-    } else if (isNaN(chr3)) {
-      enc4 = 64;
-    }
+        if (isNaN(chr2)) {
+            enc3 = enc4 = 64;
+        } else if (isNaN(chr3)) {
+            enc4 = 64;
+        }
 
-    output += _b64.charAt(enc1) + _b64.charAt(enc2) +
-              _b64.charAt(enc3) + _b64.charAt(enc4);
-  }
+        output +=
+            _b64.charAt(enc1) + _b64.charAt(enc2) + _b64.charAt(enc3) + _b64.charAt(enc4);
+    }
 
-  return output;
+    return output;
 }
index adf52c7e514350805061fec593b0a735ee7c2d8d..30dc3594758d0a8713aa0b7348120a6b412d27aa 100644 (file)
@@ -23,398 +23,421 @@ var types_ = validator_.Types;
 var native_ = new xwalk.utils.NativeManager(extension);
 
 function SetReadOnlyProperty(obj, n, v) {
-  Object.defineProperty(obj, n, {
-    value: v,
-    writable: false
-  });
+    Object.defineProperty(obj, n, {
+        value: v,
+        writable: false
+    });
 }
 
 var FileSystemStorageType = {
-  INTERNAL: 'INTERNAL',
-  EXTERNAL: 'EXTERNAL'
+    INTERNAL: 'INTERNAL',
+    EXTERNAL: 'EXTERNAL'
 };
 
 var FileSystemStorageState = {
-  MOUNTED: 'MOUNTED',
-  REMOVED: 'REMOVED',
-  UNMOUNTABLE: 'UNMOUNTABLE'
+    MOUNTED: 'MOUNTED',
+    REMOVED: 'REMOVED',
+    UNMOUNTABLE: 'UNMOUNTABLE'
 };
 
 var FileMode = {
-  r: 'r',
-  rw: 'rw',
-  w: 'w',
-  a: 'a'
+    r: 'r',
+    rw: 'rw',
+    w: 'w',
+    a: 'a'
 };
 
-var tizen24home = "/opt/usr/media";
+var tizen24home = '/opt/usr/media';
 
-//this variable need to match same variable in common/filesystem/filesystem_provider_storage.cc
-var kVirtualRootImages = "images";
+// this variable need to match same variable
+// in common/filesystem/filesystem_provider_storage.cc
+var kVirtualRootImages = 'images';
 
 var commonFS_ = (function() {
-  var cacheReady = false;
-  var listenerRegistered = false;
-  var cacheVirtualToReal = {};
-  var cacheStorages = [];
-  var uriPrefix = 'file://';
-  // special condition for previous versions paths
-  // (global paths usage issue workaround)
-  var isAppForEarlierVersion = privUtils_.isAppVersionEarlierThan("3.0");
-  var homeDir = undefined;
-
-  function clearCache() {
-    cacheVirtualToReal = {};
-    cacheStorages = [];
-    cacheReady = false;
-  }
-
-  // initalize home directory for correct mapping global paths from tizen 2.4
-  // (global paths usage issue workaround)
-  function initHomeDir(aPath) {
-    if (homeDir || !isAppForEarlierVersion) {
-      return;
-    }
-    var imagesPath = cacheVirtualToReal[kVirtualRootImages].path;
-
-    if (imagesPath[imagesPath.length-1] === "/") {
-      homeDir = imagesPath.split("/").slice(0, -2).join("/");
-    } else {
-      homeDir = imagesPath.split("/").slice(0, -1).join("/");
-    }
-  }
+    var cacheReady = false;
+    var listenerRegistered = false;
+    var cacheVirtualToReal = {};
+    var cacheStorages = [];
+    var uriPrefix = 'file://';
+    // special condition for previous versions paths
+    // (global paths usage issue workaround)
+    var isAppForEarlierVersion = privUtils_.isAppVersionEarlierThan('3.0');
+    var homeDir = undefined;
 
-  function initCache() {
-    if (cacheReady) {
-      return;
+    function clearCache() {
+        cacheVirtualToReal = {};
+        cacheStorages = [];
+        cacheReady = false;
     }
 
-    var result = native_.callSync('Filesystem_fetchVirtualRoots', {});
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
-    }
-    var virtualRoots = native_.getResultObject(result);
-
-    for (var i = 0; i < virtualRoots.length; ++i) {
-      cacheVirtualToReal[virtualRoots[i].name] = {
-        path: virtualRoots[i].path,
-        label: virtualRoots[i].name,
-        type: FileSystemStorageType.INTERNAL,
-        state: FileSystemStorageState.MOUNTED
-      };
-    }
     // initalize home directory for correct mapping global paths from tizen 2.4
     // (global paths usage issue workaround)
-    initHomeDir();
-
-    var result = native_.callSync('FileSystemManager_fetchStorages', {});
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
-    }
-
-    var storages = native_.getResultObject(result);
-    for (var i = 0; i < storages.length; ++i) {
-      cacheStorages.push({
-        path: storages[i].path,
-        label: storages[i].name,
-        type: storages[i].type,
-        state: storages[i].state,
-        storage_id: storages[i].storage_id
-      });
+    function initHomeDir(aPath) {
+        if (homeDir || !isAppForEarlierVersion) {
+            return;
+        }
+        var imagesPath = cacheVirtualToReal[kVirtualRootImages].path;
+
+        if (imagesPath[imagesPath.length - 1] === '/') {
+            homeDir = imagesPath
+                .split('/')
+                .slice(0, -2)
+                .join('/');
+        } else {
+            homeDir = imagesPath
+                .split('/')
+                .slice(0, -1)
+                .join('/');
+        }
     }
 
-    if (!listenerRegistered) {
-      try {
-        tizen.filesystem.addStorageStateChangeListener(function() {
-          clearCache();
-        });
-        listenerRegistered = true;
-      } catch (e) {
-        privUtils_.log('Failed to register storage change listener, '
-            + 'storage information may be corrupted: ' + e.message);
-      }
-    }
+    function initCache() {
+        if (cacheReady) {
+            return;
+        }
 
-    cacheReady = true;
-  }
+        var result = native_.callSync('Filesystem_fetchVirtualRoots', {});
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
+        var virtualRoots = native_.getResultObject(result);
+
+        for (var i = 0; i < virtualRoots.length; ++i) {
+            cacheVirtualToReal[virtualRoots[i].name] = {
+                path: virtualRoots[i].path,
+                label: virtualRoots[i].name,
+                type: FileSystemStorageType.INTERNAL,
+                state: FileSystemStorageState.MOUNTED
+            };
+        }
+        // initalize home directory for correct mapping global paths from tizen 2.4
+        // (global paths usage issue workaround)
+        initHomeDir();
 
-  function mergeMultipleSlashes(str) {
-    var retStr = str.replace(/(^(file\:\/\/\/)|^(file\:\/\/)|\/)\/{0,}/g, '$1');
-    return retStr;
-  }
+        var result = native_.callSync('FileSystemManager_fetchStorages', {});
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
 
-  function removeDotsFromPath(str) {
-    if(str === undefined){
-        return str;
-    }
+        var storages = native_.getResultObject(result);
+        for (var i = 0; i < storages.length; ++i) {
+            cacheStorages.push({
+                path: storages[i].path,
+                label: storages[i].name,
+                type: storages[i].type,
+                state: storages[i].state,
+                storage_id: storages[i].storage_id
+            });
+        }
 
-    var _pathTokens = str.split('/');
-    var _correctDir = [];
-    var _fileRealPath = _pathTokens[0];
-    _correctDir.push(_pathTokens[0]);
-    for (var i = 1; i < _pathTokens.length; ++i) {
-      if(_pathTokens[i] == "..") {
-        if (_fileRealPath == '') {
-          _fileRealPath = undefined;
-          break;
+        if (!listenerRegistered) {
+            try {
+                tizen.filesystem.addStorageStateChangeListener(function() {
+                    clearCache();
+                });
+                listenerRegistered = true;
+            } catch (e) {
+                privUtils_.log(
+                    'Failed to register storage change listener, ' +
+                        'storage information may be corrupted: ' +
+                        e.message
+                );
+            }
         }
-        var _lastDir = _correctDir.pop();
-        _fileRealPath = _fileRealPath.substring(0, _fileRealPath.length - _lastDir.length - 1);
-      } else if(_pathTokens[i] != "."){
-        _fileRealPath += '/' + _pathTokens[i];
-        _correctDir.push(_pathTokens[i]);
-      }
-    }
-    return _fileRealPath;
-  }
 
-  function checkPathWithoutDots(aPath) {
-    if (-1 !== aPath.indexOf('/../')) {
-      return false;
+        cacheReady = true;
     }
-    if (-1 !== aPath.indexOf('/./')) {
-      return false;
+
+    function mergeMultipleSlashes(str) {
+        var retStr = str.replace(/(^(file\:\/\/\/)|^(file\:\/\/)|\/)\/{0,}/g, '$1');
+        return retStr;
     }
-    // check if path ends with '/.' or '/..'
-    if (aPath.match(/\/\.\.?$/)) {
-      return false;
+
+    function removeDotsFromPath(str) {
+        if (str === undefined) {
+            return str;
+        }
+
+        var _pathTokens = str.split('/');
+        var _correctDir = [];
+        var _fileRealPath = _pathTokens[0];
+        _correctDir.push(_pathTokens[0]);
+        for (var i = 1; i < _pathTokens.length; ++i) {
+            if (_pathTokens[i] == '..') {
+                if (_fileRealPath == '') {
+                    _fileRealPath = undefined;
+                    break;
+                }
+                var _lastDir = _correctDir.pop();
+                _fileRealPath = _fileRealPath.substring(
+                    0,
+                    _fileRealPath.length - _lastDir.length - 1
+                );
+            } else if (_pathTokens[i] != '.') {
+                _fileRealPath += '/' + _pathTokens[i];
+                _correctDir.push(_pathTokens[i]);
+            }
+        }
+        return _fileRealPath;
     }
-    // check if path starts with './' or '../'
-    if (aPath.match(/^\.\.?\//)) {
-      return false;
+
+    function checkPathWithoutDots(aPath) {
+        if (-1 !== aPath.indexOf('/../')) {
+            return false;
+        }
+        if (-1 !== aPath.indexOf('/./')) {
+            return false;
+        }
+        // check if path ends with '/.' or '/..'
+        if (aPath.match(/\/\.\.?$/)) {
+            return false;
+        }
+        // check if path starts with './' or '../'
+        if (aPath.match(/^\.\.?\//)) {
+            return false;
+        }
+        return true;
     }
-    return true;
-  }
-
-  function convertForEarlierVersionPath(aPath) {
-    if (isAppForEarlierVersion) {
-      if (aPath && aPath.indexOf(tizen24home) === 0) {
-        privUtils_.log("Converting 2.4 style path to 3.0 pattern");
-        aPath = homeDir + aPath.substr(tizen24home.length);
-      }
+
+    function convertForEarlierVersionPath(aPath) {
+        if (isAppForEarlierVersion) {
+            if (aPath && aPath.indexOf(tizen24home) === 0) {
+                privUtils_.log('Converting 2.4 style path to 3.0 pattern');
+                aPath = homeDir + aPath.substr(tizen24home.length);
+            }
+        }
+        return aPath;
     }
-    return aPath;
-  }
 
-  function toRealPath(aPath) {
-    var _fileRealPath = '';
+    function toRealPath(aPath) {
+        var _fileRealPath = '';
+
+        aPath = mergeMultipleSlashes(aPath);
+
+        if (aPath.indexOf(uriPrefix) === 0) {
+            _fileRealPath = aPath.substr(uriPrefix.length);
+        } else if (aPath[0] !== '/') {
+            // virtual path
+            initCache();
+
+            var _pathTokens = aPath.split('/');
+
+            if (cacheVirtualToReal[_pathTokens[0]]) {
+                _fileRealPath = cacheVirtualToReal[_pathTokens[0]].path;
+                for (var i = 1; i < _pathTokens.length; ++i) {
+                    _fileRealPath += '/' + _pathTokens[i];
+                }
+            } else {
+                // If path token is not present in cache then it is invalid
+                _fileRealPath = undefined;
+                // check storages
+                for (var j = 0; j < cacheStorages.length; ++j) {
+                    if (cacheStorages[j].label === _pathTokens[0]) {
+                        _fileRealPath = cacheStorages[j].path;
+                        for (var i = 1; i < _pathTokens.length; ++i) {
+                            _fileRealPath += '/' + _pathTokens[i];
+                        }
+                        break;
+                    }
+                }
+            }
+        } else {
+            _fileRealPath = aPath;
+        }
+        // this line makes that '.' and '..' is supported in paths,
+        // but each method handle those cases
+        // and return error (see commonFS_.checkPathWithoutDots() method)
+        _fileRealPath = removeDotsFromPath(_fileRealPath);
+        // convert path to be compatibile with previous version of Tizen
+        // (global paths usage issue workaround)
+        _fileRealPath = convertForEarlierVersionPath(_fileRealPath);
+        // if path is valid try to cut last '/' if it is present
+        if (_fileRealPath) {
+            _fileRealPath = mergeMultipleSlashes(_fileRealPath);
+        }
+        return _fileRealPath;
+    }
 
-    aPath = mergeMultipleSlashes(aPath);
+    function toVirtualPath(aPath) {
+        aPath = mergeMultipleSlashes(aPath);
+        var _virtualPath = aPath;
 
-    if (aPath.indexOf(uriPrefix) === 0) {
-      _fileRealPath = aPath.substr(uriPrefix.length);
-    } else if (aPath[0] !== '/') {
-      // virtual path
-      initCache();
+        if (_virtualPath.indexOf(uriPrefix) === 0) {
+            _virtualPath = _virtualPath.substr(uriPrefix.length);
+        }
 
-      var _pathTokens = aPath.split('/');
+        initCache();
 
-      if (cacheVirtualToReal[_pathTokens[0]]) {
-        _fileRealPath = cacheVirtualToReal[_pathTokens[0]].path;
-        for (var i = 1; i < _pathTokens.length; ++i) {
-          _fileRealPath += '/' + _pathTokens[i];
-        }
-      } else {
-        // If path token is not present in cache then it is invalid
-        _fileRealPath = undefined;
-        // check storages
-        for (var j = 0; j < cacheStorages.length; ++j) {
-          if (cacheStorages[j].label === _pathTokens[0]) {
-            _fileRealPath = cacheStorages[j].path;
-            for (var i = 1; i < _pathTokens.length; ++i) {
-              _fileRealPath += '/' + _pathTokens[i];
+        for (var virtual_root in cacheVirtualToReal) {
+            var real_root_path = cacheVirtualToReal[virtual_root].path;
+            if (_virtualPath.indexOf(real_root_path, 0) === 0) {
+                return _virtualPath.replace(real_root_path, virtual_root);
             }
-            break;
-          }
         }
-      }
-    } else {
-      _fileRealPath = aPath;
-    }
-    // this line makes that '.' and '..' is supported in paths, but each method handle those cases
-    // and return error (see commonFS_.checkPathWithoutDots() method)
-    _fileRealPath = removeDotsFromPath(_fileRealPath);
-    // convert path to be compatibile with previous version of Tizen
-    // (global paths usage issue workaround)
-    _fileRealPath = convertForEarlierVersionPath(_fileRealPath);
-    // if path is valid try to cut last '/' if it is present
-    if (_fileRealPath) {
-      _fileRealPath = mergeMultipleSlashes(_fileRealPath);
+
+        return _virtualPath;
     }
-    return _fileRealPath;
-  }
 
-  function toVirtualPath(aPath) {
-    aPath = mergeMultipleSlashes(aPath);
-    var _virtualPath = aPath;
+    function getFileInfo(aStatObj, secondIter, aMode) {
+        var _result = {},
+            _pathTokens,
+            _fileParentPath = '',
+            i;
+        var aPath = toVirtualPath(aStatObj.path);
+
+        _result.readOnly = aStatObj.readOnly;
+        _result.isFile = aStatObj.isFile;
+        _result.isDirectory = aStatObj.isDirectory;
+        _result.created = new Date(aStatObj.ctime * 1000);
+        _result.modified = new Date(aStatObj.mtime * 1000);
+        _result.fullPath = aPath;
+        _result.fileSize = aStatObj.size;
+        _result.mode = aMode;
+        if (_result.isDirectory) {
+            try {
+                _result.length = aStatObj.nlink;
+            } catch (err) {
+                _result.length = 0;
+            }
+        } else {
+            _result.length = undefined;
+        }
 
-    if (_virtualPath.indexOf(uriPrefix) === 0) {
-      _virtualPath = _virtualPath.substr(uriPrefix.length);
+        _pathTokens = aPath.split('/');
+        if (_pathTokens.length > 1) {
+            var last = _pathTokens.length - 1;
+            var lastToken = '';
+            if (_pathTokens[last] === '') {
+                // 'abc/d/e/' case with trailing '/' sign
+                last = _pathTokens.length - 2;
+                lastToken = '/';
+            }
+            for (i = 0; i < last; ++i) {
+                _fileParentPath += _pathTokens[i] + '/';
+            }
+            if (last > 0) {
+                _result.path = _fileParentPath;
+                _result.name = secondIter
+                    ? _pathTokens[last]
+                    : _pathTokens[last] + lastToken;
+                _result.parent = secondIter ? null : _fileParentPath;
+            } else {
+                // '/' dir case
+                _result.path = _pathTokens[last] + lastToken;
+                _result.name = '';
+                _result.parent = secondIter ? null : _fileParentPath;
+            }
+        } else {
+            _result.parent = null;
+            _result.path = aPath;
+            _result.name = '';
+        }
+        return _result;
     }
 
-    initCache();
+    function isLocationAllowed(aPath) {
+        if (!aPath) {
+            return false;
+        }
+        initCache();
+        if (aPath.indexOf(cacheVirtualToReal.ringtones.path) === 0) {
+            return false;
+        }
+        if (aPath.indexOf(cacheVirtualToReal['wgt-package'].path) === 0) {
+            return false;
+        }
 
-    for (var virtual_root in cacheVirtualToReal) {
-      var real_root_path = cacheVirtualToReal[virtual_root].path;
-      if (_virtualPath.indexOf(real_root_path, 0) === 0) {
-        return _virtualPath.replace(real_root_path, virtual_root);
-      }
+        return true;
     }
 
-    return _virtualPath;
-  }
-
-  function getFileInfo(aStatObj, secondIter, aMode) {
-    var _result = {}, _pathTokens, _fileParentPath = '', i;
-    var aPath = toVirtualPath(aStatObj.path);
-
-    _result.readOnly = aStatObj.readOnly;
-    _result.isFile = aStatObj.isFile;
-    _result.isDirectory = aStatObj.isDirectory;
-    _result.created = new Date(aStatObj.ctime * 1000);
-    _result.modified = new Date(aStatObj.mtime * 1000);
-    _result.fullPath = aPath;
-    _result.fileSize = aStatObj.size;
-    _result.mode = aMode;
-    if (_result.isDirectory) {
-      try {
-        _result.length = aStatObj.nlink;
-      } catch (err) {
-        _result.length = 0;
-      }
-    } else {
-      _result.length = undefined;
-    }
+    function toCanonicalPath(path) {
+        var result = native_.callSync('FileSystemManager_getCanonicalPath', {
+            path: path
+        });
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
 
-    _pathTokens = aPath.split('/');
-    if (_pathTokens.length > 1) {
-      var last = _pathTokens.length - 1;
-      var lastToken = '';
-      if (_pathTokens[last] === '') {
-        // 'abc/d/e/' case with trailing '/' sign
-        last = _pathTokens.length - 2;
-        lastToken = '/';
-      }
-      for (i = 0; i < last; ++i) {
-        _fileParentPath += _pathTokens[i] + '/';
-      }
-      if (last > 0) {
-        _result.path = _fileParentPath;
-        _result.name = (secondIter) ? _pathTokens[last] : _pathTokens[last] + lastToken;
-        _result.parent = (secondIter) ? null : _fileParentPath;
-      } else {
-        // '/' dir case
-        _result.path = _pathTokens[last] + lastToken;;
-        _result.name = '';
-        _result.parent = (secondIter) ? null : _fileParentPath;
-      }
-    } else {
-      _result.parent = null;
-      _result.path = aPath;
-      _result.name = '';
+        return native_.getResultObject(result);
     }
-    return _result;
-  }
 
-  function isLocationAllowed(aPath) {
-    if (!aPath) {
-      return false;
-    }
-    initCache();
-    if (aPath.indexOf(cacheVirtualToReal.ringtones.path) === 0) {
-      return false;
-    }
-    if (aPath.indexOf(cacheVirtualToReal['wgt-package'].path) === 0) {
-      return false;
-    }
+    function f_isSubDir(fullPathToCheck, fullPath) {
+        var fullCanonicalPathToCheck = toCanonicalPath(toRealPath(fullPathToCheck));
+        var fullCanonicalPath = toCanonicalPath(toRealPath(fullPath));
 
-    return true;
-  }
+        if (fullCanonicalPathToCheck === fullCanonicalPath) {
+            return false;
+        }
 
-  function toCanonicalPath(path) {
-    var result = native_.callSync('FileSystemManager_getCanonicalPath', { "path": path});
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+        return fullCanonicalPathToCheck.indexOf(fullCanonicalPath) === 0;
     }
 
-    return native_.getResultObject(result);
-  }
-
-  function f_isSubDir(fullPathToCheck, fullPath) {
-    var fullCanonicalPathToCheck = toCanonicalPath(toRealPath(fullPathToCheck));
-    var fullCanonicalPath = toCanonicalPath(toRealPath(fullPath));
-
-    if (fullCanonicalPathToCheck === fullCanonicalPath) {
-      return false;
+    function f_isCorrectRelativePath(relativePath) {
+        return (
+            0 !== relativePath.indexOf('/') &&
+            0 !== relativePath.indexOf('\\') &&
+            -1 === relativePath.indexOf('?') &&
+            -1 === relativePath.indexOf('*') &&
+            -1 === relativePath.indexOf(':') &&
+            -1 === relativePath.indexOf('"') &&
+            -1 === relativePath.indexOf('<') &&
+            -1 === relativePath.indexOf('>')
+        );
     }
 
-    return fullCanonicalPathToCheck.indexOf(fullCanonicalPath) === 0;
-  }
-
-  function f_isCorrectRelativePath(relativePath) {
-    return ((0 !== relativePath.indexOf('/'))
-        && (0 !== relativePath.indexOf('\\'))
-        && (-1 === relativePath.indexOf('?'))
-        && (-1 === relativePath.indexOf('*'))
-        && (-1 === relativePath.indexOf(':'))
-        && (-1 === relativePath.indexOf('"'))
-        && (-1 === relativePath.indexOf('<')) && (-1 === relativePath
-        .indexOf('>')));
-  };
-
-  function cloneStorage(storage) {
-    return {
-      label: storage.label,
-      type: storage.type,
-      state: storage.state
-    };
-  }
-
-  function getStorage(label) {
-    initCache();
-    for (var i = 0; i < cacheStorages.length; ++i) {
-      if (cacheStorages[i].label === label) {
-        return cloneStorage(cacheStorages[i]);
-      }
+    function cloneStorage(storage) {
+        return {
+            label: storage.label,
+            type: storage.type,
+            state: storage.state
+        };
     }
 
-    for (var key in cacheVirtualToReal) {
-      if (cacheVirtualToReal.hasOwnProperty(key)) {
-        if (cacheVirtualToReal[key].label === label) {
-          return cloneStorage(cacheVirtualToReal[key]);
+    function getStorage(label) {
+        initCache();
+        for (var i = 0; i < cacheStorages.length; ++i) {
+            if (cacheStorages[i].label === label) {
+                return cloneStorage(cacheStorages[i]);
+            }
         }
-      }
-    }
 
-    return null;
-  }
+        for (var key in cacheVirtualToReal) {
+            if (cacheVirtualToReal.hasOwnProperty(key)) {
+                if (cacheVirtualToReal[key].label === label) {
+                    return cloneStorage(cacheVirtualToReal[key]);
+                }
+            }
+        }
 
-  function getAllStorages() {
-    var ret = [];
-    initCache();
-    for (var i = 0; i < cacheStorages.length; ++i) {
-      ret.push(cloneStorage(cacheStorages[i]));
+        return null;
     }
 
-    for (var key in cacheVirtualToReal) {
-      if (cacheVirtualToReal.hasOwnProperty(key)) {
-        ret.push(cloneStorage(cacheVirtualToReal[key]));
-      }
+    function getAllStorages() {
+        var ret = [];
+        initCache();
+        for (var i = 0; i < cacheStorages.length; ++i) {
+            ret.push(cloneStorage(cacheStorages[i]));
+        }
+
+        for (var key in cacheVirtualToReal) {
+            if (cacheVirtualToReal.hasOwnProperty(key)) {
+                ret.push(cloneStorage(cacheVirtualToReal[key]));
+            }
+        }
+
+        return ret;
     }
 
-    return ret;
-  }
-
-  return {
-    clearCache: clearCache,
-    checkPathWithoutDots: checkPathWithoutDots,
-    toRealPath: toRealPath,
-    toVirtualPath: toVirtualPath,
-    getFileInfo: getFileInfo,
-    isLocationAllowed: isLocationAllowed,
-    f_isSubDir: f_isSubDir,
-    f_isCorrectRelativePath: f_isCorrectRelativePath,
-    getStorage: getStorage,
-    getAllStorages: getAllStorages
-  };
+    return {
+        clearCache: clearCache,
+        checkPathWithoutDots: checkPathWithoutDots,
+        toRealPath: toRealPath,
+        toVirtualPath: toVirtualPath,
+        getFileInfo: getFileInfo,
+        isLocationAllowed: isLocationAllowed,
+        f_isSubDir: f_isSubDir,
+        f_isCorrectRelativePath: f_isCorrectRelativePath,
+        getStorage: getStorage,
+        getAllStorages: getAllStorages
+    };
 })();
index d5d2d20d4696254443ed3c82663b5b9f297cdf81..2d9e30e5228fb533f30d83878b18d870c8ba19a4 100644 (file)
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
+
 function File(data) {
-  function fileSizeGetter() {
-    var _realPath = commonFS_.toRealPath(this.fullPath);
-    var _result = native_.callSync('File_statSync', {location: _realPath});
-    var _aStatObj = native_.getResultObject(_result);
-    return _aStatObj.isFile ? _aStatObj.size : undefined;
-  }
-
-  Object.defineProperties(this, {
-    parent: {
-      value: (function(data) {
-        try {
-          if (data.parent) { // prevent recursive - only one parent
-            var _parentPath = data.path;
-            var _location = {location: commonFS_.toRealPath(_parentPath)};
-            var _result = native_.callSync('File_statSync', _location);
-            var _statObj = native_.getResultObject(_result);
-            var _info = commonFS_.getFileInfo(_statObj, true);
-            return new File(_info);
-          } else {
-            return null;
-          }
-        } catch (err) {
-          privUtils_.log(err.name, err.message);
-          return null;
-        }
-      }(data)),
-      writable: false,
-      enumerable: true
-    },
-    readOnly: {value: data.readOnly, writable: false, enumerable: true},
-    isFile: {value: data.isFile, writable: false, enumerable: true},
-    isDirectory: {value: data.isDirectory, writable: false, enumerable: true},
-    created: {value: data.created, writable: false, enumerable: true},
-    modified: {value: data.modified, writable: false, enumerable: true},
-    path: {value: data.path, writable: false, enumerable: true},
-    name: {value: data.name, writable: false, enumerable: true},
-    fullPath: {value: data.fullPath, writable: false, enumerable: true},
-    fileSize: {enumerable: true, set: function() {
-    }, get: fileSizeGetter},
-    length: {value: data.length, writable: false, enumerable: true},
-    mode: {value: data.mode, writable: false}
-  });
+    function fileSizeGetter() {
+        var _realPath = commonFS_.toRealPath(this.fullPath);
+        var _result = native_.callSync('File_statSync', { location: _realPath });
+        var _aStatObj = native_.getResultObject(_result);
+        return _aStatObj.isFile ? _aStatObj.size : undefined;
+    }
+
+    Object.defineProperties(this, {
+        parent: {
+            value: (function(data) {
+                try {
+                    if (data.parent) {
+                        // prevent recursive - only one parent
+                        var _parentPath = data.path;
+                        var _location = { location: commonFS_.toRealPath(_parentPath) };
+                        var _result = native_.callSync('File_statSync', _location);
+                        var _statObj = native_.getResultObject(_result);
+                        var _info = commonFS_.getFileInfo(_statObj, true);
+                        return new File(_info);
+                    } else {
+                        return null;
+                    }
+                } catch (err) {
+                    privUtils_.log(err.name, err.message);
+                    return null;
+                }
+            })(data),
+            writable: false,
+            enumerable: true
+        },
+        readOnly: { value: data.readOnly, writable: false, enumerable: true },
+        isFile: { value: data.isFile, writable: false, enumerable: true },
+        isDirectory: { value: data.isDirectory, writable: false, enumerable: true },
+        created: { value: data.created, writable: false, enumerable: true },
+        modified: { value: data.modified, writable: false, enumerable: true },
+        path: { value: data.path, writable: false, enumerable: true },
+        name: { value: data.name, writable: false, enumerable: true },
+        fullPath: { value: data.fullPath, writable: false, enumerable: true },
+        fileSize: { enumerable: true, set: function() {}, get: fileSizeGetter },
+        length: { value: data.length, writable: false, enumerable: true },
+        mode: { value: data.mode, writable: false }
+    });
 }
 
 function toURI() {
-  xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.FILESYSTEM_READ);
-  return 'file://' + commonFS_.toRealPath(this.fullPath);
+    xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.FILESYSTEM_READ);
+    return 'file://' + commonFS_.toRealPath(this.fullPath);
 }
 
 File.prototype.toURI = function() {
-  return toURI.apply(this, arguments);
+    return toURI.apply(this, arguments);
 };
 
 function stringToRegex(str) {
-  var _regString = '^';
-  if (str === '') {
-    return new RegExp(_regString, 'i');
-  }
-  // single '\' sign is not visible in JS string, escaping % wildcard need to be done by '\\%'
-  str = str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&');
-
-  var _percentTokens = str.split('%');
-  var i;
-  for (i = 0; i < _percentTokens.length - 1; ++i) {
-    _regString = _regString + _percentTokens[i];
-    if (_regString[_regString.length - 1] === '\\') {
-      // special handling \\% sequence - '%' sign is threaten as regular sign - not wildcard
-      _regString = _regString.split('');
-      _regString.pop();
-      _regString = _regString.join('') + '%';
-    }
-    else {
-      // handling '%' as a wildcard
-      _regString = _regString + '.*';
-    }
-  }
-  return new RegExp(_regString + _percentTokens[i] + '$', 'i');
+    var _regString = '^';
+    if (str === '') {
+        return new RegExp(_regString, 'i');
+    }
+    // single '\' sign is not visible in JS string,
+    // escaping % wildcard need to be done by '\\%'
+    str = str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&');
+
+    var _percentTokens = str.split('%');
+    var i;
+    for (i = 0; i < _percentTokens.length - 1; ++i) {
+        _regString = _regString + _percentTokens[i];
+        if (_regString[_regString.length - 1] === '\\') {
+            // special handling \\% sequence - '%' sign
+            // is threaten as regular sign - not wildcard
+            _regString = _regString.split('');
+            _regString.pop();
+            _regString = _regString.join('') + '%';
+        } else {
+            // handling '%' as a wildcard
+            _regString = _regString + '.*';
+        }
+    }
+    return new RegExp(_regString + _percentTokens[i] + '$', 'i');
 }
 
-
 function createFilter(fileFilter) {
-  if (type_.isNull(fileFilter)) {
-    return null;
-  }
-
-  var FileFilter = {
-    name: 'name',
-    startModified: 'startModified',
-    endModified: 'endModified',
-    startCreated: 'startCreated',
-    endCreated: 'endCreated'
-  };
-
-  var _fileFilter = {}, i;
-  for (i in fileFilter) {
-    if (!type_.isNullOrUndefined(fileFilter[i])) {
-      if (Object.keys(FileFilter).indexOf(i) >= 0) {
-        if (FileFilter.name === i) {
-          _fileFilter[i] = stringToRegex(fileFilter[i]);
-        } else {
-          if (!(fileFilter[i] instanceof Date)) {
-            throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-                'Invalid date');
-          }
-          _fileFilter[i] = fileFilter[i];
+    if (type_.isNull(fileFilter)) {
+        return null;
+    }
+
+    var FileFilter = {
+        name: 'name',
+        startModified: 'startModified',
+        endModified: 'endModified',
+        startCreated: 'startCreated',
+        endCreated: 'endCreated'
+    };
+
+    var _fileFilter = {},
+        i;
+    for (i in fileFilter) {
+        if (!type_.isNullOrUndefined(fileFilter[i])) {
+            if (Object.keys(FileFilter).indexOf(i) >= 0) {
+                if (FileFilter.name === i) {
+                    _fileFilter[i] = stringToRegex(fileFilter[i]);
+                } else {
+                    if (!(fileFilter[i] instanceof Date)) {
+                        throw new WebAPIException(
+                            WebAPIException.INVALID_VALUES_ERR,
+                            'Invalid date'
+                        );
+                    }
+                    _fileFilter[i] = fileFilter[i];
+                }
+            }
         }
-      }
     }
-  }
 
-  return !type_.isEmptyObject(_fileFilter) ? _fileFilter : null;
+    return !type_.isEmptyObject(_fileFilter) ? _fileFilter : null;
 }
 
 function matchRange(value, min, max) {
-  if (min !== undefined && value < min) {
-    return false;
-  }
-  if (max !== undefined && value > max) {
-    return false;
-  }
-  return true;
+    if (min !== undefined && value < min) {
+        return false;
+    }
+    if (max !== undefined && value > max) {
+        return false;
+    }
+    return true;
 }
 
 function matchName(value, filter_name) {
-  if (filter_name === undefined || filter_name.test(value)) {
-    return true;
-  }
-  return false;
+    if (filter_name === undefined || filter_name.test(value)) {
+        return true;
+    }
+    return false;
 }
 
 function checkFile(file, fileFilter) {
-  if (!matchName(file.name, fileFilter.name)) {
-    return false;
-  }
+    if (!matchName(file.name, fileFilter.name)) {
+        return false;
+    }
 
-  if (!matchRange(file.modified, fileFilter.startModified, fileFilter.endModified)) {
-    return false;
-  }
+    if (!matchRange(file.modified, fileFilter.startModified, fileFilter.endModified)) {
+        return false;
+    }
 
-  if (!matchRange(file.created, fileFilter.startCreated, fileFilter.endCreated)) {
-    return false;
-  }
+    if (!matchRange(file.created, fileFilter.startCreated, fileFilter.endCreated)) {
+        return false;
+    }
 
-  return true;
+    return true;
 }
 
 function listFiles() {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'onsuccess', type: types_.FUNCTION},
-    {name: 'onerror', type: types_.FUNCTION, optional: true, nullable: true},
-    {name: 'filter', type: types_.DICTIONARY, optional: true, nullable: true}
-  ]);
-
-  if (!arguments.length) {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-        'Arguments missing');
-  }
-  if (!this.isDirectory) {
-    setTimeout(function() {
-      native_.callIfPossible(args.onerror,
-          new WebAPIException(WebAPIException.IO_ERR,
-          'File object which call this method is not directory'));
-    }, 0);
-    return;
-  }
-
-  var _fileFilter = null;
+    var args = validator_.validateArgs(arguments, [
+        { name: 'onsuccess', type: types_.FUNCTION },
+        { name: 'onerror', type: types_.FUNCTION, optional: true, nullable: true },
+        { name: 'filter', type: types_.DICTIONARY, optional: true, nullable: true }
+    ]);
+
+    if (!arguments.length) {
+        throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR, 'Arguments missing');
+    }
+    if (!this.isDirectory) {
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(
+                    WebAPIException.IO_ERR,
+                    'File object which call this method is not directory'
+                )
+            );
+        }, 0);
+        return;
+    }
 
-  if (args.has.filter) {
-    _fileFilter = createFilter(args.filter);
-  }
+    var _fileFilter = null;
 
-  var _myPath = this.fullPath;
-  var _realMyPath = commonFS_.toRealPath(_myPath);
+    if (args.has.filter) {
+        _fileFilter = createFilter(args.filter);
+    }
 
-  var data = {
-    pathToDir: _realMyPath
-  };
+    var _myPath = this.fullPath;
+    var _realMyPath = commonFS_.toRealPath(_myPath);
 
-  var callback = function(result) {
-    if (native_.isFailure(result)) {
-      native_.callIfPossible(args.onerror, native_.getErrorObject(result));
-      return;
-    }
-    var aFiles = native_.getResultObject(result);
-    var _result = [],
-        i,
-        _statObj,
-        _fileInfo;
-    for (i = 0; i < aFiles.length; ++i) {
-      _statObj = aFiles[i];
-      _fileInfo = commonFS_.getFileInfo(_statObj);
+    var data = {
+        pathToDir: _realMyPath
+    };
 
-      if (_fileFilter === null) {
-        _result.push(new File(_fileInfo));
-      } else if (checkFile(_fileInfo, _fileFilter)) {
-        _result.push(new File(_fileInfo));
-      }
-    }
-    native_.callIfPossible(args.onsuccess, _result);
-  };
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.onerror, native_.getErrorObject(result));
+            return;
+        }
+        var aFiles = native_.getResultObject(result);
+        var _result = [],
+            i,
+            _statObj,
+            _fileInfo;
+        for (i = 0; i < aFiles.length; ++i) {
+            _statObj = aFiles[i];
+            _fileInfo = commonFS_.getFileInfo(_statObj);
+
+            if (_fileFilter === null) {
+                _result.push(new File(_fileInfo));
+            } else if (checkFile(_fileInfo, _fileFilter)) {
+                _result.push(new File(_fileInfo));
+            }
+        }
+        native_.callIfPossible(args.onsuccess, _result);
+    };
 
-  native_.call('File_readDir', data, callback);
-};
+    native_.call('File_readDir', data, callback);
+}
 
 File.prototype.listFiles = function() {
-  listFiles.apply(this, arguments);
+    listFiles.apply(this, arguments);
 };
 
 var Encoding = {
-  'utf-8': 'utf-8',
-  'iso-8859-1': 'iso-8859-1',
-  'sjis': 'sjis',  // backward compatibility
-  'null': 'utf-8',
-  'undefined': 'utf-8'  // default value
+    'utf-8': 'utf-8',
+    'iso-8859-1': 'iso-8859-1',
+    sjis: 'sjis', // backward compatibility
+    null: 'utf-8',
+    undefined: 'utf-8' // default value
 };
 
 function _checkEncoding(encoding) {
-  encoding = String(encoding).toLowerCase();
-  if (undefined === Encoding[encoding]) {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-        'Argument "encoding" has invalid value: ' + encoding);
-  } else {
-    return Encoding[encoding];
-  }
+    encoding = String(encoding).toLowerCase();
+    if (undefined === Encoding[encoding]) {
+        throw new WebAPIException(
+            WebAPIException.TYPE_MISMATCH_ERR,
+            'Argument "encoding" has invalid value: ' + encoding
+        );
+    } else {
+        return Encoding[encoding];
+    }
 }
 
 function openStream() {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'mode', type: types_.ENUM, values: ['r', 'rw', 'w', 'a']},
-    {name: 'onsuccess', type: types_.FUNCTION},
-    {name: 'onerror', type: types_.FUNCTION, optional: true, nullable: true},
-    {name: 'encoding', type: types_.STRING, optional: true, nullable: true}
-  ]);
-
-  if (arguments.length < 2) {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-        'Arguments missing');
-  }
-  if (this.mode === 'r' && args.mode !== 'r') {
-    setTimeout(function() {
-      native_.callIfPossible(args.onerror,
-          new WebAPIException(WebAPIException.INVALID_VALUES_ERR, 'Read only mode'));
-    }, 0);
-    return;
-  }
+    var args = validator_.validateArgs(arguments, [
+        { name: 'mode', type: types_.ENUM, values: ['r', 'rw', 'w', 'a'] },
+        { name: 'onsuccess', type: types_.FUNCTION },
+        { name: 'onerror', type: types_.FUNCTION, optional: true, nullable: true },
+        { name: 'encoding', type: types_.STRING, optional: true, nullable: true }
+    ]);
+
+    if (arguments.length < 2) {
+        throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR, 'Arguments missing');
+    }
+    if (this.mode === 'r' && args.mode !== 'r') {
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(WebAPIException.INVALID_VALUES_ERR, 'Read only mode')
+            );
+        }, 0);
+        return;
+    }
 
-  if (this.isDirectory) {
-    var directoryMessage = 'This method should be called on file, not directory';
-    setTimeout(function() {
-      native_.callIfPossible(args.onerror, new WebAPIException(WebAPIException.IO_ERR,
-          directoryMessage));
-    }, 0);
-    return;
-  }
+    if (this.isDirectory) {
+        var directoryMessage = 'This method should be called on file, not directory';
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(WebAPIException.IO_ERR, directoryMessage)
+            );
+        }, 0);
+        return;
+    }
 
-  args.encoding = _checkEncoding(args.encoding);
+    args.encoding = _checkEncoding(args.encoding);
 
-  var _realPath = commonFS_.toRealPath(this.fullPath);
-  var _result = native_.callSync('File_statSync', {location: _realPath});
-  if (native_.isFailure(_result)) {
+    var _realPath = commonFS_.toRealPath(this.fullPath);
+    var _result = native_.callSync('File_statSync', { location: _realPath });
+    if (native_.isFailure(_result)) {
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(WebAPIException.IO_ERR, 'File does not exist')
+            );
+        }, 0);
+        return;
+    }
+
+    var fileStream = new FileStream(this, args.mode, args.encoding);
     setTimeout(function() {
-      native_.callIfPossible(args.onerror,
-          new WebAPIException(WebAPIException.IO_ERR, 'File does not exist'));
+        native_.callIfPossible(args.onsuccess, fileStream);
     }, 0);
-    return;
-  }
-
-  var fileStream = new FileStream(this, args.mode, args.encoding);
-  setTimeout(function() {
-    native_.callIfPossible(args.onsuccess, fileStream);
-  }, 0);
-};
+}
 
 File.prototype.openStream = function() {
-  openStream.apply(this, arguments);
+    openStream.apply(this, arguments);
 };
 
 function readAsText() {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'onsuccess', type: types_.FUNCTION},
-    {name: 'onerror', type: types_.FUNCTION, optional: true, nullable: true},
-    {name: 'encoding', type: types_.STRING, optional: true, nullable: true}
-  ]);
-
-  if (!arguments.length) {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-        'Arguments missing');
-  }
-  if (this.isDirectory) {
-    setTimeout(function() {
-      native_.callIfPossible(args.onerror,
-          new WebAPIException(WebAPIException.IO_ERR,
-              'File object which call this method is directory'));
-    }, 0);
-    return;
-  }
+    var args = validator_.validateArgs(arguments, [
+        { name: 'onsuccess', type: types_.FUNCTION },
+        { name: 'onerror', type: types_.FUNCTION, optional: true, nullable: true },
+        { name: 'encoding', type: types_.STRING, optional: true, nullable: true }
+    ]);
+
+    if (!arguments.length) {
+        throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR, 'Arguments missing');
+    }
+    if (this.isDirectory) {
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(
+                    WebAPIException.IO_ERR,
+                    'File object which call this method is directory'
+                )
+            );
+        }, 0);
+        return;
+    }
 
-  args.encoding = _checkEncoding(args.encoding);
+    args.encoding = _checkEncoding(args.encoding);
 
-  var data = {
-    location: commonFS_.toRealPath(this.fullPath),
-    offset: 0,
-    encoding: args.encoding
-  };
+    var data = {
+        location: commonFS_.toRealPath(this.fullPath),
+        offset: 0,
+        encoding: args.encoding
+    };
 
-  function readFile() {
-    var result;
+    function readFile() {
+        var result;
 
-    result = native_.callSync('File_readString', data);
-    if (native_.isFailure(result)) {
-      setTimeout(function() {
-        native_.callIfPossible(args.onerror, native_.getErrorObject(result));
-      }, 0);
-      return;
-    }
-    result = native_.getResultObject(result);
+        result = native_.callSync('File_readString', data);
+        if (native_.isFailure(result)) {
+            setTimeout(function() {
+                native_.callIfPossible(args.onerror, native_.getErrorObject(result));
+            }, 0);
+            return;
+        }
+        result = native_.getResultObject(result);
 
-    setTimeout(function() {
-      native_.callIfPossible(args.onsuccess, result);
-    }, 0);
-  }
+        setTimeout(function() {
+            native_.callIfPossible(args.onsuccess, result);
+        }, 0);
+    }
 
-  setTimeout(readFile, 0);
-};
+    setTimeout(readFile, 0);
+}
 
 File.prototype.readAsText = function() {
-  readAsText.apply(this, arguments);
+    readAsText.apply(this, arguments);
 };
 
 function copyTo() {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'originFilePath', type: types_.STRING},
-    {name: 'destinationFilePath', type: types_.STRING},
-    {name: 'overwrite', type: types_.BOOLEAN},
-    {name: 'onsuccess', type: types_.FUNCTION, optional: true, nullable: true},
-    {name: 'onerror', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
-
-  if (arguments.length < 3) {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-        'Invalid arguments given');
-  }
-
-  if (this.isFile) {
-    setTimeout(function() {
-      native_.callIfPossible(args.onerror,
-          new WebAPIException(WebAPIException.IO_ERR,
-          'File object which call this method is not directory'));
-    }, 0);
-    return;
-  }
-
-  // Validation against '.' and '..' directories used in path - not allowed
-  var resultSource = commonFS_.checkPathWithoutDots(args.originFilePath);
-  var resultDestination = commonFS_.checkPathWithoutDots(args.destinationFilePath);
-  if (!resultSource || !resultDestination) {
-    // path contains dots - it is not allowed - return InvalidValuesError
-    setTimeout(function() {
-      native_.callIfPossible(args.onerror,
-          new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-          'Path contains \'.\' or \'..\' - it is not allowed.'));
-    }, 0);
-    return;
-  }
-
-  var _realOriginalPath = commonFS_.toRealPath(args.originFilePath);
-  var _realDestinationPath = commonFS_.toRealPath(args.destinationFilePath);
-
-  if (!_realOriginalPath) {
-      setTimeout(function() {
-        native_.callIfPossible(args.onerror,
-            new WebAPIException(WebAPIException.NOT_FOUND_ERR,
-            'Source path is not valid'));
-      }, 0);
-      return;
-  }
-
-  if (!_realDestinationPath) {
-      setTimeout(function() {
-        native_.callIfPossible(args.onerror,
-            new WebAPIException(WebAPIException.NOT_FOUND_ERR,
-            'Destination path is not valid'));
-      }, 0);
-      return;
-  }
-
-  var resultOldPath = native_.callSync('File_statSync', {location: _realOriginalPath});
-  if (native_.isFailure(resultOldPath)) {
-    setTimeout(function() {
-      native_.callIfPossible(args.onerror, native_.getErrorObject(resultOldPath));
-    }, 0);
-    return;
-  }
-  var _oldNode = native_.getResultObject(resultOldPath);
-
-  var addFileName = false;
-  var lastChar = _realDestinationPath.substr(_realDestinationPath.length -1);
-
-  var resultNewPath = native_.callSync('File_statSync', {location: _realDestinationPath});
-  if (native_.isSuccess(resultNewPath)) {
-    var _newNode = native_.getResultObject(resultNewPath);
-    if (_newNode.isDirectory) {
-      if (lastChar !== '/') {
-        _realDestinationPath += '/';
-      }
-      addFileName = true;
-    }
-  } else {
-    var destinationFileName, destinationDirectoryPath;
-    if (lastChar !== '/') {
-      destinationFileName = _realDestinationPath.split('/').pop();
-    }
-    destinationDirectoryPath = _realDestinationPath.substr(0, _realDestinationPath.lastIndexOf('/') + 1);
-
-    var resultDestinationDirectory = native_.callSync('File_statSync', {location: destinationDirectoryPath});
-    if (native_.isFailure(resultDestinationDirectory)) {
-      setTimeout(function() {
-        native_.callIfPossible(args.onerror, native_.getErrorObject(resultDestinationDirectory));
-      }, 0);
-      return;
-    }
-
-    if (destinationFileName.length == 0) {
-      addFileName = true;
-    }
-  }
-
-  if (_oldNode.isFile && addFileName) {
-    _realDestinationPath += _realOriginalPath.split('/').pop();
-  }
-
-  if (!args.overwrite) {
-    var resultPath = native_.callSync('File_statSync', {location: _realDestinationPath});
-    if (native_.isSuccess(resultPath)) {
-      setTimeout(function() {
-        native_.callIfPossible(args.onerror,
-            new WebAPIException(WebAPIException.IO_ERR, 'Overwrite is not allowed'));
-      }, 0);
-      return;
-    }
-  }
-
-  if (!commonFS_.f_isSubDir(_realOriginalPath, this.fullPath)) {
-    var m1 = 'Source file should be subdirectory of: ' + this.fullPath;
-    setTimeout(function() {
-      native_.callIfPossible(args.onerror,
-          new WebAPIException(WebAPIException.INVALID_VALUES_ERR, m1));
-    }, 0);
-    return;
-  }
+    var args = validator_.validateArgs(arguments, [
+        { name: 'originFilePath', type: types_.STRING },
+        { name: 'destinationFilePath', type: types_.STRING },
+        { name: 'overwrite', type: types_.BOOLEAN },
+        { name: 'onsuccess', type: types_.FUNCTION, optional: true, nullable: true },
+        { name: 'onerror', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    if (arguments.length < 3) {
+        throw new WebAPIException(
+            WebAPIException.TYPE_MISMATCH_ERR,
+            'Invalid arguments given'
+        );
+    }
 
-  if (!commonFS_.isLocationAllowed(_realDestinationPath)) {
-    var m2 = 'Destination is read only folder: ' + this.fullPath;
-    setTimeout(function() {
-      native_.callIfPossible(args.onerror,
-          new WebAPIException(WebAPIException.INVALID_VALUES_ERR, m2));
-    }, 0);
-    return;
-  }
+    if (this.isFile) {
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(
+                    WebAPIException.IO_ERR,
+                    'File object which call this method is not directory'
+                )
+            );
+        }, 0);
+        return;
+    }
 
-  var data = {
-    originFilePath: _realOriginalPath,
-    destinationFilePath: _realDestinationPath,
-    overwrite: args.overwrite
-  };
+    // Validation against '.' and '..' directories used in path - not allowed
+    var resultSource = commonFS_.checkPathWithoutDots(args.originFilePath);
+    var resultDestination = commonFS_.checkPathWithoutDots(args.destinationFilePath);
+    if (!resultSource || !resultDestination) {
+        // path contains dots - it is not allowed - return InvalidValuesError
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(
+                    WebAPIException.INVALID_VALUES_ERR,
+                    'Path contains \'.\' or \'..\' - it is not allowed.'
+                )
+            );
+        }, 0);
+        return;
+    }
 
-  var callback = function(result) {
-    if (native_.isFailure(result)) {
-      native_.callIfPossible(args.onerror,
-          new WebAPIException(WebAPIException.IO_ERR, result));
-      return;
+    var _realOriginalPath = commonFS_.toRealPath(args.originFilePath);
+    var _realDestinationPath = commonFS_.toRealPath(args.destinationFilePath);
+
+    if (!_realOriginalPath) {
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(
+                    WebAPIException.NOT_FOUND_ERR,
+                    'Source path is not valid'
+                )
+            );
+        }, 0);
+        return;
     }
-    native_.callIfPossible(args.onsuccess);
-  };
 
-  native_.call('File_copyTo', data, callback);
-};
+    if (!_realDestinationPath) {
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(
+                    WebAPIException.NOT_FOUND_ERR,
+                    'Destination path is not valid'
+                )
+            );
+        }, 0);
+        return;
+    }
+
+    var resultOldPath = native_.callSync('File_statSync', {
+        location: _realOriginalPath
+    });
+    if (native_.isFailure(resultOldPath)) {
+        setTimeout(function() {
+            native_.callIfPossible(args.onerror, native_.getErrorObject(resultOldPath));
+        }, 0);
+        return;
+    }
+    var _oldNode = native_.getResultObject(resultOldPath);
+
+    var addFileName = false;
+    var lastChar = _realDestinationPath.substr(_realDestinationPath.length - 1);
+
+    var resultNewPath = native_.callSync('File_statSync', {
+        location: _realDestinationPath
+    });
+    if (native_.isSuccess(resultNewPath)) {
+        var _newNode = native_.getResultObject(resultNewPath);
+        if (_newNode.isDirectory) {
+            if (lastChar !== '/') {
+                _realDestinationPath += '/';
+            }
+            addFileName = true;
+        }
+    } else {
+        var destinationFileName, destinationDirectoryPath;
+        if (lastChar !== '/') {
+            destinationFileName = _realDestinationPath.split('/').pop();
+        }
+        destinationDirectoryPath = _realDestinationPath.substr(
+            0,
+            _realDestinationPath.lastIndexOf('/') + 1
+        );
+
+        var resultDestinationDirectory = native_.callSync('File_statSync', {
+            location: destinationDirectoryPath
+        });
+        if (native_.isFailure(resultDestinationDirectory)) {
+            setTimeout(function() {
+                native_.callIfPossible(
+                    args.onerror,
+                    native_.getErrorObject(resultDestinationDirectory)
+                );
+            }, 0);
+            return;
+        }
+
+        if (destinationFileName.length == 0) {
+            addFileName = true;
+        }
+    }
+
+    if (_oldNode.isFile && addFileName) {
+        _realDestinationPath += _realOriginalPath.split('/').pop();
+    }
+
+    if (!args.overwrite) {
+        var resultPath = native_.callSync('File_statSync', {
+            location: _realDestinationPath
+        });
+        if (native_.isSuccess(resultPath)) {
+            setTimeout(function() {
+                native_.callIfPossible(
+                    args.onerror,
+                    new WebAPIException(
+                        WebAPIException.IO_ERR,
+                        'Overwrite is not allowed'
+                    )
+                );
+            }, 0);
+            return;
+        }
+    }
+
+    if (!commonFS_.f_isSubDir(_realOriginalPath, this.fullPath)) {
+        var m1 = 'Source file should be subdirectory of: ' + this.fullPath;
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(WebAPIException.INVALID_VALUES_ERR, m1)
+            );
+        }, 0);
+        return;
+    }
+
+    if (!commonFS_.isLocationAllowed(_realDestinationPath)) {
+        var m2 = 'Destination is read only folder: ' + this.fullPath;
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(WebAPIException.INVALID_VALUES_ERR, m2)
+            );
+        }, 0);
+        return;
+    }
+
+    var data = {
+        originFilePath: _realOriginalPath,
+        destinationFilePath: _realDestinationPath,
+        overwrite: args.overwrite
+    };
+
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(WebAPIException.IO_ERR, result)
+            );
+            return;
+        }
+        native_.callIfPossible(args.onsuccess);
+    };
+
+    native_.call('File_copyTo', data, callback);
+}
 
 File.prototype.copyTo = function() {
-  copyTo.apply(this, arguments);
+    copyTo.apply(this, arguments);
 };
 
 function moveTo() {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'originFilePath', type: types_.STRING},
-    {name: 'destinationFilePath', type: types_.STRING},
-    {name: 'overwrite', type: types_.BOOLEAN},
-    {name: 'onsuccess', type: types_.FUNCTION, optional: true, nullable: true},
-    {name: 'onerror', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
-
-  if (arguments.length < 3) {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-        'Arguments missing');
-  }
-  if (this.isFile) {
-    setTimeout(function() {
-      native_.callIfPossible(args.onerror,
-          new WebAPIException(WebAPIException.IO_ERR,
-          'File object which call this method is not directory'));
-    }, 0);
-    return;
-  }
-
-  // Validation against '.' and '..' directories used in path - not allowed
-  var resultSource = commonFS_.checkPathWithoutDots(args.originFilePath);
-  var resultDestination = commonFS_.checkPathWithoutDots(args.destinationFilePath);
-  if (!resultSource || !resultDestination) {
-    // path contains dots - it is not allowed - return InvalidValuesError
-    setTimeout(function() {
-      native_.callIfPossible(args.onerror,
-          new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-          'Path contains \'.\' or \'..\' - it is not allowed.'));
-    }, 0);
-    return;
-  }
-
-  var _realOriginalPath = commonFS_.toRealPath(args.originFilePath);
-  var _realDestinationPath = commonFS_.toRealPath(args.destinationFilePath);
-
-  if (!_realOriginalPath) {
-      setTimeout(function() {
-        native_.callIfPossible(args.onerror,
-            new WebAPIException(WebAPIException.NOT_FOUND_ERR,
-            'Source path is not valid'));
-      }, 0);
-      return;
-  }
-
-  if (!_realDestinationPath) {
-      setTimeout(function() {
-        native_.callIfPossible(args.onerror,
-            new WebAPIException(WebAPIException.NOT_FOUND_ERR,
-            'Destination path is not valid'));
-      }, 0);
-      return;
-  }
-
-  var resultOldPath = native_.callSync('File_statSync', {location: _realOriginalPath});
-  if (native_.isFailure(resultOldPath)) {
-    setTimeout(function() {
-      native_.callIfPossible(args.onerror,
-          new WebAPIException(WebAPIException.NOT_FOUND_ERR,
-          'Source file is not avalaible'));
-    }, 0);
-    return;
-  }
+    var args = validator_.validateArgs(arguments, [
+        { name: 'originFilePath', type: types_.STRING },
+        { name: 'destinationFilePath', type: types_.STRING },
+        { name: 'overwrite', type: types_.BOOLEAN },
+        { name: 'onsuccess', type: types_.FUNCTION, optional: true, nullable: true },
+        { name: 'onerror', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    if (arguments.length < 3) {
+        throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR, 'Arguments missing');
+    }
+    if (this.isFile) {
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(
+                    WebAPIException.IO_ERR,
+                    'File object which call this method is not directory'
+                )
+            );
+        }, 0);
+        return;
+    }
 
-  if (!args.overwrite) {
-    var resultNewPath = native_.callSync('File_statSync', {location: _realDestinationPath});
-    if (native_.isSuccess(resultNewPath)) {
-      setTimeout(function() {
-        native_.callIfPossible(args.onerror,
-            new WebAPIException(WebAPIException.IO_ERR, 'Overwrite is not allowed'));
-      }, 0);
-      return;
+    // Validation against '.' and '..' directories used in path - not allowed
+    var resultSource = commonFS_.checkPathWithoutDots(args.originFilePath);
+    var resultDestination = commonFS_.checkPathWithoutDots(args.destinationFilePath);
+    if (!resultSource || !resultDestination) {
+        // path contains dots - it is not allowed - return InvalidValuesError
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(
+                    WebAPIException.INVALID_VALUES_ERR,
+                    'Path contains \'.\' or \'..\' - it is not allowed.'
+                )
+            );
+        }, 0);
+        return;
     }
-  }
 
-  if (!commonFS_.f_isSubDir(_realOriginalPath, this.fullPath)) {
-    var m1 = 'Source file should be subdirectory of: ' + this.fullPath;
-    setTimeout(function() {
-      native_.callIfPossible(args.onerror,
-          new WebAPIException(WebAPIException.INVALID_VALUES_ERR, m1));
-    }, 0);
-    return;
-  }
+    var _realOriginalPath = commonFS_.toRealPath(args.originFilePath);
+    var _realDestinationPath = commonFS_.toRealPath(args.destinationFilePath);
+
+    if (!_realOriginalPath) {
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(
+                    WebAPIException.NOT_FOUND_ERR,
+                    'Source path is not valid'
+                )
+            );
+        }, 0);
+        return;
+    }
 
-  if (this.mode === 'r' || !commonFS_.isLocationAllowed(_realDestinationPath)) {
-    var m2 = 'Source/Destination is read only folder: ' + this.fullPath;
-    setTimeout(function() {
-      native_.callIfPossible(args.onerror,
-          new WebAPIException(WebAPIException.INVALID_VALUES_ERR, m2));
-    }, 0);
-    return;
-  }
+    if (!_realDestinationPath) {
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(
+                    WebAPIException.NOT_FOUND_ERR,
+                    'Destination path is not valid'
+                )
+            );
+        }, 0);
+        return;
+    }
 
-  var data = {
-    oldPath: _realOriginalPath,
-    newPath: _realDestinationPath
-  };
+    var resultOldPath = native_.callSync('File_statSync', {
+        location: _realOriginalPath
+    });
+    if (native_.isFailure(resultOldPath)) {
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(
+                    WebAPIException.NOT_FOUND_ERR,
+                    'Source file is not avalaible'
+                )
+            );
+        }, 0);
+        return;
+    }
 
-  var callback = function(result) {
-    if (native_.isFailure(result)) {
-      native_.callIfPossible(args.onerror, new WebAPIException(WebAPIException.IO_ERR,
-          result));
-      return;
+    if (!args.overwrite) {
+        var resultNewPath = native_.callSync('File_statSync', {
+            location: _realDestinationPath
+        });
+        if (native_.isSuccess(resultNewPath)) {
+            setTimeout(function() {
+                native_.callIfPossible(
+                    args.onerror,
+                    new WebAPIException(
+                        WebAPIException.IO_ERR,
+                        'Overwrite is not allowed'
+                    )
+                );
+            }, 0);
+            return;
+        }
     }
-    native_.callIfPossible(args.onsuccess);
-  };
 
-  native_.call('File_rename', data, callback);
-};
+    if (!commonFS_.f_isSubDir(_realOriginalPath, this.fullPath)) {
+        var m1 = 'Source file should be subdirectory of: ' + this.fullPath;
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(WebAPIException.INVALID_VALUES_ERR, m1)
+            );
+        }, 0);
+        return;
+    }
+
+    if (this.mode === 'r' || !commonFS_.isLocationAllowed(_realDestinationPath)) {
+        var m2 = 'Source/Destination is read only folder: ' + this.fullPath;
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(WebAPIException.INVALID_VALUES_ERR, m2)
+            );
+        }, 0);
+        return;
+    }
+
+    var data = {
+        oldPath: _realOriginalPath,
+        newPath: _realDestinationPath
+    };
+
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(WebAPIException.IO_ERR, result)
+            );
+            return;
+        }
+        native_.callIfPossible(args.onsuccess);
+    };
+
+    native_.call('File_rename', data, callback);
+}
 
 File.prototype.moveTo = function() {
-  moveTo.apply(this, arguments);
+    moveTo.apply(this, arguments);
 };
 
 function createDirectory() {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'dirPath', type: types_.STRING}
-  ]);
-
-  if (!arguments.length) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-        'Invalid path');
-  }
-  if (!args.dirPath.length) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-        'Invalid path');
-  }
-
-  var _newPath = this.fullPath + '/' + args.dirPath,
-          _statObj,
-          _fileInfo;
-
-  // Validation against '.' and '..' directories used in path - not allowed
-  var result = commonFS_.checkPathWithoutDots(_newPath);
-  if (!result) {
-    // path contains dots - it is not allowed - return InvalidValuesError
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-          'Path contains \'.\' or \'..\' - it is not allowed.');
-  }
-
-  var _realNewPath = commonFS_.toRealPath(_newPath);
-
-  if (!_realNewPath) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR, 'Path is not valid');
-  }
-
-  if (this.isDirectory) {
-    if (this.mode === 'r') {
-      throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-          'Invalid path or readonly access');
+    var args = validator_.validateArgs(arguments, [
+        { name: 'dirPath', type: types_.STRING }
+    ]);
+
+    if (!arguments.length) {
+        throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR, 'Invalid path');
+    }
+    if (!args.dirPath.length) {
+        throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR, 'Invalid path');
     }
 
-    var _resultExist = native_.callSync('File_statSync', {location: _realNewPath});
-    if (native_.isSuccess(_resultExist)) {
-      throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-          'Directory already exist');
+    var _newPath = this.fullPath + '/' + args.dirPath,
+        _statObj,
+        _fileInfo;
+
+    // Validation against '.' and '..' directories used in path - not allowed
+    var result = commonFS_.checkPathWithoutDots(_newPath);
+    if (!result) {
+        // path contains dots - it is not allowed - return InvalidValuesError
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'Path contains \'.\' or \'..\' - it is not allowed.'
+        );
     }
 
-    var result = native_.callSync('FileSystemManager_mkdirSync', {location: _realNewPath});
-    if (native_.isFailure(result)) {
-      throw new WebAPIException(WebAPIException.IO_ERR, native_.getErrorObject(result));
+    var _realNewPath = commonFS_.toRealPath(_newPath);
+
+    if (!_realNewPath) {
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'Path is not valid'
+        );
     }
 
-    var _result = native_.callSync('File_statSync', {location: _realNewPath});
-    _statObj = native_.getResultObject(_result);
+    if (this.isDirectory) {
+        if (this.mode === 'r') {
+            throw new WebAPIException(
+                WebAPIException.INVALID_VALUES_ERR,
+                'Invalid path or readonly access'
+            );
+        }
 
-    _fileInfo = commonFS_.getFileInfo(_statObj, false, this.mode);
-    return new File(_fileInfo);
-  } else {
-    throw new WebAPIException(WebAPIException.IO_ERR,
-        'File object which call this method is not directory');
-  }
-};
+        var _resultExist = native_.callSync('File_statSync', { location: _realNewPath });
+        if (native_.isSuccess(_resultExist)) {
+            throw new WebAPIException(
+                WebAPIException.INVALID_VALUES_ERR,
+                'Directory already exist'
+            );
+        }
 
-File.prototype.createDirectory = function() {
-  return createDirectory.apply(this, arguments);
+        var result = native_.callSync('FileSystemManager_mkdirSync', {
+            location: _realNewPath
+        });
+        if (native_.isFailure(result)) {
+            throw new WebAPIException(
+                WebAPIException.IO_ERR,
+                native_.getErrorObject(result)
+            );
+        }
+
+        var _result = native_.callSync('File_statSync', { location: _realNewPath });
+        _statObj = native_.getResultObject(_result);
+
+        _fileInfo = commonFS_.getFileInfo(_statObj, false, this.mode);
+        return new File(_fileInfo);
+    } else {
+        throw new WebAPIException(
+            WebAPIException.IO_ERR,
+            'File object which call this method is not directory'
+        );
+    }
 }
 
-function createFile() {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'relativeFilePath', type: types_.STRING}
-  ]);
-
-  if (!arguments.length) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-        'Argument "relativeFilePath" missing');
-  }
-  if (this.isFile) {
-    throw new WebAPIException(WebAPIException.IO_ERR,
-        'File object which call this method is not directory');
-  }
-
-  if (!commonFS_.f_isCorrectRelativePath(args.relativeFilePath) || this.mode === 'r') {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-        'Invalid path or readonly acces');
-  }
-
-  var _outputPath = this.fullPath + '/' + args.relativeFilePath;
-
-  // Validation against '.' and '..' directories used in path - not allowed
-  var result = commonFS_.checkPathWithoutDots(_outputPath);
-  if (!result) {
-    // path contains dots - it is not allowed - return InvalidValuesError
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-          'Path contains \'.\' or \'..\' - it is not allowed.');
-  }
-
-  var _outputRealPath = commonFS_.toRealPath(_outputPath);
-  if (!_outputRealPath) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR, 'Path is not valid');
-  }
-
-  var _resultExist = native_.callSync('File_statSync', {location: _outputRealPath});
-
-  if (native_.isSuccess(_resultExist)) {
-    throw new WebAPIException(WebAPIException.IO_ERR, 'Overwrite is not allowed');
-  }
-
-  var result = native_.callSync('File_createSync', {location: _outputRealPath});
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-
-  var _result = native_.callSync('File_statSync', {location: _outputRealPath});
-  var _statObj = native_.getResultObject(_result);
-  var _fileInfo = commonFS_.getFileInfo(_statObj, false, this.mode);
-
-  return new File(_fileInfo);
+File.prototype.createDirectory = function() {
+    return createDirectory.apply(this, arguments);
 };
 
+function createFile() {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'relativeFilePath', type: types_.STRING }
+    ]);
+
+    if (!arguments.length) {
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'Argument "relativeFilePath" missing'
+        );
+    }
+    if (this.isFile) {
+        throw new WebAPIException(
+            WebAPIException.IO_ERR,
+            'File object which call this method is not directory'
+        );
+    }
+
+    if (!commonFS_.f_isCorrectRelativePath(args.relativeFilePath) || this.mode === 'r') {
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'Invalid path or readonly acces'
+        );
+    }
+
+    var _outputPath = this.fullPath + '/' + args.relativeFilePath;
+
+    // Validation against '.' and '..' directories used in path - not allowed
+    var result = commonFS_.checkPathWithoutDots(_outputPath);
+    if (!result) {
+        // path contains dots - it is not allowed - return InvalidValuesError
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'Path contains \'.\' or \'..\' - it is not allowed.'
+        );
+    }
+
+    var _outputRealPath = commonFS_.toRealPath(_outputPath);
+    if (!_outputRealPath) {
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'Path is not valid'
+        );
+    }
+
+    var _resultExist = native_.callSync('File_statSync', { location: _outputRealPath });
+
+    if (native_.isSuccess(_resultExist)) {
+        throw new WebAPIException(WebAPIException.IO_ERR, 'Overwrite is not allowed');
+    }
+
+    var result = native_.callSync('File_createSync', { location: _outputRealPath });
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+
+    var _result = native_.callSync('File_statSync', { location: _outputRealPath });
+    var _statObj = native_.getResultObject(_result);
+    var _fileInfo = commonFS_.getFileInfo(_statObj, false, this.mode);
+
+    return new File(_fileInfo);
+}
+
 File.prototype.createFile = function() {
-  return createFile.apply(this, arguments);
+    return createFile.apply(this, arguments);
 };
 
 function resolveFile() {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'filePath', type: types_.STRING}
-  ]);
-
-  if (!arguments.length) {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-        'Argument "filePath" missing');
-  }
-  if (this.isFile) {
-    throw new WebAPIException(WebAPIException.IO_ERR,
-        'File object which call this method is not directory');
-  }
-
-  if (!commonFS_.f_isCorrectRelativePath(args.filePath)) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR, 'Invalid path');
-  }
-
-  var _newPath = this.fullPath + '/' + args.filePath;
-
-  // Validation against '.' and '..' directories used in path - not allowed
-  var result = commonFS_.checkPathWithoutDots(_newPath);
-  if (!result) {
-    // path contains dots - it is not allowed - return InvalidValuesError
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-          'Path contains \'.\' or \'..\' - it is not allowed.');
-  }
-
-  var _realPath = commonFS_.toRealPath(_newPath);
-
-  if (!_realPath) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR, 'Path is not valid');
-  }
-
-  var _result = native_.callSync('File_statSync', {location: _realPath});
-  if (native_.isFailure(_result)) {
-    throw new WebAPIException(WebAPIException.NOT_FOUND_ERR, native_.getErrorObject(_result));
-  }
-  var _statObj = native_.getResultObject(_result);
-  var _fileInfo = commonFS_.getFileInfo(_statObj, false, this.mode);
-
-  return new File(_fileInfo);
-};
+    var args = validator_.validateArgs(arguments, [
+        { name: 'filePath', type: types_.STRING }
+    ]);
+
+    if (!arguments.length) {
+        throw new WebAPIException(
+            WebAPIException.TYPE_MISMATCH_ERR,
+            'Argument "filePath" missing'
+        );
+    }
+    if (this.isFile) {
+        throw new WebAPIException(
+            WebAPIException.IO_ERR,
+            'File object which call this method is not directory'
+        );
+    }
 
-File.prototype.resolve = function() {
-  return resolveFile.apply(this, arguments);
-};
+    if (!commonFS_.f_isCorrectRelativePath(args.filePath)) {
+        throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR, 'Invalid path');
+    }
 
-function deleteDirectory() {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'directoryPath', type: types_.STRING},
-    {name: 'recursive', type: types_.BOOLEAN},
-    {name: 'onsuccess', type: types_.FUNCTION, optional: true, nullable: true},
-    {name: 'onerror', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
-
-  if (arguments.length < 2) {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-        'Arguments missing');
-  }
-  if (this.mode === 'r') {
-    setTimeout(function() {
-      native_.callIfPossible(args.onerror,
-          new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-              'Invalid path or readonly access'));
-    }, 0);
-    return;
-  }
+    var _newPath = this.fullPath + '/' + args.filePath;
 
-  // Validation against '.' and '..' directories used in path - not allowed
-  var result = commonFS_.checkPathWithoutDots(args.directoryPath);
-  if (!result) {
-    // path contains dots - it is not allowed - return InvalidValuesError
-    setTimeout(function() {
-      native_.callIfPossible(args.onerror,
-          new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-          'Path contains \'.\' or \'..\' - it is not allowed.'));
-    }, 0);
-    return;
-  }
+    // Validation against '.' and '..' directories used in path - not allowed
+    var result = commonFS_.checkPathWithoutDots(_newPath);
+    if (!result) {
+        // path contains dots - it is not allowed - return InvalidValuesError
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'Path contains \'.\' or \'..\' - it is not allowed.'
+        );
+    }
 
-  var _myPath = commonFS_.toRealPath(args.directoryPath);
+    var _realPath = commonFS_.toRealPath(_newPath);
 
-  if (_myPath !== undefined && !commonFS_.f_isSubDir(_myPath, this.fullPath)) {
-    var m1 = 'Deleted directory should be under the current directory: ' + this.fullPath;
-    setTimeout(function() {
-      native_.callIfPossible(args.onerror,
-          new WebAPIException(WebAPIException.INVALID_VALUES_ERR, m1));
-    }, 0);
-    return;
-  }
+    if (!_realPath) {
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'Path is not valid'
+        );
+    }
 
-  var _result = native_.callSync('File_statSync', {location: _myPath});
-  if (native_.isFailure(_result)) {
-    setTimeout(function() {
-      native_.callIfPossible(args.onerror,
-          new WebAPIException(WebAPIException.NOT_FOUND_ERR, 'Directory not found'));
-    }, 0);
-    return;
-  }
-  var _statObj = native_.getResultObject(_result);
-  var _info = commonFS_.getFileInfo(_statObj);
-  var _node = new File(_info);
+    var _result = native_.callSync('File_statSync', { location: _realPath });
+    if (native_.isFailure(_result)) {
+        throw new WebAPIException(
+            WebAPIException.NOT_FOUND_ERR,
+            native_.getErrorObject(_result)
+        );
+    }
+    var _statObj = native_.getResultObject(_result);
+    var _fileInfo = commonFS_.getFileInfo(_statObj, false, this.mode);
 
-  if (!_node.isDirectory) {
-    setTimeout(function() {
-      native_.callIfPossible(args.onerror,
-          new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-          'It is file not directory'));
-    }, 0);
-    return;
-  } else {
-    _node.listFiles(
-        function(files) {
-          if (files.length > 0) {
-            if (!args.recursive) {
-              native_.callIfPossible(args.onerror,
-                  new WebAPIException(WebAPIException.IO_ERR,
-                  'Non empty folder ' + _myPath + ' passed for non recursive delete'));
-              return;
-            }
-          }
-          var data = {
-            pathToDelete: _myPath
-          };
-
-          var callback = function(result) {
-            if (native_.isFailure(result)) {
-              native_.callIfPossible(args.onerror, native_.getErrorObject(result));
-            }
-            native_.callIfPossible(args.onsuccess);
-          };
+    return new File(_fileInfo);
+}
 
-          native_.call('File_removeDirectory', data, callback);
-        },
-        function() {
-          native_.callIfPossible(args.onerror,
-              new WebAPIException(WebAPIException.IO_ERR,
-              'List files failed for ' + _myPath));
-        }
-    );
-  }
+File.prototype.resolve = function() {
+    return resolveFile.apply(this, arguments);
 };
 
-File.prototype.deleteDirectory = function() {
-  deleteDirectory.apply(this, arguments);
-};
+function deleteDirectory() {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'directoryPath', type: types_.STRING },
+        { name: 'recursive', type: types_.BOOLEAN },
+        { name: 'onsuccess', type: types_.FUNCTION, optional: true, nullable: true },
+        { name: 'onerror', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    if (arguments.length < 2) {
+        throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR, 'Arguments missing');
+    }
+    if (this.mode === 'r') {
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(
+                    WebAPIException.INVALID_VALUES_ERR,
+                    'Invalid path or readonly access'
+                )
+            );
+        }, 0);
+        return;
+    }
 
-function deleteFile() {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'filePath', type: types_.STRING},
-    {name: 'onsuccess', type: types_.FUNCTION, optional: true, nullable: true},
-    {name: 'onerror', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
-
-  if (!arguments.length) {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-        'Argument "filePath" missing');
-  }
-  if (this.isFile) {
-    setTimeout(function() {
-      native_.callIfPossible(args.onerror,
-          new WebAPIException(WebAPIException.IO_ERR,
-          'File object which call this method is not directory'));
-    }, 0);
-    return;
-  }
+    // Validation against '.' and '..' directories used in path - not allowed
+    var result = commonFS_.checkPathWithoutDots(args.directoryPath);
+    if (!result) {
+        // path contains dots - it is not allowed - return InvalidValuesError
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(
+                    WebAPIException.INVALID_VALUES_ERR,
+                    'Path contains \'.\' or \'..\' - it is not allowed.'
+                )
+            );
+        }, 0);
+        return;
+    }
 
-  // Validation against '.' and '..' directories used in path - not allowed
-  var result = commonFS_.checkPathWithoutDots(args.filePath);
-  if (!result) {
-    // path contains dots - it is not allowed - return InvalidValuesError
-    setTimeout(function() {
-      native_.callIfPossible(args.onerror,
-          new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-          'Path contains \'.\' or \'..\' - it is not allowed.'));
-    }, 0);
-    return;
-  }
+    var _myPath = commonFS_.toRealPath(args.directoryPath);
+
+    if (_myPath !== undefined && !commonFS_.f_isSubDir(_myPath, this.fullPath)) {
+        var m1 =
+            'Deleted directory should be under the current directory: ' + this.fullPath;
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(WebAPIException.INVALID_VALUES_ERR, m1)
+            );
+        }, 0);
+        return;
+    }
 
-  var _fileRealPath = commonFS_.toRealPath(args.filePath);
+    var _result = native_.callSync('File_statSync', { location: _myPath });
+    if (native_.isFailure(_result)) {
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(WebAPIException.NOT_FOUND_ERR, 'Directory not found')
+            );
+        }, 0);
+        return;
+    }
+    var _statObj = native_.getResultObject(_result);
+    var _info = commonFS_.getFileInfo(_statObj);
+    var _node = new File(_info);
+
+    if (!_node.isDirectory) {
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(
+                    WebAPIException.INVALID_VALUES_ERR,
+                    'It is file not directory'
+                )
+            );
+        }, 0);
+        return;
+    } else {
+        _node.listFiles(
+            function(files) {
+                if (files.length > 0) {
+                    if (!args.recursive) {
+                        native_.callIfPossible(
+                            args.onerror,
+                            new WebAPIException(
+                                WebAPIException.IO_ERR,
+                                'Non empty folder ' +
+                                    _myPath +
+                                    ' passed for non recursive delete'
+                            )
+                        );
+                        return;
+                    }
+                }
+                var data = {
+                    pathToDelete: _myPath
+                };
+
+                var callback = function(result) {
+                    if (native_.isFailure(result)) {
+                        native_.callIfPossible(
+                            args.onerror,
+                            native_.getErrorObject(result)
+                        );
+                    }
+                    native_.callIfPossible(args.onsuccess);
+                };
+
+                native_.call('File_removeDirectory', data, callback);
+            },
+            function() {
+                native_.callIfPossible(
+                    args.onerror,
+                    new WebAPIException(
+                        WebAPIException.IO_ERR,
+                        'List files failed for ' + _myPath
+                    )
+                );
+            }
+        );
+    }
+}
 
-  var _result = native_.callSync('File_statSync', {location: _fileRealPath});
-  if (native_.isFailure(_result)) {
-    setTimeout(function() {
-      native_.callIfPossible(args.onerror,
-          new WebAPIException(WebAPIException.NOT_FOUND_ERR, 'File is not avalaible'));
-    }, 0);
-    return;
-  }
-  var _statObj = native_.getResultObject(_result);
+File.prototype.deleteDirectory = function() {
+    deleteDirectory.apply(this, arguments);
+};
 
-  if (_statObj.isDirectory) {
-    var message = 'Requested object is a directory.';
-    setTimeout(function() {
-      native_.callIfPossible(args.onerror,
-          new WebAPIException(WebAPIException.INVALID_VALUES_ERR, message));
-    }, 0);
-    return;
-  }
+function deleteFile() {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'filePath', type: types_.STRING },
+        { name: 'onsuccess', type: types_.FUNCTION, optional: true, nullable: true },
+        { name: 'onerror', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    if (!arguments.length) {
+        throw new WebAPIException(
+            WebAPIException.TYPE_MISMATCH_ERR,
+            'Argument "filePath" missing'
+        );
+    }
+    if (this.isFile) {
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(
+                    WebAPIException.IO_ERR,
+                    'File object which call this method is not directory'
+                )
+            );
+        }, 0);
+        return;
+    }
 
-  if (!commonFS_.f_isSubDir(_fileRealPath, this.fullPath) || this.mode === 'r') {
-    var _message = 'Deleted file [' + args.filePath + '] should have write access ' +
-            'and should be subdirectory of: [' + this.fullPath + ']';
-    setTimeout(function() {
-      native_.callIfPossible(args.onerror,
-          new WebAPIException(WebAPIException.INVALID_VALUES_ERR, _message));
-    }, 0);
-    return;
-  }
+    // Validation against '.' and '..' directories used in path - not allowed
+    var result = commonFS_.checkPathWithoutDots(args.filePath);
+    if (!result) {
+        // path contains dots - it is not allowed - return InvalidValuesError
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(
+                    WebAPIException.INVALID_VALUES_ERR,
+                    'Path contains \'.\' or \'..\' - it is not allowed.'
+                )
+            );
+        }, 0);
+        return;
+    }
 
-  var data = {
-    pathToFile: _fileRealPath
-  };
+    var _fileRealPath = commonFS_.toRealPath(args.filePath);
+
+    var _result = native_.callSync('File_statSync', { location: _fileRealPath });
+    if (native_.isFailure(_result)) {
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(
+                    WebAPIException.NOT_FOUND_ERR,
+                    'File is not avalaible'
+                )
+            );
+        }, 0);
+        return;
+    }
+    var _statObj = native_.getResultObject(_result);
+
+    if (_statObj.isDirectory) {
+        var message = 'Requested object is a directory.';
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(WebAPIException.INVALID_VALUES_ERR, message)
+            );
+        }, 0);
+        return;
+    }
 
-  var callback = function(result) {
-    if (native_.isFailure(result)) {
-      native_.callIfPossible(args.onerror, native_.getErrorObject(result));
-      return;
+    if (!commonFS_.f_isSubDir(_fileRealPath, this.fullPath) || this.mode === 'r') {
+        var _message =
+            'Deleted file [' +
+            args.filePath +
+            '] should have write access ' +
+            'and should be subdirectory of: [' +
+            this.fullPath +
+            ']';
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(WebAPIException.INVALID_VALUES_ERR, _message)
+            );
+        }, 0);
+        return;
     }
-    native_.callIfPossible(args.onsuccess);
-  };
 
-  native_.call('File_unlinkFile', data, callback);
-};
+    var data = {
+        pathToFile: _fileRealPath
+    };
+
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.onerror, native_.getErrorObject(result));
+            return;
+        }
+        native_.callIfPossible(args.onsuccess);
+    };
+
+    native_.call('File_unlinkFile', data, callback);
+}
 
 File.prototype.deleteFile = function() {
-  deleteFile.apply(this, arguments);
+    deleteFile.apply(this, arguments);
 };
index bc3e9a60ac42b301cc7be48fd06278e63922469f..a81ead30b044a994ac0d89a4d67e73ee14d5796f 100644 (file)
 var can_change_size = false;
 
 function FileStream(data, mode, encoding) {
-  var _totalBytes = data.fileSize || 0;
-  var _position = mode === 'a' ? _totalBytes : 0;
-
-  Object.defineProperties(this, {
-    eof: {
-      get: function() {
-        return _totalBytes < _position;
-      },
-      set: function(v) {
-      },
-      enumerable: true
-    },
-    position: {
-      get: function() {
-        return _position;
-      },
-      set: function(v) {
-        _position = Math.max(0, v);
-        if (can_change_size) {
-          _totalBytes = Math.max(_position, _totalBytes);
+    var _totalBytes = data.fileSize || 0;
+    var _position = mode === 'a' ? _totalBytes : 0;
+
+    Object.defineProperties(this, {
+        eof: {
+            get: function() {
+                return _totalBytes < _position;
+            },
+            set: function(v) {},
+            enumerable: true
+        },
+        position: {
+            get: function() {
+                return _position;
+            },
+            set: function(v) {
+                _position = Math.max(0, v);
+                if (can_change_size) {
+                    _totalBytes = Math.max(_position, _totalBytes);
+                }
+            },
+            enumerable: true
+        },
+        bytesAvailable: {
+            get: function() {
+                return this.eof ? -1 : Math.max(0, _totalBytes - _position);
+            },
+            set: function(v) {},
+            enumerable: true
+        },
+        _mode: {
+            value: mode,
+            writable: false,
+            enumerable: false
+        },
+        _encoding: {
+            value: encoding,
+            writable: false,
+            enumerable: false
+        },
+        _file: {
+            value: data,
+            writable: false,
+            enumerable: false
+        },
+        _closed: {
+            value: false,
+            writable: true,
+            enumerable: false
+        },
+        _rewrite: {
+            value: mode === 'w' ? true : false,
+            writable: true,
+            enumerable: false
         }
-      },
-      enumerable: true
-    },
-    bytesAvailable: {
-      get: function() {
-        return this.eof ? -1 : Math.max(0, _totalBytes - _position);
-      },
-      set: function(v) {
-      },
-      enumerable: true
-    },
-    _mode: {
-      value: mode,
-      writable: false,
-      enumerable: false
-    },
-    _encoding: {
-      value: encoding,
-      writable: false,
-      enumerable: false
-    },
-    _file: {
-      value: data,
-      writable: false,
-      enumerable: false
-    },
-    _closed: {
-      value: false,
-      writable: true,
-      enumerable: false
-    },
-    _rewrite: {
-      value: mode === 'w' ? true : false,
-      writable: true,
-      enumerable: false
-    }
-  });
+    });
 }
 
 function _checkClosed(stream) {
-  if (stream._closed) {
-    throw new WebAPIException(WebAPIException.IO_ERR, 'Stream is closed.');
-  }
+    if (stream._closed) {
+        throw new WebAPIException(WebAPIException.IO_ERR, 'Stream is closed.');
+    }
 }
 
 function closeFileStream() {
-  this._closed = true;
-};
+    this._closed = true;
+}
 
 FileStream.prototype.close = function() {
-  closeFileStream.apply(this, arguments);
+    closeFileStream.apply(this, arguments);
 };
 
 function _checkReadAccess(mode) {
-  if (mode !== 'r' && mode !== 'rw') {
-    throw new WebAPIException(WebAPIException.IO_ERR, 'Stream is not in read mode.');
-  }
+    if (mode !== 'r' && mode !== 'rw') {
+        throw new WebAPIException(WebAPIException.IO_ERR, 'Stream is not in read mode.');
+    }
 }
 
 function _checkWriteAccess(mode) {
-  if (mode !== 'a' && mode !== 'w' && mode !== 'rw') {
-    throw new WebAPIException(WebAPIException.IO_ERR, 'Stream is not in write mode.');
-  }
+    if (mode !== 'a' && mode !== 'w' && mode !== 'rw') {
+        throw new WebAPIException(WebAPIException.IO_ERR, 'Stream is not in write mode.');
+    }
 }
 
 /* returns array of numbers */
-function string_to_binary( str ) {
-  var output = [];
-  var len = str.length;
-  var c;
-  for( var i = 0; i < len; i++ ) {
-    // decode unicode codepoint U+0100 as zero byte
-    c = str.charCodeAt(i);
-    output.push( c == 0x100 ? 0 : c );
-  }
-  return output;
+function string_to_binary(str) {
+    var output = [];
+    var len = str.length;
+    var c;
+    for (var i = 0; i < len; i++) {
+        // decode unicode codepoint U+0100 as zero byte
+        c = str.charCodeAt(i);
+        output.push(c == 0x100 ? 0 : c);
+    }
+    return output;
 }
 
 /* receives array of numbers, returns string */
-function binary_to_string( data ) {
-  var output = "";
-  var len = data.length;
-  // endecode zero byte as unicode codepoint U+0100
-  var zero = String.fromCharCode(0x100);
-  var b;
-  for( var i = 0; i < len; i++ ) {
-    b = data[i] & 0xFF;  // conversion to octet
-    output += b == 0 ? zero : String.fromCharCode(b);
-  }
-  return output;
+function binary_to_string(data) {
+    var output = '';
+    var len = data.length;
+    // endecode zero byte as unicode codepoint U+0100
+    var zero = String.fromCharCode(0x100);
+    var b;
+    for (var i = 0; i < len; i++) {
+        b = data[i] & 0xff; // conversion to octet
+        output += b == 0 ? zero : String.fromCharCode(b);
+    }
+    return output;
 }
 
 function read() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'charCount',
-      type: types_.LONG
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'charCount',
+            type: types_.LONG
+        }
+    ]);
+
+    _checkClosed(this);
+    _checkReadAccess(this._mode);
+
+    if (!arguments.length) {
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'Argument "charCount" missing'
+        );
+    }
+    if (!type_.isNumber(args.charCount)) {
+        throw new WebAPIException(
+            WebAPIException.TYPE_MISMATCH_ERR,
+            'Argument "charCount" must be a number'
+        );
+    }
+    if (args.charCount <= 0) {
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'Argument "charCount" must be greater than 0'
+        );
+    }
+    if (this.eof) {
+        throw new WebAPIException(WebAPIException.IO_ERR, 'Stream is marked as EOF.');
     }
-  ]);
-
-  _checkClosed(this);
-  _checkReadAccess(this._mode);
-
-  if (!arguments.length) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-        'Argument "charCount" missing');
-  }
-  if (!type_.isNumber(args.charCount)) {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-        'Argument "charCount" must be a number');
-  }
-  if (args.charCount <= 0) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-        'Argument "charCount" must be greater than 0');
-  }
-  if(this.eof) {
-      throw new WebAPIException(WebAPIException.IO_ERR, 'Stream is marked as EOF.');
-  }
-
-  var _count = this.bytesAvailable;
-
-  var data = {
-    location: commonFS_.toRealPath(this._file.fullPath),
-    encoding: this._encoding,
-    offset: this.position || 0,
-    length: args.charCount > _count ? _count : args.charCount,
-  };
-
-  var result = native_.callSync('File_readString', data);
-  if (native_.isFailure(result)) {
-    throw new WebAPIException(WebAPIException.IO_ERR, 'Could not read');
-  }
-  var outData = native_.getResultObject(result);
-
-  if (outData.length) {
-    can_change_size = true;
-    this.position += outData.length;
-    can_change_size = false;
-  } else {
-    this.position += 1;   // Set EOF
-  }
 
-  return outData;
-};
+    var _count = this.bytesAvailable;
+
+    var data = {
+        location: commonFS_.toRealPath(this._file.fullPath),
+        encoding: this._encoding,
+        offset: this.position || 0,
+        length: args.charCount > _count ? _count : args.charCount
+    };
+
+    var result = native_.callSync('File_readString', data);
+    if (native_.isFailure(result)) {
+        throw new WebAPIException(WebAPIException.IO_ERR, 'Could not read');
+    }
+    var outData = native_.getResultObject(result);
+
+    if (outData.length) {
+        can_change_size = true;
+        this.position += outData.length;
+        can_change_size = false;
+    } else {
+        this.position += 1; // Set EOF
+    }
+
+    return outData;
+}
 
 FileStream.prototype.read = function() {
-  return read.apply(this, arguments);
+    return read.apply(this, arguments);
 };
 
 function readBytes() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'byteCount',
-      type: types_.LONG
-    }
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'byteCount',
+            type: types_.LONG
+        }
+    ]);
 
-  _checkClosed(this);
-  _checkReadAccess(this._mode);
+    _checkClosed(this);
+    _checkReadAccess(this._mode);
 
-  if (args.byteCount <= 0) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-        'Argument "byteCount" must be greater than 0');
-  }
+    if (args.byteCount <= 0) {
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'Argument "byteCount" must be greater than 0'
+        );
+    }
 
-  var _count = this.bytesAvailable;
+    var _count = this.bytesAvailable;
 
-  var data = {
-    location: commonFS_.toRealPath(this._file.fullPath),
-    offset: this.position || 0,
-    length: (args.byteCount > _count ? _count : args.byteCount)
-  };
+    var data = {
+        location: commonFS_.toRealPath(this._file.fullPath),
+        offset: this.position || 0,
+        length: args.byteCount > _count ? _count : args.byteCount
+    };
 
-  var result = native_.callSync('File_readBytes', data);
-  if (native_.isFailure(result)) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR, 'Could not read');
-  }
+    var result = native_.callSync('File_readBytes', data);
+    if (native_.isFailure(result)) {
+        throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR, 'Could not read');
+    }
 
-  var decoded = string_to_binary( native_.getResultObject(result) );
+    var decoded = string_to_binary(native_.getResultObject(result));
 
-  if (decoded.length) {
-    can_change_size = true;
-    this.position += decoded.length;
-    can_change_size = false;
-  } else {
-    this.position += 1;   // Set EOF
-  }
+    if (decoded.length) {
+        can_change_size = true;
+        this.position += decoded.length;
+        can_change_size = false;
+    } else {
+        this.position += 1; // Set EOF
+    }
 
-  return decoded;
-};
+    return decoded;
+}
 
 FileStream.prototype.readBytes = function() {
-  return readBytes.apply(this, arguments);
+    return readBytes.apply(this, arguments);
 };
 
 FileStream.prototype.readBase64 = function() {
-  return base64_encode(readBytes.apply(this, arguments));
-}
+    return base64_encode(readBytes.apply(this, arguments));
+};
 
 function write() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'stringData',
-      type: types_.STRING
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'stringData',
+            type: types_.STRING
+        }
+    ]);
+
+    _checkClosed(this);
+    _checkWriteAccess(this._mode);
+
+    if (!arguments.length) {
+        throw new WebAPIException(
+            WebAPIException.NOT_FOUND_ERR,
+            'Argument "stringData" missing'
+        );
     }
-  ]);
-
-  _checkClosed(this);
-  _checkWriteAccess(this._mode);
-
-  if (!arguments.length) {
-    throw new WebAPIException(WebAPIException.NOT_FOUND_ERR,
-        'Argument "stringData" missing');
-  }
-
-  var data = {
-    location: commonFS_.toRealPath(this._file.fullPath),
-    encoding: this._encoding,
-    offset: this.position,
-    data: args.stringData,
-    rewrite: this._rewrite
-  };
-
-  var result = native_.callSync('File_writeString', data);
-
-  if (native_.isFailure(result)) {
-    throw new WebAPIException(WebAPIException.IO_ERR, 'Could not write');
-  }
-  can_change_size = true;
-  this.position = this.position + args.stringData.length;
-  can_change_size = false;
-  this._rewrite = false;
-};
+
+    var data = {
+        location: commonFS_.toRealPath(this._file.fullPath),
+        encoding: this._encoding,
+        offset: this.position,
+        data: args.stringData,
+        rewrite: this._rewrite
+    };
+
+    var result = native_.callSync('File_writeString', data);
+
+    if (native_.isFailure(result)) {
+        throw new WebAPIException(WebAPIException.IO_ERR, 'Could not write');
+    }
+    can_change_size = true;
+    this.position = this.position + args.stringData.length;
+    can_change_size = false;
+    this._rewrite = false;
+}
 
 FileStream.prototype.write = function() {
-  write.apply(this, arguments);
+    write.apply(this, arguments);
 };
 
 function writeBytes() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'byteData',
-      type: types_.ARRAY,
-      values: undefined /* was types_.OCTET, but checking moved to binary_to_string for performance */
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'byteData',
+            type: types_.ARRAY,
+            values: undefined /* was types_.OCTET, but checking moved
+                                to binary_to_string for performance */
+        }
+    ]);
+
+    _checkClosed(this);
+    _checkWriteAccess(this._mode);
+
+    if (!arguments.length) {
+        throw new WebAPIException(
+            WebAPIException.TYPE_MISMATCH_ERR,
+            'Argument "byteData" missing'
+        );
     }
-  ]);
-
-  _checkClosed(this);
-  _checkWriteAccess(this._mode);
-
-  if (!arguments.length) {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-        'Argument "byteData" missing');
-  }
-
-  var data = {
-    location: commonFS_.toRealPath(this._file.fullPath),
-    offset: this.position,
-    data: binary_to_string(args.byteData),
-    rewrite: this._rewrite,
-  };
-
-  var result = native_.callSync('File_writeBytes', data);
-
-  if (native_.isFailure(result)) {
-    throw new WebAPIException(WebAPIException.IO_ERR, 'Could not write');
-  }
-  can_change_size = true;
-  this.position = this.position + args.byteData.length;
-  can_change_size = false;
-  this._rewrite = false;
-};
+
+    var data = {
+        location: commonFS_.toRealPath(this._file.fullPath),
+        offset: this.position,
+        data: binary_to_string(args.byteData),
+        rewrite: this._rewrite
+    };
+
+    var result = native_.callSync('File_writeBytes', data);
+
+    if (native_.isFailure(result)) {
+        throw new WebAPIException(WebAPIException.IO_ERR, 'Could not write');
+    }
+    can_change_size = true;
+    this.position = this.position + args.byteData.length;
+    can_change_size = false;
+    this._rewrite = false;
+}
 
 FileStream.prototype.writeBytes = function() {
-  writeBytes.apply(this, arguments);
+    writeBytes.apply(this, arguments);
 };
 
 function writeBase64() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'base64Data',
-      type: types_.STRING
-    }
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'base64Data',
+            type: types_.STRING
+        }
+    ]);
 
-  _checkClosed(this);
-  _checkWriteAccess(this._mode);
+    _checkClosed(this);
+    _checkWriteAccess(this._mode);
 
-  var data = {
-    location: commonFS_.toRealPath(this._file.fullPath),
-    offset: this.position,
-    data: args.base64Data,
-    rewrite: this._rewrite,
-  };
+    var data = {
+        location: commonFS_.toRealPath(this._file.fullPath),
+        offset: this.position,
+        data: args.base64Data,
+        rewrite: this._rewrite
+    };
 
-  var result = native_.callSync('File_writeBase64', data);
+    var result = native_.callSync('File_writeBase64', data);
 
-  if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 
-  var written_bytes = native_.getResultObject(result);
+    var written_bytes = native_.getResultObject(result);
 
-  can_change_size = true;
-  this.position += written_bytes;
-  can_change_size = false;
-  this._rewrite = false;
-};
+    can_change_size = true;
+    this.position += written_bytes;
+    can_change_size = false;
+    this._rewrite = false;
+}
 
 FileStream.prototype.writeBase64 = function() {
-  writeBase64.apply(this, arguments);
+    writeBase64.apply(this, arguments);
 };
index 622f38d479647584012925773d124d7f9a59e51d..4de9373816b466cb29f8ace11c8cebf806be1b19 100755 (executable)
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
+
 function FileSystemStorage(data) {
-  Object.defineProperties(this, {
-    label: {value: data.label, writable: false, enumerable: true},
-    type: {value: data.type, writable: false, enumerable: true},
-    state: {value: data.state, writable: false, enumerable: true}
-  });
+    Object.defineProperties(this, {
+        label: { value: data.label, writable: false, enumerable: true },
+        type: { value: data.type, writable: false, enumerable: true },
+        state: { value: data.state, writable: false, enumerable: true }
+    });
 }
 
 var PATH_MAX = 4096;
 
 function FileSystemManager() {
-  Object.defineProperties(this, {
-    maxPathLength: {value: PATH_MAX, writable: false, enumerable: true}
-  });
+    Object.defineProperties(this, {
+        maxPathLength: { value: PATH_MAX, writable: false, enumerable: true }
+    });
 }
 
 function resolve() {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'location', type: types_.STRING},
-    {name: 'onsuccess', type: types_.FUNCTION},
-    {name: 'onerror', type: types_.FUNCTION, optional: true, nullable: true},
-    {name: 'mode', type: types_.ENUM, values: Object.keys(FileMode), optional: true, nullable: true}
-  ]);
-
-  if (!args.has.mode) {
-    args.mode = 'rw';
-  }
-
-  // resolving a path on unmounted storage should result in exception
-  var storage = commonFS_.getStorage(args.location.split('/')[0]);
-  if (storage && FileSystemStorageState.MOUNTED !== storage.state) {
-    setTimeout(function() {
-      native_.callIfPossible(args.onerror,
-          new WebAPIException(WebAPIException.NOT_FOUND_ERR,
-          'Storage is not mounted.'));
-    }, 0);
-    return;
-  }
-
-  // Validation against '.' and '..' directories used in path - not allowed
-  var result = commonFS_.checkPathWithoutDots(args.location);
-  if (!result) {
-    // path contains dots - it is not allowed - return InvalidValuesError
-    setTimeout(function() {
-      native_.callIfPossible(args.onerror,
-          new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-          'Path contains \'.\' or \'..\' - it is not allowed.'));
-    }, 0);
-    return;
-  }
-
-  var _realPath = commonFS_.toRealPath(args.location);
-
-  if (!_realPath) {
-    // invalid real path means that virtual root does not exist
-    setTimeout(function() {
-      native_.callIfPossible(args.onerror,
-          new WebAPIException(WebAPIException.NOT_FOUND_ERR,
-          'Specified virtual root does not exist.'));
-    }, 0);
-    return;
-  }
-
-  var _isLocationAllowed = commonFS_.isLocationAllowed(_realPath);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'location', type: types_.STRING },
+        { name: 'onsuccess', type: types_.FUNCTION },
+        { name: 'onerror', type: types_.FUNCTION, optional: true, nullable: true },
+        {
+            name: 'mode',
+            type: types_.ENUM,
+            values: Object.keys(FileMode),
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    if (!args.has.mode) {
+        args.mode = 'rw';
+    }
 
-  if (args.mode !== 'r' && !_isLocationAllowed) {
-    setTimeout(function() {
-      native_.callIfPossible(args.onerror,
-          new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-          'Provided arguments are not valid.'));
-    }, 0);
-    return;
-  }
+    // resolving a path on unmounted storage should result in exception
+    var storage = commonFS_.getStorage(args.location.split('/')[0]);
+    if (storage && FileSystemStorageState.MOUNTED !== storage.state) {
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(
+                    WebAPIException.NOT_FOUND_ERR,
+                    'Storage is not mounted.'
+                )
+            );
+        }, 0);
+        return;
+    }
 
-  var data = {
-    location: _realPath
-  };
+    // Validation against '.' and '..' directories used in path - not allowed
+    var result = commonFS_.checkPathWithoutDots(args.location);
+    if (!result) {
+        // path contains dots - it is not allowed - return InvalidValuesError
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(
+                    WebAPIException.INVALID_VALUES_ERR,
+                    'Path contains \'.\' or \'..\' - it is not allowed.'
+                )
+            );
+        }, 0);
+        return;
+    }
 
-  var callback = function(result) {
-    if (native_.isFailure(result)) {
-      native_.callIfPossible(args.onerror, native_.getErrorObject(result));
-      return;
+    var _realPath = commonFS_.toRealPath(args.location);
+
+    if (!_realPath) {
+        // invalid real path means that virtual root does not exist
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(
+                    WebAPIException.NOT_FOUND_ERR,
+                    'Specified virtual root does not exist.'
+                )
+            );
+        }, 0);
+        return;
     }
 
-    var aStatObj = native_.getResultObject(result);
-    var _result = commonFS_.getFileInfo(aStatObj, false, args.mode);
-    if (_result.readOnly && args.mode !== 'r') {
-      native_.callIfPossible(args.onerror, new WebAPIException(WebAPIException.IO_ERR, 'File is read-only.'));
-    } else {
-      native_.callIfPossible(args.onsuccess, new File(_result));
+    var _isLocationAllowed = commonFS_.isLocationAllowed(_realPath);
+
+    if (args.mode !== 'r' && !_isLocationAllowed) {
+        setTimeout(function() {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(
+                    WebAPIException.INVALID_VALUES_ERR,
+                    'Provided arguments are not valid.'
+                )
+            );
+        }, 0);
+        return;
     }
-  };
 
-  var ret = native_.call('File_stat', data, callback);
-  if (native_.isFailure(ret)) {
-      throw native_.getErrorObject(ret);
-  }
-};
+    var data = {
+        location: _realPath
+    };
+
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.onerror, native_.getErrorObject(result));
+            return;
+        }
+
+        var aStatObj = native_.getResultObject(result);
+        var _result = commonFS_.getFileInfo(aStatObj, false, args.mode);
+        if (_result.readOnly && args.mode !== 'r') {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(WebAPIException.IO_ERR, 'File is read-only.')
+            );
+        } else {
+            native_.callIfPossible(args.onsuccess, new File(_result));
+        }
+    };
+
+    var ret = native_.call('File_stat', data, callback);
+    if (native_.isFailure(ret)) {
+        throw native_.getErrorObject(ret);
+    }
+}
 
 FileSystemManager.prototype.resolve = function() {
-  resolve.apply(this, arguments);
+    resolve.apply(this, arguments);
 };
 
 function getStorage() {
-  xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.FILESYSTEM_READ);
-  var args = validator_.validateArgs(arguments, [
-    {name: 'label', type: types_.STRING},
-    {name: 'onsuccess', type: types_.FUNCTION},
-    {name: 'onerror', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
-
-  setTimeout(function() {
-    var storage = commonFS_.getStorage(args.label);
-
-    if (!storage) {
-      native_.callIfPossible(args.onerror,
-          new WebAPIException(WebAPIException.NOT_FOUND_ERR, 'Storage not found.'));
-    } else {
-      native_.callIfPossible(args.onsuccess, new FileSystemStorage(storage));
-    }
-  }, 0);
-};
+    xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.FILESYSTEM_READ);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'label', type: types_.STRING },
+        { name: 'onsuccess', type: types_.FUNCTION },
+        { name: 'onerror', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    setTimeout(function() {
+        var storage = commonFS_.getStorage(args.label);
+
+        if (!storage) {
+            native_.callIfPossible(
+                args.onerror,
+                new WebAPIException(WebAPIException.NOT_FOUND_ERR, 'Storage not found.')
+            );
+        } else {
+            native_.callIfPossible(args.onsuccess, new FileSystemStorage(storage));
+        }
+    }, 0);
+}
 
 FileSystemManager.prototype.getStorage = function() {
-  getStorage.apply(this, arguments);
+    getStorage.apply(this, arguments);
 };
 
 function listStorages() {
-  xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.FILESYSTEM_READ);
-  var args = validator_.validateArgs(arguments, [
-    {name: 'onsuccess', type: types_.FUNCTION},
-    {name: 'onerror', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
-
-  setTimeout(function() {
-    var storages = [];
-    var cache = commonFS_.getAllStorages();
-    for (var i = 0; i < cache.length; ++i) {
-      storages.push(new FileSystemStorage(cache[i]));
-    }
+    xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.FILESYSTEM_READ);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'onsuccess', type: types_.FUNCTION },
+        { name: 'onerror', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
 
-    native_.callIfPossible(args.onsuccess, storages);
-  }, 0);
-};
+    setTimeout(function() {
+        var storages = [];
+        var cache = commonFS_.getAllStorages();
+        for (var i = 0; i < cache.length; ++i) {
+            storages.push(new FileSystemStorage(cache[i]));
+        }
+
+        native_.callIfPossible(args.onsuccess, storages);
+    }, 0);
+}
 
 FileSystemManager.prototype.listStorages = function() {
-  listStorages.apply(this, arguments);
+    listStorages.apply(this, arguments);
 };
 
 var callbackId = 0;
 var callbacks = {};
 
 function nextCallbackId() {
-  return ++callbackId;
+    return ++callbackId;
 }
 
 function _StorageStateChangeListener(result) {
-  commonFS_.clearCache();
-  var storage = new FileSystemStorage(result);
-  for (var id in callbacks) {
-    native_.callIfPossible(callbacks[id], storage);
-  }
+    commonFS_.clearCache();
+    var storage = new FileSystemStorage(result);
+    for (var id in callbacks) {
+        native_.callIfPossible(callbacks[id], storage);
+    }
 }
 
 function addStorageStateChangeListener() {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'onsuccess', type: types_.FUNCTION},
-    {name: 'onerror', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
-
-  var register = false;
-  if (type_.isEmptyObject(callbacks)) {
-    register = true;
-  }
+    var args = validator_.validateArgs(arguments, [
+        { name: 'onsuccess', type: types_.FUNCTION },
+        { name: 'onerror', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    var register = false;
+    if (type_.isEmptyObject(callbacks)) {
+        register = true;
+    }
 
-  var id = nextCallbackId();
-  callbacks[id] = args.onsuccess;
+    var id = nextCallbackId();
+    callbacks[id] = args.onsuccess;
 
-  if (register) {
-    native_.addListener('StorageStateChangeListener', _StorageStateChangeListener);
-    var result = native_.callSync('FileSystemManager_addStorageStateChangeListener', {});
+    if (register) {
+        native_.addListener('StorageStateChangeListener', _StorageStateChangeListener);
+        var result = native_.callSync(
+            'FileSystemManager_addStorageStateChangeListener',
+            {}
+        );
 
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
     }
-  }
 
-  return id;
-};
+    return id;
+}
 
 FileSystemManager.prototype.addStorageStateChangeListener = function() {
-  return addStorageStateChangeListener.apply(this, arguments);
+    return addStorageStateChangeListener.apply(this, arguments);
 };
 
 function removeStorageStateChangeListener() {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'watchId', type: types_.LONG}
-  ]);
-
-  if (!arguments.length) {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-        'Missing watchId');
-  }
-  var id = args.watchId;
-
-  if (type_.isNullOrUndefined(callbacks[id])) {
-    throw new WebAPIException(WebAPIException.NOT_FOUND_ERR, 'Watch ID not found.');
-  }
-
-  delete callbacks[id];
-
-  if (type_.isEmptyObject(callbacks)) {
-    var result = native_.callSync('FileSystemManager_removeStorageStateChangeListener', {});
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'watchId', type: types_.LONG }
+    ]);
+
+    if (!arguments.length) {
+        throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR, 'Missing watchId');
     }
-  }
-};
+    var id = args.watchId;
+
+    if (type_.isNullOrUndefined(callbacks[id])) {
+        throw new WebAPIException(WebAPIException.NOT_FOUND_ERR, 'Watch ID not found.');
+    }
+
+    delete callbacks[id];
+
+    if (type_.isEmptyObject(callbacks)) {
+        var result = native_.callSync(
+            'FileSystemManager_removeStorageStateChangeListener',
+            {}
+        );
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
+    }
+}
 
 FileSystemManager.prototype.removeStorageStateChangeListener = function() {
-  removeStorageStateChangeListener.apply(this, arguments);
+    removeStorageStateChangeListener.apply(this, arguments);
 };
 
 exports = new FileSystemManager();
index dccf34cdc7ac1454822e821a9fd29e5380800eb8..50f7856235aa1a08b72b35b21974232d7ba8c9c4 100755 (executable)
@@ -25,11 +25,11 @@ var callbackId = 0;
 var callbacks = {};
 
 function nextCallbackId() {
-  return callbackId++;
+    return callbackId++;
 }
 
 function SetReadOnlyProperty(obj, n, v) {
-  Object.defineProperty(obj, n, {value: v, writable: false});
+    Object.defineProperty(obj, n, { value: v, writable: false });
 }
 
 var ACCUMULATIVE_PEDOMETER_DATA = 'ACCUMULATIVE_PEDOMETER_DATA';
@@ -39,216 +39,234 @@ var MIN_QUERY_TIME = 0;
 var MIN_QUERY_INTERVAL = 0;
 
 var HumanActivityType = {
-  PEDOMETER: 'PEDOMETER',
-  WRIST_UP: 'WRIST_UP',
-  HRM: 'HRM',
-  GPS: 'GPS',
-  SLEEP_MONITOR: 'SLEEP_MONITOR'
+    PEDOMETER: 'PEDOMETER',
+    WRIST_UP: 'WRIST_UP',
+    HRM: 'HRM',
+    GPS: 'GPS',
+    SLEEP_MONITOR: 'SLEEP_MONITOR'
 };
 
 var HumanActivityRecorderType = {
-  PEDOMETER: 'PEDOMETER',
-  HRM: 'HRM',
-  SLEEP_MONITOR: 'SLEEP_MONITOR',
-  PRESSURE: 'PRESSURE'
+    PEDOMETER: 'PEDOMETER',
+    HRM: 'HRM',
+    SLEEP_MONITOR: 'SLEEP_MONITOR',
+    PRESSURE: 'PRESSURE'
 };
 
 var PedometerStepStatus = {
-  NOT_MOVING: 'NOT_MOVING',
-  WALKING: 'WALKING',
-  RUNNING: 'RUNNING',
-  UNKNOWN: 'UNKNOWN'
+    NOT_MOVING: 'NOT_MOVING',
+    WALKING: 'WALKING',
+    RUNNING: 'RUNNING',
+    UNKNOWN: 'UNKNOWN'
 };
 
 var ActivityRecognitionType = {
-  STATIONARY: 'STATIONARY',
-  WALKING: 'WALKING',
-  RUNNING: 'RUNNING',
-  IN_VEHICLE: 'IN_VEHICLE'
+    STATIONARY: 'STATIONARY',
+    WALKING: 'WALKING',
+    RUNNING: 'RUNNING',
+    IN_VEHICLE: 'IN_VEHICLE'
 };
 
 var ActivityAccuracy = {
-  LOW: 'LOW',
-  MEDIUM: 'MEDIUM',
-  HIGH: 'HIGH'
+    LOW: 'LOW',
+    MEDIUM: 'MEDIUM',
+    HIGH: 'HIGH'
 };
 
 var SleepStatus = {
-  ASLEEP: 'ASLEEP',
-  AWAKE: 'AWAKE'
+    ASLEEP: 'ASLEEP',
+    AWAKE: 'AWAKE'
 };
 
 function convertActivityData(type, data) {
-  switch (type) {
+    switch (type) {
     case HumanActivityType.PEDOMETER:
-      return new HumanActivityPedometerData(data);
+        return new HumanActivityPedometerData(data);
     case ACCUMULATIVE_PEDOMETER_DATA:
-      return new HumanActivityAccumulativePedometerData(data);
+        return new HumanActivityAccumulativePedometerData(data);
     case HumanActivityType.WRIST_UP:
-      return null;
+        return null;
     case HumanActivityType.HRM:
-      return new HumanActivityHRMData(data);
+        return new HumanActivityHRMData(data);
     case HumanActivityType.GPS:
-      var gpsInfo = [];
-      for (var i = 0, max = data.gpsInfo.length; i < max; i++) {
-        gpsInfo.push(new HumanActivityGPSInfo(data.gpsInfo[i]));
-      }
-      return new HumanActivityGPSInfoArray(gpsInfo);
+        var gpsInfo = [];
+        for (var i = 0, max = data.gpsInfo.length; i < max; i++) {
+            gpsInfo.push(new HumanActivityGPSInfo(data.gpsInfo[i]));
+        }
+        return new HumanActivityGPSInfoArray(gpsInfo);
     case HumanActivityType.SLEEP_MONITOR:
-      return new HumanActivitySleepMonitorData(data);
+        return new HumanActivitySleepMonitorData(data);
     default:
-      utils_.error('Uknown human activity type: ' + type);
-  }
+        utils_.error('Uknown human activity type: ' + type);
+    }
 }
 
 function createRecorderData(func, data) {
-  var array = [];
+    var array = [];
 
-  data.forEach(function (d) {
-    array.push(new func(d));
-  });
+    data.forEach(function(d) {
+        array.push(new func(d));
+    });
 
-  return array;
+    return array;
 }
 
 function convertActivityRecorderData(type, data) {
-  var func = undefined;
-  switch (type) {
+    var func = undefined;
+    switch (type) {
     case HumanActivityRecorderType.PEDOMETER:
-      func = HumanActivityRecorderPedometerData;
-      break;
+        func = HumanActivityRecorderPedometerData;
+        break;
     case HumanActivityRecorderType.HRM:
-      func = HumanActivityRecorderHRMData;
-      break;
+        func = HumanActivityRecorderHRMData;
+        break;
     case HumanActivityRecorderType.SLEEP_MONITOR:
-      func = HumanActivityRecorderSleepMonitorData;
-      break;
+        func = HumanActivityRecorderSleepMonitorData;
+        break;
     case HumanActivityRecorderType.PRESSURE:
-      func = HumanActivityRecorderPressureData;
-      break;
+        func = HumanActivityRecorderPressureData;
+        break;
     default:
-      utils_.error('Uknown human activity recorder type: ' + type);
-      return;
-  }
+        utils_.error('Uknown human activity recorder type: ' + type);
+        return;
+    }
 
-  return createRecorderData(func, data);
+    return createRecorderData(func, data);
 }
 
 function ActivityRecognitionListenerManager() {
-  this.listeners = {};
-  this.nextId = 1;
-  this.nativeSet = false;
-  this.native = native_;
-  this.listenerName = 'ActivityRecognitionListener';
-};
+    this.listeners = {};
+    this.nextId = 1;
+    this.nativeSet = false;
+    this.native = native_;
+    this.listenerName = 'ActivityRecognitionListener';
+}
 
 ActivityRecognitionListenerManager.prototype.onListener = function(data) {
-  var watchId = data.watchId;
-
-  if (this.listeners[watchId]) {
-    if (native_.isFailure(data)) {
-      native_.callIfPossible(this.listeners[watchId].errorCallback, native_.getErrorObject(data));
-      return;
+    var watchId = data.watchId;
+
+    if (this.listeners[watchId]) {
+        if (native_.isFailure(data)) {
+            native_.callIfPossible(
+                this.listeners[watchId].errorCallback,
+                native_.getErrorObject(data)
+            );
+            return;
+        }
+
+        native_.callIfPossible(
+            this.listeners[watchId].listener,
+            new HumanActivityRecognitionData(native_.getResultObject(data))
+        );
     }
-
-    native_.callIfPossible(
-        this.listeners[watchId].listener,
-        new HumanActivityRecognitionData(native_.getResultObject(data)));
-  }
 };
 
-ActivityRecognitionListenerManager.prototype.addListener = function(watchId, listener, errorCallback) {
-  this.listeners[watchId] = {
-    listener: listener,
-    errorCallback: errorCallback
-  };
+ActivityRecognitionListenerManager.prototype.addListener = function(
+    watchId,
+    listener,
+    errorCallback
+) {
+    this.listeners[watchId] = {
+        listener: listener,
+        errorCallback: errorCallback
+    };
 
-  if (!this.nativeSet) {
-    this.native.addListener(this.listenerName, this.onListener.bind(this));
-    this.nativeSet = true;
-  }
+    if (!this.nativeSet) {
+        this.native.addListener(this.listenerName, this.onListener.bind(this));
+        this.nativeSet = true;
+    }
 };
 
 ActivityRecognitionListenerManager.prototype.removeListener = function(watchId) {
-  if (this.listeners.hasOwnProperty(watchId)) {
-    delete this.listeners[watchId];
-    if (type_.isEmptyObject(this.listeners)) {
-      this.native.removeListener(this.listenerName);
-      this.nativeSet = false;
+    if (this.listeners.hasOwnProperty(watchId)) {
+        delete this.listeners[watchId];
+        if (type_.isEmptyObject(this.listeners)) {
+            this.native.removeListener(this.listenerName);
+            this.nativeSet = false;
+        }
     }
-  }
 };
 
 var activityRecognitionListener = new ActivityRecognitionListenerManager();
 
-function HumanActivityMonitorManager() {
-}
+function HumanActivityMonitorManager() {}
+
+HumanActivityMonitorManager.prototype.getHumanActivityData = function(
+    type,
+    successCallback,
+    errorCallback
+) {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'type', type: types_.ENUM, values: Object.keys(HumanActivityType) },
+        { name: 'successCallback', type: types_.FUNCTION },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    if (-1 === [HumanActivityType.HRM, HumanActivityType.PEDOMETER].indexOf(args.type)) {
+        throw new WebAPIException(WebAPIException.NOT_SUPPORTED_ERR);
+    }
 
-HumanActivityMonitorManager.prototype.getHumanActivityData = function(type, successCallback, errorCallback) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'type', type: types_.ENUM, values: Object.keys(HumanActivityType)},
-    {name: 'successCallback', type: types_.FUNCTION},
-    {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
+    var data = {
+        type: args.type
+    };
 
-  if (-1 === [HumanActivityType.HRM, HumanActivityType.PEDOMETER].indexOf(args.type)) {
-    throw new WebAPIException(WebAPIException.NOT_SUPPORTED_ERR);
-  }
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+            return;
+        }
+
+        native_.callIfPossible(
+            args.successCallback,
+            convertActivityData(args.type, native_.getResultObject(result))
+        );
+    };
 
-  var data = {
-    type: args.type
-  };
+    var result = native_.call(
+        'HumanActivityMonitorManager_getHumanActivityData',
+        data,
+        callback
+    );
 
-  var callback = function(result) {
     if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      return;
+        throw native_.getErrorObject(result);
     }
-
-    native_.callIfPossible(args.successCallback,
-        convertActivityData(args.type, native_.getResultObject(result)));
-  };
-
-  var result = native_.call('HumanActivityMonitorManager_getHumanActivityData', data, callback);
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
 };
 
 function startListener(listenerId, listener, method, data) {
-  if (!native_.isListenerSet(listenerId)) {
-    var result = native_.callSync(method, data);
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+    if (!native_.isListenerSet(listenerId)) {
+        var result = native_.callSync(method, data);
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
     }
-  }
 
-  // always set the listener, if it's another call to startListener() overwrite the old one
-  native_.addListener(listenerId, listener);
+    // always set the listener, if it's another call to startListener()
+    // overwrite the old one
+    native_.addListener(listenerId, listener);
 }
 
 function checkPrivilegesForMethod(method, type) {
-  utils_.checkPrivilegeAccess(utils_.privilege.HEALTHINFO);
-  if ('HumanActivityMonitorManager_stop' === method && 'GPS' === type) {
-    utils_.checkPrivilegeAccess(utils_.privilege.LOCATION);
-  }
+    utils_.checkPrivilegeAccess(utils_.privilege.HEALTHINFO);
+    if ('HumanActivityMonitorManager_stop' === method && 'GPS' === type) {
+        utils_.checkPrivilegeAccess(utils_.privilege.LOCATION);
+    }
 }
 
 function stopListener(listenerId, method, data, doRemoval) {
-  if (!native_.isListenerSet(listenerId)) {
-    checkPrivilegesForMethod(method, data.type);
-    return;
-  }
-
-  if (doRemoval) {
-    var result = native_.callSync(method, data);
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+    if (!native_.isListenerSet(listenerId)) {
+        checkPrivilegesForMethod(method, data.type);
+        return;
     }
 
-    native_.removeListener(listenerId);
-  }
+    if (doRemoval) {
+        var result = native_.callSync(method, data);
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
+
+        native_.removeListener(listenerId);
+    }
 }
 
 // Pedometer listener and accumulative pedometer listener are handled by a single
@@ -258,347 +276,412 @@ var pedometerListener = null;
 var accumulativePedometerListener = null;
 
 function pedometerCallback(result) {
-  if (pedometerListener) {
-    pedometerListener(convertActivityData(HumanActivityType.PEDOMETER, result));
-  }
+    if (pedometerListener) {
+        pedometerListener(convertActivityData(HumanActivityType.PEDOMETER, result));
+    }
 
-  if (accumulativePedometerListener) {
-    accumulativePedometerListener(convertActivityData(ACCUMULATIVE_PEDOMETER_DATA, result));
-  }
+    if (accumulativePedometerListener) {
+        accumulativePedometerListener(
+            convertActivityData(ACCUMULATIVE_PEDOMETER_DATA, result)
+        );
+    }
 }
 
 var GPSListener = null;
 function GPSCallback(result) {
-  if (GPSListener) {
-    GPSListener(result);
-  }
+    if (GPSListener) {
+        GPSListener(result);
+    }
 }
 
 HumanActivityMonitorManager.prototype.start = function(type, changedCallback) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'type', type: types_.ENUM, values: Object.keys(HumanActivityType)},
-    {name: 'changedCallback', type: types_.FUNCTION, optional: true, nullable: true},
-    {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true},
-    {name: 'options', type : types_.DICTIONARY, optional : true, nullable : true}
-  ]);
-
-  var listenerId = 'HumanActivityMonitor_'  + args.type;
-  var optionsAttributes = ["callbackInterval", "sampleInterval"], options = args.options || {};
-
-  var callbackInterval = null, sampleInterval = null;
-
-  switch (args.type) {
-  case HumanActivityType.GPS:
-    callbackInterval = !type_.isNullOrUndefined(options[optionsAttributes[0]]) ?
-        options[optionsAttributes[0]] : 150000;
-    sampleInterval = !type_.isNullOrUndefined(options[optionsAttributes[1]]) ?
-        options[optionsAttributes[1]] : 1000;
-    break;
-  case HumanActivityType.HRM:
-    callbackInterval = !type_.isNullOrUndefined(options[optionsAttributes[0]]) ?
-        options[optionsAttributes[0]] : 100;
-    if (callbackInterval < 10 || callbackInterval > 1000) {
-      throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-                                'callbackInterval is out of range');
+    var args = validator_.validateArgs(arguments, [
+        { name: 'type', type: types_.ENUM, values: Object.keys(HumanActivityType) },
+        {
+            name: 'changedCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true },
+        { name: 'options', type: types_.DICTIONARY, optional: true, nullable: true }
+    ]);
+
+    var listenerId = 'HumanActivityMonitor_' + args.type;
+    var optionsAttributes = ['callbackInterval', 'sampleInterval'],
+        options = args.options || {};
+
+    var callbackInterval = null,
+        sampleInterval = null;
+
+    switch (args.type) {
+    case HumanActivityType.GPS:
+        callbackInterval = !type_.isNullOrUndefined(options[optionsAttributes[0]])
+            ? options[optionsAttributes[0]]
+            : 150000;
+        sampleInterval = !type_.isNullOrUndefined(options[optionsAttributes[1]])
+            ? options[optionsAttributes[1]]
+            : 1000;
+        break;
+    case HumanActivityType.HRM:
+        callbackInterval = !type_.isNullOrUndefined(options[optionsAttributes[0]])
+            ? options[optionsAttributes[0]]
+            : 100;
+        if (callbackInterval < 10 || callbackInterval > 1000) {
+            throw new WebAPIException(
+                WebAPIException.INVALID_VALUES_ERR,
+                'callbackInterval is out of range'
+            );
+        }
+        break;
     }
-    break;
-  }
 
-  var listener = null;
-  switch (args.type) {
+    var listener = null;
+    switch (args.type) {
     case HumanActivityType.PEDOMETER:
-      listener = pedometerCallback;
-      break;
+        listener = pedometerCallback;
+        break;
     case HumanActivityType.GPS:
-      listener = GPSCallback;
-      break;
+        listener = GPSCallback;
+        break;
     default:
-      listener = function(result) {
-        native_.callIfPossible(args.changedCallback, convertActivityData(args.type, result));
-      };
-  }
-
-  utils_.log("callbackInterval = " + callbackInterval + ", sampleInterval = " + sampleInterval);
-  startListener(listenerId,
-                listener,
-                'HumanActivityMonitorManager_start',
-                { type: args.type,
-                  listenerId: listenerId,
-                  callbackInterval: callbackInterval,
-                  sampleInterval: sampleInterval
-                }
-               );
-
-  if (HumanActivityType.PEDOMETER === args.type) {
-    pedometerListener = args.changedCallback;
-  }
-
-  if (HumanActivityType.GPS === args.type) {
-    var callback = function(result) {
-      if (native_.isFailure(result)) {
-        native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      } else {
-        native_.callIfPossible(args.changedCallback, convertActivityData(args.type, result));
-      }
-    };
+        listener = function(result) {
+            native_.callIfPossible(
+                args.changedCallback,
+                convertActivityData(args.type, result)
+            );
+        };
+    }
+
+    utils_.log(
+        'callbackInterval = ' + callbackInterval + ', sampleInterval = ' + sampleInterval
+    );
+    startListener(listenerId, listener, 'HumanActivityMonitorManager_start', {
+        type: args.type,
+        listenerId: listenerId,
+        callbackInterval: callbackInterval,
+        sampleInterval: sampleInterval
+    });
+
+    if (HumanActivityType.PEDOMETER === args.type) {
+        pedometerListener = args.changedCallback;
+    }
 
-    GPSListener = callback;
-  }
+    if (HumanActivityType.GPS === args.type) {
+        var callback = function(result) {
+            if (native_.isFailure(result)) {
+                native_.callIfPossible(
+                    args.errorCallback,
+                    native_.getErrorObject(result)
+                );
+            } else {
+                native_.callIfPossible(
+                    args.changedCallback,
+                    convertActivityData(args.type, result)
+                );
+            }
+        };
+
+        GPSListener = callback;
+    }
 };
 
 HumanActivityMonitorManager.prototype.stop = function(type) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'type', type: types_.ENUM, values: Object.keys(HumanActivityType)}
-  ]);
-
-  if (HumanActivityType.PEDOMETER === args.type) {
-    stopListener('HumanActivityMonitor_PEDOMETER',
-                 'HumanActivityMonitorManager_stop',
-                 { type: HumanActivityType.PEDOMETER },
-                 pedometerListener && !accumulativePedometerListener);
-    pedometerListener = null;
-  } else {
-    stopListener('HumanActivityMonitor_'  + args.type,
-                 'HumanActivityMonitorManager_stop',
-                 { type: args.type }, true);
-  }
-
-  if (HumanActivityType.GPS === args.type) {
-    GPSListener = null;
-  }
+    var args = validator_.validateArgs(arguments, [
+        { name: 'type', type: types_.ENUM, values: Object.keys(HumanActivityType) }
+    ]);
+
+    if (HumanActivityType.PEDOMETER === args.type) {
+        stopListener(
+            'HumanActivityMonitor_PEDOMETER',
+            'HumanActivityMonitorManager_stop',
+            { type: HumanActivityType.PEDOMETER },
+            pedometerListener && !accumulativePedometerListener
+        );
+        pedometerListener = null;
+    } else {
+        stopListener(
+            'HumanActivityMonitor_' + args.type,
+            'HumanActivityMonitorManager_stop',
+            { type: args.type },
+            true
+        );
+    }
+
+    if (HumanActivityType.GPS === args.type) {
+        GPSListener = null;
+    }
 };
 
 HumanActivityMonitorManager.prototype.setAccumulativePedometerListener = function() {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'changeCallback', type: types_.FUNCTION}
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'changeCallback', type: types_.FUNCTION }
+    ]);
 
-  var oldPedometerListener = pedometerListener;
+    var oldPedometerListener = pedometerListener;
 
-  // calling start() will overwrite pedometerListener, needs to be restored afterwards
-  this.start(HumanActivityType.PEDOMETER, args.changeCallback);
+    // calling start() will overwrite pedometerListener, needs to be restored afterwards
+    this.start(HumanActivityType.PEDOMETER, args.changeCallback);
 
-  accumulativePedometerListener = args.changeCallback;
-  pedometerListener = oldPedometerListener;
+    accumulativePedometerListener = args.changeCallback;
+    pedometerListener = oldPedometerListener;
 };
 
 HumanActivityMonitorManager.prototype.unsetAccumulativePedometerListener = function() {
-  stopListener('HumanActivityMonitor_PEDOMETER',
-               'HumanActivityMonitorManager_stop',
-               { type: HumanActivityType.PEDOMETER },
-               accumulativePedometerListener && !pedometerListener);
-  accumulativePedometerListener = null;
+    stopListener(
+        'HumanActivityMonitor_PEDOMETER',
+        'HumanActivityMonitorManager_stop',
+        { type: HumanActivityType.PEDOMETER },
+        accumulativePedometerListener && !pedometerListener
+    );
+    accumulativePedometerListener = null;
 };
 
-
 HumanActivityMonitorManager.prototype.addActivityRecognitionListener = function() {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'type', type: types_.ENUM, values: Object.keys(ActivityRecognitionType)},
-    {name: 'listener', type: types_.FUNCTION},
-    {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
-
-
-  var result = native_.call(
-                  'HumanActivityMonitorManager_addActivityRecognitionListener',
-                  { type: args.type,
-                    listenerId: activityRecognitionListener.listenerName });
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    var args = validator_.validateArgs(arguments, [
+        { name: 'type', type: types_.ENUM, values: Object.keys(ActivityRecognitionType) },
+        { name: 'listener', type: types_.FUNCTION },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    var result = native_.call(
+        'HumanActivityMonitorManager_addActivityRecognitionListener',
+        { type: args.type, listenerId: activityRecognitionListener.listenerName }
+    );
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 
-  var watchId = result.watchId;
-  activityRecognitionListener.addListener(watchId, args.listener, args.errorCallback);
+    var watchId = result.watchId;
+    activityRecognitionListener.addListener(watchId, args.listener, args.errorCallback);
 
-  return watchId;
+    return watchId;
 };
 
 HumanActivityMonitorManager.prototype.removeActivityRecognitionListener = function() {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'watchId', type: types_.LONG},
-    {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
-
-  var result = native_.call(
-                  'HumanActivityMonitorManager_removeActivityRecognitionListener',
-                  { watchId: args.watchId });
-  if (native_.isFailure(result)) {
-    setTimeout(function () { native_.callIfPossible(args.errorCallback, native_.getErrorObject(result)); }, 0);
-    return;
-  }
-  activityRecognitionListener.removeListener(args.watchId);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'watchId', type: types_.LONG },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    var result = native_.call(
+        'HumanActivityMonitorManager_removeActivityRecognitionListener',
+        { watchId: args.watchId }
+    );
+    if (native_.isFailure(result)) {
+        setTimeout(function() {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+        }, 0);
+        return;
+    }
+    activityRecognitionListener.removeListener(args.watchId);
 };
 
 HumanActivityMonitorManager.prototype.startRecorder = function() {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'type', type: types_.ENUM, values: Object.keys(HumanActivityRecorderType)},
-    {name: 'options', type : types_.DICTIONARY, optional: true, nullable: false}
-  ]);
-
-  var callArgs = {};
-
-  if (args.options) {
-    if (MIN_OPTION_INTERVAL > args.options.interval ||
-        MIN_OPTION_RETENTION_PERIOD > args.options.interval) {
-      throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR, 'Invalid option value');
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'type',
+            type: types_.ENUM,
+            values: Object.keys(HumanActivityRecorderType)
+        },
+        { name: 'options', type: types_.DICTIONARY, optional: true, nullable: false }
+    ]);
+
+    var callArgs = {};
+
+    if (args.options) {
+        if (
+            MIN_OPTION_INTERVAL > args.options.interval ||
+            MIN_OPTION_RETENTION_PERIOD > args.options.interval
+        ) {
+            throw new WebAPIException(
+                WebAPIException.INVALID_VALUES_ERR,
+                'Invalid option value'
+            );
+        }
+
+        callArgs.options = args.options;
     }
 
-    callArgs.options = args.options;
-  }
-
-  callArgs.type = args.type;
+    callArgs.type = args.type;
 
-  var result = native_.callSync('HumanActivityMonitorManager_startRecorder', callArgs);
+    var result = native_.callSync('HumanActivityMonitorManager_startRecorder', callArgs);
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
 HumanActivityMonitorManager.prototype.stopRecorder = function() {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'type', type: types_.ENUM, values: Object.keys(HumanActivityRecorderType)},
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'type',
+            type: types_.ENUM,
+            values: Object.keys(HumanActivityRecorderType)
+        }
+    ]);
 
-  var callArgs = {};
-  callArgs.type = args.type;
+    var callArgs = {};
+    callArgs.type = args.type;
 
-  var result = native_.callSync('HumanActivityMonitorManager_stopRecorder', callArgs);
+    var result = native_.callSync('HumanActivityMonitorManager_stopRecorder', callArgs);
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
 HumanActivityMonitorManager.prototype.readRecorderData = function() {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'type', type: types_.ENUM, values: Object.keys(HumanActivityRecorderType)},
-    {name: 'query', type : types_.DICTIONARY, optional: false, nullable: true},
-    {name: 'successCallback', type: types_.FUNCTION},
-    {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
-
-  var callArgs = {};
-
-  if (args.query) {
-    if ((args.query.startTime && MIN_QUERY_TIME > args.query.startTime) ||
-        (args.query.endTime && MIN_QUERY_TIME > args.query.endTime) ||
-        (args.query.anchorTime && MIN_QUERY_TIME > args.query.anchorTime) ||
-        (args.query.interval && MIN_QUERY_INTERVAL > args.query.interval) ||
-        (args.query.startTime && args.query.endTime && args.query.startTime > args.query.endTime)) {
-      throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR, 'Invalid query value');
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'type',
+            type: types_.ENUM,
+            values: Object.keys(HumanActivityRecorderType)
+        },
+        { name: 'query', type: types_.DICTIONARY, optional: false, nullable: true },
+        { name: 'successCallback', type: types_.FUNCTION },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    var callArgs = {};
+
+    if (args.query) {
+        if (
+            (args.query.startTime && MIN_QUERY_TIME > args.query.startTime) ||
+            (args.query.endTime && MIN_QUERY_TIME > args.query.endTime) ||
+            (args.query.anchorTime && MIN_QUERY_TIME > args.query.anchorTime) ||
+            (args.query.interval && MIN_QUERY_INTERVAL > args.query.interval) ||
+            (args.query.startTime &&
+                args.query.endTime &&
+                args.query.startTime > args.query.endTime)
+        ) {
+            throw new WebAPIException(
+                WebAPIException.INVALID_VALUES_ERR,
+                'Invalid query value'
+            );
+        }
     }
-  }
 
-  callArgs.options = args.options;
-  callArgs.type = args.type;
-  callArgs.query = args.query;
+    callArgs.options = args.options;
+    callArgs.type = args.type;
+    callArgs.query = args.query;
 
-  var callback = function(result) {
-    if (native_.isFailure(result)) {
-        native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-    } else {
-        var array = convertActivityRecorderData(args.type, native_.getResultObject(result));
-        args.successCallback(array);
-    }
-  };
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+        } else {
+            var array = convertActivityRecorderData(
+                args.type,
+                native_.getResultObject(result)
+            );
+            args.successCallback(array);
+        }
+    };
 
-  var result = native_.call('HumanActivityMonitorManager_readRecorderData', callArgs, callback);
+    var result = native_.call(
+        'HumanActivityMonitorManager_readRecorderData',
+        callArgs,
+        callback
+    );
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
 function StepDifference(data) {
-  SetReadOnlyProperty(this, 'stepCountDifference', data.stepCountDifference);
-  SetReadOnlyProperty(this, 'timestamp', data.timestamp);
-}
-
-
-function HumanActivityData() {
+    SetReadOnlyProperty(this, 'stepCountDifference', data.stepCountDifference);
+    SetReadOnlyProperty(this, 'timestamp', data.timestamp);
 }
 
+function HumanActivityData() {}
 
 function HumanActivityPedometerData(data) {
-  SetReadOnlyProperty(this, 'stepStatus', data.stepStatus);
-  SetReadOnlyProperty(this, 'speed', data.speed);
-  SetReadOnlyProperty(this, 'walkingFrequency', data.walkingFrequency);
-  SetReadOnlyProperty(this, 'cumulativeDistance', data.cumulativeDistance);
-  SetReadOnlyProperty(this, 'cumulativeCalorie', data.cumulativeCalorie);
-  SetReadOnlyProperty(this, 'cumulativeTotalStepCount', data.cumulativeTotalStepCount);
-  SetReadOnlyProperty(this, 'cumulativeWalkStepCount', data.cumulativeWalkStepCount);
-  SetReadOnlyProperty(this, 'cumulativeRunStepCount', data.cumulativeRunStepCount);
-
-  var steps = [];
-  for (var i = 0; i < data.stepCountDifferences.length; ++i) {
-    steps.push(new StepDifference(data.stepCountDifferences[i]));
-  }
-  SetReadOnlyProperty(this, 'stepCountDifferences', steps);
+    SetReadOnlyProperty(this, 'stepStatus', data.stepStatus);
+    SetReadOnlyProperty(this, 'speed', data.speed);
+    SetReadOnlyProperty(this, 'walkingFrequency', data.walkingFrequency);
+    SetReadOnlyProperty(this, 'cumulativeDistance', data.cumulativeDistance);
+    SetReadOnlyProperty(this, 'cumulativeCalorie', data.cumulativeCalorie);
+    SetReadOnlyProperty(this, 'cumulativeTotalStepCount', data.cumulativeTotalStepCount);
+    SetReadOnlyProperty(this, 'cumulativeWalkStepCount', data.cumulativeWalkStepCount);
+    SetReadOnlyProperty(this, 'cumulativeRunStepCount', data.cumulativeRunStepCount);
+
+    var steps = [];
+    for (var i = 0; i < data.stepCountDifferences.length; ++i) {
+        steps.push(new StepDifference(data.stepCountDifferences[i]));
+    }
+    SetReadOnlyProperty(this, 'stepCountDifferences', steps);
 }
 
 HumanActivityPedometerData.prototype = new HumanActivityData();
 HumanActivityPedometerData.prototype.constructor = HumanActivityPedometerData;
 
-
 function HumanActivityAccumulativePedometerData(data) {
-  SetReadOnlyProperty(this, 'stepStatus', data.stepStatus);
-  SetReadOnlyProperty(this, 'speed', data.speed);
-  SetReadOnlyProperty(this, 'walkingFrequency', data.walkingFrequency);
-  SetReadOnlyProperty(this, 'accumulativeDistance', data.accumulativeDistance);
-  SetReadOnlyProperty(this, 'accumulativeCalorie', data.accumulativeCalorie);
-  SetReadOnlyProperty(this, 'accumulativeTotalStepCount', data.accumulativeTotalStepCount);
-  SetReadOnlyProperty(this, 'accumulativeWalkStepCount', data.accumulativeWalkStepCount);
-  SetReadOnlyProperty(this, 'accumulativeRunStepCount', data.accumulativeRunStepCount);
-
-  var steps = [];
-  for (var i = 0; i < data.stepCountDifferences.length; ++i) {
-    steps.push(new StepDifference(data.stepCountDifferences[i]));
-  }
-  SetReadOnlyProperty(this, 'stepCountDifferences', steps);
+    SetReadOnlyProperty(this, 'stepStatus', data.stepStatus);
+    SetReadOnlyProperty(this, 'speed', data.speed);
+    SetReadOnlyProperty(this, 'walkingFrequency', data.walkingFrequency);
+    SetReadOnlyProperty(this, 'accumulativeDistance', data.accumulativeDistance);
+    SetReadOnlyProperty(this, 'accumulativeCalorie', data.accumulativeCalorie);
+    SetReadOnlyProperty(
+        this,
+        'accumulativeTotalStepCount',
+        data.accumulativeTotalStepCount
+    );
+    SetReadOnlyProperty(
+        this,
+        'accumulativeWalkStepCount',
+        data.accumulativeWalkStepCount
+    );
+    SetReadOnlyProperty(this, 'accumulativeRunStepCount', data.accumulativeRunStepCount);
+
+    var steps = [];
+    for (var i = 0; i < data.stepCountDifferences.length; ++i) {
+        steps.push(new StepDifference(data.stepCountDifferences[i]));
+    }
+    SetReadOnlyProperty(this, 'stepCountDifferences', steps);
 }
 
 HumanActivityAccumulativePedometerData.prototype = new HumanActivityData();
-HumanActivityAccumulativePedometerData.prototype.constructor = HumanActivityAccumulativePedometerData;
-
+// prettier-ignore
+HumanActivityAccumulativePedometerData.prototype.constructor =
+    HumanActivityAccumulativePedometerData;
 
 function HumanActivityHRMData(data) {
-  SetReadOnlyProperty(this, 'heartRate', data.heartRate);
-  SetReadOnlyProperty(this, 'rRInterval', data.rRInterval);
+    SetReadOnlyProperty(this, 'heartRate', data.heartRate);
+    SetReadOnlyProperty(this, 'rRInterval', data.rRInterval);
 }
 
 HumanActivityHRMData.prototype = new HumanActivityData();
 HumanActivityHRMData.prototype.constructor = HumanActivityHRMData;
 
 function HumanActivityRecognitionData(data) {
-  SetReadOnlyProperty(this, 'type', data.type);
-  SetReadOnlyProperty(this, 'timestamp', data.timestamp);
-  SetReadOnlyProperty(this, 'accuracy', data.accuracy);
+    SetReadOnlyProperty(this, 'type', data.type);
+    SetReadOnlyProperty(this, 'timestamp', data.timestamp);
+    SetReadOnlyProperty(this, 'accuracy', data.accuracy);
 }
 
 HumanActivityRecognitionData.prototype = new HumanActivityData();
 HumanActivityRecognitionData.prototype.constructor = HumanActivityRecognitionData;
 
 function HumanActivityGPSInfo(data) {
-  SetReadOnlyProperty(this, 'latitude', data.latitude);
-  SetReadOnlyProperty(this, 'longitude', data.longitude);
-  SetReadOnlyProperty(this, 'altitude', data.altitude);
-  SetReadOnlyProperty(this, 'speed', data.speed);
-  SetReadOnlyProperty(this, 'errorRange', data.errorRange);
-  SetReadOnlyProperty(this, 'timestamp', data.timestamp);
+    SetReadOnlyProperty(this, 'latitude', data.latitude);
+    SetReadOnlyProperty(this, 'longitude', data.longitude);
+    SetReadOnlyProperty(this, 'altitude', data.altitude);
+    SetReadOnlyProperty(this, 'speed', data.speed);
+    SetReadOnlyProperty(this, 'errorRange', data.errorRange);
+    SetReadOnlyProperty(this, 'timestamp', data.timestamp);
 }
 
-
 function HumanActivityGPSInfoArray(data) {
-  SetReadOnlyProperty(this, 'gpsInfo', data);
+    SetReadOnlyProperty(this, 'gpsInfo', data);
 }
 
 HumanActivityGPSInfoArray.prototype = new HumanActivityData();
 HumanActivityGPSInfoArray.prototype.constructor = HumanActivityGPSInfoArray;
 
 function HumanActivitySleepMonitorData(data) {
-  SetReadOnlyProperty(this, 'status', data.status);
-  SetReadOnlyProperty(this, 'timestamp', data.timestamp);
+    SetReadOnlyProperty(this, 'status', data.status);
+    SetReadOnlyProperty(this, 'timestamp', data.timestamp);
 }
 
 HumanActivitySleepMonitorData.prototype = new HumanActivityData();
@@ -606,48 +689,54 @@ HumanActivitySleepMonitorData.prototype.constructor = HumanActivitySleepMonitorD
 
 //Recorded data
 function HumanActivityRecorderData(data) {
-  if (data) {
-    SetReadOnlyProperty(this, 'startTime', data.startTime);
-    SetReadOnlyProperty(this, 'endTime', data.endTime);
-  }
+    if (data) {
+        SetReadOnlyProperty(this, 'startTime', data.startTime);
+        SetReadOnlyProperty(this, 'endTime', data.endTime);
+    }
 }
 
 function HumanActivityRecorderPedometerData(data) {
-  HumanActivityRecorderData.call(this, data);
-  SetReadOnlyProperty(this, 'distance', data.distance);
-  SetReadOnlyProperty(this, 'calorie', data.calorie);
-  SetReadOnlyProperty(this, 'totalStepCount', data.totalStepCount);
-  SetReadOnlyProperty(this, 'walkStepCount', data.walkStepCount);
-  SetReadOnlyProperty(this, 'runStepCount', data.runStepCount);
+    HumanActivityRecorderData.call(this, data);
+    SetReadOnlyProperty(this, 'distance', data.distance);
+    SetReadOnlyProperty(this, 'calorie', data.calorie);
+    SetReadOnlyProperty(this, 'totalStepCount', data.totalStepCount);
+    SetReadOnlyProperty(this, 'walkStepCount', data.walkStepCount);
+    SetReadOnlyProperty(this, 'runStepCount', data.runStepCount);
 }
 
 HumanActivityRecorderPedometerData.prototype = new HumanActivityRecorderData();
-HumanActivityRecorderPedometerData.prototype.constructor = HumanActivityRecorderPedometerData;
+// prettier-ignore
+HumanActivityRecorderPedometerData.prototype.constructor =
+    HumanActivityRecorderPedometerData;
 
 function HumanActivityRecorderHRMData(data) {
-  HumanActivityRecorderData.call(this, data);
-  SetReadOnlyProperty(this, 'heartRate', data.heartRate);
+    HumanActivityRecorderData.call(this, data);
+    SetReadOnlyProperty(this, 'heartRate', data.heartRate);
 }
 
 HumanActivityRecorderHRMData.prototype = new HumanActivityRecorderData();
 HumanActivityRecorderHRMData.prototype.constructor = HumanActivityRecorderHRMData;
 
 function HumanActivityRecorderSleepMonitorData(data) {
-  HumanActivityRecorderData.call(this, data);
-  SetReadOnlyProperty(this, 'status', data.status);
+    HumanActivityRecorderData.call(this, data);
+    SetReadOnlyProperty(this, 'status', data.status);
 }
 
 HumanActivityRecorderSleepMonitorData.prototype = new HumanActivityRecorderData();
-HumanActivityRecorderSleepMonitorData.prototype.constructor = HumanActivityRecorderSleepMonitorData;
+// prettier-ignore
+HumanActivityRecorderSleepMonitorData.prototype.constructor =
+    HumanActivityRecorderSleepMonitorData;
 
 function HumanActivityRecorderPressureData(data) {
-  HumanActivityRecorderData.call(this, data);
-  SetReadOnlyProperty(this, 'max', data.max);
-  SetReadOnlyProperty(this, 'min', data.min);
-  SetReadOnlyProperty(this, 'average', data.average);
+    HumanActivityRecorderData.call(this, data);
+    SetReadOnlyProperty(this, 'max', data.max);
+    SetReadOnlyProperty(this, 'min', data.min);
+    SetReadOnlyProperty(this, 'average', data.average);
 }
 
 HumanActivityRecorderPressureData.prototype = new HumanActivityRecorderData();
-HumanActivityRecorderPressureData.prototype.constructor = HumanActivityRecorderPressureData;
+// prettier-ignore
+HumanActivityRecorderPressureData.prototype.constructor =
+    HumanActivityRecorderPressureData;
 
 exports = new HumanActivityMonitorManager();
index 1bd9576b53beecf5a37cfe5e15acd84d74d79214..d349d27ed134bf40f39d576d38fc891f290c6ff0 100644 (file)
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
+
 var native = new xwalk.utils.NativeManager(extension);
 var validator = xwalk.utils.validator;
 var types = validator.Types;
 var map = {
-  "VolumeUp": {
-      keyName: "XF86AudioRaiseVolume",
-      keyCode: 175
-  },
-  "VolumeDown": {
-      keyName: "XF86AudioLowerVolume",
-      keyCode: 174
-  },
+    VolumeUp: {
+        keyName: 'XF86AudioRaiseVolume',
+        keyCode: 175
+    },
+    VolumeDown: {
+        keyName: 'XF86AudioLowerVolume',
+        keyCode: 174
+    }
 };
 
-
 function InputDeviceKey(dict) {
-  for (var key in dict) {
-    if (dict.hasOwnProperty(key)) {
-      Object.defineProperty(this, key, {
-        value: dict[key],
-        enumerable: true
-      });
+    for (var key in dict) {
+        if (dict.hasOwnProperty(key)) {
+            Object.defineProperty(this, key, {
+                value: dict[key],
+                enumerable: true
+            });
+        }
     }
-  }
-  Object.freeze(this);
+    Object.freeze(this);
 }
 
-
 /**
- * This class provides access to the API functionalities through the tizen.tvinputdevice interface.
+ * This class provides access to the API functionalities
+ * through the tizen.tvinputdevice interface.
  * @constructor
  */
 function InputDeviceManager() {
-  if (!(this instanceof InputDeviceManager)) {
-    throw new TypeError;
-  }
+    if (!(this instanceof InputDeviceManager)) {
+        throw new TypeError();
+    }
 }
 
 /**
@@ -57,160 +56,196 @@ function InputDeviceManager() {
  * @return {array} Array of keys
  */
 InputDeviceManager.prototype.getSupportedKeys = function() {
+    var re = [];
+    for (var key in map) {
+        if (map.hasOwnProperty(key)) {
+            re.push(new InputDeviceKey({ name: key, code: map[key].keyCode }));
+        }
+    }
 
-  var re = [];
-  for (var key in map) {
-      if (map.hasOwnProperty(key)) {
-          re.push(new InputDeviceKey({name: key, code: map[key].keyCode}));
-      }
-  }
-  
-  return re;
+    return re;
 };
 
-
 /**
  * Returns information about the key which has the given name.
  * @param {!string} keyName  The key name
  * @return {object} Key object
  */
 InputDeviceManager.prototype.getKey = function(keyName) {
-  var args = validator.validateArgs(arguments, [
-    {name: 'keyName', type: types.STRING}
-  ]);
-
-  if (!map[args.keyName]) {
-      throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-      'Parameter "keyName" is invalid.');
-  }
-  
-  return new InputDeviceKey( { name: args.keyName, code: map[args.keyName].keyCode } );
+    var args = validator.validateArgs(arguments, [
+        { name: 'keyName', type: types.STRING }
+    ]);
+
+    if (!map[args.keyName]) {
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'Parameter "keyName" is invalid.'
+        );
+    }
 
+    return new InputDeviceKey({ name: args.keyName, code: map[args.keyName].keyCode });
 };
 
-
 /**
- * Registers an input device key to receive DOM keyboard event when it is pressed or released.
+ * Registers an input device key to receive DOM keyboard event
+ * when it is pressed or released.
  * @param {!string} keyName  The key name
  */
 InputDeviceManager.prototype.registerKey = function(keyName) {
-  var args = validator.validateArgs(arguments, [
-    {name: 'keyName', type: types.STRING}
-  ]);
-  if (!map[args.keyName]) {
-      throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-      'Parameter "keyName" is invalid.');
-  }
-
-  var ret = native.sendRuntimeSyncMessage('tizen://api/inputdevice/registerKey',map[args.keyName].keyName);
-
-  if (ret === 'error') {
-    throw new WebAPIException(WebAPIException.UNKNOWN_ERR, 'UnknownError');
-  }
-};
+    var args = validator.validateArgs(arguments, [
+        { name: 'keyName', type: types.STRING }
+    ]);
+    if (!map[args.keyName]) {
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'Parameter "keyName" is invalid.'
+        );
+    }
+
+    var ret = native.sendRuntimeSyncMessage(
+        'tizen://api/inputdevice/registerKey',
+        map[args.keyName].keyName
+    );
 
+    if (ret === 'error') {
+        throw new WebAPIException(WebAPIException.UNKNOWN_ERR, 'UnknownError');
+    }
+};
 
 /**
  * Unregisters an input device key.
  * @param {!string} keyName  The key name
  */
 InputDeviceManager.prototype.unregisterKey = function(keyName) {
-  var args = validator.validateArgs(arguments, [
-    {name: 'keyName', type: types.STRING}
-  ]);
-  
-  if (!map[args.keyName]) {
-      throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-      'Parameter "keyName" is invalid.');
-  }
-  
-  var ret = native.sendRuntimeSyncMessage('tizen://api/inputdevice/unregisterKey',map[args.keyName].keyName);
-
-  if (ret === 'error') {
-    throw new WebAPIException(WebAPIException.UNKNOWN_ERR, 'UnknownError');
-  }
-};
-
-InputDeviceManager.prototype.registerKeyBatch = function() {
-  var args = validator.validateMethod(arguments, [
-    {
-      name: 'keyNames',
-      type: types.ARRAY,
-      values: types.STRING
-    },
-    {
-      name: 'successCallback',
-      type: types.FUNCTION,
-      optional: true,
-      nullable: true
-    },
-    {
-      name: 'errorCallback',
-      type: types.FUNCTION,
-      optional: true,
-      nullable: true
+    var args = validator.validateArgs(arguments, [
+        { name: 'keyName', type: types.STRING }
+    ]);
+
+    if (!map[args.keyName]) {
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'Parameter "keyName" is invalid.'
+        );
     }
-  ]);
 
-  var keysList = "";
-  for (var i = 0; i < args.keyNames.length; ++i) {
-    if (!map[args.keyNames[i]]) {
-      throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-                                'Invalid key name: "' + args.keyNames[i] + '"');
-    }
-    keysList += map[args.keyNames[i]].keyName + ((i < args.keyNames.length - 1) ? "," : "");
-  }
+    var ret = native.sendRuntimeSyncMessage(
+        'tizen://api/inputdevice/unregisterKey',
+        map[args.keyName].keyName
+    );
 
-  setTimeout(function() {
-    var ret = native.sendRuntimeSyncMessage('tizen://api/inputdevice/registerKeyBatch', keysList);
     if (ret === 'error') {
-      native.callIfPossible(args.errorCallback, new WebAPIException(
-          WebAPIException.UNKNOWN_ERR, 'Failed to register keys.'));
-    } else {
-      native.callIfPossible(args.successCallback);
+        throw new WebAPIException(WebAPIException.UNKNOWN_ERR, 'UnknownError');
     }
-  }.bind(this), 0);
 };
 
-InputDeviceManager.prototype.unregisterKeyBatch = function() {
-  var args = validator.validateMethod(arguments, [
-    {
-      name: 'keyNames',
-      type: types.ARRAY,
-      values: types.STRING
-    },
-    {
-      name: 'successCallback',
-      type: types.FUNCTION,
-      optional: true,
-      nullable: true
-    },
-    {
-      name: 'errorCallback',
-      type: types.FUNCTION,
-      optional: true,
-      nullable: true
+InputDeviceManager.prototype.registerKeyBatch = function() {
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'keyNames',
+            type: types.ARRAY,
+            values: types.STRING
+        },
+        {
+            name: 'successCallback',
+            type: types.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var keysList = '';
+    for (var i = 0; i < args.keyNames.length; ++i) {
+        if (!map[args.keyNames[i]]) {
+            throw new WebAPIException(
+                WebAPIException.INVALID_VALUES_ERR,
+                'Invalid key name: "' + args.keyNames[i] + '"'
+            );
+        }
+        keysList +=
+            map[args.keyNames[i]].keyName + (i < args.keyNames.length - 1 ? ',' : '');
     }
-  ]);
 
-  var keysList = "";
-  for (var i = 0; i < args.keyNames.length; ++i) {
-    if (!map[args.keyNames[i]]) {
-      throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-                                'Invalid key name: "' + args.keyNames[i] + '"');
-    }
-    keysList += map[args.keyNames[i]].keyName + ((i < args.keyNames.length - 1) ? "," : "");
-  }
+    setTimeout(
+        function() {
+            var ret = native.sendRuntimeSyncMessage(
+                'tizen://api/inputdevice/registerKeyBatch',
+                keysList
+            );
+            if (ret === 'error') {
+                native.callIfPossible(
+                    args.errorCallback,
+                    new WebAPIException(
+                        WebAPIException.UNKNOWN_ERR,
+                        'Failed to register keys.'
+                    )
+                );
+            } else {
+                native.callIfPossible(args.successCallback);
+            }
+        }.bind(this),
+        0
+    );
+};
 
-  setTimeout(function() {
-    var ret = native.sendRuntimeSyncMessage('tizen://api/inputdevice/unregisterKeyBatch', keysList);
-    if (ret === 'error') {
-      native.callIfPossible(args.errorCallback, new WebAPIException(
-          WebAPIException.UNKNOWN_ERR, 'Failed to unregister keys.'));
-    } else {
-      native.callIfPossible(args.successCallback);
+InputDeviceManager.prototype.unregisterKeyBatch = function() {
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'keyNames',
+            type: types.ARRAY,
+            values: types.STRING
+        },
+        {
+            name: 'successCallback',
+            type: types.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var keysList = '';
+    for (var i = 0; i < args.keyNames.length; ++i) {
+        if (!map[args.keyNames[i]]) {
+            throw new WebAPIException(
+                WebAPIException.INVALID_VALUES_ERR,
+                'Invalid key name: "' + args.keyNames[i] + '"'
+            );
+        }
+        keysList +=
+            map[args.keyNames[i]].keyName + (i < args.keyNames.length - 1 ? ',' : '');
     }
-  }.bind(this), 0);
+
+    setTimeout(
+        function() {
+            var ret = native.sendRuntimeSyncMessage(
+                'tizen://api/inputdevice/unregisterKeyBatch',
+                keysList
+            );
+            if (ret === 'error') {
+                native.callIfPossible(
+                    args.errorCallback,
+                    new WebAPIException(
+                        WebAPIException.UNKNOWN_ERR,
+                        'Failed to unregister keys.'
+                    )
+                );
+            } else {
+                native.callIfPossible(args.successCallback);
+            }
+        }.bind(this),
+        0
+    );
 };
 
 // Exports
index bd3f32db077fe99fc20aabff70479e3992408f9f..e7a7d16a75404e20fbd2cb9988c8df10ea689db2 100644 (file)
@@ -19,1421 +19,1525 @@ var validator = xwalk.utils.validator;
 var types = validator.Types;
 var T = xwalk.utils.type;
 var kIdKey = Symbol();
-var converter =  xwalk.utils.converter;
+var converter = xwalk.utils.converter;
 var privUtils_ = xwalk.utils;
 
 function createListener(name, c) {
-  var listenerName = name;
-  var callback = c || function(response) {
-    return response;
-  };
-  var listeners = {};
-  var jsListenerRegistered = false;
-
-  function internalCallback(response) {
-    if (native.isSuccess(response)) {
-      response = native.getResultObject(response);
-      if (listeners[response.id]) {
-        listeners[response.id](callback(response));
-      }
-    }
-  }
-
-  function addListener(id, func) {
-    if (!jsListenerRegistered) {
-      native.addListener(listenerName, internalCallback);
-      jsListenerRegistered = true;
+    var listenerName = name;
+    var callback =
+        c ||
+        function(response) {
+            return response;
+        };
+    var listeners = {};
+    var jsListenerRegistered = false;
+
+    function internalCallback(response) {
+        if (native.isSuccess(response)) {
+            response = native.getResultObject(response);
+            if (listeners[response.id]) {
+                listeners[response.id](callback(response));
+            }
+        }
     }
 
-    listeners[id] = func;
-  }
+    function addListener(id, func) {
+        if (!jsListenerRegistered) {
+            native.addListener(listenerName, internalCallback);
+            jsListenerRegistered = true;
+        }
 
-  function removeListener(id) {
-    if (listeners[id]) {
-      delete listeners[id];
+        listeners[id] = func;
     }
 
-    if (jsListenerRegistered && T.isEmptyObject(listeners)) {
-      native.removeListener(listenerName, internalCallback);
-      jsListenerRegistered = false;
+    function removeListener(id) {
+        if (listeners[id]) {
+            delete listeners[id];
+        }
+
+        if (jsListenerRegistered && T.isEmptyObject(listeners)) {
+            native.removeListener(listenerName, internalCallback);
+            jsListenerRegistered = false;
+        }
     }
-  }
 
-  return {
-    addListener: addListener,
-    removeListener: removeListener
-  };
+    return {
+        addListener: addListener,
+        removeListener: removeListener
+    };
 }
 
 function InternalData(d) {
-  for (var prop in d) {
-    if (d.hasOwnProperty(prop)) {
-      this[prop] = d[prop];
+    for (var prop in d) {
+        if (d.hasOwnProperty(prop)) {
+            this[prop] = d[prop];
+        }
     }
-  }
 }
 
 InternalData.prototype.update = function(dst) {
-  for (var prop in this) {
-    if (this.hasOwnProperty(prop) && dst.hasOwnProperty(prop)) {
-      dst[prop] = this;
+    for (var prop in this) {
+        if (this.hasOwnProperty(prop) && dst.hasOwnProperty(prop)) {
+            dst[prop] = this;
+        }
     }
-  }
 };
 
 InternalData.prototype.decorate = function(dst) {
-  var that = this;
-  function getBuilder(prop) {
-    if (T.isArray(that[prop])) {
-      return function() {
-        return that[prop].slice();
-      };
-    } else {
-      return function() {
-        return that[prop];
-      };
+    var that = this;
+    function getBuilder(prop) {
+        if (T.isArray(that[prop])) {
+            return function() {
+                return that[prop].slice();
+            };
+        } else {
+            return function() {
+                return that[prop];
+            };
+        }
     }
-  }
-  function setBuilder(prop) {
-    return function(d) {
-      if (d instanceof InternalData) {
-        that[prop] = d[prop];
-      }
-    };
-  }
-  for (var prop in this) {
-    if (this.hasOwnProperty(prop)) {
-      Object.defineProperty(dst, prop, {
-        get: getBuilder(prop),
-        set: setBuilder(prop),
-        enumerable: true
-      });
+    function setBuilder(prop) {
+        return function(d) {
+            if (d instanceof InternalData) {
+                that[prop] = d[prop];
+            }
+        };
+    }
+    for (var prop in this) {
+        if (this.hasOwnProperty(prop)) {
+            Object.defineProperty(dst, prop, {
+                get: getBuilder(prop),
+                set: setBuilder(prop),
+                enumerable: true
+            });
+        }
     }
-  }
 };
 
 function updateWithInternalData(src, dst) {
-  new InternalData(src).update(dst);
+    new InternalData(src).update(dst);
 }
 
 function decorateWithData(data, dst) {
-  for (var prop in data) {
-    if (data.hasOwnProperty(prop)) {
-      Object.defineProperty(dst, prop, {
-        value: data[prop],
-        writable: false,
-        enumerable: true
-      });
+    for (var prop in data) {
+        if (data.hasOwnProperty(prop)) {
+            Object.defineProperty(dst, prop, {
+                value: data[prop],
+                writable: false,
+                enumerable: true
+            });
+        }
     }
-  }
 }
 
 var ResponseResult = {
-  SUCCESS: 'SUCCESS',
-  ERROR: 'ERROR',
-  RESOURCE_CREATED: 'RESOURCE_CREATED',
-  RESOURCE_DELETED: 'RESOURCE_DELETED',
-  RESOURCE_CHANGED: 'RESOURCE_CHANGED',
-  SLOW: 'SLOW',
-  FORBIDDEN: 'FORBIDDEN',
+    SUCCESS: 'SUCCESS',
+    ERROR: 'ERROR',
+    RESOURCE_CREATED: 'RESOURCE_CREATED',
+    RESOURCE_DELETED: 'RESOURCE_DELETED',
+    RESOURCE_CHANGED: 'RESOURCE_CHANGED',
+    SLOW: 'SLOW',
+    FORBIDDEN: 'FORBIDDEN'
 };
 
 var PresenceResponseResultType = {
-  SUCCESS: 'SUCCESS',
-  STOPPED: 'STOPPED',
-  TIMEOUT: 'TIMEOUT'
+    SUCCESS: 'SUCCESS',
+    STOPPED: 'STOPPED',
+    TIMEOUT: 'TIMEOUT'
 };
 
 var PresenceTriggerType = {
-  CREATED: 'CREATED',
-  UPDATED: 'UPDATED',
-  DESTROYED: 'DESTROYED'
+    CREATED: 'CREATED',
+    UPDATED: 'UPDATED',
+    DESTROYED: 'DESTROYED'
 };
 
 var ConnectivityType = {
-  IP: "IP",
-  PREFER_UDP: "PREFER_UDP",
-  PREFER_TCP: "PREFER_TCP",
-  IPV4_ONLY: "IPV4_ONLY",
-  IPV6_ONLY: "IPV6_ONLY",
-  ALL: 'ALL'
+    IP: 'IP',
+    PREFER_UDP: 'PREFER_UDP',
+    PREFER_TCP: 'PREFER_TCP',
+    IPV4_ONLY: 'IPV4_ONLY',
+    IPV6_ONLY: 'IPV6_ONLY',
+    ALL: 'ALL'
 };
 
 var ObservePolicy = {
-  IGNORE_OUT_OF_ORDER: 'IGNORE_OUT_OF_ORDER',
-  ACCEPT_OUT_OF_ORDER: 'ACCEPT_OUT_OF_ORDER'
+    IGNORE_OUT_OF_ORDER: 'IGNORE_OUT_OF_ORDER',
+    ACCEPT_OUT_OF_ORDER: 'ACCEPT_OUT_OF_ORDER'
 };
 
 var PresenceTriggerType = {
-  NO_TYPE: 'NO_TYPE',
-  REGISTER: 'REGISTER',
-  DEREGISTER: 'DEREGISTER'
+    NO_TYPE: 'NO_TYPE',
+    REGISTER: 'REGISTER',
+    DEREGISTER: 'DEREGISTER'
 };
 
 var QosLevel = {
-  LOW: 'LOW',
-  HIGH: 'HIGH'
+    LOW: 'LOW',
+    HIGH: 'HIGH'
 };
 
 var RequestType = {
-  UNKNOWN: 'UNKNOWN',
-  GET: 'GET',
-  PUT: 'PUT',
-  POST: 'POST',
-  DELETE: 'DELETE'
+    UNKNOWN: 'UNKNOWN',
+    GET: 'GET',
+    PUT: 'PUT',
+    POST: 'POST',
+    DELETE: 'DELETE'
 };
 
 var ObserveType = {
-  NO_TYPE: 'NO_TYPE',
-  REGISTER: 'REGISTER',
-  DEREGISTER: 'DEREGISTER'
+    NO_TYPE: 'NO_TYPE',
+    REGISTER: 'REGISTER',
+    DEREGISTER: 'DEREGISTER'
 };
 
 function DeviceInfo(data) {
-  decorateWithData(data, this);
+    decorateWithData(data, this);
 }
 
 function IotconOption(id, data) {
-  validator.isConstructorCall(this, tizen.IotconOption);
-
-  var _id = 0;
-  var _data = '';
-
-  Object.defineProperties(this, {
-    id: {
-      get: function() {
-        return _id;
-      },
-      set: function(v) {
-        if (v) {
-          _id = v;
-        }
-      },
-      enumerable: true
-    },
-    data: {
-      get: function() {
-        return _data;
-      },
-      set: function(v) {
-        if (v) {
-          _data = v;
+    validator.isConstructorCall(this, tizen.IotconOption);
+
+    var _id = 0;
+    var _data = '';
+
+    Object.defineProperties(this, {
+        id: {
+            get: function() {
+                return _id;
+            },
+            set: function(v) {
+                if (v) {
+                    _id = v;
+                }
+            },
+            enumerable: true
+        },
+        data: {
+            get: function() {
+                return _data;
+            },
+            set: function(v) {
+                if (v) {
+                    _data = v;
+                }
+            },
+            enumerable: true
         }
-      },
-      enumerable: true
-    }
-  });
+    });
 
-  this["id"] = id;
-  this["data"] = data;
+    this['id'] = id;
+    this['data'] = data;
 }
 
 function PlatformInfo(data) {
-  decorateWithData(data, this);
+    decorateWithData(data, this);
 }
 
 function PresenceResponse(data) {
-  decorateWithData(data, this);
+    decorateWithData(data, this);
 }
 
 function Representation(uriPath) {
-  validator.isConstructorCall(this, tizen.Representation);
-
-  Object.defineProperties(this, {
-    uriPath: {
-      value: uriPath,
-      writable: true,
-      enumerable: true
-    },
-    resourceTypes: {
-      value: [],
-      writable: true,
-      enumerable: true
-    },
-    resourceInterfaces: {
-      value: [],
-      writable: true,
-      enumerable: true
-    },
-    attributes: {
-      value: null,
-      writable: true,
-      enumerable: true
-    },
-    children: {
-      value: null,
-      writable: true,
-      enumerable: true
-    }
-  });
+    validator.isConstructorCall(this, tizen.Representation);
+
+    Object.defineProperties(this, {
+        uriPath: {
+            value: uriPath,
+            writable: true,
+            enumerable: true
+        },
+        resourceTypes: {
+            value: [],
+            writable: true,
+            enumerable: true
+        },
+        resourceInterfaces: {
+            value: [],
+            writable: true,
+            enumerable: true
+        },
+        attributes: {
+            value: null,
+            writable: true,
+            enumerable: true
+        },
+        children: {
+            value: null,
+            writable: true,
+            enumerable: true
+        }
+    });
 }
 
 function createRepresentation(data) {
-  var r = new tizen.Representation(data.uriPath);
-  var props = ['resourceTypes', 'resourceInterfaces', 'attributes'];
+    var r = new tizen.Representation(data.uriPath);
+    var props = ['resourceTypes', 'resourceInterfaces', 'attributes'];
 
-  for (var p = 0; p < props.length; ++p) {
-    if (data[props[p]]) {
-      r[props[p]] = data[props[p]];
+    for (var p = 0; p < props.length; ++p) {
+        if (data[props[p]]) {
+            r[props[p]] = data[props[p]];
+        }
     }
-  }
 
-  if (data.children) {
-    r.children = [];
-    for (var i = 0; i < data.children.length; ++i) {
-      r.children.push(createRepresentation(data.children[i]));
+    if (data.children) {
+        r.children = [];
+        for (var i = 0; i < data.children.length; ++i) {
+            r.children.push(createRepresentation(data.children[i]));
+        }
     }
-  }
 
-  return r;
+    return r;
 }
 
 function Request(id, data) {
-  data.id = id;
-
-  if (data.representation) {
-    data.representation = createRepresentation(data.representation);
-  } else {
-    data.representation = null;
-  }
-
-  if (data.options) {
-    var options = [];
-    for (var i = 0; i < data.options.length; ++i) {
-      options.push(new IotconOption(data.options[i].id, data.options[i].data));
+    data.id = id;
+
+    if (data.representation) {
+        data.representation = createRepresentation(data.representation);
+    } else {
+        data.representation = null;
+    }
+
+    if (data.options) {
+        var options = [];
+        for (var i = 0; i < data.options.length; ++i) {
+            options.push(new IotconOption(data.options[i].id, data.options[i].data));
+        }
+        data.options = options;
     }
-    data.options = options;
-  }
 
-  decorateWithData(data, this);
+    decorateWithData(data, this);
 }
 
 function Resource(data) {
-  Object.defineProperties(this, {
-    observerIds: {
-      get: function() {
-        var callArgs = {};
-        callArgs.id = this[kIdKey];
-        var result = native.callSync('IotconResource_getObserverIds', callArgs);
-        return native.getResultObject(result);
-      }.bind(this),
-      set: function() {},
-      enumerable: true
-    }
-  });
+    Object.defineProperties(this, {
+        observerIds: {
+            get: function() {
+                var callArgs = {};
+                callArgs.id = this[kIdKey];
+                var result = native.callSync('IotconResource_getObserverIds', callArgs);
+                return native.getResultObject(result);
+            }.bind(this),
+            set: function() {},
+            enumerable: true
+        }
+    });
 
-  this[kIdKey] = data.id;
+    this[kIdKey] = data.id;
 
-  delete data.id;
+    delete data.id;
 
-  var internal = new InternalData(data);
-  internal.decorate(this);
+    var internal = new InternalData(data);
+    internal.decorate(this);
 
-  this.attributes = null;
+    this.attributes = null;
 }
 
 Resource.prototype.notify = function() {
-  var args = validator.validateMethod(arguments, [{
-    name: 'qos',
-    type: types.ENUM,
-    values: T.getValues(QosLevel)
-  }, {
-    name: 'observerIds',
-    type: types.ARRAY,
-    values: types.LONG,
-    optional: true,
-    nullable: true
-  }]);
-
-  var attributes = {};
-  function getAttributes(r) {
-    attributes[r[kIdKey]] = r.attributes;
-    for (var i = 0; i < r.resources.length; ++i) {
-      getAttributes(r.resources[i]);
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'qos',
+            type: types.ENUM,
+            values: T.getValues(QosLevel)
+        },
+        {
+            name: 'observerIds',
+            type: types.ARRAY,
+            values: types.LONG,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var attributes = {};
+    function getAttributes(r) {
+        attributes[r[kIdKey]] = r.attributes;
+        for (var i = 0; i < r.resources.length; ++i) {
+            getAttributes(r.resources[i]);
+        }
     }
-  }
-  getAttributes(this);
+    getAttributes(this);
 
-  var callArgs = {};
-  callArgs.id = this[kIdKey];
-  callArgs.qos = args.qos;
-  callArgs.observerIds = args.observerIds;
-  callArgs.attributes = attributes;
+    var callArgs = {};
+    callArgs.id = this[kIdKey];
+    callArgs.qos = args.qos;
+    callArgs.observerIds = args.observerIds;
+    callArgs.attributes = attributes;
 
-  var result = native.callSync('IotconResource_notify', callArgs);
+    var result = native.callSync('IotconResource_notify', callArgs);
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    }
 };
 
 Resource.prototype.addResourceTypes = function() {
-  var args = validator.validateMethod(arguments, [{
-    name: 'types',
-    type: types.ARRAY,
-    values: types.STRING
-  }]);
-
-  var callArgs = {};
-  callArgs.id = this[kIdKey];
-  callArgs.types = args.types;
-
-  var result = native.callSync('IotconResource_addResourceTypes', callArgs);
-
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    var t = this.resourceTypes;
-    t = t.concat(args.types);
-    updateWithInternalData({ resourceTypes: t }, this);
-  }
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'types',
+            type: types.ARRAY,
+            values: types.STRING
+        }
+    ]);
+
+    var callArgs = {};
+    callArgs.id = this[kIdKey];
+    callArgs.types = args.types;
+
+    var result = native.callSync('IotconResource_addResourceTypes', callArgs);
+
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    } else {
+        var t = this.resourceTypes;
+        t = t.concat(args.types);
+        updateWithInternalData({ resourceTypes: t }, this);
+    }
 };
 
 Resource.prototype.addResourceInterface = function() {
-  var args = validator.validateMethod(arguments, [{
-    name: 'iface',
-    type: types.STRING
-  }]);
-
-  var callArgs = {};
-  callArgs.id = this[kIdKey];
-  callArgs.iface = args.iface;
-
-  var result = native.callSync('IotconResource_addResourceInterface', callArgs);
-
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    var interfaces = this.resourceInterfaces;
-    interfaces.push(args.iface);
-    updateWithInternalData({ resourceInterfaces: interfaces }, this);
-  }
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'iface',
+            type: types.STRING
+        }
+    ]);
+
+    var callArgs = {};
+    callArgs.id = this[kIdKey];
+    callArgs.iface = args.iface;
+
+    var result = native.callSync('IotconResource_addResourceInterface', callArgs);
+
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    } else {
+        var interfaces = this.resourceInterfaces;
+        interfaces.push(args.iface);
+        updateWithInternalData({ resourceInterfaces: interfaces }, this);
+    }
 };
 
 Resource.prototype.addChildResource = function() {
-  var args = validator.validateMethod(arguments, [{
-    name: 'resource',
-    type: types.PLATFORM_OBJECT,
-    values: Resource
-  }]);
-
-  var callArgs = {};
-  callArgs.id = this[kIdKey];
-  callArgs.childId = args.resource[kIdKey];
-
-  var result = native.callSync('IotconResource_addChildResource', callArgs);
-
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    var children = this.resources;
-    children.push(args.resource);
-    updateWithInternalData({ resources: children }, this);
-  }
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'resource',
+            type: types.PLATFORM_OBJECT,
+            values: Resource
+        }
+    ]);
+
+    var callArgs = {};
+    callArgs.id = this[kIdKey];
+    callArgs.childId = args.resource[kIdKey];
+
+    var result = native.callSync('IotconResource_addChildResource', callArgs);
+
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    } else {
+        var children = this.resources;
+        children.push(args.resource);
+        updateWithInternalData({ resources: children }, this);
+    }
 };
 
 Resource.prototype.removeChildResource = function() {
-  var args = validator.validateMethod(arguments, [{
-    name: 'resource',
-    type: types.PLATFORM_OBJECT,
-    values: Resource
-  }]);
-
-  var callArgs = {};
-  callArgs.id = this[kIdKey];
-  callArgs.childId = args.resource[kIdKey];
-
-  var result = native.callSync('IotconResource_removeChildResource', callArgs);
-
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    var children = this.resources;
-    var position = children.indexOf(args.resource);
-    if (-1 !== position) {
-      children.splice(position, 1);
-      updateWithInternalData({ resources: children }, this);
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'resource',
+            type: types.PLATFORM_OBJECT,
+            values: Resource
+        }
+    ]);
+
+    var callArgs = {};
+    callArgs.id = this[kIdKey];
+    callArgs.childId = args.resource[kIdKey];
+
+    var result = native.callSync('IotconResource_removeChildResource', callArgs);
+
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    } else {
+        var children = this.resources;
+        var position = children.indexOf(args.resource);
+        if (-1 !== position) {
+            children.splice(position, 1);
+            updateWithInternalData({ resources: children }, this);
+        }
     }
-  }
 };
 
 var resourceRequestListener = createListener('ResourceRequestListener');
 
 var _setRequestListener = function(id, args_listener) {
-  var callArgs = {};
-  callArgs.id = id;
-
-  var listener = function(result) {
-    if(!result.data.request.representation && result.data.uriPath) {
-      result.data.request.representation = new tizen.Representation(result.data.uriPath);
-    }
-    var request = new Request(result.data.id, result.data.request);
+    var callArgs = {};
+    callArgs.id = id;
+
+    var listener = function(result) {
+        if (!result.data.request.representation && result.data.uriPath) {
+            result.data.request.representation = new tizen.Representation(
+                result.data.uriPath
+            );
+        }
+        var request = new Request(result.data.id, result.data.request);
 
-    switch (converter.toString(result.data.type, false)) {
-      case RequestType.GET:
-        native.callIfPossible(args_listener.onget, request);
-        break;
+        switch (converter.toString(result.data.type, false)) {
+        case RequestType.GET:
+            native.callIfPossible(args_listener.onget, request);
+            break;
 
-      case RequestType.PUT:
-        native.callIfPossible(args_listener.onput, request);
-        break;
+        case RequestType.PUT:
+            native.callIfPossible(args_listener.onput, request);
+            break;
 
-      case RequestType.POST:
-        native.callIfPossible(args_listener.onpost, request);
-        break;
+        case RequestType.POST:
+            native.callIfPossible(args_listener.onpost, request);
+            break;
 
-      case RequestType.DELETE:
-        native.callIfPossible(args_listener.ondelete, request);
-        break;
-    }
+        case RequestType.DELETE:
+            native.callIfPossible(args_listener.ondelete, request);
+            break;
+        }
 
-    var observeType = converter.toString(result.data.observeType, false);
-    var observerId = converter.toUnsignedLong(result.data.observerId, false);
-    if (observeType !== ObserveType.NO_TYPE && observerId) {
-      native.callIfPossible(args_listener.onobserving(request, observeType, observerId));
-    }
-  };
+        var observeType = converter.toString(result.data.observeType, false);
+        var observerId = converter.toUnsignedLong(result.data.observerId, false);
+        if (observeType !== ObserveType.NO_TYPE && observerId) {
+            native.callIfPossible(
+                args_listener.onobserving(request, observeType, observerId)
+            );
+        }
+    };
 
-  var result = native.callSync('IotconResource_setRequestListener', callArgs);
+    var result = native.callSync('IotconResource_setRequestListener', callArgs);
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    resourceRequestListener.addListener(id, listener);
-  }
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    } else {
+        resourceRequestListener.addListener(id, listener);
+    }
 };
 
 Resource.prototype.setRequestListener = function() {
-  var args = validator.validateMethod(arguments, [{
-    name: 'listener',
-    type: types.LISTENER,
-    values: ['onget', 'onput', 'onpost', 'ondelete', 'onobserving']
-  }]);
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'listener',
+            type: types.LISTENER,
+            values: ['onget', 'onput', 'onpost', 'ondelete', 'onobserving']
+        }
+    ]);
 
-  _setRequestListener(this[kIdKey], args.listener);
+    _setRequestListener(this[kIdKey], args.listener);
 };
 
 Resource.prototype.unsetRequestListener = function() {
-  var callArgs = {};
-  callArgs.id = this[kIdKey];
+    var callArgs = {};
+    callArgs.id = this[kIdKey];
 
-  var result = native.callSync('IotconResource_unsetRequestListener', callArgs);
+    var result = native.callSync('IotconResource_unsetRequestListener', callArgs);
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    resourceRequestListener.removeListener(this[kIdKey]);
-  }
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    } else {
+        resourceRequestListener.removeListener(this[kIdKey]);
+    }
 };
 
 function Response(request) {
-  validator.isConstructorCall(this, tizen.Response);
-
-  Object.defineProperties(this, {
-    request: {
-      value: request,
-      writable: false,
-      enumerable: true
-    },
-    result: {
-      value: null,
-      writable: true,
-      enumerable: true
-    },
-    representation: {
-      value: null,
-      writable: true,
-      enumerable: true
-    },
-    options: {
-      value: null,
-      writable: true,
-      enumerable: true
-    }
-  });
+    validator.isConstructorCall(this, tizen.Response);
+
+    Object.defineProperties(this, {
+        request: {
+            value: request,
+            writable: false,
+            enumerable: true
+        },
+        result: {
+            value: null,
+            writable: true,
+            enumerable: true
+        },
+        representation: {
+            value: null,
+            writable: true,
+            enumerable: true
+        },
+        options: {
+            value: null,
+            writable: true,
+            enumerable: true
+        }
+    });
 }
 
 Response.prototype.send = function() {
-  var callArgs = {};
-  callArgs.id = this.request.id;
-  callArgs.result = this.result;
-  callArgs.representation = this.representation;
-  callArgs.options = this.options;
+    var callArgs = {};
+    callArgs.id = this.request.id;
+    callArgs.result = this.result;
+    callArgs.representation = this.representation;
+    callArgs.options = this.options;
 
-  var result = native.callSync('IotconResponse_send', callArgs);
+    var result = native.callSync('IotconResponse_send', callArgs);
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    }
 };
 
 function RemoteResponse(data) {
-  if (data.representation) {
-    data.representation = createRepresentation(data.representation);
-  } else {
-    data.representation = null;
-  }
-
-  if (data.options) {
-    var options = [];
-    for (var i = 0; i < data.options.length; ++i) {
-      options.push(new IotconOption(data.options[i].id, data.options[i].data));
+    if (data.representation) {
+        data.representation = createRepresentation(data.representation);
+    } else {
+        data.representation = null;
+    }
+
+    if (data.options) {
+        var options = [];
+        for (var i = 0; i < data.options.length; ++i) {
+            options.push(new IotconOption(data.options[i].id, data.options[i].data));
+        }
+        data.options = options;
     }
-    data.options = options;
-  }
 
-  decorateWithData(data, this);
+    decorateWithData(data, this);
 }
 
 function State(key, state) {
-  validator.isConstructorCall(this, tizen.State);
-
-  Object.defineProperties(this, {
-    key: {
-      value: key,
-      writable: false,
-      enumerable: true
-    },
-    state: {
-      value: state,
-      writable: false,
-      enumerable: true
-    }
-  });
+    validator.isConstructorCall(this, tizen.State);
+
+    Object.defineProperties(this, {
+        key: {
+            value: key,
+            writable: false,
+            enumerable: true
+        },
+        state: {
+            value: state,
+            writable: false,
+            enumerable: true
+        }
+    });
 }
 
-function prepareResourceInfo(that, notIncludeOptions){
-  var callArgs = {};
-  callArgs.id = that[kIdKey];
-  if (!callArgs.id) {
-    privUtils_.log("RemoteResource is not already stored in C++ layer, adding all members");
-    callArgs.hostAddress = that.hostAddress;
-    callArgs.connectivityType = that.connectivityType;
-    callArgs.uriPath = that.uriPath;
-    //properties flags
-    callArgs.isObservable = that.isObservable;
-    callArgs.isDiscoverable = that.isDiscoverable;
-    callArgs.isActive = that.isActive;
-    callArgs.isSlow = that.isSlow;
-    callArgs.isSecure = that.isSecure;
-    callArgs.isExplicitDiscoverable = that.isExplicitDiscoverable;
-    callArgs.resourceTypes = that.resourceTypes;
-    callArgs.resourceInterfaces = that.resourceInterfaces;
-    if (!notIncludeOptions) {
-      callArgs.options = that.options;
+function prepareResourceInfo(that, notIncludeOptions) {
+    var callArgs = {};
+    callArgs.id = that[kIdKey];
+    if (!callArgs.id) {
+        privUtils_.log(
+            'RemoteResource is not already stored in C++ layer, adding all members'
+        );
+        callArgs.hostAddress = that.hostAddress;
+        callArgs.connectivityType = that.connectivityType;
+        callArgs.uriPath = that.uriPath;
+        //properties flags
+        callArgs.isObservable = that.isObservable;
+        callArgs.isDiscoverable = that.isDiscoverable;
+        callArgs.isActive = that.isActive;
+        callArgs.isSlow = that.isSlow;
+        callArgs.isSecure = that.isSecure;
+        callArgs.isExplicitDiscoverable = that.isExplicitDiscoverable;
+        callArgs.resourceTypes = that.resourceTypes;
+        callArgs.resourceInterfaces = that.resourceInterfaces;
+        if (!notIncludeOptions) {
+            callArgs.options = that.options;
+        }
+    } else {
+        privUtils_.log('Already stored in C++, all needed info is id');
     }
-  } else {
-    privUtils_.log("Already stored in C++, all needed info is id");
-  }
-  return callArgs;
+    return callArgs;
 }
 
 function manageId(that, result) {
-  if (result.keepId) {
-    that[kIdKey] = result.id;
-    privUtils_.log("Keep id of resource: " + that[kIdKey]);
-  } else {
-    privUtils_.log("Clear id of resource");
-    delete that[kIdKey];
-  }
-  delete result.keepId;
-  delete result.id;
+    if (result.keepId) {
+        that[kIdKey] = result.id;
+        privUtils_.log('Keep id of resource: ' + that[kIdKey]);
+    } else {
+        privUtils_.log('Clear id of resource');
+        delete that[kIdKey];
+    }
+    delete result.keepId;
+    delete result.id;
 }
 
 function RemoteResource(data) {
-  Object.defineProperties(this, {
-    cachedRepresentation: {
-      get: function() {
-        var callArgs = prepareResourceInfo(this);
-        var result = native.callSync('IotconRemoteResource_getCachedRepresentation', callArgs);
-        if (native.isSuccess(result)) {
-          return createRepresentation(native.getResultObject(result));
-        } else {
-          return null;
-        }
-      }.bind(this),
-      set: function() {},
-      enumerable: true
-    },
-    options: {
-      get: function() {
-        var options_ = null;
-        var callArgs = prepareResourceInfo(this, true);
-        var result = native.callSync('IotconRemoteResource_getOptions', callArgs);
-        if (native.isSuccess(result)) {
-          var data = native.getResultObject(result);
-          options_ = [];
-          for (var i = 0; i < data.length; ++i) {
-            options_.push(new IotconOption(data[i].id, data[i].data));
-          }
-        }
-        return options_;
-      }.bind(this),
-      set: function(val) {
-        // array or null are only acceptable values
-        if (!T.isArray(val) && null != val) {
-          return;
-        }
-        // check types of array values
-        if (T.isArray(val)) {
-          for (var i = 0; i < val.length; ++i) {
-            if (!(val[i] instanceof tizen.IotconOption)) {
-              return;
-            }
-          }
+    Object.defineProperties(this, {
+        cachedRepresentation: {
+            get: function() {
+                var callArgs = prepareResourceInfo(this);
+                var result = native.callSync(
+                    'IotconRemoteResource_getCachedRepresentation',
+                    callArgs
+                );
+                if (native.isSuccess(result)) {
+                    return createRepresentation(native.getResultObject(result));
+                } else {
+                    return null;
+                }
+            }.bind(this),
+            set: function() {},
+            enumerable: true
+        },
+        options: {
+            get: function() {
+                var options_ = null;
+                var callArgs = prepareResourceInfo(this, true);
+                var result = native.callSync('IotconRemoteResource_getOptions', callArgs);
+                if (native.isSuccess(result)) {
+                    var data = native.getResultObject(result);
+                    options_ = [];
+                    for (var i = 0; i < data.length; ++i) {
+                        options_.push(new IotconOption(data[i].id, data[i].data));
+                    }
+                }
+                return options_;
+            }.bind(this),
+            set: function(val) {
+                // array or null are only acceptable values
+                if (!T.isArray(val) && null != val) {
+                    return;
+                }
+                // check types of array values
+                if (T.isArray(val)) {
+                    for (var i = 0; i < val.length; ++i) {
+                        if (!(val[i] instanceof tizen.IotconOption)) {
+                            return;
+                        }
+                    }
+                }
+
+                var callArgs = prepareResourceInfo(this, true);
+                callArgs['options'] = val;
+
+                var result = native.callSync('IotconRemoteResource_setOptions', callArgs);
+                if (native.isSuccess(result)) {
+                    manageId(this, native.getResultObject(result));
+                }
+            }.bind(this),
+            enumerable: true
+        },
+        timeInterval: {
+            get: function() {
+                var callArgs = prepareResourceInfo(this, true);
+
+                var result = native.callSync(
+                    'IotconRemoteResource_getTimeInterval',
+                    callArgs
+                );
+                if (native.isSuccess(result)) {
+                    return native.getResultObject(result);
+                }
+                return null;
+            }.bind(this),
+            set: function(val) {
+                var callArgs = prepareResourceInfo(this, true);
+                callArgs[timeInterval] = converter.toLong(val);
+
+                native.callSync('IotconRemoteResource_setTimeInterval', callArgs);
+            }.bind(this),
+            enumerable: true
         }
+    });
 
-        var callArgs = prepareResourceInfo(this, true);
-        callArgs['options'] = val;
+    this[kIdKey] = data.id;
 
-        var result = native.callSync('IotconRemoteResource_setOptions', callArgs);
-        if (native.isSuccess(result)) {
-          manageId(this, native.getResultObject(result));
-        }
-      }.bind(this),
-      enumerable: true
-    },
-    timeInterval: {
-      get: function() {
-        var callArgs = prepareResourceInfo(this, true);
-
-        var result = native.callSync('IotconRemoteResource_getTimeInterval', callArgs);
-        if (native.isSuccess(result)) {
-          return native.getResultObject(result);
-        }
-        return null;
-      }.bind(this),
-      set: function(val) {
-        var callArgs = prepareResourceInfo(this, true);
-        callArgs[timeInterval] = converter.toLong(val);
-
-        native.callSync('IotconRemoteResource_setTimeInterval', callArgs);
-      }.bind(this),
-      enumerable: true
-    }
-  });
-
-  this[kIdKey] = data.id;
-
-  delete data.id;
+    delete data.id;
 
-  var internal = new InternalData(data);
-  internal.decorate(this);
+    var internal = new InternalData(data);
+    internal.decorate(this);
 }
 
 RemoteResource.prototype.methodGet = function() {
-  var args = validator.validateMethod(arguments, [{
-    name: 'responseCallback',
-    type: types.FUNCTION
-  }, {
-    name: 'query',
-    type: types.DICTIONARY,
-    optional: true,
-    nullable: true
-  }, {
-    name: 'errorCallback',
-    type: types.FUNCTION,
-    optional: true,
-    nullable: true
-  }]);
-
-  var callArgs = prepareResourceInfo(this);
-  if (args.query) {
-    callArgs.query = args.query;
-  }
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'responseCallback',
+            type: types.FUNCTION
+        },
+        {
+            name: 'query',
+            type: types.DICTIONARY,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
 
-  var callback = function(result) {
-    result = native.getResultObject(result);
-    manageId(this, result);
-    if (!result.data) {
-      native.callIfPossible(args.errorCallback, native.getErrorObject(result));
-    } else {
-      args.responseCallback(new RemoteResponse(result.data));
+    var callArgs = prepareResourceInfo(this);
+    if (args.query) {
+        callArgs.query = args.query;
     }
-  }.bind(this);
 
-  var result = native.call('IotconRemoteResource_methodGet', callArgs, callback);
+    var callback = function(result) {
+        result = native.getResultObject(result);
+        manageId(this, result);
+        if (!result.data) {
+            native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        } else {
+            args.responseCallback(new RemoteResponse(result.data));
+        }
+    }.bind(this);
+
+    var result = native.call('IotconRemoteResource_methodGet', callArgs, callback);
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    manageId(this, native.getResultObject(result));
-  }
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    } else {
+        manageId(this, native.getResultObject(result));
+    }
 };
 
 RemoteResource.prototype.methodPut = function() {
-  var args = validator.validateMethod(arguments, [{
-    name: 'representation',
-    type: types.PLATFORM_OBJECT,
-    values: Representation
-  }, {
-    name: 'responseCallback',
-    type: types.FUNCTION
-  }, {
-    name: 'query',
-    type: types.DICTIONARY,
-    optional: true,
-    nullable: true
-  }, {
-    name: 'errorCallback',
-    type: types.FUNCTION,
-    optional: true,
-    nullable: true
-  }]);
-
-  var callArgs = prepareResourceInfo(this);
-  callArgs.representation = args.representation;
-  if (args.query) {
-    callArgs.query = args.query;
-  }
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'representation',
+            type: types.PLATFORM_OBJECT,
+            values: Representation
+        },
+        {
+            name: 'responseCallback',
+            type: types.FUNCTION
+        },
+        {
+            name: 'query',
+            type: types.DICTIONARY,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
 
-  var callback = function(result) {
-    result = native.getResultObject(result);
-    manageId(this, result);
-    if (!result.data) {
-      native.callIfPossible(args.errorCallback, native.getErrorObject(result));
-    } else {
-      args.responseCallback(new RemoteResponse(result.data));
+    var callArgs = prepareResourceInfo(this);
+    callArgs.representation = args.representation;
+    if (args.query) {
+        callArgs.query = args.query;
     }
-  }.bind(this);
 
-  var result = native.call('IotconRemoteResource_methodPut', callArgs, callback);
+    var callback = function(result) {
+        result = native.getResultObject(result);
+        manageId(this, result);
+        if (!result.data) {
+            native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        } else {
+            args.responseCallback(new RemoteResponse(result.data));
+        }
+    }.bind(this);
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    manageId(this, native.getResultObject(result));
-  }
+    var result = native.call('IotconRemoteResource_methodPut', callArgs, callback);
+
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    } else {
+        manageId(this, native.getResultObject(result));
+    }
 };
 
 RemoteResource.prototype.methodPost = function() {
-  var args = validator.validateMethod(arguments, [{
-    name: 'representation',
-    type: types.PLATFORM_OBJECT,
-    values: Representation
-  }, {
-    name: 'responseCallback',
-    type: types.FUNCTION
-  }, {
-    name: 'query',
-    type: types.DICTIONARY,
-    optional: true,
-    nullable: true
-  }, {
-    name: 'errorCallback',
-    type: types.FUNCTION,
-    optional: true,
-    nullable: true
-  }]);
-
-  var callArgs = prepareResourceInfo(this);
-  callArgs.representation = args.representation;
-  if (args.query) {
-    callArgs.query = args.query;
-  }
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'representation',
+            type: types.PLATFORM_OBJECT,
+            values: Representation
+        },
+        {
+            name: 'responseCallback',
+            type: types.FUNCTION
+        },
+        {
+            name: 'query',
+            type: types.DICTIONARY,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
 
-  var callback = function(result) {
-    result = native.getResultObject(result);
-    manageId(this, result);
-    if (!result.data) {
-      native.callIfPossible(args.errorCallback, native.getErrorObject(result));
-    } else {
-      args.responseCallback(new RemoteResponse(result.data));
+    var callArgs = prepareResourceInfo(this);
+    callArgs.representation = args.representation;
+    if (args.query) {
+        callArgs.query = args.query;
     }
-  }.bind(this);
 
-  var result = native.call('IotconRemoteResource_methodPost', callArgs, callback);
+    var callback = function(result) {
+        result = native.getResultObject(result);
+        manageId(this, result);
+        if (!result.data) {
+            native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        } else {
+            args.responseCallback(new RemoteResponse(result.data));
+        }
+    }.bind(this);
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    manageId(this, native.getResultObject(result));
-  }
-};
+    var result = native.call('IotconRemoteResource_methodPost', callArgs, callback);
 
-RemoteResource.prototype.methodDelete = function() {
-  var args = validator.validateMethod(arguments, [{
-    name: 'responseCallback',
-    type: types.FUNCTION
-  }, {
-    name: 'errorCallback',
-    type: types.FUNCTION,
-    optional: true,
-    nullable: true
-  }]);
-
-  var callArgs = prepareResourceInfo(this);
-
-  var callback = function(result) {
-    result = native.getResultObject(result);
-    manageId(this, result);
-    if (!result.data) {
-      native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
     } else {
-      args.responseCallback(new RemoteResponse(result.data));
+        manageId(this, native.getResultObject(result));
     }
-  }.bind(this);
+};
+
+RemoteResource.prototype.methodDelete = function() {
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'responseCallback',
+            type: types.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var callArgs = prepareResourceInfo(this);
 
-  var result = native.call('IotconRemoteResource_methodDelete', callArgs, callback);
+    var callback = function(result) {
+        result = native.getResultObject(result);
+        manageId(this, result);
+        if (!result.data) {
+            native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        } else {
+            args.responseCallback(new RemoteResponse(result.data));
+        }
+    }.bind(this);
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    manageId(this, native.getResultObject(result));
-  }
+    var result = native.call('IotconRemoteResource_methodDelete', callArgs, callback);
+
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    } else {
+        manageId(this, native.getResultObject(result));
+    }
 };
 
 var resourceChangeListener = createListener('RemoteResourceChangeListener');
 
 RemoteResource.prototype.startObserving = function() {
-  var args = validator.validateMethod(arguments, [{
-    name: 'observePolicy',
-    type: types.ENUM,
-    values: T.getValues(ObservePolicy)
-  }, {
-    name: 'successCallback',
-    type: types.FUNCTION
-  }, {
-    name: 'query',
-    type: types.DICTIONARY,
-    optional: true,
-    nullable: true
-  }]);
-
-  var callArgs = prepareResourceInfo(this);
-  callArgs.observePolicy = args.observePolicy;
-  if (args.query) {
-    callArgs.query = args.query;
-  }
-  var that = this;
-
-  var listener = function(result) {
-    //TODO check what should be updated
-    //updateWithInternalData(result, that);
-    args.successCallback(new RemoteResponse(result.data));
-  };
-
-  var result = native.callSync('IotconRemoteResource_startObserving', callArgs);
-
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    manageId(this, native.getResultObject(result));
-    resourceChangeListener.addListener(this[kIdKey], listener);
-  }
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'observePolicy',
+            type: types.ENUM,
+            values: T.getValues(ObservePolicy)
+        },
+        {
+            name: 'successCallback',
+            type: types.FUNCTION
+        },
+        {
+            name: 'query',
+            type: types.DICTIONARY,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var callArgs = prepareResourceInfo(this);
+    callArgs.observePolicy = args.observePolicy;
+    if (args.query) {
+        callArgs.query = args.query;
+    }
+    var that = this;
+
+    var listener = function(result) {
+        //TODO check what should be updated
+        //updateWithInternalData(result, that);
+        args.successCallback(new RemoteResponse(result.data));
+    };
+
+    var result = native.callSync('IotconRemoteResource_startObserving', callArgs);
+
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    } else {
+        manageId(this, native.getResultObject(result));
+        resourceChangeListener.addListener(this[kIdKey], listener);
+    }
 };
 
 RemoteResource.prototype.stopObserving = function() {
-  var callArgs = prepareResourceInfo(this);
+    var callArgs = prepareResourceInfo(this);
 
-  var result = native.callSync('IotconRemoteResource_stopObserving', callArgs);
+    var result = native.callSync('IotconRemoteResource_stopObserving', callArgs);
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    manageId(this, native.getResultObject(result));
-    resourceChangeListener.removeListener(this[kIdKey]);
-  }
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    } else {
+        manageId(this, native.getResultObject(result));
+        resourceChangeListener.removeListener(this[kIdKey]);
+    }
 };
 
 var cacheChangeListener = createListener('RemoteResourceCacheChangeListener');
 
 RemoteResource.prototype.startCaching = function() {
-  var args = validator.validateMethod(arguments, [{
-    name: 'successCallback',
-    type: types.FUNCTION,
-    optional: true,
-    nullable: true
-  }]);
-
-  var callArgs = prepareResourceInfo(this);
-
-  var listener = function(result) {
-    native.callIfPossible(args.successCallback(createRepresentation(result.data)));
-  }
-
-  var result = native.callSync('IotconRemoteResource_startCaching', callArgs);
-
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    manageId(this, native.getResultObject(result));
-    cacheChangeListener.addListener(this[kIdKey], listener);
-  }
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'successCallback',
+            type: types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var callArgs = prepareResourceInfo(this);
+
+    var listener = function(result) {
+        native.callIfPossible(args.successCallback(createRepresentation(result.data)));
+    };
+
+    var result = native.callSync('IotconRemoteResource_startCaching', callArgs);
+
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    } else {
+        manageId(this, native.getResultObject(result));
+        cacheChangeListener.addListener(this[kIdKey], listener);
+    }
 };
 
 RemoteResource.prototype.stopCaching = function() {
-  var callArgs = prepareResourceInfo(this);
+    var callArgs = prepareResourceInfo(this);
 
-  var result = native.callSync('IotconRemoteResource_stopCaching', callArgs);
+    var result = native.callSync('IotconRemoteResource_stopCaching', callArgs);
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    manageId(this, native.getResultObject(result));
-    cacheChangeListener.removeListener(this[kIdKey]);
-  }
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    } else {
+        manageId(this, native.getResultObject(result));
+        cacheChangeListener.removeListener(this[kIdKey]);
+    }
 };
 
 var resourceStateChangeListener = createListener('RemoteResourceStateChangeListener');
 
 RemoteResource.prototype.setResourceStateChangeListener = function() {
-  var args = validator.validateMethod(arguments, [{
-    name: 'successCallback',
-    type: types.FUNCTION
-  }]);
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'successCallback',
+            type: types.FUNCTION
+        }
+    ]);
 
-  var callArgs = prepareResourceInfo(this);
+    var callArgs = prepareResourceInfo(this);
 
-  var listener = function(result) {
-    args.successCallback(result.data);
-  };
+    var listener = function(result) {
+        args.successCallback(result.data);
+    };
 
-  var result = native.callSync('IotconRemoteResource_setResourceStateChangeListener', callArgs);
+    var result = native.callSync(
+        'IotconRemoteResource_setResourceStateChangeListener',
+        callArgs
+    );
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    manageId(this, native.getResultObject(result));
-    resourceStateChangeListener.addListener(this[kIdKey], listener);
-  }
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    } else {
+        manageId(this, native.getResultObject(result));
+        resourceStateChangeListener.addListener(this[kIdKey], listener);
+    }
 };
 
 RemoteResource.prototype.unsetResourceStateChangeListener = function() {
-  var callArgs = prepareResourceInfo(this);
+    var callArgs = prepareResourceInfo(this);
 
-  var result = native.callSync('IotconRemoteResource_unsetResourceStateChangeListener', callArgs);
+    var result = native.callSync(
+        'IotconRemoteResource_unsetResourceStateChangeListener',
+        callArgs
+    );
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    manageId(this, native.getResultObject(result));
-    resourceStateChangeListener.removeListener(this[kIdKey]);
-  }
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    } else {
+        manageId(this, native.getResultObject(result));
+        resourceStateChangeListener.removeListener(this[kIdKey]);
+    }
 };
 
-function Client() {
-}
+function Client() {}
 
 var findResourceListener = createListener('FindResourceListener');
 var globalFindResourceId = 0;
 
 Client.prototype.findResource = function() {
-  var args = validator.validateMethod(arguments, [{
-    name: 'hostAddress',
-    type: types.STRING,
-    nullable: true
-  }, {
-    name: 'query',
-    type: types.DICTIONARY,
-    nullable: true
-  }, {
-    name: 'connectivityType',
-    type: types.ENUM,
-    values: T.getValues(ConnectivityType)
-  }, {
-    name: 'successCallback',
-    type: types.FUNCTION
-  }, {
-    name: 'errorCallback',
-    type: types.FUNCTION,
-    optional: true,
-    nullable: true
-  }]);
-
-  var callArgs = {};
-  callArgs.id = ++globalFindResourceId;
-  callArgs.hostAddress = args.hostAddress;
-  callArgs.query = args.query;
-  callArgs.connectivityType = args.connectivityType;
-
-  var callback = function(result) {
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'hostAddress',
+            type: types.STRING,
+            nullable: true
+        },
+        {
+            name: 'query',
+            type: types.DICTIONARY,
+            nullable: true
+        },
+        {
+            name: 'connectivityType',
+            type: types.ENUM,
+            values: T.getValues(ConnectivityType)
+        },
+        {
+            name: 'successCallback',
+            type: types.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var callArgs = {};
+    callArgs.id = ++globalFindResourceId;
+    callArgs.hostAddress = args.hostAddress;
+    callArgs.query = args.query;
+    callArgs.connectivityType = args.connectivityType;
+
+    var callback = function(result) {
+        if (native.isFailure(result)) {
+            native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        } else {
+            var rr = new RemoteResource(native.getResultObject(result));
+            args.successCallback(rr);
+        }
+    };
+
+    var result = native.callSync('IotconClient_findResource', callArgs);
     if (native.isFailure(result)) {
-      native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        throw native.getErrorObject(result);
     } else {
-      var rr = new RemoteResource(native.getResultObject(result));
-      args.successCallback(rr);
+        findResourceListener.addListener(callArgs.id, callback);
     }
-  };
-
-  var result = native.callSync('IotconClient_findResource', callArgs);
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    findResourceListener.addListener(callArgs.id, callback);
-  }
 };
 
 var presenceEventListener = createListener('PresenceEventListener', function(response) {
-  return new PresenceResponse(response.data);
+    return new PresenceResponse(response.data);
 });
 
 Client.prototype.addPresenceEventListener = function() {
-  var args = validator.validateMethod(arguments, [{
-    name: 'hostAddress',
-    type: types.STRING,
-    nullable: true
-  }, {
-    name: 'resourceType',
-    type: types.STRING,
-    nullable: true
-  }, {
-    name: 'connectivityType',
-    type: types.ENUM,
-    values: T.getValues(ConnectivityType)
-  }, {
-    name: 'successCallback',
-    type: types.FUNCTION
-  }]);
-
-  var callArgs = {};
-  callArgs.hostAddress = args.hostAddress;
-  callArgs.resourceType = args.resourceType;
-  callArgs.connectivityType = args.connectivityType;
-
-  var result = native.callSync('IotconClient_addPresenceEventListener', callArgs);
-
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    var id = native.getResultObject(result);
-    presenceEventListener.addListener(id, args.successCallback);
-    return id;
-  }
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'hostAddress',
+            type: types.STRING,
+            nullable: true
+        },
+        {
+            name: 'resourceType',
+            type: types.STRING,
+            nullable: true
+        },
+        {
+            name: 'connectivityType',
+            type: types.ENUM,
+            values: T.getValues(ConnectivityType)
+        },
+        {
+            name: 'successCallback',
+            type: types.FUNCTION
+        }
+    ]);
+
+    var callArgs = {};
+    callArgs.hostAddress = args.hostAddress;
+    callArgs.resourceType = args.resourceType;
+    callArgs.connectivityType = args.connectivityType;
+
+    var result = native.callSync('IotconClient_addPresenceEventListener', callArgs);
+
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    } else {
+        var id = native.getResultObject(result);
+        presenceEventListener.addListener(id, args.successCallback);
+        return id;
+    }
 };
 
 Client.prototype.removePresenceEventListener = function() {
-  var args = validator.validateMethod(arguments, [{
-    name: 'watchId',
-    type: types.LONG
-  }]);
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'watchId',
+            type: types.LONG
+        }
+    ]);
 
-  var callArgs = {};
-  callArgs.id = args.watchId;
+    var callArgs = {};
+    callArgs.id = args.watchId;
 
-  var result = native.callSync('IotconClient_removePresenceEventListener', callArgs);
+    var result = native.callSync('IotconClient_removePresenceEventListener', callArgs);
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    presenceEventListener.removeListener(args.watchId);
-  }
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    } else {
+        presenceEventListener.removeListener(args.watchId);
+    }
 };
 
 var findDeviceInfoListener = createListener('FindDeviceInfoListener');
 var globalFindDeviceInfoId = 0;
 Client.prototype.findDeviceInfo = function() {
-  var args = validator.validateMethod(arguments, [{
-    name: 'hostAddress',
-    type: types.STRING,
-    nullable: true
-  }, {
-    name: 'query',
-    type: types.DICTIONARY,
-    nullable: true
-  }, {
-    name: 'connectivityType',
-    type: types.ENUM,
-    values: T.getValues(ConnectivityType)
-  }, {
-    name: 'successCallback',
-    type: types.FUNCTION
-  }, {
-    name: 'errorCallback',
-    type: types.FUNCTION,
-    optional: true,
-    nullable: true
-  }]);
-
-  var callArgs = {};
-  callArgs.id = ++globalFindDeviceInfoId;
-  callArgs.hostAddress = args.hostAddress;
-  callArgs.query = args.query;
-  callArgs.connectivityType = args.connectivityType;
-
-  var callback = function(result) {
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'hostAddress',
+            type: types.STRING,
+            nullable: true
+        },
+        {
+            name: 'query',
+            type: types.DICTIONARY,
+            nullable: true
+        },
+        {
+            name: 'connectivityType',
+            type: types.ENUM,
+            values: T.getValues(ConnectivityType)
+        },
+        {
+            name: 'successCallback',
+            type: types.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var callArgs = {};
+    callArgs.id = ++globalFindDeviceInfoId;
+    callArgs.hostAddress = args.hostAddress;
+    callArgs.query = args.query;
+    callArgs.connectivityType = args.connectivityType;
+
+    var callback = function(result) {
+        if (native.isFailure(result)) {
+            native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        } else {
+            args.successCallback(new DeviceInfo(native.getResultObject(result)));
+        }
+    };
+
+    var result = native.call('IotconClient_findDeviceInfo', callArgs);
+
     if (native.isFailure(result)) {
-      native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        throw native.getErrorObject(result);
     } else {
-      args.successCallback(new DeviceInfo(native.getResultObject(result)));
+        findDeviceInfoListener.addListener(callArgs.id, callback);
     }
-  };
-
-  var result = native.call('IotconClient_findDeviceInfo', callArgs);
-
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }else{
-    findDeviceInfoListener.addListener(callArgs.id, callback);
-  }
 };
 
 var findPlatformInfoListener = createListener('FindPlatformInfoListener');
 var globalFindPlatformInfoId = 0;
 Client.prototype.findPlatformInfo = function() {
-  var args = validator.validateMethod(arguments, [{
-    name: 'hostAddress',
-    type: types.STRING,
-    nullable: true
-  }, {
-    name: 'query',
-    type: types.DICTIONARY,
-    nullable: true
-  }, {
-    name: 'connectivityType',
-    type: types.ENUM,
-    values: T.getValues(ConnectivityType)
-  }, {
-    name: 'successCallback',
-    type: types.FUNCTION
-  }, {
-    name: 'errorCallback',
-    type: types.FUNCTION,
-    optional: true,
-    nullable: true
-  }]);
-
-  var callArgs = {};
-  callArgs.id = ++globalFindPlatformInfoId;
-  callArgs.hostAddress = args.hostAddress;
-  callArgs.query = args.query;
-  callArgs.connectivityType = args.connectivityType;
-
-  var callback = function(result) {
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'hostAddress',
+            type: types.STRING,
+            nullable: true
+        },
+        {
+            name: 'query',
+            type: types.DICTIONARY,
+            nullable: true
+        },
+        {
+            name: 'connectivityType',
+            type: types.ENUM,
+            values: T.getValues(ConnectivityType)
+        },
+        {
+            name: 'successCallback',
+            type: types.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var callArgs = {};
+    callArgs.id = ++globalFindPlatformInfoId;
+    callArgs.hostAddress = args.hostAddress;
+    callArgs.query = args.query;
+    callArgs.connectivityType = args.connectivityType;
+
+    var callback = function(result) {
+        if (native.isFailure(result)) {
+            native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        } else {
+            args.successCallback(new PlatformInfo(native.getResultObject(result)));
+        }
+    };
+
+    var result = native.call('IotconClient_findPlatformInfo', callArgs);
+
     if (native.isFailure(result)) {
-      native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        throw native.getErrorObject(result);
     } else {
-      args.successCallback(new PlatformInfo(native.getResultObject(result)));
+        findPlatformInfoListener.addListener(callArgs.id, callback);
     }
-  };
-
-  var result = native.call('IotconClient_findPlatformInfo', callArgs);
-
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }else{
-    findPlatformInfoListener.addListener(callArgs.id, callback);
-  }
 };
 
-function Server() {
-}
+function Server() {}
 
 var serverResources = {};
 
 Server.prototype.createResource = function() {
-  var args = validator.validateMethod(arguments, [{
-    name: 'uriPath',
-    type: types.STRING
-  }, {
-    name: 'resourceTypes',
-    type: types.ARRAY,
-    values: types.STRING
-  }, {
-    name: 'resourceInterfaces',
-    type: types.ARRAY,
-    values: types.STRING
-  }, {
-    name: 'listener',
-    type: types.LISTENER,
-    values: ['onget', 'onput', 'onpost', 'ondelete', 'onobserving']
-  }, {
-    name: 'policy',
-    type: types.DICTIONARY,
-    optional: true,
-    nullable: false
-  }]);
-
-  var callArgs = args.policy || {};
-  callArgs.uriPath = args.uriPath;
-  callArgs.resourceTypes = args.resourceTypes;
-  callArgs.resourceInterfaces = args.resourceInterfaces;
-
-  var result = native.callSync('IotconServer_createResource', callArgs);
-
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    var resource = new Resource(native.getResultObject(result));
-    serverResources[resource[kIdKey]] = resource;
-
-    _setRequestListener(resource[kIdKey], args.listener);
-
-    return resource;
-  }
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'uriPath',
+            type: types.STRING
+        },
+        {
+            name: 'resourceTypes',
+            type: types.ARRAY,
+            values: types.STRING
+        },
+        {
+            name: 'resourceInterfaces',
+            type: types.ARRAY,
+            values: types.STRING
+        },
+        {
+            name: 'listener',
+            type: types.LISTENER,
+            values: ['onget', 'onput', 'onpost', 'ondelete', 'onobserving']
+        },
+        {
+            name: 'policy',
+            type: types.DICTIONARY,
+            optional: true,
+            nullable: false
+        }
+    ]);
+
+    var callArgs = args.policy || {};
+    callArgs.uriPath = args.uriPath;
+    callArgs.resourceTypes = args.resourceTypes;
+    callArgs.resourceInterfaces = args.resourceInterfaces;
+
+    var result = native.callSync('IotconServer_createResource', callArgs);
+
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    } else {
+        var resource = new Resource(native.getResultObject(result));
+        serverResources[resource[kIdKey]] = resource;
+
+        _setRequestListener(resource[kIdKey], args.listener);
+
+        return resource;
+    }
 };
 
 Server.prototype.removeResource = function() {
-  var args = validator.validateMethod(arguments, [{
-    name: 'resource',
-    type: types.PLATFORM_OBJECT,
-    values: Resource
-  }]);
-
-  var callArgs = {};
-  callArgs.id = args.resource[kIdKey];
-
-  var result = native.callSync('IotconServer_removeResource', callArgs);
-
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    delete serverResources[callArgs.id];
-  }
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'resource',
+            type: types.PLATFORM_OBJECT,
+            values: Resource
+        }
+    ]);
+
+    var callArgs = {};
+    callArgs.id = args.resource[kIdKey];
+
+    var result = native.callSync('IotconServer_removeResource', callArgs);
+
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    } else {
+        delete serverResources[callArgs.id];
+    }
 };
 
 Server.prototype.getResources = function() {
-  var result = [];
+    var result = [];
 
-  for (var id in serverResources) {
-    if (serverResources.hasOwnProperty(id)) {
-      result.push(serverResources[id]);
+    for (var id in serverResources) {
+        if (serverResources.hasOwnProperty(id)) {
+            result.push(serverResources[id]);
+        }
     }
-  }
 
-  return result;
+    return result;
 };
 
 Server.prototype.startPresence = function() {
-  var args = validator.validateMethod(arguments, [{
-    name: 'timeToLive',
-    type: types.UNSIGNED_LONG
-  }]);
-
-  var callArgs = {
-    timeToLive: args.timeToLive
-  };
-
-  var result = native.callSync('IotconServer_startPresence', callArgs);
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'timeToLive',
+            type: types.UNSIGNED_LONG
+        }
+    ]);
+
+    var callArgs = {
+        timeToLive: args.timeToLive
+    };
+
+    var result = native.callSync('IotconServer_startPresence', callArgs);
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    }
 };
 
 Server.prototype.stopPresence = function() {
-  var result = native.callSync('IotconServer_stopPresence', {});
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
+    var result = native.callSync('IotconServer_stopPresence', {});
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    }
 };
 
 var client = new Client();
 var server = new Server();
 
 function Iotcon() {
-  var _deviceName = '';
-
-  Object.defineProperties(this, {
-    deviceName: {
-      get: function() {
-        return _deviceName;
-      },
-      set: function(v) {
-        if (v) {
-          var deviceName = v;
-
-          var callArgs = {
-            deviceName: deviceName
-          };
-
-          var result = native.callSync('Iotcon_setDeviceName', callArgs);
-          if (native.isSuccess(result)) {
-            _deviceName = deviceName;
-          }
+    var _deviceName = '';
+
+    Object.defineProperties(this, {
+        deviceName: {
+            get: function() {
+                return _deviceName;
+            },
+            set: function(v) {
+                if (v) {
+                    var deviceName = v;
+
+                    var callArgs = {
+                        deviceName: deviceName
+                    };
+
+                    var result = native.callSync('Iotcon_setDeviceName', callArgs);
+                    if (native.isSuccess(result)) {
+                        _deviceName = deviceName;
+                    }
+                }
+            },
+            enumerable: true
         }
-      },
-      enumerable: true
-    }
-  });
+    });
 }
 
 Iotcon.prototype.initialize = function() {
-  var args = validator.validateMethod(arguments, [{
-    name: 'filePath',
-    type: types.STRING
-  }]);
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'filePath',
+            type: types.STRING
+        }
+    ]);
 
-  var data = {
-    filePath: args.filePath
-  };
+    var data = {
+        filePath: args.filePath
+    };
 
-  var result = native.callSync('Iotcon_initialize', data);
+    var result = native.callSync('Iotcon_initialize', data);
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    }
 };
 
 Iotcon.prototype.getClient = function() {
-  return client;
+    return client;
 };
 
 Iotcon.prototype.getServer = function() {
-  return server;
+    return server;
 };
 
 Iotcon.prototype.getTimeout = function() {
-  var result = native.callSync('Iotcon_getTimeout', {});
+    var result = native.callSync('Iotcon_getTimeout', {});
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    return native.getResultObject(result);
-  }
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    } else {
+        return native.getResultObject(result);
+    }
 };
 
 Iotcon.prototype.setTimeout = function() {
-  var args = validator.validateMethod(arguments, [{
-    name: 'timeout',
-    type: types.LONG
-  }]);
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'timeout',
+            type: types.LONG
+        }
+    ]);
 
-  var callArgs = {};
-  callArgs.timeout = args.timeout;
+    var callArgs = {};
+    callArgs.timeout = args.timeout;
 
-  var result = native.callSync('Iotcon_setTimeout', callArgs);
+    var result = native.callSync('Iotcon_setTimeout', callArgs);
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    }
 };
 
-var generatedPinListener = createListener( 'GeneratedPinListener' /* kGeneratedPinToken in iotcon_instance.cc */,
-                                           function(response) { return response.pin; } );
+var generatedPinListener = createListener(
+    'GeneratedPinListener' /* kGeneratedPinToken in iotcon_instance.cc */,
+    function(response) {
+        return response.pin;
+    }
+);
 
-Iotcon.prototype.addGeneratedPinListener  = function() {
-  var args = validator.validateMethod(arguments, [{
-    name: 'successCallback',
-    type: types.FUNCTION
-  }]);
+Iotcon.prototype.addGeneratedPinListener = function() {
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'successCallback',
+            type: types.FUNCTION
+        }
+    ]);
 
-  var result = native.callSync('Iotcon_addGeneratedPinListener', {});
+    var result = native.callSync('Iotcon_addGeneratedPinListener', {});
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    var watchId = native.getResultObject(result);
-    generatedPinListener.addListener(watchId, args.successCallback);
-    return watchId;
-  }
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    } else {
+        var watchId = native.getResultObject(result);
+        generatedPinListener.addListener(watchId, args.successCallback);
+        return watchId;
+    }
 };
 
-Iotcon.prototype.removeGeneratedPinListener  = function() {
-  var args = validator.validateMethod(arguments, [{
-    name: 'watchId',
-    type: types.LONG
-  }]);
+Iotcon.prototype.removeGeneratedPinListener = function() {
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'watchId',
+            type: types.LONG
+        }
+    ]);
 
-  var result = native.callSync('Iotcon_removeGeneratedPinListener', { watchId: args.watchId });
+    var result = native.callSync('Iotcon_removeGeneratedPinListener', {
+        watchId: args.watchId
+    });
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  } else {
-    generatedPinListener.removeListener(args.watchId);
-  }
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    } else {
+        generatedPinListener.removeListener(args.watchId);
+    }
 };
 
-
 // Exports
 tizen.IotconOption = IotconOption;
 tizen.Representation = Representation;
index 7e10bff607bb2c60d25f0a7b5295cd494b8ca0a9..4eb2bb1febe6df05bf3ad38fd66022412fc7937b 100755 (executable)
@@ -20,182 +20,186 @@ var type = xwalk.utils.type;
 var native = new xwalk.utils.NativeManager(extension);
 
 var PermissionType = {
-  "NONE" : "NONE",
-  "READ": "READ",
-  "REMOVE" : "REMOVE",
-  "READ_REMOVE": "READ_REMOVE"
+    NONE: 'NONE',
+    READ: 'READ',
+    REMOVE: 'REMOVE',
+    READ_REMOVE: 'READ_REMOVE'
 };
 
-function KeyManager() {
-
-}
+function KeyManager() {}
 
 KeyManager.prototype.saveData = function() {
     var args = validator.validateArgs(arguments, [
-      {
-        name: 'aliasName',
-        type: validator.Types.STRING
-      },
-      {
-        name: 'rawData',
-        type: validator.Types.STRING
-      },
-      {
-        name: "password",
-        type: validator.Types.STRING,
-        optional: true,
-        nullable: true
-      },
-      {
-        name: 'successCallback',
-        type: validator.Types.FUNCTION,
-        optional: true,
-        nullable: true
-      },
-      {
-        name: 'errorCallback',
-        type: validator.Types.FUNCTION,
-        optional: true,
-        nullable: true
-      }
+        {
+            name: 'aliasName',
+            type: validator.Types.STRING
+        },
+        {
+            name: 'rawData',
+            type: validator.Types.STRING
+        },
+        {
+            name: 'password',
+            type: validator.Types.STRING,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'successCallback',
+            type: validator.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: validator.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
     ]);
 
-    var result = native.call('KeyManager_saveData', {
-      aliasName: _trim(args.aliasName),
-      rawData: args.rawData,
-      password: (args.password ? converter.toString(args.password) : null)
-    }, function(msg) {
-        if (native.isFailure(msg)) {
-          native.callIfPossible(args.errorCallback, native.getErrorObject(msg));
-        } else {
-          native.callIfPossible(args.successCallback);
+    var result = native.call(
+        'KeyManager_saveData',
+        {
+            aliasName: _trim(args.aliasName),
+            rawData: args.rawData,
+            password: args.password ? converter.toString(args.password) : null
+        },
+        function(msg) {
+            if (native.isFailure(msg)) {
+                native.callIfPossible(args.errorCallback, native.getErrorObject(msg));
+            } else {
+                native.callIfPossible(args.successCallback);
+            }
         }
-      }
     );
 
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     }
-  };
+};
 
 KeyManager.prototype.removeData = function() {
+    var args = validator.validateArgs(arguments, [
+        {
+            name: 'dataAlias',
+            type: validator.Types.DICTIONARY
+        }
+    ]);
 
-  var args = validator.validateArgs(arguments, [
-    {
-      name : 'dataAlias',
-      type : validator.Types.DICTIONARY
+    var data_alias = _trim(args.dataAlias.name);
+    if (args.dataAlias.hasOwnProperty('packageId')) {
+        data_alias = args.dataAlias.packageId + ' ' + data_alias;
+    }
+
+    var ret = native.callSync('KeyManager_removeAlias', {
+        aliasName: data_alias
+    });
+    if (native.isFailure(ret)) {
+        throw native.getErrorObject(ret);
     }
-  ]);
-
-  var data_alias = _trim(args.dataAlias.name);
-  if(args.dataAlias.hasOwnProperty('packageId')) {
-    data_alias = args.dataAlias.packageId + ' ' + data_alias;
-  }
-
-  var ret = native.callSync('KeyManager_removeAlias', {
-    aliasName: data_alias
-  });
-  if (native.isFailure(ret)) {
-    throw native.getErrorObject(ret);
-  }
 };
 
 KeyManager.prototype.getData = function() {
-  var args = validator.validateArgs(arguments, [
-    {
-      name: "dataAlias",
-      type: validator.Types.DICTIONARY
-    },
-    {
-      name: "password",
-      type: validator.Types.STRING,
-      optional: true,
-      nullable: true
+    var args = validator.validateArgs(arguments, [
+        {
+            name: 'dataAlias',
+            type: validator.Types.DICTIONARY
+        },
+        {
+            name: 'password',
+            type: validator.Types.STRING,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var data_alias = _trim(args.dataAlias.name);
+    if (args.dataAlias.hasOwnProperty('packageId')) {
+        data_alias = args.dataAlias.packageId + ' ' + data_alias;
     }
-  ]);
-
-  var data_alias = _trim(args.dataAlias.name);
-  if(args.dataAlias.hasOwnProperty('packageId')) {
-    data_alias = args.dataAlias.packageId + ' ' + data_alias;
-  }
-
-  var ret = native.callSync('KeyManager_getData', {
-    name: data_alias,
-    password: args.password
-  });
-  if (native.isFailure(ret)) {
-    throw native.getErrorObject(ret);
-  }
-  var result = native.getResultObject(ret);
-  return result.rawData;
+
+    var ret = native.callSync('KeyManager_getData', {
+        name: data_alias,
+        password: args.password
+    });
+    if (native.isFailure(ret)) {
+        throw native.getErrorObject(ret);
+    }
+    var result = native.getResultObject(ret);
+    return result.rawData;
 };
 
 KeyManager.prototype.getDataAliasList = function() {
-  var ret = native.callSync('KeyManager_getDataAliasList', {});
-  if (native.isFailure(ret)) {
-    throw native.getErrorObject(ret);
-  }
-  return native.getResultObject(ret);
+    var ret = native.callSync('KeyManager_getDataAliasList', {});
+    if (native.isFailure(ret)) {
+        throw native.getErrorObject(ret);
+    }
+    return native.getResultObject(ret);
 };
 
 KeyManager.prototype.setPermission = function() {
-  var args = validator.validateArgs(arguments, [
-    {
-      name: "dataAlias",
-      type: validator.Types.DICTIONARY
-    },
-    {
-      name: "packageId",
-      type: validator.Types.STRING
-    },
-    {
-      name: 'permissionType',
-      type: validator.Types.ENUM,
-      values: Object.keys(PermissionType)
-    },
-    {
-      name: 'successCallback',
-      type: validator.Types.FUNCTION,
-      optional: true,
-      nullable: true
-    },
-    {
-      name: 'errorCallback',
-      type: validator.Types.FUNCTION,
-      optional: true,
-      nullable: true
-    }
-  ]);
-
-  var data_alias = _trim(args.dataAlias.name);
-  if(args.dataAlias.hasOwnProperty('packageId')) {
-    data_alias = args.dataAlias.packageId + ' ' + data_alias;
-  }
-
-  var result = native.call('KeyManager_setPermissions', {
-    aliasName: data_alias,
-    packageId: args.packageId,
-    permissionType: args.permissionType
-  }, function(msg) {
-    if (native.isFailure(msg)) {
-      native.callIfPossible(args.errorCallback, native.getErrorObject(msg));
-    } else {
-      native.callIfPossible(args.successCallback);
+    var args = validator.validateArgs(arguments, [
+        {
+            name: 'dataAlias',
+            type: validator.Types.DICTIONARY
+        },
+        {
+            name: 'packageId',
+            type: validator.Types.STRING
+        },
+        {
+            name: 'permissionType',
+            type: validator.Types.ENUM,
+            values: Object.keys(PermissionType)
+        },
+        {
+            name: 'successCallback',
+            type: validator.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: validator.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var data_alias = _trim(args.dataAlias.name);
+    if (args.dataAlias.hasOwnProperty('packageId')) {
+        data_alias = args.dataAlias.packageId + ' ' + data_alias;
     }
-  });
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
+    var result = native.call(
+        'KeyManager_setPermissions',
+        {
+            aliasName: data_alias,
+            packageId: args.packageId,
+            permissionType: args.permissionType
+        },
+        function(msg) {
+            if (native.isFailure(msg)) {
+                native.callIfPossible(args.errorCallback, native.getErrorObject(msg));
+            } else {
+                native.callIfPossible(args.successCallback);
+            }
+        }
+    );
+
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    }
 };
 
-function _trim(str){
-  var val = str;
-  if (!type.isString(str)) {
-    val = converter.toString(str);
-  }
+function _trim(str) {
+    var val = str;
+    if (!type.isString(str)) {
+        val = converter.toString(str);
+    }
 
-  return val.replace(/\s/gi, '');
+    return val.replace(/\s/gi, '');
 }
 
 exports = new KeyManager();
index f8b3db5c0cf1380702558833afde26b1287c2173..720c84923cd1a70ac6e26daf61736ae5a852d5ef 100755 (executable)
@@ -27,796 +27,946 @@ var native_ = new xwalk.utils.NativeManager(extension);
 // It should be updated when new version of CAPI will be available.
 // For now implementation is using internal commands.
 var internal_commands_ = {
-  sendPlaybackPosition: '__internal_sendPlaybackPosition',
-  sendShuffleMode: '__internal_sendShuffleMode',
-  sendRepeatMode: '__internal_sendRepeatMode'
+    sendPlaybackPosition: '__internal_sendPlaybackPosition',
+    sendShuffleMode: '__internal_sendShuffleMode',
+    sendRepeatMode: '__internal_sendRepeatMode'
 };
 
 function ListenerManager(native, listenerName, handle) {
-  this.listeners = {};
-  this.listenerNameToIds = {};
-  this.listenerIdToName = {};
-  this.nextId = 1;
-  this.nativeSet = false;
-  this.native = native;
-  this.listenerName = listenerName;
-  this.handle = handle || function(msg, listener, watchId) {};
+    this.listeners = {};
+    this.listenerNameToIds = {};
+    this.listenerIdToName = {};
+    this.nextId = 1;
+    this.nativeSet = false;
+    this.native = native;
+    this.listenerName = listenerName;
+    this.handle = handle || function(msg, listener, watchId) {};
 }
 
 ListenerManager.prototype.addListener = function(callback) {
-  var id = this.nextId;
-  if (!this.nativeSet) {
-    this.native.addListener(this.listenerName, function(msg) {
-      for (var watchId in this.listeners) {
-        if (this.listeners.hasOwnProperty(watchId)) {
-          var stop = this.handle(msg, this.listeners[watchId], watchId);
-          if (stop) {
-            break;
-          }
-        }
-      }
-    }.bind(this));
-
-    this.nativeSet = true;
-  }
+    var id = this.nextId;
+    if (!this.nativeSet) {
+        this.native.addListener(
+            this.listenerName,
+            function(msg) {
+                for (var watchId in this.listeners) {
+                    if (this.listeners.hasOwnProperty(watchId)) {
+                        var stop = this.handle(msg, this.listeners[watchId], watchId);
+                        if (stop) {
+                            break;
+                        }
+                    }
+                }
+            }.bind(this)
+        );
+
+        this.nativeSet = true;
+    }
 
-  this.listeners[id] = callback;
-  ++this.nextId;
-  return id;
+    this.listeners[id] = callback;
+    ++this.nextId;
+    return id;
 };
 
 ListenerManager.prototype.addServerInfoListener = function(callback, name) {
-  var id = this.nextId;
-  if (!this.nativeSet) {
-    this.native.addListener(this.listenerName, function(msg) {
-      if (this.listenerNameToIds.hasOwnProperty(msg.name)) {
-        var cbArray = this.listenerNameToIds[msg.name];
-        for (var i = 0; i < cbArray.length; ++i) {
-          var watchId = cbArray[i];
-          this.handle(msg, this.listeners[watchId], watchId);
-        }
-      }
-    }.bind(this));
-
-    this.nativeSet = true;
-  }
+    var id = this.nextId;
+    if (!this.nativeSet) {
+        this.native.addListener(
+            this.listenerName,
+            function(msg) {
+                if (this.listenerNameToIds.hasOwnProperty(msg.name)) {
+                    var cbArray = this.listenerNameToIds[msg.name];
+                    for (var i = 0; i < cbArray.length; ++i) {
+                        var watchId = cbArray[i];
+                        this.handle(msg, this.listeners[watchId], watchId);
+                    }
+                }
+            }.bind(this)
+        );
+
+        this.nativeSet = true;
+    }
 
-  this.listenerIdToName[id] = name;
-  if (this.listenerNameToIds[name]) {
-    this.listenerNameToIds[name].push(id);
-  } else {
-    this.listenerNameToIds[name] = [id];
-  }
-  this.listeners[id] = callback;
-  ++this.nextId;
-  return id;
+    this.listenerIdToName[id] = name;
+    if (this.listenerNameToIds[name]) {
+        this.listenerNameToIds[name].push(id);
+    } else {
+        this.listenerNameToIds[name] = [id];
+    }
+    this.listeners[id] = callback;
+    ++this.nextId;
+    return id;
 };
 
 ListenerManager.prototype.removeListener = function(watchId) {
-  if (this.listeners.hasOwnProperty(watchId)) {
-    delete this.listeners[watchId];
-  }
+    if (this.listeners.hasOwnProperty(watchId)) {
+        delete this.listeners[watchId];
+    }
 };
 
 function removeArrayElement(arr, elem) {
-  var index = arr.indexOf(elem);
-  if (index !== -1) {
-    arr.splice(index, 1);
-  }
+    var index = arr.indexOf(elem);
+    if (index !== -1) {
+        arr.splice(index, 1);
+    }
 }
 
 ListenerManager.prototype.removeServerInfoListener = function(watchId) {
-  this.removeListener(watchId);
-  if (this.listenerIdToName.hasOwnProperty(watchId)) {
-    var name = this.listenerIdToName[watchId];
-    removeArrayElement(this.listenerNameToIds[name], watchId);
-    delete this.listenerIdToName[watchId];
-  }
-};
-
-var ServerCommandListener = new ListenerManager(native_, '_ServerCommandListener', function(msg, listener) {
-  var data = undefined;
-  data = listener(msg.clientName, msg.command, msg.data);
-
-  if (type_.isUndefined(data)) {
-   data = null;
-  }
-
-  var nativeData = {
-    clientName: msg.clientName,
-    replyId: msg.replyId,
-    data: data
-  };
-
-  var result = native_.callSync('MediaControllerServer_replyCommand', nativeData);
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-});
-
-var ReplyCommandListener = new ListenerManager(native_, '_ReplyCommandListener', function(msg, listener, watchId) {
-  if (msg.replyId === watchId) {
-    listener(msg.data);
     this.removeListener(watchId);
-    return true;
-  }
+    if (this.listenerIdToName.hasOwnProperty(watchId)) {
+        var name = this.listenerIdToName[watchId];
+        removeArrayElement(this.listenerNameToIds[name], watchId);
+        delete this.listenerIdToName[watchId];
+    }
+};
 
-  return false;
-});
+var ServerCommandListener = new ListenerManager(
+    native_,
+    '_ServerCommandListener',
+    function(msg, listener) {
+        var data = undefined;
+        data = listener(msg.clientName, msg.command, msg.data);
 
-var ServerPlaybackInfoListener = new ListenerManager(native_, '_ServerPlaybackInfoListener', function(msg, listener) {
-  if (msg.action === 'onplaybackstaterequest') {
-    listener[msg.action](msg.state);
-  }
-  if (msg.action === 'onplaybackpositionrequest') {
-    listener[msg.action](msg.position);
-  }
-  if (msg.action === 'onshufflemoderequest' || msg.action === 'onrepeatmoderequest') {
-    listener[msg.action](msg.mode);
-  }
-});
+        if (type_.isUndefined(data)) {
+            data = null;
+        }
 
-var ServerInfoStatusListener = new ListenerManager(native_, '_ServerInfoStatusListener', function(msg, listener) {
-  listener(msg.state);
-});
+        var nativeData = {
+            clientName: msg.clientName,
+            replyId: msg.replyId,
+            data: data
+        };
 
-var ServerInfoPlaybackInfoListener = new ListenerManager(native_, '_ServerInfoPlaybackInfoListener', function(msg, listener) {
-  if (msg.action === 'onplaybackchanged') {
-    listener[msg.action](msg.state, msg.position);
-  }
-  if (msg.action === 'onshufflemodechanged' || msg.action === 'onrepeatmodechanged') {
-    listener[msg.action](msg.mode);
-  }
-  if (msg.action === 'onmetadatachanged') {
-    listener[msg.action](new MediaControllerMetadata(msg.metadata));
-  }
+        var result = native_.callSync('MediaControllerServer_replyCommand', nativeData);
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
+    }
+);
+
+var ReplyCommandListener = new ListenerManager(native_, '_ReplyCommandListener', function(
+    msg,
+    listener,
+    watchId
+) {
+    if (msg.replyId === watchId) {
+        listener(msg.data);
+        this.removeListener(watchId);
+        return true;
+    }
+
+    return false;
 });
 
+var ServerPlaybackInfoListener = new ListenerManager(
+    native_,
+    '_ServerPlaybackInfoListener',
+    function(msg, listener) {
+        if (msg.action === 'onplaybackstaterequest') {
+            listener[msg.action](msg.state);
+        }
+        if (msg.action === 'onplaybackpositionrequest') {
+            listener[msg.action](msg.position);
+        }
+        if (
+            msg.action === 'onshufflemoderequest' ||
+            msg.action === 'onrepeatmoderequest'
+        ) {
+            listener[msg.action](msg.mode);
+        }
+    }
+);
+
+var ServerInfoStatusListener = new ListenerManager(
+    native_,
+    '_ServerInfoStatusListener',
+    function(msg, listener) {
+        listener(msg.state);
+    }
+);
+
+var ServerInfoPlaybackInfoListener = new ListenerManager(
+    native_,
+    '_ServerInfoPlaybackInfoListener',
+    function(msg, listener) {
+        if (msg.action === 'onplaybackchanged') {
+            listener[msg.action](msg.state, msg.position);
+        }
+        if (
+            msg.action === 'onshufflemodechanged' ||
+            msg.action === 'onrepeatmodechanged'
+        ) {
+            listener[msg.action](msg.mode);
+        }
+        if (msg.action === 'onmetadatachanged') {
+            listener[msg.action](new MediaControllerMetadata(msg.metadata));
+        }
+    }
+);
+
 var EditManager = function() {
-  this.isAllowed = false;
+    this.isAllowed = false;
 };
 
 EditManager.prototype.allow = function() {
-  this.isAllowed = true;
+    this.isAllowed = true;
 };
 
 EditManager.prototype.disallow = function() {
-  this.isAllowed = false;
+    this.isAllowed = false;
 };
 
 var edit_ = new EditManager();
 
-
 var MediaControllerServerState = {
-  ACTIVE: 'ACTIVE',
-  INACTIVE: 'INACTIVE'
+    ACTIVE: 'ACTIVE',
+    INACTIVE: 'INACTIVE'
 };
 
 var MediaControllerPlaybackState = {
-  PLAY: 'PLAY',
-  PAUSE: 'PAUSE',
-  STOP: 'STOP',
-  NEXT: 'NEXT',
-  PREV: 'PREV',
-  FORWARD: 'FORWARD',
-  REWIND: 'REWIND'
+    PLAY: 'PLAY',
+    PAUSE: 'PAUSE',
+    STOP: 'STOP',
+    NEXT: 'NEXT',
+    PREV: 'PREV',
+    FORWARD: 'FORWARD',
+    REWIND: 'REWIND'
 };
 
-
 function MediaControllerManager() {}
 
 MediaControllerManager.prototype.getClient = function() {
-  var result = native_.callSync('MediaControllerManager_getClient', {});
+    var result = native_.callSync('MediaControllerManager_getClient', {});
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 
-  return new MediaControllerClient(native_.getResultObject(result));
+    return new MediaControllerClient(native_.getResultObject(result));
 };
 
 MediaControllerManager.prototype.createServer = function() {
-  var result = native_.callSync('MediaControllerManager_createServer', {});
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    var result = native_.callSync('MediaControllerManager_createServer', {});
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 
-  return new MediaControllerServer(native_.getResultObject(result));
+    return new MediaControllerServer(native_.getResultObject(result));
 };
 
-
 var MediaControllerMetadata = function(data) {
-  var _title = '';
-  var _artist = '';
-  var _album = '';
-  var _author = '';
-  var _genre = '';
-  var _duration = '';
-  var _date = '';
-  var _copyright = '';
-  var _description = '';
-  var _trackNum = '';
-  var _picture = '';
-  Object.defineProperties(this, {
-    title: {
-      get: function() {return _title;},
-      set: function(v) {_title = converter_.toString(v)},
-      enumerable: true
-    },
-    artist: {
-      get: function() {return _artist;},
-      set: function(v) {_artist = converter_.toString(v)},
-      enumerable: true
-    },
-    album: {
-      get: function() {return _album;},
-      set: function(v) {_album = converter_.toString(v)},
-      enumerable: true
-    },
-    author: {
-      get: function() {return _author;},
-      set: function(v) {_author = converter_.toString(v)},
-      enumerable: true
-    },
-    genre: {
-      get: function() {return _genre;},
-      set: function(v) {_genre = converter_.toString(v)},
-      enumerable: true
-    },
-    duration: {
-      get: function() {return _duration;},
-      set: function(v) {_duration = converter_.toString(v)},
-      enumerable: true
-    },
-    date: {
-      get: function() {return _date;},
-      set: function(v) {_date = converter_.toString(v)},
-      enumerable: true
-    },
-    copyright: {
-      get: function() {return _copyright;},
-      set: function(v) {_copyright = converter_.toString(v)},
-      enumerable: true
-    },
-    description: {
-      get: function() {return _description;},
-      set: function(v) {_description = converter_.toString(v)},
-      enumerable: true
-    },
-    trackNum: {
-      get: function() {return _trackNum;},
-      set: function(v) {_trackNum = converter_.toString(v)},
-      enumerable: true
-    },
-    picture: {
-      get: function() {return _picture;},
-      set: function(v) {_picture = converter_.toString(v)},
-      enumerable: true
-    }
-  });
+    var _title = '';
+    var _artist = '';
+    var _album = '';
+    var _author = '';
+    var _genre = '';
+    var _duration = '';
+    var _date = '';
+    var _copyright = '';
+    var _description = '';
+    var _trackNum = '';
+    var _picture = '';
+    Object.defineProperties(this, {
+        title: {
+            get: function() {
+                return _title;
+            },
+            set: function(v) {
+                _title = converter_.toString(v);
+            },
+            enumerable: true
+        },
+        artist: {
+            get: function() {
+                return _artist;
+            },
+            set: function(v) {
+                _artist = converter_.toString(v);
+            },
+            enumerable: true
+        },
+        album: {
+            get: function() {
+                return _album;
+            },
+            set: function(v) {
+                _album = converter_.toString(v);
+            },
+            enumerable: true
+        },
+        author: {
+            get: function() {
+                return _author;
+            },
+            set: function(v) {
+                _author = converter_.toString(v);
+            },
+            enumerable: true
+        },
+        genre: {
+            get: function() {
+                return _genre;
+            },
+            set: function(v) {
+                _genre = converter_.toString(v);
+            },
+            enumerable: true
+        },
+        duration: {
+            get: function() {
+                return _duration;
+            },
+            set: function(v) {
+                _duration = converter_.toString(v);
+            },
+            enumerable: true
+        },
+        date: {
+            get: function() {
+                return _date;
+            },
+            set: function(v) {
+                _date = converter_.toString(v);
+            },
+            enumerable: true
+        },
+        copyright: {
+            get: function() {
+                return _copyright;
+            },
+            set: function(v) {
+                _copyright = converter_.toString(v);
+            },
+            enumerable: true
+        },
+        description: {
+            get: function() {
+                return _description;
+            },
+            set: function(v) {
+                _description = converter_.toString(v);
+            },
+            enumerable: true
+        },
+        trackNum: {
+            get: function() {
+                return _trackNum;
+            },
+            set: function(v) {
+                _trackNum = converter_.toString(v);
+            },
+            enumerable: true
+        },
+        picture: {
+            get: function() {
+                return _picture;
+            },
+            set: function(v) {
+                _picture = converter_.toString(v);
+            },
+            enumerable: true
+        }
+    });
 
-  if (data instanceof _global.Object) {
-    for (var prop in data) {
-      if (data.hasOwnProperty(prop) && this.hasOwnProperty(prop)) {
-        this[prop] = data[prop];
-      }
+    if (data instanceof _global.Object) {
+        for (var prop in data) {
+            if (data.hasOwnProperty(prop) && this.hasOwnProperty(prop)) {
+                this[prop] = data[prop];
+            }
+        }
     }
-  }
 };
 
 var MediaControllerPlaybackInfo = function(data) {
-  var _state = 'STOP';
-  var _position = 0;
-  var _shuffleMode = false;
-  var _repeatMode = false;
-  var _metadata = new MediaControllerMetadata();
-  Object.defineProperties(this, {
-    state: {
-      get: function() {
-        return _state;
-      },
-      set: function(v) {
-        _state = edit_.isAllowed && v ? v : _state;
-      },
-      enumerable: true
-    },
-    position: {
-      get: function() {
-        return _position;
-      },
-      set: function(v) {
-        _position = edit_.isAllowed && v ? v : _position;
-      },
-      enumerable: true
-    },
-    shuffleMode: {
-      get: function() {
-        return _shuffleMode;
-      },
-      set: function(v) {
-        _shuffleMode = edit_.isAllowed && v ? v : _shuffleMode;
-      },
-      enumerable: true
-    },
-    repeatMode: {
-      get: function() {
-        return _repeatMode;
-      },
-      set: function(v) {
-        _repeatMode = edit_.isAllowed && v ? v : _repeatMode;
-      },
-      enumerable: true
-    },
-    metadata: {
-      get: function() {
-        return _metadata;
-      },
-      set: function(v) {
-        _metadata = edit_.isAllowed && v ? new MediaControllerMetadata(v) : _metadata;
-      },
-      enumerable: true
-    }
-  });
+    var _state = 'STOP';
+    var _position = 0;
+    var _shuffleMode = false;
+    var _repeatMode = false;
+    var _metadata = new MediaControllerMetadata();
+    Object.defineProperties(this, {
+        state: {
+            get: function() {
+                return _state;
+            },
+            set: function(v) {
+                _state = edit_.isAllowed && v ? v : _state;
+            },
+            enumerable: true
+        },
+        position: {
+            get: function() {
+                return _position;
+            },
+            set: function(v) {
+                _position = edit_.isAllowed && v ? v : _position;
+            },
+            enumerable: true
+        },
+        shuffleMode: {
+            get: function() {
+                return _shuffleMode;
+            },
+            set: function(v) {
+                _shuffleMode = edit_.isAllowed && v ? v : _shuffleMode;
+            },
+            enumerable: true
+        },
+        repeatMode: {
+            get: function() {
+                return _repeatMode;
+            },
+            set: function(v) {
+                _repeatMode = edit_.isAllowed && v ? v : _repeatMode;
+            },
+            enumerable: true
+        },
+        metadata: {
+            get: function() {
+                return _metadata;
+            },
+            set: function(v) {
+                _metadata =
+                    edit_.isAllowed && v ? new MediaControllerMetadata(v) : _metadata;
+            },
+            enumerable: true
+        }
+    });
 
-  if (data instanceof _global.Object) {
-    for (var prop in data) {
-      if (data.hasOwnProperty(prop) && this.hasOwnProperty(prop)) {
-        this[prop] = data[prop];
-      }
+    if (data instanceof _global.Object) {
+        for (var prop in data) {
+            if (data.hasOwnProperty(prop) && this.hasOwnProperty(prop)) {
+                this[prop] = data[prop];
+            }
+        }
     }
-  }
 };
 
 function MediaControllerServer(data) {
-  Object.defineProperties(this, {
-    playbackInfo: {
-      value: new MediaControllerPlaybackInfo(data),
-      writable: false,
-      enumerable: true
-    }
-  });
+    Object.defineProperties(this, {
+        playbackInfo: {
+            value: new MediaControllerPlaybackInfo(data),
+            writable: false,
+            enumerable: true
+        }
+    });
 }
 
 MediaControllerServer.prototype.updatePlaybackState = function(state) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'state', type: types_.ENUM, values: Object.keys(MediaControllerPlaybackState)}
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'state',
+            type: types_.ENUM,
+            values: Object.keys(MediaControllerPlaybackState)
+        }
+    ]);
 
-  var data = {
-    state: args.state
-  };
+    var data = {
+        state: args.state
+    };
 
-  var result = native_.callSync('MediaControllerServer_updatePlaybackState', data);
+    var result = native_.callSync('MediaControllerServer_updatePlaybackState', data);
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 
-  edit_.allow();
-  this.playbackInfo.state = args.state;
-  edit_.disallow();
+    edit_.allow();
+    this.playbackInfo.state = args.state;
+    edit_.disallow();
 };
 
 MediaControllerServer.prototype.updatePlaybackPosition = function(position) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'position', type: types_.UNSIGNED_LONG_LONG}
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'position', type: types_.UNSIGNED_LONG_LONG }
+    ]);
 
-  var data = {
-    position: args.position
-  };
+    var data = {
+        position: args.position
+    };
 
-  var result = native_.callSync('MediaControllerServer_updatePlaybackPosition', data);
+    var result = native_.callSync('MediaControllerServer_updatePlaybackPosition', data);
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 
-  edit_.allow();
-  this.playbackInfo.position = args.position;
-  edit_.disallow();
+    edit_.allow();
+    this.playbackInfo.position = args.position;
+    edit_.disallow();
 };
 
 MediaControllerServer.prototype.updateShuffleMode = function(mode) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'mode', type: types_.BOOLEAN}
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'mode', type: types_.BOOLEAN }
+    ]);
 
-  var data = {
-    mode: args.mode
-  };
+    var data = {
+        mode: args.mode
+    };
 
-  var result = native_.callSync('MediaControllerServer_updateShuffleMode', data);
+    var result = native_.callSync('MediaControllerServer_updateShuffleMode', data);
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 
-  edit_.allow();
-  this.playbackInfo.shuffleMode = args.mode;
-  edit_.disallow();
+    edit_.allow();
+    this.playbackInfo.shuffleMode = args.mode;
+    edit_.disallow();
 };
 
 MediaControllerServer.prototype.updateRepeatMode = function(mode) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'mode', type: types_.BOOLEAN}
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'mode', type: types_.BOOLEAN }
+    ]);
 
-  var data = {
-    mode: args.mode
-  };
+    var data = {
+        mode: args.mode
+    };
 
-  var result = native_.callSync('MediaControllerServer_updateRepeatMode', data);
+    var result = native_.callSync('MediaControllerServer_updateRepeatMode', data);
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 
-  edit_.allow();
-  this.playbackInfo.repeatMode = args.mode;
-  edit_.disallow();
+    edit_.allow();
+    this.playbackInfo.repeatMode = args.mode;
+    edit_.disallow();
 };
 
 MediaControllerServer.prototype.updateMetadata = function(metadata) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'metadata', type: types_.PLATFORM_OBJECT, values: MediaControllerMetadata}
-  ]);
-
-  var data = {
-    metadata: args.metadata
-  };
-
-  var result = native_.callSync('MediaControllerServer_updateMetadata', data);
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-
-  edit_.allow();
-  this.playbackInfo.metadata = args.metadata;
-  edit_.disallow();
-};
-
-MediaControllerServer.prototype.addChangeRequestPlaybackInfoListener = function(listener) {
-  var args = validator_.validateArgs(arguments, [{
-    name: 'listener',
-    type: types_.LISTENER,
-    values: [
-      'onplaybackstaterequest',
-      'onplaybackpositionrequest',
-      'onshufflemoderequest',
-      'onrepeatmoderequest'
-    ]
-  }]);
-
-  if (type_.isEmptyObject(ServerPlaybackInfoListener.listeners)) {
-    var result = native_.callSync('MediaControllerServer_addChangeRequestPlaybackInfoListener', {
-      listenerId: ServerPlaybackInfoListener.listenerName
-    });
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'metadata',
+            type: types_.PLATFORM_OBJECT,
+            values: MediaControllerMetadata
+        }
+    ]);
+
+    var data = {
+        metadata: args.metadata
+    };
+
+    var result = native_.callSync('MediaControllerServer_updateMetadata', data);
+
     if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+        throw native_.getErrorObject(result);
     }
-  }
 
-  return ServerPlaybackInfoListener.addListener(args.listener);
+    edit_.allow();
+    this.playbackInfo.metadata = args.metadata;
+    edit_.disallow();
+};
+
+MediaControllerServer.prototype.addChangeRequestPlaybackInfoListener = function(
+    listener
+) {
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'listener',
+            type: types_.LISTENER,
+            values: [
+                'onplaybackstaterequest',
+                'onplaybackpositionrequest',
+                'onshufflemoderequest',
+                'onrepeatmoderequest'
+            ]
+        }
+    ]);
+
+    if (type_.isEmptyObject(ServerPlaybackInfoListener.listeners)) {
+        var result = native_.callSync(
+            'MediaControllerServer_addChangeRequestPlaybackInfoListener',
+            {
+                listenerId: ServerPlaybackInfoListener.listenerName
+            }
+        );
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
+    }
+
+    return ServerPlaybackInfoListener.addListener(args.listener);
 };
 
-MediaControllerServer.prototype.removeChangeRequestPlaybackInfoListener = function(watchId) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'watchId', type: types_.LONG}
-  ]);
+MediaControllerServer.prototype.removeChangeRequestPlaybackInfoListener = function(
+    watchId
+) {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'watchId', type: types_.LONG }
+    ]);
 
-  ServerPlaybackInfoListener.removeListener(args.watchId);
+    ServerPlaybackInfoListener.removeListener(args.watchId);
 
-  if (type_.isEmptyObject(ServerPlaybackInfoListener.listeners)) {
-    native_.callSync('MediaControllerServer_removeCommandListener');
-  }
+    if (type_.isEmptyObject(ServerPlaybackInfoListener.listeners)) {
+        native_.callSync('MediaControllerServer_removeCommandListener');
+    }
 };
 
 MediaControllerServer.prototype.addCommandListener = function(listener) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'listener', type: types_.FUNCTION}
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'listener', type: types_.FUNCTION }
+    ]);
 
-  if (type_.isEmptyObject(ServerCommandListener.listeners)) {
-    var result = native_.callSync('MediaControllerServer_addCommandListener', {
-      listenerId: ServerCommandListener.listenerName
-    });
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+    if (type_.isEmptyObject(ServerCommandListener.listeners)) {
+        var result = native_.callSync('MediaControllerServer_addCommandListener', {
+            listenerId: ServerCommandListener.listenerName
+        });
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
     }
-  }
 
-  return ServerCommandListener.addListener(args.listener);
+    return ServerCommandListener.addListener(args.listener);
 };
 
 MediaControllerServer.prototype.removeCommandListener = function(watchId) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'watchId', type: types_.LONG}
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'watchId', type: types_.LONG }
+    ]);
 
-  ServerCommandListener.removeListener(args.watchId);
+    ServerCommandListener.removeListener(args.watchId);
 
-  if (type_.isEmptyObject(ServerCommandListener.listeners)) {
-    native_.callSync('MediaControllerServer_removeCommandListener');
-  }
+    if (type_.isEmptyObject(ServerCommandListener.listeners)) {
+        native_.callSync('MediaControllerServer_removeCommandListener');
+    }
 };
 
-
 function MediaControllerClient() {}
 
 MediaControllerClient.prototype.findServers = function(successCallback, errorCallback) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'successCallback', type: types_.FUNCTION},
-    {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'successCallback', type: types_.FUNCTION },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
 
-  var callback = function(result) {
-    if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      return;
-    }
-    var info = [];
-    var data = native_.getResultObject(result);
-    for (var i = 0; i < data.length; i++) {
-      info.push(new MediaControllerServerInfo(data[i]));
-    }
-    native_.callIfPossible(args.successCallback, info);
-  };
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+            return;
+        }
+        var info = [];
+        var data = native_.getResultObject(result);
+        for (var i = 0; i < data.length; i++) {
+            info.push(new MediaControllerServerInfo(data[i]));
+        }
+        native_.callIfPossible(args.successCallback, info);
+    };
 
-  native_.call('MediaControllerClient_findServers', {}, callback);
+    native_.call('MediaControllerClient_findServers', {}, callback);
 };
 
 MediaControllerClient.prototype.getLatestServerInfo = function() {
+    var result = native_.callSync('MediaControllerClient_getLatestServerInfo', {});
 
-  var result = native_.callSync('MediaControllerClient_getLatestServerInfo', {});
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 
-  var serverInfo = native_.getResultObject(result);
-  if (serverInfo) {
-    if ('NONE' === serverInfo.state) {
-      serverInfo.state = 'INACTIVE';
+    var serverInfo = native_.getResultObject(result);
+    if (serverInfo) {
+        if ('NONE' === serverInfo.state) {
+            serverInfo.state = 'INACTIVE';
+        }
+        serverInfo = new MediaControllerServerInfo(serverInfo);
     }
-    serverInfo = new MediaControllerServerInfo(serverInfo);
-  }
-  return serverInfo;
+    return serverInfo;
 };
 
-
 function MediaControllerServerInfo(data) {
-  Object.defineProperties(this, {
-    name: {
-      value: data.name,
-      writable: false,
-      enumerable: true
-    },
-    state: {
-      value: data.state,
-      writable: false,
-      enumerable: true
-    },
-    playbackInfo: {
-      get: function () {
-        var result = native_.callSync('MediaControllerClient_getPlaybackInfo', {name: this.name});
-        if (native_.isFailure(result)) {
-          throw new native_.getErrorObject(result);
+    Object.defineProperties(this, {
+        name: {
+            value: data.name,
+            writable: false,
+            enumerable: true
+        },
+        state: {
+            value: data.state,
+            writable: false,
+            enumerable: true
+        },
+        playbackInfo: {
+            get: function() {
+                var result = native_.callSync('MediaControllerClient_getPlaybackInfo', {
+                    name: this.name
+                });
+                if (native_.isFailure(result)) {
+                    throw new native_.getErrorObject(result);
+                }
+                edit_.allow();
+                var data = native_.getResultObject(result);
+                var playbackInfo = new MediaControllerPlaybackInfo(data);
+                edit_.disallow();
+
+                return playbackInfo;
+            }.bind(this),
+            set: function() {},
+            enumerable: true
         }
-        edit_.allow();
-        var data = native_.getResultObject(result);
-        var playbackInfo = new MediaControllerPlaybackInfo(data);
-        edit_.disallow();
-
-        return playbackInfo;
-      }.bind(this),
-      set: function() {},
-      enumerable: true
-    }
-  });
+    });
 }
 
+MediaControllerServerInfo.prototype.sendPlaybackState = function(
+    state,
+    successCallback,
+    errorCallback
+) {
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'state',
+            type: types_.ENUM,
+            values: Object.keys(MediaControllerPlaybackState)
+        },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
 
-MediaControllerServerInfo.prototype.sendPlaybackState = function(state, successCallback, errorCallback) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'state', type: types_.ENUM, values: Object.keys(MediaControllerPlaybackState)},
-    {name: 'successCallback', type: types_.FUNCTION, optional: true, nullable: true},
-    {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
-
-  var data = {
-    name: this.name,
-    state: args.state
-  };
-
-  var callback = function(result) {
-    if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      return;
-    }
-    native_.callIfPossible(args.successCallback);
-  };
-
-  native_.call('MediaControllerServerInfo_sendPlaybackState', data, callback);
-};
-
-MediaControllerServerInfo.prototype.sendPlaybackPosition = function(position, successCallback, errorCallback) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'position', type: types_.LONG_LONG},
-    {name: 'successCallback', type: types_.FUNCTION, optional: true, nullable: true},
-    {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
-
-  if (args.position < 0) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
-  }
-
-  var callback = function(result) {
-    if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      return;
-    }
-    native_.callIfPossible(args.successCallback);
-  };
-
-  var data = {
-    position: args.position
-  };
-
-  sendDefinedCommand(this.name, internal_commands_.sendPlaybackPosition, data, callback);
-};
-
-MediaControllerServerInfo.prototype.sendShuffleMode = function(mode, successCallback, errorCallback) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'mode', type: types_.BOOLEAN},
-    {name: 'successCallback', type: types_.FUNCTION, optional: true, nullable: true},
-    {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
+    var data = {
+        name: this.name,
+        state: args.state
+    };
 
-  var callback = function(result) {
-    if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      return;
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+            return;
+        }
+        native_.callIfPossible(args.successCallback);
+    };
+
+    native_.call('MediaControllerServerInfo_sendPlaybackState', data, callback);
+};
+
+MediaControllerServerInfo.prototype.sendPlaybackPosition = function(
+    position,
+    successCallback,
+    errorCallback
+) {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'position', type: types_.LONG_LONG },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    if (args.position < 0) {
+        throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
     }
-    native_.callIfPossible(args.successCallback);
-  };
-
-  var data = {
-    mode: args.mode
-  };
-  sendDefinedCommand(this.name, internal_commands_.sendShuffleMode, data, callback);
-};
 
-MediaControllerServerInfo.prototype.sendRepeatMode = function(mode, successCallback, errorCallback) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'mode', type: types_.BOOLEAN},
-    {name: 'successCallback', type: types_.FUNCTION, optional: true, nullable: true},
-    {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
-
-  var callback = function(result) {
-    if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      return;
-    }
-    native_.callIfPossible(args.successCallback);
-  };
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+            return;
+        }
+        native_.callIfPossible(args.successCallback);
+    };
+
+    var data = {
+        position: args.position
+    };
+
+    sendDefinedCommand(
+        this.name,
+        internal_commands_.sendPlaybackPosition,
+        data,
+        callback
+    );
+};
+
+MediaControllerServerInfo.prototype.sendShuffleMode = function(
+    mode,
+    successCallback,
+    errorCallback
+) {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'mode', type: types_.BOOLEAN },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+            return;
+        }
+        native_.callIfPossible(args.successCallback);
+    };
+
+    var data = {
+        mode: args.mode
+    };
+    sendDefinedCommand(this.name, internal_commands_.sendShuffleMode, data, callback);
+};
+
+MediaControllerServerInfo.prototype.sendRepeatMode = function(
+    mode,
+    successCallback,
+    errorCallback
+) {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'mode', type: types_.BOOLEAN },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+            return;
+        }
+        native_.callIfPossible(args.successCallback);
+    };
 
-  var data = {
-    mode: args.mode
-  };
-  sendDefinedCommand(this.name, internal_commands_.sendRepeatMode, data, callback);
+    var data = {
+        mode: args.mode
+    };
+    sendDefinedCommand(this.name, internal_commands_.sendRepeatMode, data, callback);
 };
 
 function sendDefinedCommand(name_, command_, data_, callback_) {
-  var nativeData = {
-    command: command_,
-    data: data_,
-    name: name_
-  };
-
-  var replyId = ReplyCommandListener.addListener(callback_);
-
-  nativeData.replyId = replyId;
-  nativeData.listenerId = ReplyCommandListener.listenerName;
-
-  native_.call('MediaControllerServerInfo_sendCommand', nativeData, callback_);
-};
+    var nativeData = {
+        command: command_,
+        data: data_,
+        name: name_
+    };
 
-MediaControllerServerInfo.prototype.sendCommand = function(command, data, successCallback, errorCallback) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'command', type: types_.STRING},
-    {name: 'data', type: types_.DICTIONARY},
-    {name: 'successCallback', type: types_.FUNCTION},
-    {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
+    var replyId = ReplyCommandListener.addListener(callback_);
 
-  var nativeData = {
-    command: args.command,
-    data: args.data,
-    name: this.name
-  };
+    nativeData.replyId = replyId;
+    nativeData.listenerId = ReplyCommandListener.listenerName;
 
-  var replyId = ReplyCommandListener.addListener(successCallback);
+    native_.call('MediaControllerServerInfo_sendCommand', nativeData, callback_);
+}
 
-  nativeData.replyId = replyId;
-  nativeData.listenerId = ReplyCommandListener.listenerName;
-  var callback = function(result) {
-    if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      return;
-    }
-    args.successCallback(native_.getResultObject(result));
-  };
+MediaControllerServerInfo.prototype.sendCommand = function(
+    command,
+    data,
+    successCallback,
+    errorCallback
+) {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'command', type: types_.STRING },
+        { name: 'data', type: types_.DICTIONARY },
+        { name: 'successCallback', type: types_.FUNCTION },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    var nativeData = {
+        command: args.command,
+        data: args.data,
+        name: this.name
+    };
+
+    var replyId = ReplyCommandListener.addListener(successCallback);
+
+    nativeData.replyId = replyId;
+    nativeData.listenerId = ReplyCommandListener.listenerName;
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+            return;
+        }
+        args.successCallback(native_.getResultObject(result));
+    };
 
-  native_.call('MediaControllerServerInfo_sendCommand', nativeData, callback);
+    native_.call('MediaControllerServerInfo_sendCommand', nativeData, callback);
 };
 
 MediaControllerServerInfo.prototype.addServerStatusChangeListener = function(listener) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'listener', type: types_.FUNCTION}
-  ]);
-
-  if (type_.isEmptyObject(ServerInfoStatusListener.listeners)) {
-    var result = native_.callSync('MediaControllerServerInfo_addServerStatusChangeListener', {
-      listenerId: ServerInfoStatusListener.listenerName
-    });
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'listener', type: types_.FUNCTION }
+    ]);
+
+    if (type_.isEmptyObject(ServerInfoStatusListener.listeners)) {
+        var result = native_.callSync(
+            'MediaControllerServerInfo_addServerStatusChangeListener',
+            {
+                listenerId: ServerInfoStatusListener.listenerName
+            }
+        );
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
     }
-  }
-  return ServerInfoStatusListener.addServerInfoListener(args.listener, this.name);
+    return ServerInfoStatusListener.addServerInfoListener(args.listener, this.name);
 };
 
 MediaControllerServerInfo.prototype.removeServerStatusChangeListener = function(watchId) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'watchId', type: types_.LONG}
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'watchId', type: types_.LONG }
+    ]);
 
-  ServerInfoStatusListener.removeServerInfoListener(args.watchId);
+    ServerInfoStatusListener.removeServerInfoListener(args.watchId);
 
-  if (type_.isEmptyObject(ServerInfoStatusListener.listeners)) {
-    native_.callSync('MediaControllerServerInfo_removeServerStatusChangeListener');
-  }
+    if (type_.isEmptyObject(ServerInfoStatusListener.listeners)) {
+        native_.callSync('MediaControllerServerInfo_removeServerStatusChangeListener');
+    }
 };
 
 MediaControllerServerInfo.prototype.addPlaybackInfoChangeListener = function(listener) {
-  var args = validator_.validateArgs(arguments, [{
-    name: 'listener',
-    type: types_.LISTENER,
-    values: [
-      'onplaybackchanged',
-      'onshufflemodechanged',
-      'onrepeatmodechanged',
-      'onmetadatachanged'
-    ]
-  }]);
-
-  if (type_.isEmptyObject(ServerInfoPlaybackInfoListener.listeners)) {
-    var result = native_.callSync(
-        'MediaControllerServerInfo_addPlaybackInfoChangeListener', {
-          listenerId: ServerInfoPlaybackInfoListener.listenerName
-        });
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'listener',
+            type: types_.LISTENER,
+            values: [
+                'onplaybackchanged',
+                'onshufflemodechanged',
+                'onrepeatmodechanged',
+                'onmetadatachanged'
+            ]
+        }
+    ]);
+
+    if (type_.isEmptyObject(ServerInfoPlaybackInfoListener.listeners)) {
+        var result = native_.callSync(
+            'MediaControllerServerInfo_addPlaybackInfoChangeListener',
+            {
+                listenerId: ServerInfoPlaybackInfoListener.listenerName
+            }
+        );
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
     }
-  }
 
-  return ServerInfoPlaybackInfoListener.addServerInfoListener(args.listener, this.name);
+    return ServerInfoPlaybackInfoListener.addServerInfoListener(args.listener, this.name);
 };
 
 MediaControllerServerInfo.prototype.removePlaybackInfoChangeListener = function(watchId) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'watchId', type: types_.LONG}
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'watchId', type: types_.LONG }
+    ]);
 
-  ServerInfoPlaybackInfoListener.removeServerInfoListener(args.watchId);
+    ServerInfoPlaybackInfoListener.removeServerInfoListener(args.watchId);
 
-  if (type_.isEmptyObject(ServerInfoPlaybackInfoListener.listeners)) {
-    native_.callSync('MediaControllerServerInfo_removePlaybackInfoChangeListener');
-  }
+    if (type_.isEmptyObject(ServerInfoPlaybackInfoListener.listeners)) {
+        native_.callSync('MediaControllerServerInfo_removePlaybackInfoChangeListener');
+    }
 };
 
-
 exports = new MediaControllerManager();
index d04e382b97e390897cec127268ba3a02a3adfa90..3fd8a33b35a1c8bb34e0f2129186b256472a8524 100755 (executable)
@@ -13,7 +13,7 @@
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
+
 var validator = xwalk.utils.validator;
 var type = xwalk.utils.type;
 var native = new xwalk.utils.NativeManager(extension);
@@ -23,16 +23,16 @@ var ON_PRESSED_MEDIA_KEY_EVENT_CALLBACK = 'onPressedMediaKeyEventCallback';
 var ON_RELEASED_MEDIA_KEY_EVENT_CALLBACK = 'onReleasedMediaKeyEventCallback';
 
 function MediaKeyManager() {
-  validator.isConstructorCall(this, MediaKeyManager);
+    validator.isConstructorCall(this, MediaKeyManager);
 }
 
 MediaKeyManager.prototype.setMediaKeyEventListener = function(callback) {
     var args = validator.validateArgs(arguments, [
-      {
-        name: 'callback',
-        type: validator.Types.LISTENER,
-        values: ['onpressed', 'onreleased']
-      }
+        {
+            name: 'callback',
+            type: validator.Types.LISTENER,
+            values: ['onpressed', 'onreleased']
+        }
     ]);
 
     var ret = native.callSync('MediaKeyManager_setMediaKeyEventListener', {});
@@ -50,11 +50,10 @@ MediaKeyManager.prototype.setMediaKeyEventListener = function(callback) {
     native.addListener(ON_RELEASED_MEDIA_KEY_EVENT_CALLBACK, function(msg) {
         native.callIfPossible(args.callback.onreleased, msg.type);
     });
-
 };
 
 MediaKeyManager.prototype.unsetMediaKeyEventListener = function() {
-    var ret = native.callSync('MediaKeyManager_unsetMediaKeyEventListener',{});
+    var ret = native.callSync('MediaKeyManager_unsetMediaKeyEventListener', {});
 
     if (native.isFailure(ret)) {
         throw native.getErrorObject(ret);
index 4883d79dafd4e54ff07ee6fb12c166595b3626f8..2cb4de7591375a295d1d0648c31da9bc0dc18ec2 100755 (executable)
@@ -13,7 +13,7 @@
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
+
 var JSON_ = xwalk.JSON;
 var validator_ = xwalk.utils.validator;
 var types_ = validator_.Types;
@@ -26,336 +26,383 @@ var callbacks = {};
 var ports = [];
 
 extension.setMessageListener(function(json) {
-  var msg = JSON_.parse(json);
-  var listeners = callbacks[msg['local_port_id']];
-  var rmp;
-
-  privUtils_.log('Listeners length:' + listeners.length);
-
-  if (!msg.hasOwnProperty('remotePort'))
-    rmp = null;
-  else
-    rmp = new RemoteMessagePort(msg.remotePort, msg.remoteAppId, msg.trusted);
-  for (var i = 0; i < listeners.length; i++) {
-    var func = listeners[i][0];
-    setTimeout(function() {
-      func(msg.message, rmp);
-    }, 0);
-  }
-
+    var msg = JSON_.parse(json);
+    var listeners = callbacks[msg['local_port_id']];
+    var rmp;
+
+    privUtils_.log('Listeners length:' + listeners.length);
+
+    if (!msg.hasOwnProperty('remotePort')) rmp = null;
+    else rmp = new RemoteMessagePort(msg.remotePort, msg.remoteAppId, msg.trusted);
+    for (var i = 0; i < listeners.length; i++) {
+        var func = listeners[i][0];
+        setTimeout(function() {
+            func(msg.message, rmp);
+        }, 0);
+    }
 });
 
 function nextCallbackId() {
-  return callbackId++;
+    return callbackId++;
 }
 
 var ExceptionMap = {
-  'UnknownError' : WebAPIException.UNKNOWN_ERR,
-  'TypeMismatchError' : WebAPIException.TYPE_MISMATCH_ERR,
-  'InvalidValuesError' : WebAPIException.INVALID_VALUES_ERR,
-  'IOError' : WebAPIException.IO_ERR,
-  'ServiceNotAvailableError' : WebAPIException.SERVICE_NOT_AVAILABLE_ERR,
-  'SecurityError' : WebAPIException.SECURITY_ERR,
-  'NetworkError' : WebAPIException.NETWORK_ERR,
-  'NotSupportedError' : WebAPIException.NOT_SUPPORTED_ERR,
-  'NotFoundError' : WebAPIException.NOT_FOUND_ERR,
-  'InvalidAccessError' : WebAPIException.INVALID_ACCESS_ERR,
-  'AbortError' : WebAPIException.ABORT_ERR,
-  'QuotaExceededError' : WebAPIException.QUOTA_EXCEEDED_ERR
+    UnknownError: WebAPIException.UNKNOWN_ERR,
+    TypeMismatchError: WebAPIException.TYPE_MISMATCH_ERR,
+    InvalidValuesError: WebAPIException.INVALID_VALUES_ERR,
+    IOError: WebAPIException.IO_ERR,
+    ServiceNotAvailableError: WebAPIException.SERVICE_NOT_AVAILABLE_ERR,
+    SecurityError: WebAPIException.SECURITY_ERR,
+    NetworkError: WebAPIException.NETWORK_ERR,
+    NotSupportedError: WebAPIException.NOT_SUPPORTED_ERR,
+    NotFoundError: WebAPIException.NOT_FOUND_ERR,
+    InvalidAccessError: WebAPIException.INVALID_ACCESS_ERR,
+    AbortError: WebAPIException.ABORT_ERR,
+    QuotaExceededError: WebAPIException.QUOTA_EXCEEDED_ERR
 };
 
 function callNative(cmd, args) {
-  var json = {'cmd': cmd, 'args': args};
-  var argjson = JSON_.stringify(json);
-  var resultString = extension.internal.sendSyncMessage(argjson);
-  var result = JSON_.parse(resultString);
-
-  if (typeof result !== 'object') {
-    throw new WebAPIException(WebAPIException.UNKNOWN_ERR);
-  }
-
-  if (result['status'] == 'success') {
-    if (result['result']) {
-      return result['result'];
+    var json = { cmd: cmd, args: args };
+    var argjson = JSON_.stringify(json);
+    var resultString = extension.internal.sendSyncMessage(argjson);
+    var result = JSON_.parse(resultString);
+
+    if (typeof result !== 'object') {
+        throw new WebAPIException(WebAPIException.UNKNOWN_ERR);
     }
-    return true;
-  }
-  else if (result['status'] == 'error') {
-    var err = result['error'];
-    if (err) {
-      if (ExceptionMap[err.name]) {
-        throw new WebAPIException(ExceptionMap[err.name], err.message);
-      } else {
-        throw new WebAPIException(WebAPIException.UNKNOWN_ERR, err.message);
-      }
+
+    if (result['status'] == 'success') {
+        if (result['result']) {
+            return result['result'];
+        }
+        return true;
+    } else if (result['status'] == 'error') {
+        var err = result['error'];
+        if (err) {
+            if (ExceptionMap[err.name]) {
+                throw new WebAPIException(ExceptionMap[err.name], err.message);
+            } else {
+                throw new WebAPIException(WebAPIException.UNKNOWN_ERR, err.message);
+            }
+        }
+        return false;
     }
-    return false;
-  }
 }
 
-
 function callNativeWithCallback(cmd, args, callback) {
-  if (callback) {
-    var id = nextCallbackId();
-    args['callbackId'] = id;
-    callbacks[id] = callback;
-  }
+    if (callback) {
+        var id = nextCallbackId();
+        args['callbackId'] = id;
+        callbacks[id] = callback;
+    }
 
-  return callNative(cmd, args);
+    return callNative(cmd, args);
 }
 
 function SetReadOnlyProperty(obj, n, v) {
-  Object.defineProperty(obj, n, {value: v, writable: false});
+    Object.defineProperty(obj, n, { value: v, writable: false });
 }
 
-
 function MessagePortManager() {
-  // constructor of MessagePortManager
+    // constructor of MessagePortManager
 }
 
-
 MessagePortManager.prototype.requestLocalMessagePort = function(localMessagePortName) {
-  var args = validator_.validateArgs(arguments, [
-    {'name' : 'localMessagePortName', 'type': types_.STRING}
-  ]);
-
-  if ('' === args.localMessagePortName) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-                              'Port name cannot be empty.');
-  }
-
-  var localPortId;
-  var nativeParam = {
-    'localMessagePortName': args.localMessagePortName
-  };
-
-  try {
-
-    localPortId = callNative('MessagePortManager_requestLocalMessagePort', nativeParam);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'localMessagePortName', type: types_.STRING }
+    ]);
+
+    if ('' === args.localMessagePortName) {
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'Port name cannot be empty.'
+        );
+    }
 
-  } catch (e) {
-    throw e;
-  }
+    var localPortId;
+    var nativeParam = {
+        localMessagePortName: args.localMessagePortName
+    };
+
+    try {
+        localPortId = callNative(
+            'MessagePortManager_requestLocalMessagePort',
+            nativeParam
+        );
+    } catch (e) {
+        throw e;
+    }
 
-  var returnObject = new LocalMessagePort(args.localMessagePortName, false);
-  ports[nativeParam.localMessagePortName] = localPortId;
+    var returnObject = new LocalMessagePort(args.localMessagePortName, false);
+    ports[nativeParam.localMessagePortName] = localPortId;
 
-  return returnObject;
+    return returnObject;
 };
 
-MessagePortManager.prototype.requestTrustedLocalMessagePort = function(localMessagePortName) {
-  var args = validator_.validateArgs(arguments, [
-    {'name' : 'localMessagePortName', 'type': types_.STRING}
-  ]);
-
-  if ('' === args.localMessagePortName) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-                              'Port name cannot be empty.');
-  }
-
-  var nativeParam = {
-    'localMessagePortName': args.localMessagePortName
-  };
-
-  try {
-
-    var localPortId = callNative('MessagePortManager_requestTrustedLocalMessagePort', nativeParam);
+MessagePortManager.prototype.requestTrustedLocalMessagePort = function(
+    localMessagePortName
+) {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'localMessagePortName', type: types_.STRING }
+    ]);
+
+    if ('' === args.localMessagePortName) {
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'Port name cannot be empty.'
+        );
+    }
 
-  } catch (e) {
-    throw e;
-  }
+    var nativeParam = {
+        localMessagePortName: args.localMessagePortName
+    };
+
+    try {
+        var localPortId = callNative(
+            'MessagePortManager_requestTrustedLocalMessagePort',
+            nativeParam
+        );
+    } catch (e) {
+        throw e;
+    }
 
-  var returnObject = new LocalMessagePort(args.localMessagePortName, true);
-  ports[nativeParam.localMessagePortName] = localPortId;
+    var returnObject = new LocalMessagePort(args.localMessagePortName, true);
+    ports[nativeParam.localMessagePortName] = localPortId;
 
-  return returnObject;
+    return returnObject;
 };
 
-MessagePortManager.prototype.requestRemoteMessagePort =
-    function(appId, remoteMessagePortName) {
-  var args = validator_.validateArgs(arguments, [
-    {'name' : 'appId', 'type': types_.STRING},
-    {'name' : 'remoteMessagePortName', 'type': types_.STRING}
-  ]);
-
-  var nativeParam = {
-    'appId': args.appId,
-    'remoteMessagePortName': args.remoteMessagePortName
-  };
-
-  try {
-
-    var syncResult = callNative('MessagePortManager_requestRemoteMessagePort', nativeParam);
-
-  } catch (e) {
-    throw e;
-  }
+MessagePortManager.prototype.requestRemoteMessagePort = function(
+    appId,
+    remoteMessagePortName
+) {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'appId', type: types_.STRING },
+        { name: 'remoteMessagePortName', type: types_.STRING }
+    ]);
+
+    var nativeParam = {
+        appId: args.appId,
+        remoteMessagePortName: args.remoteMessagePortName
+    };
+
+    try {
+        var syncResult = callNative(
+            'MessagePortManager_requestRemoteMessagePort',
+            nativeParam
+        );
+    } catch (e) {
+        throw e;
+    }
 
-  var returnObject = new RemoteMessagePort(args.remoteMessagePortName, args.appId, false);
+    var returnObject = new RemoteMessagePort(
+        args.remoteMessagePortName,
+        args.appId,
+        false
+    );
 
-  return returnObject;
+    return returnObject;
 };
 
-MessagePortManager.prototype.requestTrustedRemoteMessagePort =
-    function(appId, remoteMessagePortName) {
-  var args = validator_.validateArgs(arguments, [
-    {'name' : 'appId', 'type': types_.STRING},
-    {'name' : 'remoteMessagePortName', 'type': types_.STRING}
-  ]);
-
-  var nativeParam = {
-    'appId' : args.appId,
-    'remoteMessagePortName': args.remoteMessagePortName
-  };
-
-  try {
-
-    var syncResult = callNative('MessagePortManager_requestTrustedRemoteMessagePort', nativeParam);
-
-  } catch (e) {
-    throw e;
-  }
+MessagePortManager.prototype.requestTrustedRemoteMessagePort = function(
+    appId,
+    remoteMessagePortName
+) {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'appId', type: types_.STRING },
+        { name: 'remoteMessagePortName', type: types_.STRING }
+    ]);
+
+    var nativeParam = {
+        appId: args.appId,
+        remoteMessagePortName: args.remoteMessagePortName
+    };
+
+    try {
+        var syncResult = callNative(
+            'MessagePortManager_requestTrustedRemoteMessagePort',
+            nativeParam
+        );
+    } catch (e) {
+        throw e;
+    }
 
-  var returnObject = new RemoteMessagePort(args.remoteMessagePortName, args.appId, true);
+    var returnObject = new RemoteMessagePort(
+        args.remoteMessagePortName,
+        args.appId,
+        true
+    );
 
-  return returnObject;
+    return returnObject;
 };
 
-
 function LocalMessagePort(messagePortName, isTrusted) {
-  Object.defineProperties(this, {
-    'messagePortName': { value: messagePortName, writable: false, enumerable: true },
-    'isTrusted': { value: !!isTrusted, writable: false, enumerable: true }
-  });
+    Object.defineProperties(this, {
+        messagePortName: { value: messagePortName, writable: false, enumerable: true },
+        isTrusted: { value: !!isTrusted, writable: false, enumerable: true }
+    });
 }
 
-
 LocalMessagePort.prototype.addMessagePortListener = function(listener) {
-  var args = validator_.validateArgs(arguments, [
-    {'name' : 'listener', 'type': types_.FUNCTION, 'nullable': false}
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'listener', type: types_.FUNCTION, nullable: false }
+    ]);
 
-  var portId = ports[this.messagePortName];
+    var portId = ports[this.messagePortName];
 
-  if (!callbacks.hasOwnProperty(portId)) callbacks[portId] = [];
+    if (!callbacks.hasOwnProperty(portId)) callbacks[portId] = [];
 
-  callbackId++;
-  callbacks[portId].push([listener, callbackId]);
-
-  return callbackId;
+    callbackId++;
+    callbacks[portId].push([listener, callbackId]);
 
+    return callbackId;
 };
 
 LocalMessagePort.prototype.removeMessagePortListener = function(watchId) {
-  var args = validator_.validateArgs(arguments, [
-    {'name' : 'watchId', 'type': types_.LONG, 'nullable': false, 'optional': false }
-  ]);
-
-  var toDelete;
-  var listeners = callbacks[ports[this.messagePortName]];
-
-  for (var key in listeners) {
-    var listenerId = listeners[key][1];
-    if (watchId == listenerId) {
-      toDelete = key;
-      break;
+    var args = validator_.validateArgs(arguments, [
+        { name: 'watchId', type: types_.LONG, nullable: false, optional: false }
+    ]);
+
+    var toDelete;
+    var listeners = callbacks[ports[this.messagePortName]];
+
+    for (var key in listeners) {
+        var listenerId = listeners[key][1];
+        if (watchId == listenerId) {
+            toDelete = key;
+            break;
+        }
     }
-  }
-
-  if (typeof toDelete === 'undefined')
-    throw new WebAPIException(WebAPIException.NOT_FOUND_ERR,
-        'The port of the target application is not found.');
 
-  listeners.splice(toDelete, 1);
+    if (typeof toDelete === 'undefined')
+        throw new WebAPIException(
+            WebAPIException.NOT_FOUND_ERR,
+            'The port of the target application is not found.'
+        );
 
+    listeners.splice(toDelete, 1);
 };
 
-
 function RemoteMessagePort(messagePortName, appId, isTrusted) {
-  Object.defineProperties(this, {
-    'messagePortName': { value: messagePortName, writable: false },
-    'appId': { value: appId, writable: false },
-    'isTrusted': { value: !!isTrusted, writable: false }
-  });
+    Object.defineProperties(this, {
+        messagePortName: { value: messagePortName, writable: false },
+        appId: { value: appId, writable: false },
+        isTrusted: { value: !!isTrusted, writable: false }
+    });
 }
 
 function _isOctet(valArray) {
-  for(var i=0;i<valArray.length; i++) {
-    if (valArray[i]<0 || valArray[i]>255) {
-      return false;
+    for (var i = 0; i < valArray.length; i++) {
+        if (valArray[i] < 0 || valArray[i] > 255) {
+            return false;
+        }
     }
-  }
-  return true;
+    return true;
 }
 
 RemoteMessagePort.prototype.sendMessage = function() {
-  var args = validator_.validateArgs(arguments, [
-    {'name' : 'data', 'type': types_.ARRAY},
-    {'name' : 'localMessagePort', 'type': types_.PLATFORM_OBJECT, 'optional' : true,
-      'nullable' : true, 'values' : LocalMessagePort }
-  ]);
-
-  var filtered_data = new Array(args.data.length);
-  var unique_data_key = {};
-  var data_length = args.data.length;
-  for (var i = 0; i < data_length; i++) {
-    if (!args.data[i].hasOwnProperty('key')) {
-      throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-          'MessagePortDataItem should contain \'key\' property.');
-    }
-    var key = args.data[i].key;
-    if ('' === key) {
-      throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-          'Property \'key\' should not be empty.');
-    }
-    if (true === unique_data_key[key]) {
-      throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-          'Property \'key\' should not be duplicated.');
-    }
-    var value = args.data[i].value;
-    if (type_.isString(value)) {
-      filtered_data[i] = { key: key, value: value, valueType: 'stringValueType'};
-    } else if(type_.isArray(value)) {
-      var arrayMember = value[0];
-      if(type_.isString(arrayMember)) {
-        for(var j=1;j<value.length;j++) {
-          if (!(type_.isString(value[j]))) {
-            throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-                'Invalid array value');
-          }
+    var args = validator_.validateArgs(arguments, [
+        { name: 'data', type: types_.ARRAY },
+        {
+            name: 'localMessagePort',
+            type: types_.PLATFORM_OBJECT,
+            optional: true,
+            nullable: true,
+            values: LocalMessagePort
         }
-        filtered_data[i] = { key: key, value: value, valueType: 'stringArrayValueType'};
-      } else if(!type_.isArray(arrayMember)) {
-        if (!_isOctet(value)) {
-          throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-              'Data is not octet array');
+    ]);
+
+    var filtered_data = new Array(args.data.length);
+    var unique_data_key = {};
+    var data_length = args.data.length;
+    for (var i = 0; i < data_length; i++) {
+        if (!args.data[i].hasOwnProperty('key')) {
+            throw new WebAPIException(
+                WebAPIException.INVALID_VALUES_ERR,
+                'MessagePortDataItem should contain \'key\' property.'
+            );
         }
-        filtered_data[i] = { key: key, value: value, valueType: 'byteStreamValueType'};
-      } else {
-        for(var j=0;j<value.length;j++) {
-          if (!_isOctet(value[j])) {
-            throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-                'Data is not octet array');
-          }
+        var key = args.data[i].key;
+        if ('' === key) {
+            throw new WebAPIException(
+                WebAPIException.INVALID_VALUES_ERR,
+                'Property \'key\' should not be empty.'
+            );
         }
-        filtered_data[i] = { key: key, value: value, valueType: 'byteStreamArrayValueType'};
-      }
-    } else {
-      // convert any other value to string -> backward compatibility
-      filtered_data[i] = { key: key, value: converter_.toString(value), valueType: 'stringValueType'};
+        if (true === unique_data_key[key]) {
+            throw new WebAPIException(
+                WebAPIException.INVALID_VALUES_ERR,
+                'Property \'key\' should not be duplicated.'
+            );
+        }
+        var value = args.data[i].value;
+        if (type_.isString(value)) {
+            filtered_data[i] = { key: key, value: value, valueType: 'stringValueType' };
+        } else if (type_.isArray(value)) {
+            var arrayMember = value[0];
+            if (type_.isString(arrayMember)) {
+                for (var j = 1; j < value.length; j++) {
+                    if (!type_.isString(value[j])) {
+                        throw new WebAPIException(
+                            WebAPIException.INVALID_VALUES_ERR,
+                            'Invalid array value'
+                        );
+                    }
+                }
+                filtered_data[i] = {
+                    key: key,
+                    value: value,
+                    valueType: 'stringArrayValueType'
+                };
+            } else if (!type_.isArray(arrayMember)) {
+                if (!_isOctet(value)) {
+                    throw new WebAPIException(
+                        WebAPIException.INVALID_VALUES_ERR,
+                        'Data is not octet array'
+                    );
+                }
+                filtered_data[i] = {
+                    key: key,
+                    value: value,
+                    valueType: 'byteStreamValueType'
+                };
+            } else {
+                for (var j = 0; j < value.length; j++) {
+                    if (!_isOctet(value[j])) {
+                        throw new WebAPIException(
+                            WebAPIException.INVALID_VALUES_ERR,
+                            'Data is not octet array'
+                        );
+                    }
+                }
+                filtered_data[i] = {
+                    key: key,
+                    value: value,
+                    valueType: 'byteStreamArrayValueType'
+                };
+            }
+        } else {
+            // convert any other value to string -> backward compatibility
+            filtered_data[i] = {
+                key: key,
+                value: converter_.toString(value),
+                valueType: 'stringValueType'
+            };
+        }
+        unique_data_key[key] = true;
     }
-    unique_data_key[key] = true;
-  }
-
-  var nativeParam = {
-    'appId': this.appId,
-    'messagePortName': this.messagePortName,
-    'data': filtered_data,
-    'trusted': this.isTrusted,
-    'local_port_id': args.localMessagePort ? ports[args.localMessagePort.messagePortName] : -1
-  };
-
-  var syncResult = callNative('RemoteMessagePort_sendMessage', nativeParam);
+
+    var nativeParam = {
+        appId: this.appId,
+        messagePortName: this.messagePortName,
+        data: filtered_data,
+        trusted: this.isTrusted,
+        local_port_id: args.localMessagePort
+            ? ports[args.localMessagePort.messagePortName]
+            : -1
+    };
+
+    var syncResult = callNative('RemoteMessagePort_sendMessage', nativeParam);
 };
 
 exports = new MessagePortManager();
index fe4f4f7e13afc034b42b4b974d8b14038fe9f24d..53d4c61fe8eb343a3a9f0f89420c531b0da47941 100755 (executable)
@@ -13,7 +13,7 @@
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
+
 var validator_ = xwalk.utils.validator;
 var types_ = validator_.Types;
 var T_ = xwalk.utils.type;
@@ -25,34 +25,33 @@ function throwException_(err) {
 }
 
 var Property = {
-    W: 1 << 0,   // WRITABLE
-    E: 1 << 1,   // ENUMERABLE
-    C: 1 << 2    // CONFIGURABLE
-}
+    W: 1 << 0, // WRITABLE
+    E: 1 << 1, // ENUMERABLE
+    C: 1 << 2 // CONFIGURABLE
+};
 
-function addTypeToFilter_(data)
-{
+function addTypeToFilter_(data) {
     var filter = {};
 
-    for(var field in data) {
+    for (var field in data) {
         filter[field] = data[field];
     }
 
     if (data instanceof tizen.AttributeFilter) {
-        filter.filterType = "AttributeFilter";
+        filter.filterType = 'AttributeFilter';
         //convert to string
         filter.matchValue = String(filter.matchValue);
     } else if (data instanceof tizen.AttributeRangeFilter) {
-        filter.filterType = "AttributeRangeFilter";
+        filter.filterType = 'AttributeRangeFilter';
     } else if (data instanceof tizen.CompositeFilter) {
-        filter.filterType = "CompositeFilter";
+        filter.filterType = 'CompositeFilter';
         // recursively convert all sub-filters
         filter.filters = [];
         for (var i = 0; i < data.filters.length; ++i) {
             filter.filters[i] = addTypeToFilter_(data.filters[i]);
         }
     } else {
-        filter.filterType = "Unknown";
+        filter.filterType = 'Unknown';
     }
 
     return filter;
@@ -83,24 +82,26 @@ function propertyFactory_(that, name, value, flags, options) {
     if (options === null || typeof options !== 'object') {
         options = {};
     }
-    if (!(options.get) && !(options.set)) {
+    if (!options.get && !options.set) {
         options.value = value;
     }
-    if ((flags & Property.W) != 0) { options.writable     = true; }
-    if ((flags & Property.E) != 0) { options.enumerable   = true; }
-    if ((flags & Property.C) != 0) { options.configurable = true; }
-    Object.defineProperty(
-        that,
-        name,
-        options
-    );
+    if ((flags & Property.W) != 0) {
+        options.writable = true;
+    }
+    if ((flags & Property.E) != 0) {
+        options.enumerable = true;
+    }
+    if ((flags & Property.C) != 0) {
+        options.configurable = true;
+    }
+    Object.defineProperty(that, name, options);
 }
 
 function InternalValues_(data) {
     if (!(this instanceof InternalValues_)) {
         return new InternalValues_(data);
     }
-    for(var key in data) {
+    for (var key in data) {
         if (data.hasOwnProperty(key)) {
             this[key] = data[key];
         }
@@ -109,7 +110,7 @@ function InternalValues_(data) {
 
 function updateInternal_(internal, data) {
     var values = new InternalValues_(data);
-    for(var key in data) {
+    for (var key in data) {
         if (values.hasOwnProperty(key) && internal.hasOwnProperty(key)) {
             internal[key] = values;
         }
@@ -123,27 +124,32 @@ var MessageServiceTag = ['messaging.sms', 'messaging.mms', 'messaging.email'];
 
 function Message(type, data) {
     if (!(this instanceof Message)) {
-        throw new TypeError("Constructor called like a function");
+        throw new TypeError('Constructor called like a function');
     }
     if (MessageServiceTag.indexOf(type) === -1) {
         throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
     }
-    if ( !data || typeof data !== 'object') { // 'data' is optional
+    if (!data || typeof data !== 'object') {
+        // 'data' is optional
         data = {};
     }
 
     // set initial data from internal MessageInit_ object or to default values
-    var internal       = data instanceof MessageInit_,
-        id             = internal ? data.id             : null,
+    var internal = data instanceof MessageInit_,
+        id = internal ? data.id : null,
         conversationId = internal ? data.conversationId : null,
-        folderId       = internal ? data.folderId       : null,
-        timestamp      = internal ? data.timestamp      : null,
-        from           = internal ? data.from           : null,
-        hasAttachment  = internal ? data.hasAttachment  : false,
-        isRead         = internal ? data.isRead         : false,
-        inResponseTo   = internal ? data.inResponseTo   : null;
+        folderId = internal ? data.folderId : null,
+        timestamp = internal ? data.timestamp : null,
+        from = internal ? data.from : null,
+        hasAttachment = internal ? data.hasAttachment : false,
+        isRead = internal ? data.isRead : false,
+        inResponseTo = internal ? data.inResponseTo : null;
     // create MessageBody object
-    var body = new MessageBody({messageId: id, plainBody: data.plainBody, htmlBody: data.htmlBody});
+    var body = new MessageBody({
+        messageId: id,
+        plainBody: data.plainBody,
+        htmlBody: data.htmlBody
+    });
     // check 'to', 'cc' and 'bcc' fields
     var to = data.to;
     if (!(to instanceof Array)) {
@@ -179,270 +185,249 @@ function Message(type, data) {
         attachments: attachments
     };
     // id
-    Object.defineProperty(
-        this,
-        'id',
-        {
-            get: function () {return _internal.id;},
-            set: function (value) { if (value instanceof InternalValues_) _internal.id = value.id;},
-            enumerable: true
-        }
-    );
+    Object.defineProperty(this, 'id', {
+        get: function() {
+            return _internal.id;
+        },
+        set: function(value) {
+            if (value instanceof InternalValues_) _internal.id = value.id;
+        },
+        enumerable: true
+    });
 
     //conversationId
-    Object.defineProperty(
-        this,
-        'conversationId',
-        {
-            get: function () {return _internal.conversationId;},
-            set: function (value) {
-                if (value instanceof InternalValues_)
-                    _internal.conversationId = value.conversationId;
-            },
-            enumerable: true
-        }
-    );
+    Object.defineProperty(this, 'conversationId', {
+        get: function() {
+            return _internal.conversationId;
+        },
+        set: function(value) {
+            if (value instanceof InternalValues_)
+                _internal.conversationId = value.conversationId;
+        },
+        enumerable: true
+    });
 
     // folderId
-    Object.defineProperty(
-        this,
-        'folderId',
-        {
-            get: function () {return _internal.folderId;},
-            set: function (value) {
-                if (value instanceof InternalValues_) _internal.folderId = value.folderId;
-            },
-            enumerable: true
-        }
-    );
+    Object.defineProperty(this, 'folderId', {
+        get: function() {
+            return _internal.folderId;
+        },
+        set: function(value) {
+            if (value instanceof InternalValues_) {
+                _internal.folderId = value.folderId;
+            }
+        },
+        enumerable: true
+    });
 
     // type
-    Object.defineProperty(
-        this,
-        'type',
-        {
-            get: function () {return _internal.type;},
-            set: function (value) {return;},
-            enumerable: true
-        }
-    );
+    Object.defineProperty(this, 'type', {
+        get: function() {
+            return _internal.type;
+        },
+        set: function(value) {
+            return;
+        },
+        enumerable: true
+    });
 
     // timestamp
-    Object.defineProperty(
-        this,
-        'timestamp',
-        {
-            get: function () {
-                return _internal.timestamp ? new Date(_internal.timestamp * 1000) : _internal.timestamp;
-            },
-            set: function (value) {
-                if (value instanceof InternalValues_) {
-                    _internal.timestamp = value.timestamp;
-                }
-            },
-            enumerable: true
-        }
-    );
+    Object.defineProperty(this, 'timestamp', {
+        get: function() {
+            return _internal.timestamp
+                ? new Date(_internal.timestamp * 1000)
+                : _internal.timestamp;
+        },
+        set: function(value) {
+            if (value instanceof InternalValues_) {
+                _internal.timestamp = value.timestamp;
+            }
+        },
+        enumerable: true
+    });
 
     // from
-    Object.defineProperty(
-        this,
-        'from',
-        {
-            get: function () {return _internal.from;},
-            set: function (value) {
-                if (value instanceof InternalValues_) _internal.from = value.from;
-            },
-            enumerable: true
-        }
-    );
+    Object.defineProperty(this, 'from', {
+        get: function() {
+            return _internal.from;
+        },
+        set: function(value) {
+            if (value instanceof InternalValues_) _internal.from = value.from;
+        },
+        enumerable: true
+    });
 
     // to
-    Object.defineProperty(
-        this,
-        'to',
-        {
-            get: function () {return _internal.to;},
-            set: function (value) {
-                if (value instanceof InternalValues_) value = value.to;
-                if (value instanceof Array) _internal.to = value;
-            },
-            enumerable: true
-        }
-    );
+    Object.defineProperty(this, 'to', {
+        get: function() {
+            return _internal.to;
+        },
+        set: function(value) {
+            if (value instanceof InternalValues_) value = value.to;
+            if (value instanceof Array) _internal.to = value;
+        },
+        enumerable: true
+    });
 
     // cc
-    Object.defineProperty(
-        this,
-        'cc',
-        {
-            get: function () {return _internal.cc;},
-            set: function (value) {
-                if (value instanceof InternalValues_) value = value.cc;
-                if (value instanceof Array) _internal.cc = value;
-            },
-            enumerable: true
-        }
-    );
+    Object.defineProperty(this, 'cc', {
+        get: function() {
+            return _internal.cc;
+        },
+        set: function(value) {
+            if (value instanceof InternalValues_) value = value.cc;
+            if (value instanceof Array) _internal.cc = value;
+        },
+        enumerable: true
+    });
 
     // bcc
-    Object.defineProperty(
-        this,
-        'bcc',
-        {
-            get: function () {return _internal.bcc;},
-            set: function (value) {
-                if (value instanceof InternalValues_) value = value.bcc;
-                if (value instanceof Array) _internal.bcc = value;
-            },
-            enumerable: true
-        }
-    );
+    Object.defineProperty(this, 'bcc', {
+        get: function() {
+            return _internal.bcc;
+        },
+        set: function(value) {
+            if (value instanceof InternalValues_) value = value.bcc;
+            if (value instanceof Array) _internal.bcc = value;
+        },
+        enumerable: true
+    });
 
     // body
-    Object.defineProperty(
-        this,
-        'body',
-        {
-            get: function () {return _internal.body;},
-            set: function (value) {
-                if (value instanceof InternalValues_) _internal.body = new MessageBody(value.body);
-                if (value instanceof MessageBody) _internal.body = value;
-            },
-            enumerable: true
-        }
-    );
+    Object.defineProperty(this, 'body', {
+        get: function() {
+            return _internal.body;
+        },
+        set: function(value) {
+            if (value instanceof InternalValues_) {
+                _internal.body = new MessageBody(value.body);
+            }
+            if (value instanceof MessageBody) _internal.body = value;
+        },
+        enumerable: true
+    });
 
     // isRead
-    Object.defineProperty(
-        this,
-        'isRead',
-        {
-            get: function () {return _internal.isRead;},
-            set: function (value) {
-                if (value instanceof InternalValues_) {value = value.isRead;}
-                _internal.isRead = !!value;
-            },
-            enumerable: true
-        }
-    );
+    Object.defineProperty(this, 'isRead', {
+        get: function() {
+            return _internal.isRead;
+        },
+        set: function(value) {
+            if (value instanceof InternalValues_) {
+                value = value.isRead;
+            }
+            _internal.isRead = !!value;
+        },
+        enumerable: true
+    });
 
     // hasAttachment
-    Object.defineProperty(
-        this,
-        'hasAttachment',
-        {
-            get: function () {return _internal.attachments.length > 0;},
-            set: function (value) {
-                if (value instanceof InternalValues_)
-                    _internal.hasAttachment = value.hasAttachment;
-            },
-            enumerable: true
-        }
-    );
+    Object.defineProperty(this, 'hasAttachment', {
+        get: function() {
+            return _internal.attachments.length > 0;
+        },
+        set: function(value) {
+            if (value instanceof InternalValues_)
+                _internal.hasAttachment = value.hasAttachment;
+        },
+        enumerable: true
+    });
 
     // isHighPriority
-    Object.defineProperty(
-        this,
-        'isHighPriority',
-        {
-            get: function () {return _internal.isHighPriority;},
-            set: function (value) {
-                if (value instanceof InternalValues_) value = value.isHighPriority;
-                _internal.isHighPriority = !!value;
-            },
-            enumerable: true
-        }
-    );
+    Object.defineProperty(this, 'isHighPriority', {
+        get: function() {
+            return _internal.isHighPriority;
+        },
+        set: function(value) {
+            if (value instanceof InternalValues_) value = value.isHighPriority;
+            _internal.isHighPriority = !!value;
+        },
+        enumerable: true
+    });
 
     // subject
-    Object.defineProperty(
-        this,
-        'subject',
-        {
-            get: function () {return _internal.subject;},
-            set: function (value) {
-                if (value instanceof InternalValues_) value = value.subject;
-                _internal.subject = String(value);
-            },
-            enumerable: true
-        }
-    );
+    Object.defineProperty(this, 'subject', {
+        get: function() {
+            return _internal.subject;
+        },
+        set: function(value) {
+            if (value instanceof InternalValues_) value = value.subject;
+            _internal.subject = String(value);
+        },
+        enumerable: true
+    });
 
     // inResponseTo
-    Object.defineProperty(
-        this,
-        'inResponseTo',
-        {
-            get: function () {return _internal.inResponseTo;},
-            set: function (value) {
-                if (value instanceof InternalValues_) _internal.inResponseTo = value.inResponseTo;
-            },
-            enumerable: true
-        }
-    );
+    Object.defineProperty(this, 'inResponseTo', {
+        get: function() {
+            return _internal.inResponseTo;
+        },
+        set: function(value) {
+            if (value instanceof InternalValues_) {
+                _internal.inResponseTo = value.inResponseTo;
+            }
+        },
+        enumerable: true
+    });
 
     // messageStatus
-    Object.defineProperty(
-        this,
-        'messageStatus',
-        {
-            get: function () {
-                if (_internal.id) {
-                  var callArgs = {
-                      id: _internal.id,
-                      type: _internal.type
-                  };
-                  var result = native.callSync('Message_messageStatus', callArgs);
-                  if (native.isSuccess(result)) {
+    Object.defineProperty(this, 'messageStatus', {
+        get: function() {
+            if (_internal.id) {
+                var callArgs = {
+                    id: _internal.id,
+                    type: _internal.type
+                };
+                var result = native.callSync('Message_messageStatus', callArgs);
+                if (native.isSuccess(result)) {
                     return native.getResultObject(result);
-                  }
                 }
-                return '';
-            },
-            set: function (value) {return;},
-            enumerable: true
-        }
-    );
+            }
+            return '';
+        },
+        set: function(value) {
+            return;
+        },
+        enumerable: true
+    });
 
     // attachments
-    Object.defineProperty(
-        this,
-        'attachments',
-        {
-            get: function () {return _internal.attachments;},
-            set: function(value) {
-                if (value instanceof InternalValues_) {
-                    value = value.attachments;
-                    for (var k = 0; k < value.length; ++k) {
-                        if (!(value[k] instanceof tizen.MessageAttachment)) {
-                            if (_internal.attachments[k]) {
-                                updateInternal_(_internal.attachments[k], value[k]);
-                            } else {
-                                _internal.attachments[k] = new MessageAttachment(
-                                        new InternalValues_(value[k]));
-                            }
+    Object.defineProperty(this, 'attachments', {
+        get: function() {
+            return _internal.attachments;
+        },
+        set: function(value) {
+            if (value instanceof InternalValues_) {
+                value = value.attachments;
+                for (var k = 0; k < value.length; ++k) {
+                    if (!(value[k] instanceof tizen.MessageAttachment)) {
+                        if (_internal.attachments[k]) {
+                            updateInternal_(_internal.attachments[k], value[k]);
                         } else {
-                            _internal.attachments[k] = value[k];
+                            _internal.attachments[k] = new MessageAttachment(
+                                new InternalValues_(value[k])
+                            );
                         }
+                    } else {
+                        _internal.attachments[k] = value[k];
                     }
-                    // if new array is shorter than the old one, remove excess elements
-                    if (value.length < _internal.length) {
-                        _internal.splice(value.length, _internal.length - value.length);
-                    }
-                } else if (T_.isArray(value)) {
-                    for (var k = 0; k < value.length; ++k) {
-                        if (!(value[k] instanceof tizen.MessageAttachment)) {
-                            return;
-                        }
+                }
+                // if new array is shorter than the old one, remove excess elements
+                if (value.length < _internal.length) {
+                    _internal.splice(value.length, _internal.length - value.length);
+                }
+            } else if (T_.isArray(value)) {
+                for (var k = 0; k < value.length; ++k) {
+                    if (!(value[k] instanceof tizen.MessageAttachment)) {
+                        return;
                     }
-                    _internal.attachments = value;
                 }
-            },
-            enumerable: true
-        }
-    );
-};
+                _internal.attachments = value;
+            }
+        },
+        enumerable: true
+    });
+}
 
 function MessageInit(data) {
     if (!(this instanceof MessageInit)) {
@@ -451,52 +436,57 @@ function MessageInit(data) {
     if (data === null || typeof data !== 'object') {
         data = {};
     }
-    propertyFactory_(this, 'subject'       , data.subject        || ''   , Property.E | Property.W);
-    propertyFactory_(this, 'to'            , data.to             || []   , Property.E | Property.W);
-    propertyFactory_(this, 'cc'            , data.cc             || []   , Property.E | Property.W);
-    propertyFactory_(this, 'bcc'           , data.bcc            || []   , Property.E | Property.W);
-    propertyFactory_(this, 'plainBody'     , data.plainBody      || ''   , Property.E | Property.W);
-    propertyFactory_(this, 'htmlBody'      , data.htmlBody       || ''   , Property.E | Property.W);
-    propertyFactory_(this, 'isHighPriority', data.isHighPriority || false, Property.E | Property.W);
-};
+    propertyFactory_(this, 'subject', data.subject || '', Property.E | Property.W);
+    propertyFactory_(this, 'to', data.to || [], Property.E | Property.W);
+    propertyFactory_(this, 'cc', data.cc || [], Property.E | Property.W);
+    propertyFactory_(this, 'bcc', data.bcc || [], Property.E | Property.W);
+    propertyFactory_(this, 'plainBody', data.plainBody || '', Property.E | Property.W);
+    propertyFactory_(this, 'htmlBody', data.htmlBody || '', Property.E | Property.W);
+    propertyFactory_(
+        this,
+        'isHighPriority',
+        data.isHighPriority || false,
+        Property.E | Property.W
+    );
+}
 
 function MessageInit_(data) {
     if (!(this instanceof MessageInit_)) {
         return new MessageInit_(data);
     }
-    if ( !data || typeof data !== 'object') {
+    if (!data || typeof data !== 'object') {
         data = {};
     }
-    this.id             = data.id             || null;
+    this.id = data.id || null;
     this.conversationId = data.conversationId || null;
-    this.folderId       = data.folderId       || null;
-    this.timestamp      = data.timestamp      || null;
-    this.from           = data.from           || '';
-    this.to             = data.to             || [];
-    this.cc             = data.cc             || [];
-    this.bcc            = data.bcc            || [];
-    this.isRead         = data.isRead         || false;
-    this.hasAttachment  = data.hasAttachment  || null;
+    this.folderId = data.folderId || null;
+    this.timestamp = data.timestamp || null;
+    this.from = data.from || '';
+    this.to = data.to || [];
+    this.cc = data.cc || [];
+    this.bcc = data.bcc || [];
+    this.isRead = data.isRead || false;
+    this.hasAttachment = data.hasAttachment || null;
     this.isHighPriority = data.isHighPriority || false;
-    this.subject        = data.subject        || '';
-    this.inResponseTo   = data.inResponseTo   || null;
+    this.subject = data.subject || '';
+    this.inResponseTo = data.inResponseTo || null;
     this.attachments = [];
-    this.plainBody      = data.body ? data.body.plainBody : '';
-    this.htmlBody       = data.body ? data.body.htmlBody : '';
+    this.plainBody = data.body ? data.body.plainBody : '';
+    this.htmlBody = data.body ? data.body.htmlBody : '';
 
     var self = this;
     if (data.attachments && data.attachments.constructor === Array) {
         data.attachments.forEach(function(el) {
-           if (!el) return;
+            if (!el) return;
 
-           if (el.constructor === MessageAttachment) {
-               self.attachments.push(el);
-           } else {
-               self.attachments.push(new MessageAttachment(new InternalValues_(el)));
-           }
+            if (el.constructor === MessageAttachment) {
+                self.attachments.push(el);
+            } else {
+                self.attachments.push(new MessageAttachment(new InternalValues_(el)));
+            }
         });
     }
-};
+}
 
 function MessageBody(data) {
     if (!this instanceof MessageBody) {
@@ -515,82 +505,74 @@ function MessageBody(data) {
     };
 
     // messageId
-    Object.defineProperty(
-        this,
-        'messageId',
-        {
-            get: function () {return _internal.messageId;},
-            set: function (value) {
-                if (value instanceof InternalValues_) _internal.messageId = value.messageId;
-            },
-            enumerable: true
-        }
-    );
+    Object.defineProperty(this, 'messageId', {
+        get: function() {
+            return _internal.messageId;
+        },
+        set: function(value) {
+            if (value instanceof InternalValues_) {
+                _internal.messageId = value.messageId;
+            }
+        },
+        enumerable: true
+    });
 
     // loaded
-    Object.defineProperty(
-        this,
-        'loaded',
-        {
-            get: function () {return _internal.loaded;},
-            set: function (value) {
-                if (value instanceof InternalValues_) _internal.loaded = value.loaded;
-            },
-            enumerable: true
-        }
-    );
+    Object.defineProperty(this, 'loaded', {
+        get: function() {
+            return _internal.loaded;
+        },
+        set: function(value) {
+            if (value instanceof InternalValues_) _internal.loaded = value.loaded;
+        },
+        enumerable: true
+    });
 
     // plainBody
-    Object.defineProperty(
-        this,
-        'plainBody',
-        {
-            get: function () {return _internal.plainBody;},
-            set: function (value) {
-                if (value instanceof InternalValues_) {
-                    _internal.plainBody = String(value.plainBody);
-                } else {
-                    _internal.plainBody = String(value);
-                }
-            },
-            enumerable: true
-        }
-    );
+    Object.defineProperty(this, 'plainBody', {
+        get: function() {
+            return _internal.plainBody;
+        },
+        set: function(value) {
+            if (value instanceof InternalValues_) {
+                _internal.plainBody = String(value.plainBody);
+            } else {
+                _internal.plainBody = String(value);
+            }
+        },
+        enumerable: true
+    });
 
     // htmlBody
-    Object.defineProperty(
-        this,
-        'htmlBody',
-        {
-            get: function () {return _internal.htmlBody;},
-            set: function (value) {
-                if (value instanceof InternalValues_) {
-                    _internal.htmlBody = String(value.htmlBody);
-                } else {
-                    _internal.htmlBody = String(value);
-                }
-            },
-            enumerable: true
-        }
-    );
+    Object.defineProperty(this, 'htmlBody', {
+        get: function() {
+            return _internal.htmlBody;
+        },
+        set: function(value) {
+            if (value instanceof InternalValues_) {
+                _internal.htmlBody = String(value.htmlBody);
+            } else {
+                _internal.htmlBody = String(value);
+            }
+        },
+        enumerable: true
+    });
 
     // inlineAttachments
-    Object.defineProperty(
-        this,
-        'inlineAttachments',
-        {
-            get: function () {return _internal.inlineAttachments;},
-            set: function (value) {
-                if (value instanceof InternalValues_) {
-                    _internal.inlineAttachments = value.inlineAttachments;
-                } else if (T_.isArray(value)) {
-                    _internal.inlineAttachments = value;
-                }
-            },
-            enumerable: true
-        }
-    );
-};
+    Object.defineProperty(this, 'inlineAttachments', {
+        get: function() {
+            return _internal.inlineAttachments;
+        },
+        set: function(value) {
+            if (value instanceof InternalValues_) {
+                _internal.inlineAttachments = value.inlineAttachments;
+            } else if (T_.isArray(value)) {
+                _internal.inlineAttachments = value;
+            }
+        },
+        enumerable: true
+    });
+}
 
 var messageAttachmentsLoaded = {};
 
@@ -604,115 +586,117 @@ function MessageAttachment(first, second) {
     var _internal = {
         messageId: internalConstructor ? first.messageId : null,
         id: internalConstructor ? first.id : null,
-        mimeType: internalConstructor ? first.mimeType : (undefined == second ? null : second),
-        filePath: internalConstructor ? first.filePath : first,
+        mimeType: internalConstructor
+            ? first.mimeType
+            : undefined == second
+                ? null
+                : second,
+        filePath: internalConstructor ? first.filePath : first
     };
 
     // messageId
-    Object.defineProperty(
-        this,
-        'messageId',
-        {
-            get: function () {return _internal.messageId;},
-            set: function (value) {
-                if (value instanceof InternalValues_) _internal.messageId = value.messageId;
-            },
-            enumerable: true
-        }
-    );
+    Object.defineProperty(this, 'messageId', {
+        get: function() {
+            return _internal.messageId;
+        },
+        set: function(value) {
+            if (value instanceof InternalValues_) {
+                _internal.messageId = value.messageId;
+            }
+        },
+        enumerable: true
+    });
     // id
-    Object.defineProperty(
-        this,
-        'id',
-        {
-            get: function () {return _internal.id;},
-            set: function (value) {
-                if (value instanceof InternalValues_) _internal.id = value.id;
-            },
-            enumerable: true
-        }
-    );
+    Object.defineProperty(this, 'id', {
+        get: function() {
+            return _internal.id;
+        },
+        set: function(value) {
+            if (value instanceof InternalValues_) _internal.id = value.id;
+        },
+        enumerable: true
+    });
     // mimeType
-    Object.defineProperty(
-        this,
-        'mimeType',
-        {
-            get: function () {return _internal.mimeType;},
-            set: function (value) {
-                if (value instanceof InternalValues_) _internal.mimeType = value.mimeType;
-            },
-            enumerable: true
-        }
-    );
+    Object.defineProperty(this, 'mimeType', {
+        get: function() {
+            return _internal.mimeType;
+        },
+        set: function(value) {
+            if (value instanceof InternalValues_) _internal.mimeType = value.mimeType;
+        },
+        enumerable: true
+    });
     // filePath
-    Object.defineProperty(
-        this,
-        'filePath',
-        {
-            get: function () {
-                if (_internal.id && !messageAttachmentsLoaded[_internal.id]) {
-                    return null;
-                }
+    Object.defineProperty(this, 'filePath', {
+        get: function() {
+            if (_internal.id && !messageAttachmentsLoaded[_internal.id]) {
+                return null;
+            }
 
-                return _internal.filePath;
-            },
-            set: function (value) {
-                if (value instanceof InternalValues_) _internal.filePath = value.filePath;
-            },
-            enumerable: true
-        }
-    );
-};
+            return _internal.filePath;
+        },
+        set: function(value) {
+            if (value instanceof InternalValues_) _internal.filePath = value.filePath;
+        },
+        enumerable: true
+    });
+}
 
-function Messaging() {};
+function Messaging() {}
 
 /**
  * Gets the messaging service of a given type for a given account.
  * @param {!MessageServiceTag} messageServiceType Type of the services to be retrieved.
- * @param {!MessageServiceArraySuccessCallback} successCallback Callback function that is called
- *     when the services are successfully retrieved.
- * @param {ErrorCallback} errorCallback Callback function that is called when an error occurs.
+ * @param {!MessageServiceArraySuccessCallback} successCallback Callback function
+ *      that is called when the services are successfully retrieved.
+ * @param {ErrorCallback} errorCallback Callback function that is called
+ *      when an error occurs.
  */
-Messaging.prototype.getMessageServices = function () {
+Messaging.prototype.getMessageServices = function() {
     var args = validator_.validateArgs(arguments, [
-        {name: 'messageServiceType', type: types_.ENUM, values: MessageServiceTag},
-        {name: 'successCallback', type: types_.FUNCTION},
-        {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
+        { name: 'messageServiceType', type: types_.ENUM, values: MessageServiceTag },
+        { name: 'successCallback', type: types_.FUNCTION },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
     ]);
 
-    var callArgs = {messageServiceType: args.messageServiceType};
+    var callArgs = { messageServiceType: args.messageServiceType };
     var callback = function(result) {
-      if (native.isFailure(result)) {
-        native.callIfPossible(args.errorCallback, native.getErrorObject(result));
-      } else {
-        var data = native.getResultObject(result);
-        var servicesArr = [];
-        data.forEach(function(e){
-            servicesArr.push(new MessageService(e));
-        });
-        args.successCallback(servicesArr);
-      }
+        if (native.isFailure(result)) {
+            native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        } else {
+            var data = native.getResultObject(result);
+            var servicesArr = [];
+            data.forEach(function(e) {
+                servicesArr.push(new MessageService(e));
+            });
+            args.successCallback(servicesArr);
+        }
     };
     var result = native.call('Messaging_getMessageServices', callArgs, callback);
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     }
-}
+};
 
-function MessageStorage(){};
+function MessageStorage() {}
 function MessageService(data) {
     propertyFactory_(this, 'id', data.id, Property.E);
     propertyFactory_(this, 'type', data.type, Property.E);
     propertyFactory_(this, 'name', data.name, Property.E);
     propertyFactory_(this, 'messageStorage', new MessageStorage(this), Property.E);
-};
+}
 
-MessageService.prototype.sendMessage = function () {
+MessageService.prototype.sendMessage = function() {
     var args = validator_.validateArgs(arguments, [
-        {name: 'message', type: types_.PLATFORM_OBJECT, values: tizen.Message},
-        {name: 'successCallback', type: types_.FUNCTION, optional: true, nullable: true},
-        {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true},
-        {name: 'simIndex', type: types_.LONG, optional: true, nullable: true}
+        { name: 'message', type: types_.PLATFORM_OBJECT, values: tizen.Message },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true },
+        { name: 'simIndex', type: types_.LONG, optional: true, nullable: true }
     ]);
 
     if (args.message.type != this.type) {
@@ -727,33 +711,33 @@ MessageService.prototype.sendMessage = function () {
         serviceId: self.id
     };
     var callback = function(result) {
-      if (native.isFailure(result)) {
-        native.callIfPossible(args.errorCallback, native.getErrorObject(result));
-      } else {
-        var data = native.getResultObject(result);
-        var message = data.message;
-        if (message) {
-            var body = message.body;
-            if (body) {
-                updateInternal_(args.message.body, body)
-                delete message.body;
+        if (native.isFailure(result)) {
+            native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        } else {
+            var data = native.getResultObject(result);
+            var message = data.message;
+            if (message) {
+                var body = message.body;
+                if (body) {
+                    updateInternal_(args.message.body, body);
+                    delete message.body;
+                }
+                updateInternal_(args.message, message);
             }
-            updateInternal_(args.message, message);
+            native.callIfPossible(args.successCallback, data.recipients);
         }
-        native.callIfPossible(args.successCallback, data.recipients);
-      }
     };
     var result = native.call('MessageService_sendMessage', callArgs, callback);
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     }
 };
 
-MessageService.prototype.loadMessageBody = function () {
+MessageService.prototype.loadMessageBody = function() {
     var args = validator_.validateArgs(arguments, [
-        {name: 'message', type: types_.PLATFORM_OBJECT, values: tizen.Message},
-        {name: 'successCallback', type: types_.FUNCTION},
-        {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
+        { name: 'message', type: types_.PLATFORM_OBJECT, values: tizen.Message },
+        { name: 'successCallback', type: types_.FUNCTION },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
     ]);
 
     if (args.message.type != this.type) {
@@ -768,31 +752,30 @@ MessageService.prototype.loadMessageBody = function () {
     };
 
     var callback = function(result) {
-      if (native.isFailure(result)) {
-        native.callIfPossible(args.errorCallback, native.getErrorObject(result));
-      } else {
-        var data = native.getResultObject(result);
-        var body = data.messageBody;
-        if (body) {
-          updateInternal_(args.message.body, body)
-        }
+        if (native.isFailure(result)) {
+            native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        } else {
+            var data = native.getResultObject(result);
+            var body = data.messageBody;
+            if (body) {
+                updateInternal_(args.message.body, body);
+            }
 
-        args.successCallback(args.message);
-      }
+            args.successCallback(args.message);
+        }
     };
 
     var result = native.call('MessageService_loadMessageBody', callArgs, callback);
 
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     }
-
 };
-MessageService.prototype.loadMessageAttachment = function () {
+MessageService.prototype.loadMessageAttachment = function() {
     var args = validator_.validateArgs(arguments, [
-        {name: 'attachment', type: types_.PLATFORM_OBJECT, values: MessageAttachment},
-        {name: 'successCallback', type: types_.FUNCTION},
-        {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
+        { name: 'attachment', type: types_.PLATFORM_OBJECT, values: MessageAttachment },
+        { name: 'successCallback', type: types_.FUNCTION },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
     ]);
 
     var self = this;
@@ -808,32 +791,36 @@ MessageService.prototype.loadMessageAttachment = function () {
     };
 
     var callback = function(result) {
-      if (native.isFailure(result)) {
-        native.callIfPossible(args.errorCallback, native.getErrorObject(result));
-      } else {
-        var data = native.getResultObject(result);
-        var messageAttachment = data.messageAttachment;
-        if (messageAttachment) {
-          updateInternal_(args.attachment, messageAttachment);
-        }
+        if (native.isFailure(result)) {
+            native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        } else {
+            var data = native.getResultObject(result);
+            var messageAttachment = data.messageAttachment;
+            if (messageAttachment) {
+                updateInternal_(args.attachment, messageAttachment);
+            }
 
-        args.successCallback(args.attachment);
-      }
+            args.successCallback(args.attachment);
+        }
     };
 
     var result = native.call('MessageService_loadMessageAttachment', callArgs, callback);
 
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     }
-
 };
 
-MessageService.prototype.sync = function () {
+MessageService.prototype.sync = function() {
     var args = validator_.validateArgs(arguments, [
-        {name: 'successCallback', type: types_.FUNCTION, optional: true, nullable: true},
-        {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true},
-        {name: 'limit', type: types_.UNSIGNED_LONG, optional: true, nullable: true}
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true },
+        { name: 'limit', type: types_.UNSIGNED_LONG, optional: true, nullable: true }
     ]);
 
     var self = this;
@@ -844,28 +831,33 @@ MessageService.prototype.sync = function () {
     };
 
     var callback = function(result) {
-      if (native.isFailure(result)) {
-        native.callIfPossible(args.errorCallback, native.getErrorObject(result));
-      } else {
-        native.callIfPossible(args.successCallback);
-      }
+        if (native.isFailure(result)) {
+            native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        } else {
+            native.callIfPossible(args.successCallback);
+        }
     };
 
     var result = native.call('MessageService_sync', callArgs, callback);
 
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     }
 
     return native.getResultObject(result);
 };
 
-MessageService.prototype.syncFolder = function () {
+MessageService.prototype.syncFolder = function() {
     var args = validator_.validateArgs(arguments, [
-        {name: 'folder', type: types_.PLATFORM_OBJECT, values: MessageFolder},
-        {name: 'successCallback', type: types_.FUNCTION, optional: true, nullable: true},
-        {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true},
-        {name: 'limit', type: types_.UNSIGNED_LONG, optional: true, nullable: true}
+        { name: 'folder', type: types_.PLATFORM_OBJECT, values: MessageFolder },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true },
+        { name: 'limit', type: types_.UNSIGNED_LONG, optional: true, nullable: true }
     ]);
 
     var self = this;
@@ -877,27 +869,24 @@ MessageService.prototype.syncFolder = function () {
     };
 
     var callback = function(result) {
-      if (native.isFailure(result)) {
-        native.callIfPossible(args.errorCallback, native.getErrorObject(result));
-      } else {
-        native.callIfPossible(args.successCallback);
-      }
+        if (native.isFailure(result)) {
+            native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        } else {
+            native.callIfPossible(args.successCallback);
+        }
     };
 
     var result = native.call('MessageService_syncFolder', callArgs, callback);
 
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     }
 
     return native.getResultObject(result);
-
 };
 
-MessageService.prototype.stopSync = function () {
-    var args = validator_.validateArgs(arguments, [
-        {name: 'opId', type: types_.LONG}
-    ]);
+MessageService.prototype.stopSync = function() {
+    var args = validator_.validateArgs(arguments, [{ name: 'opId', type: types_.LONG }]);
 
     var self = this;
     var callArgs = {
@@ -912,13 +901,18 @@ MessageService.prototype.stopSync = function () {
 
 function MessageStorage(service) {
     propertyFactory_(this, 'service', service);
-};
+}
 
-MessageStorage.prototype.addDraftMessage = function () {
+MessageStorage.prototype.addDraftMessage = function() {
     var args = validator_.validateArgs(arguments, [
-        {name: 'message', type: types_.PLATFORM_OBJECT, values: tizen.Message},
-        {name: 'successCallback', type: types_.FUNCTION, optional: true, nullable: true},
-        {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
+        { name: 'message', type: types_.PLATFORM_OBJECT, values: tizen.Message },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
     ]);
 
     if (args.message.type != this.service.type) {
@@ -932,47 +926,56 @@ MessageStorage.prototype.addDraftMessage = function () {
         serviceId: self.service.id
     };
     var callback = function(result) {
-      if (native.isFailure(result)) {
-        native.callIfPossible(args.errorCallback, native.getErrorObject(result));
-      } else {
-        var data = native.getResultObject(result);
-        var message = data.message;
-        if (message) {
-            var body = message.body;
-            if (body) {
-                updateInternal_(args.message.body, body)
-                delete message.body;
-            }
-            var attachments = message.attachments;
-            if (attachments) {
-                for (var i = 0; i < attachments.length; i++) {
-                    messageAttachmentsLoaded[attachments[i].id] = true;
+        if (native.isFailure(result)) {
+            native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        } else {
+            var data = native.getResultObject(result);
+            var message = data.message;
+            if (message) {
+                var body = message.body;
+                if (body) {
+                    updateInternal_(args.message.body, body);
+                    delete message.body;
                 }
+                var attachments = message.attachments;
+                if (attachments) {
+                    for (var i = 0; i < attachments.length; i++) {
+                        messageAttachmentsLoaded[attachments[i].id] = true;
+                    }
+                }
+                updateInternal_(args.message, message);
             }
-            updateInternal_(args.message, message);
+            native.callIfPossible(args.successCallback, data.recipients);
         }
-        native.callIfPossible(args.successCallback, data.recipients);
-      }
     };
     var result = native.call('MessageStorage_addDraftMessage', callArgs, callback);
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     }
 };
 
-MessageStorage.prototype.findMessages = function () {
+MessageStorage.prototype.findMessages = function() {
     var args = validator_.validateArgs(arguments, [
         {
             name: 'filter',
             type: types_.PLATFORM_OBJECT,
-            values: [tizen.AttributeFilter, tizen.AttributeRangeFilter, tizen.CompositeFilter]
-        },
-        {name: 'successCallback', type: types_.FUNCTION},
-        {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true},
-        {name: 'sort', type: types_.PLATFORM_OBJECT, values: tizen.SortMode, optional: true,
-                nullable: true},
-        {name: 'limit', type: types_.UNSIGNED_LONG, optional: true, nullable: true},
-        {name: 'offset', type: types_.UNSIGNED_LONG, optional: true, nullable: true}
+            values: [
+                tizen.AttributeFilter,
+                tizen.AttributeRangeFilter,
+                tizen.CompositeFilter
+            ]
+        },
+        { name: 'successCallback', type: types_.FUNCTION },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true },
+        {
+            name: 'sort',
+            type: types_.PLATFORM_OBJECT,
+            values: tizen.SortMode,
+            optional: true,
+            nullable: true
+        },
+        { name: 'limit', type: types_.UNSIGNED_LONG, optional: true, nullable: true },
+        { name: 'offset', type: types_.UNSIGNED_LONG, optional: true, nullable: true }
     ]);
 
     var self = this;
@@ -986,28 +989,33 @@ MessageStorage.prototype.findMessages = function () {
         type: self.service.type
     };
     var callback = function(result) {
-      if (native.isFailure(result)) {
-        native.callIfPossible(args.errorCallback, native.getErrorObject(result));
-      } else {
-        var data = native.getResultObject(result);
-        var messages = [];
-        data.forEach(function (el) {
-            messages.push(new tizen.Message(el.type, new MessageInit_(el)));
-        });
-        native.callIfPossible(args.successCallback, messages);
-      }
+        if (native.isFailure(result)) {
+            native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        } else {
+            var data = native.getResultObject(result);
+            var messages = [];
+            data.forEach(function(el) {
+                messages.push(new tizen.Message(el.type, new MessageInit_(el)));
+            });
+            native.callIfPossible(args.successCallback, messages);
+        }
     };
     var result = native.call('MessageStorage_findMessages', callArgs, callback);
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     }
 };
 
-MessageStorage.prototype.removeMessages = function () {
+MessageStorage.prototype.removeMessages = function() {
     var args = validator_.validateArgs(arguments, [
-        {name: 'messages', type: types_.ARRAY, values: Message},
-        {name: 'successCallback', type: types_.FUNCTION, optional: true, nullable: true},
-        {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
+        { name: 'messages', type: types_.ARRAY, values: Message },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
     ]);
 
     var self = this;
@@ -1024,23 +1032,28 @@ MessageStorage.prototype.removeMessages = function () {
         type: self.service.type
     };
     var callback = function(result) {
-      if (native.isFailure(result)) {
-        native.callIfPossible(args.errorCallback, native.getErrorObject(result));
-      } else {
-        native.callIfPossible(args.successCallback);
-      }
+        if (native.isFailure(result)) {
+            native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        } else {
+            native.callIfPossible(args.successCallback);
+        }
     };
     var result = native.call('MessageStorage_removeMessages', callArgs, callback);
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     }
 };
 
-MessageStorage.prototype.updateMessages = function () {
+MessageStorage.prototype.updateMessages = function() {
     var args = validator_.validateArgs(arguments, [
-        {name: 'messages', type: types_.ARRAY, values: Message},
-        {name: 'successCallback', type: types_.FUNCTION, optional: true, nullable: true},
-        {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
+        { name: 'messages', type: types_.ARRAY, values: Message },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
     ]);
 
     var self = this;
@@ -1056,55 +1069,64 @@ MessageStorage.prototype.updateMessages = function () {
         serviceId: self.service.id
     };
     var callback = function(result) {
-      if (native.isFailure(result)) {
-        native.callIfPossible(args.errorCallback, native.getErrorObject(result));
-      } else {
-        var data = native.getResultObject(result);
-        var originals = {},
-        i = args.messages.length,
-        m;
-        while (i--) {
-          m = args.messages[i];
-          if (m.id) {
-            originals[m.id] = m;
-          }
-        }
+        if (native.isFailure(result)) {
+            native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        } else {
+            var data = native.getResultObject(result);
+            var originals = {},
+                i = args.messages.length,
+                m;
+            while (i--) {
+                m = args.messages[i];
+                if (m.id) {
+                    originals[m.id] = m;
+                }
+            }
 
-        i = data.length;
-        while (i--) {
-          m = data[i];
-          if (originals[m.oldId]) {
-            var body = m.body;
-            if (body) {
-              updateInternal_(originals[m.oldId].body, body)
-              delete m.body;
+            i = data.length;
+            while (i--) {
+                m = data[i];
+                if (originals[m.oldId]) {
+                    var body = m.body;
+                    if (body) {
+                        updateInternal_(originals[m.oldId].body, body);
+                        delete m.body;
+                    }
+                    updateInternal_(originals[m.oldId], m);
+                }
             }
-            updateInternal_(originals[m.oldId], m);
-          }
-        }
 
-        native.callIfPossible(args.successCallback);
-      }
+            native.callIfPossible(args.successCallback);
+        }
     };
     var result = native.call('MessageStorage_updateMessages', callArgs, callback);
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     }
 };
 
-MessageStorage.prototype.findConversations = function () {
+MessageStorage.prototype.findConversations = function() {
     var args = validator_.validateArgs(arguments, [
         {
             name: 'filter',
             type: types_.PLATFORM_OBJECT,
-            values: [tizen.AttributeFilter, tizen.AttributeRangeFilter, tizen.CompositeFilter]
-        },
-        {name: 'successCallback', type: types_.FUNCTION},
-        {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true},
-        {name: 'sort', type: types_.PLATFORM_OBJECT, values: tizen.SortMode, optional: true,
-                nullable: true},
-        {name: 'limit', type: types_.UNSIGNED_LONG, optional: true, nullable: true},
-        {name: 'offset', type: types_.UNSIGNED_LONG, optional: true, nullable: true}
+            values: [
+                tizen.AttributeFilter,
+                tizen.AttributeRangeFilter,
+                tizen.CompositeFilter
+            ]
+        },
+        { name: 'successCallback', type: types_.FUNCTION },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true },
+        {
+            name: 'sort',
+            type: types_.PLATFORM_OBJECT,
+            values: tizen.SortMode,
+            optional: true,
+            nullable: true
+        },
+        { name: 'limit', type: types_.UNSIGNED_LONG, optional: true, nullable: true },
+        { name: 'offset', type: types_.UNSIGNED_LONG, optional: true, nullable: true }
     ]);
 
     var self = this;
@@ -1117,31 +1139,36 @@ MessageStorage.prototype.findConversations = function () {
         serviceId: self.service.id
     };
     var callback = function(result) {
-      if (native.isFailure(result)) {
-        native.callIfPossible(args.errorCallback, native.getErrorObject(result));
-      } else {
-        var data = native.getResultObject(result);
-        var conversations = [];
-        data.forEach(function (el) {
-            conversations.push(new MessageConversation(el));
-        });
-        args.successCallback(conversations);
-      }
+        if (native.isFailure(result)) {
+            native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        } else {
+            var data = native.getResultObject(result);
+            var conversations = [];
+            data.forEach(function(el) {
+                conversations.push(new MessageConversation(el));
+            });
+            args.successCallback(conversations);
+        }
     };
     var result = native.call('MessageStorage_findConversations', callArgs, callback);
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     }
 };
 
-MessageStorage.prototype.removeConversations = function () {
+MessageStorage.prototype.removeConversations = function() {
     var args = validator_.validateArgs(arguments, [
-        {name: 'conversations', type: types_.ARRAY},
-        {name: 'successCallback', type: types_.FUNCTION, optional: true, nullable: true},
-        {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
+        { name: 'conversations', type: types_.ARRAY },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
     ]);
 
-    args.conversations.forEach(function (el) {
+    args.conversations.forEach(function(el) {
         if (!el || el.constructor !== MessageConversation) {
             throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
         }
@@ -1155,27 +1182,31 @@ MessageStorage.prototype.removeConversations = function () {
         type: self.service.type
     };
     var callback = function(result) {
-      if (native.isFailure(result)) {
-        native.callIfPossible(args.errorCallback, native.getErrorObject(result));
-      } else {
-        native.callIfPossible(args.successCallback);
-      }
+        if (native.isFailure(result)) {
+            native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        } else {
+            native.callIfPossible(args.successCallback);
+        }
     };
     var result = native.call('MessageStorage_removeConversations', callArgs, callback);
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     }
 };
 
-MessageStorage.prototype.findFolders = function () {
+MessageStorage.prototype.findFolders = function() {
     var args = validator_.validateArgs(arguments, [
         {
             name: 'filter',
             type: types_.PLATFORM_OBJECT,
-            values: [tizen.AttributeFilter, tizen.AttributeRangeFilter, tizen.CompositeFilter]
+            values: [
+                tizen.AttributeFilter,
+                tizen.AttributeRangeFilter,
+                tizen.CompositeFilter
+            ]
         },
-        {name: 'successCallback', type: types_.FUNCTION},
-        {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
+        { name: 'successCallback', type: types_.FUNCTION },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
     ]);
 
     var self = this;
@@ -1188,75 +1219,88 @@ MessageStorage.prototype.findFolders = function () {
         serviceId: self.service.id
     };
     var callback = function(result) {
-      if (native.isFailure(result)) {
-        native.callIfPossible(args.errorCallback, native.getErrorObject(result));
-      } else {
-        var data = native.getResultObject(result);
-        var folders = [];
-        data.forEach(function (el) {
-            folders.push(new MessageFolder(el));
-        });
-        args.successCallback(folders);
-      }
+        if (native.isFailure(result)) {
+            native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        } else {
+            var data = native.getResultObject(result);
+            var folders = [];
+            data.forEach(function(el) {
+                folders.push(new MessageFolder(el));
+            });
+            args.successCallback(folders);
+        }
     };
     var result = native.call('MessageStorage_findFolders', callArgs, callback);
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     }
 };
 
 function pushMessage(messages, el) {
-  messages.push(new tizen.Message(el.type, new MessageInit_(el)));
-};
+    messages.push(new tizen.Message(el.type, new MessageInit_(el)));
+}
 
 function pushConversation(conversations, el) {
-  conversations.push(new MessageConversation(el));
-};
+    conversations.push(new MessageConversation(el));
+}
 
 function pushFolder(folders, el) {
-  folders.push(new MessageFolder(el));
-};
+    folders.push(new MessageFolder(el));
+}
 
 function getListenerFunction(listenerMap, pushMethod) {
-  return function(msg) {
-    var action = msg.action;
-    var data = native.getResultObject(msg);
-    var messages = [];
-    data.forEach(function (el) {
-      pushMethod(messages, el);
-    });
+    return function(msg) {
+        var action = msg.action;
+        var data = native.getResultObject(msg);
+        var messages = [];
+        data.forEach(function(el) {
+            pushMethod(messages, el);
+        });
 
-    for (var key in listenerMap) {
-      if (listenerMap.hasOwnProperty(key)) {
-        native.callIfPossible(listenerMap[key][action], messages);
-      }
-    }
-  }
-};
+        for (var key in listenerMap) {
+            if (listenerMap.hasOwnProperty(key)) {
+                native.callIfPossible(listenerMap[key][action], messages);
+            }
+        }
+    };
+}
 
 var MESSAGES_CHANGE_LISTENER = 'MessagesChangeListener';
 var MessagesChangeListeners = {};
-native.addListener(MESSAGES_CHANGE_LISTENER,
-    getListenerFunction(MessagesChangeListeners, pushMessage));
+native.addListener(
+    MESSAGES_CHANGE_LISTENER,
+    getListenerFunction(MessagesChangeListeners, pushMessage)
+);
 
 var CONVERSATIONS_CHANGE_LISTENER = 'ConversationsChangeListener';
 var ConversationsChangeListeners = {};
-native.addListener(CONVERSATIONS_CHANGE_LISTENER,
-    getListenerFunction(ConversationsChangeListeners, pushConversation));
+native.addListener(
+    CONVERSATIONS_CHANGE_LISTENER,
+    getListenerFunction(ConversationsChangeListeners, pushConversation)
+);
 
 var FOLDERS_CHANGE_LISTENER = 'FoldersChangeListener';
 var FoldersChangeListeners = {};
-native.addListener(FOLDERS_CHANGE_LISTENER,
-    getListenerFunction(FoldersChangeListeners, pushFolder));
+native.addListener(
+    FOLDERS_CHANGE_LISTENER,
+    getListenerFunction(FoldersChangeListeners, pushFolder)
+);
 
-MessageStorage.prototype.addMessagesChangeListener = function () {
-     var args = validator_.validateArgs(arguments, [
-        {name: 'messagesChangeCallback', type: types_.LISTENER,
-                values: ['messagesadded', 'messagesupdated', 'messagesremoved']},
+MessageStorage.prototype.addMessagesChangeListener = function() {
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'messagesChangeCallback',
+            type: types_.LISTENER,
+            values: ['messagesadded', 'messagesupdated', 'messagesremoved']
+        },
         {
             name: 'filter',
             type: types_.PLATFORM_OBJECT,
-            values: [tizen.AttributeFilter, tizen.AttributeRangeFilter, tizen.CompositeFilter],
+            values: [
+                tizen.AttributeFilter,
+                tizen.AttributeRangeFilter,
+                tizen.CompositeFilter
+            ],
             optional: true,
             nullable: true
         }
@@ -1270,22 +1314,29 @@ MessageStorage.prototype.addMessagesChangeListener = function () {
     };
     var result = native.callSync('MessageStorage_addMessagesChangeListener', callArgs);
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     } else {
-      var opId = native.getResultObject(result);
-      MessagesChangeListeners[opId] = args.messagesChangeCallback;
-      return opId;
+        var opId = native.getResultObject(result);
+        MessagesChangeListeners[opId] = args.messagesChangeCallback;
+        return opId;
     }
 };
 
-MessageStorage.prototype.addConversationsChangeListener = function () {
+MessageStorage.prototype.addConversationsChangeListener = function() {
     var args = validator_.validateArgs(arguments, [
-        {name: 'conversationsChangeCallback', type: types_.LISTENER,
-                values: ['conversationsadded', 'conversationsupdated', 'conversationsremoved']},
+        {
+            name: 'conversationsChangeCallback',
+            type: types_.LISTENER,
+            values: ['conversationsadded', 'conversationsupdated', 'conversationsremoved']
+        },
         {
             name: 'filter',
             type: types_.PLATFORM_OBJECT,
-            values: [tizen.AttributeFilter, tizen.AttributeRangeFilter, tizen.CompositeFilter],
+            values: [
+                tizen.AttributeFilter,
+                tizen.AttributeRangeFilter,
+                tizen.CompositeFilter
+            ],
             optional: true,
             nullable: true
         }
@@ -1297,24 +1348,34 @@ MessageStorage.prototype.addConversationsChangeListener = function () {
         filter: args.filter ? addTypeToFilter_(args.filter) : null,
         serviceId: self.service.id
     };
-    var result = native.callSync('MessageStorage_addConversationsChangeListener', callArgs);
+    var result = native.callSync(
+        'MessageStorage_addConversationsChangeListener',
+        callArgs
+    );
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     } else {
-      var opId = native.getResultObject(result);
-      ConversationsChangeListeners[opId] = args.conversationsChangeCallback;
-      return opId;
+        var opId = native.getResultObject(result);
+        ConversationsChangeListeners[opId] = args.conversationsChangeCallback;
+        return opId;
     }
 };
 
-MessageStorage.prototype.addFoldersChangeListener = function () {
+MessageStorage.prototype.addFoldersChangeListener = function() {
     var args = validator_.validateArgs(arguments, [
-        {name: 'foldersChangeCallback', type: types_.LISTENER,
-                values: ['foldersadded', 'foldersupdated', 'foldersremoved']},
+        {
+            name: 'foldersChangeCallback',
+            type: types_.LISTENER,
+            values: ['foldersadded', 'foldersupdated', 'foldersremoved']
+        },
         {
             name: 'filter',
             type: types_.PLATFORM_OBJECT,
-            values: [tizen.AttributeFilter, tizen.AttributeRangeFilter, tizen.CompositeFilter],
+            values: [
+                tizen.AttributeFilter,
+                tizen.AttributeRangeFilter,
+                tizen.CompositeFilter
+            ],
             optional: true,
             nullable: true
         }
@@ -1328,17 +1389,17 @@ MessageStorage.prototype.addFoldersChangeListener = function () {
     };
     var result = native.callSync('MessageStorage_addFoldersChangeListener', callArgs);
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     } else {
-      var opId = native.getResultObject(result);
-      FoldersChangeListeners[opId] = args.foldersChangeCallback;
-      return opId;
+        var opId = native.getResultObject(result);
+        FoldersChangeListeners[opId] = args.foldersChangeCallback;
+        return opId;
     }
 };
 
-MessageStorage.prototype.removeChangeListener = function () {
+MessageStorage.prototype.removeChangeListener = function() {
     var args = validator_.validateArgs(arguments, [
-        {name: 'watchId', type: types_.LONG}
+        { name: 'watchId', type: types_.LONG }
     ]);
 
     var self = this;
@@ -1349,120 +1410,113 @@ MessageStorage.prototype.removeChangeListener = function () {
     };
     var result = native.callSync('MessageStorage_removeChangeListener', callArgs);
     if (native.isFailure(result)) {
-      throw native.getErrorObject(result);
+        throw native.getErrorObject(result);
     } else {
-      if (MessagesChangeListeners.hasOwnProperty(args.watchId)) {
-        delete MessagesChangeListeners[args.watchId];
-      } else if (ConversationsChangeListeners.hasOwnProperty(args.watchId)) {
-        delete ConversationsChangeListeners[args.watchId];
-      } else if (FoldersChangeListeners.hasOwnProperty(args.watchId)) {
-        delete FoldersChangeListeners[args.watchId];
-      }
+        if (MessagesChangeListeners.hasOwnProperty(args.watchId)) {
+            delete MessagesChangeListeners[args.watchId];
+        } else if (ConversationsChangeListeners.hasOwnProperty(args.watchId)) {
+            delete ConversationsChangeListeners[args.watchId];
+        } else if (FoldersChangeListeners.hasOwnProperty(args.watchId)) {
+            delete FoldersChangeListeners[args.watchId];
+        }
     }
 };
 
 function MessageConversation(data) {
-    propertyFactory_(this, 'id'            , data.id             || null , Property.E);
-    propertyFactory_(this, 'type'          , data.type           || ''   , Property.E);
-    propertyFactory_(this, 'timestamp'     , data.timestamp ? new Date(data.timestamp * 1000) : null , Property.E);
-    propertyFactory_(this, 'messageCount'  , data.messageCount   || 0    , Property.E);
-    propertyFactory_(this, 'unreadMessages', data.unreadMessages || 0    , Property.E);
-    propertyFactory_(this, 'preview'       , data.preview        || ''   , Property.E);
-    propertyFactory_(this, 'subject'       , data.subject        || ''   , Property.E);
-    propertyFactory_(this, 'isRead'        , data.isRead         || false, Property.E);
-    propertyFactory_(this, 'from'          , data.from           || null , Property.E);
-    propertyFactory_(this, 'to'            , data.to             || []   , Property.E);
-    propertyFactory_(this, 'cc'            , data.cc             || []   , Property.E);
-    propertyFactory_(this, 'bcc'           , data.bcc            || []   , Property.E);
-    propertyFactory_(this, 'lastMessageId' , data.lastMessageId  || null , Property.E);
-};
+    propertyFactory_(this, 'id', data.id || null, Property.E);
+    propertyFactory_(this, 'type', data.type || '', Property.E);
+    propertyFactory_(
+        this,
+        'timestamp',
+        data.timestamp ? new Date(data.timestamp * 1000) : null,
+        Property.E
+    );
+    propertyFactory_(this, 'messageCount', data.messageCount || 0, Property.E);
+    propertyFactory_(this, 'unreadMessages', data.unreadMessages || 0, Property.E);
+    propertyFactory_(this, 'preview', data.preview || '', Property.E);
+    propertyFactory_(this, 'subject', data.subject || '', Property.E);
+    propertyFactory_(this, 'isRead', data.isRead || false, Property.E);
+    propertyFactory_(this, 'from', data.from || null, Property.E);
+    propertyFactory_(this, 'to', data.to || [], Property.E);
+    propertyFactory_(this, 'cc', data.cc || [], Property.E);
+    propertyFactory_(this, 'bcc', data.bcc || [], Property.E);
+    propertyFactory_(this, 'lastMessageId', data.lastMessageId || null, Property.E);
+}
 
 function MessageFolder(data) {
     var _internal = {
-            id: data.id || null,
-            parentId: data.parentId || null,
-            serviceId: data.serviceId || '',
-            contentType: data.contentType || '',
-            name: data.name || '',
-            path: data.path || '',
-            type: data.type || '',
-            synchronizable: data.synchronizable || false
-        };
-
-        Object.defineProperty(
-            this,
-            'id',
-            {
-                get: function () {return _internal.id;},
-                enumerable: true
-            }
-        );
-
-        Object.defineProperty(
-                this,
-                'parentId',
-                {
-                    get: function () {return _internal.parentId;},
-                    enumerable: true
-                }
-        );
-
-        Object.defineProperty(
-                this,
-                'serviceId',
-                {
-                    get: function () {return _internal.serviceId;},
-                    enumerable: true
-                }
-        );
-
-        Object.defineProperty(
-                this,
-                'contentType',
-                {
-                    get: function () {return _internal.contentType;},
-                    enumerable: true
-                }
-        );
-
-        Object.defineProperty(
-                this,
-                'name',
-                {
-                    get: function () {return _internal.name;},
-                    set: function (value) { if (value) _internal.name = value;},
-                    enumerable: true
-                }
-        );
-
-        Object.defineProperty(
-                this,
-                'path',
-                {
-                    get: function () {return _internal.path;},
-                    enumerable: true
-                }
-        );
-
-        Object.defineProperty(
-                this,
-                'type',
-                {
-                    get: function () {return _internal.type;},
-                    enumerable: true
-                }
-        );
-
-        Object.defineProperty(
-                this,
-                'synchronizable',
-                {
-                    get: function () {return _internal.synchronizable;},
-                    set: function (value) { _internal.synchronizable = Boolean(value);},
-                    enumerable: true
-                }
-        );
-};
+        id: data.id || null,
+        parentId: data.parentId || null,
+        serviceId: data.serviceId || '',
+        contentType: data.contentType || '',
+        name: data.name || '',
+        path: data.path || '',
+        type: data.type || '',
+        synchronizable: data.synchronizable || false
+    };
+
+    Object.defineProperty(this, 'id', {
+        get: function() {
+            return _internal.id;
+        },
+        enumerable: true
+    });
+
+    Object.defineProperty(this, 'parentId', {
+        get: function() {
+            return _internal.parentId;
+        },
+        enumerable: true
+    });
+
+    Object.defineProperty(this, 'serviceId', {
+        get: function() {
+            return _internal.serviceId;
+        },
+        enumerable: true
+    });
+
+    Object.defineProperty(this, 'contentType', {
+        get: function() {
+            return _internal.contentType;
+        },
+        enumerable: true
+    });
+
+    Object.defineProperty(this, 'name', {
+        get: function() {
+            return _internal.name;
+        },
+        set: function(value) {
+            if (value) _internal.name = value;
+        },
+        enumerable: true
+    });
+
+    Object.defineProperty(this, 'path', {
+        get: function() {
+            return _internal.path;
+        },
+        enumerable: true
+    });
+
+    Object.defineProperty(this, 'type', {
+        get: function() {
+            return _internal.type;
+        },
+        enumerable: true
+    });
+
+    Object.defineProperty(this, 'synchronizable', {
+        get: function() {
+            return _internal.synchronizable;
+        },
+        set: function(value) {
+            _internal.synchronizable = Boolean(value);
+        },
+        enumerable: true
+    });
+}
 
 tizen.Message = Message;
 
index f0c3bc1d5ebffb6bca4d7d201591da179deb2913..6c4d1824a0d3d97672b600ba165fa6b56cddae86 100644 (file)
@@ -22,99 +22,113 @@ var types_ = validator_.Types;
 var native_ = new xwalk.utils.NativeManager(extension);
 
 var NetworkType = {
-  CELLULAR: 'CELLULAR',
-  UNKNOWN: 'UNKNOWN'
+    CELLULAR: 'CELLULAR',
+    UNKNOWN: 'UNKNOWN'
 };
 
 var callbackId = 0;
 var callbacks = {};
 
 function nextCallbackId() {
-  return callbackId++;
+    return callbackId++;
 }
 
 function _networkBearerSelectionCallback(result) {
-  var id, callback;
-
-  for (id in callbacks) {
-    if (callbacks.hasOwnProperty(result.id) && result.id == id) {
-      callback = callbacks[id];
-      if (result.status === 'success') {
-        native_.callIfPossible(callback.onsuccess);
-      }
-
-      if (result.status === 'disconnected') {
-        native_.callIfPossible(callback.ondisconnected);
-      }
-
-      if (result.status === 'error') {
-        native_.callIfPossible(callback.onerror, native_.getErrorObject(result));
-        native_.removeListener('NetworkBearerSelectionCallback_' + id);
-        delete callbacks[id];
-      }
-      break;
+    var id, callback;
+
+    for (id in callbacks) {
+        if (callbacks.hasOwnProperty(result.id) && result.id == id) {
+            callback = callbacks[id];
+            if (result.status === 'success') {
+                native_.callIfPossible(callback.onsuccess);
+            }
+
+            if (result.status === 'disconnected') {
+                native_.callIfPossible(callback.ondisconnected);
+            }
+
+            if (result.status === 'error') {
+                native_.callIfPossible(callback.onerror, native_.getErrorObject(result));
+                native_.removeListener('NetworkBearerSelectionCallback_' + id);
+                delete callbacks[id];
+            }
+            break;
+        }
     }
-  }
 }
 
 function NetworkBearerSelection() {}
 
 NetworkBearerSelection.prototype.requestRouteToHost = function() {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'networkType', type: types_.ENUM, values: Object.keys(NetworkType)},
-    {name: 'domainName', type: types_.STRING},
-    {name: 'successCallback', type: types_.LISTENER, values: ['onsuccess', 'ondisconnected']},
-    {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
-
-  var id = nextCallbackId();
-
-  var nativeParam = {
-    networkType: args.networkType,
-    domainName: args.domainName,
-    id: id
-  };
-
-  callbacks[id] = {
-    onsuccess: args.successCallback.onsuccess,
-    ondisconnected: args.successCallback.ondisconnected,
-    onerror: args.errorCallback
-  };
-
-  native_.addListener('NetworkBearerSelectionCallback_' + id, _networkBearerSelectionCallback);
-  var result = native_.callSync('NetworkBearerSelection_requestRouteToHost', nativeParam);
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-};
+    var args = validator_.validateArgs(arguments, [
+        { name: 'networkType', type: types_.ENUM, values: Object.keys(NetworkType) },
+        { name: 'domainName', type: types_.STRING },
+        {
+            name: 'successCallback',
+            type: types_.LISTENER,
+            values: ['onsuccess', 'ondisconnected']
+        },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    var id = nextCallbackId();
+
+    var nativeParam = {
+        networkType: args.networkType,
+        domainName: args.domainName,
+        id: id
+    };
+
+    callbacks[id] = {
+        onsuccess: args.successCallback.onsuccess,
+        ondisconnected: args.successCallback.ondisconnected,
+        onerror: args.errorCallback
+    };
+
+    native_.addListener(
+        'NetworkBearerSelectionCallback_' + id,
+        _networkBearerSelectionCallback
+    );
+    var result = native_.callSync(
+        'NetworkBearerSelection_requestRouteToHost',
+        nativeParam
+    );
 
-NetworkBearerSelection.prototype.releaseRouteToHost = function() {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'networkType', type: types_.ENUM, values: Object.keys(NetworkType)},
-    {name: 'domainName', type: types_.STRING},
-    {name: 'successCallback', type: types_.FUNCTION},
-    {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
-
-  var nativeParam = {
-    domainName: args.domainName
-  };
-
-  var callback = function(result) {
     if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      return;
+        throw native_.getErrorObject(result);
     }
+};
 
-    args.successCallback();
-  };
-
-  var result = native_.call('NetworkBearerSelection_releaseRouteToHost', nativeParam, callback);
+NetworkBearerSelection.prototype.releaseRouteToHost = function() {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'networkType', type: types_.ENUM, values: Object.keys(NetworkType) },
+        { name: 'domainName', type: types_.STRING },
+        { name: 'successCallback', type: types_.FUNCTION },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    var nativeParam = {
+        domainName: args.domainName
+    };
+
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+            return;
+        }
+
+        args.successCallback();
+    };
+
+    var result = native_.call(
+        'NetworkBearerSelection_releaseRouteToHost',
+        nativeParam,
+        callback
+    );
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
 exports = new NetworkBearerSelection();
index 4dcead5e0a115e1a2bf731259d3fe2cd7b27d2e6..d8e95534cea25e1664d6f0ce9410755078d33dfa 100644 (file)
@@ -22,111 +22,110 @@ var type_ = privUtils_.type;
 var converter_ = privUtils_.converter;
 var native_ = new xwalk.utils.NativeManager(extension);
 
-
 var NDEFRecordTextEncoding = {
-  UTF8: 'UTF8',
-  UTF16: 'UTF16'
+    UTF8: 'UTF8',
+    UTF16: 'UTF16'
 };
 
 var NFCTagType = {
-  GENERIC_TARGET: 'GENERIC_TARGET',
-  ISO14443_A: 'ISO14443_A',
-  ISO14443_4A: 'ISO14443_4A',
-  ISO14443_3A: 'ISO14443_3A',
-  MIFARE_MINI: 'MIFARE_MINI',
-  MIFARE_1K: 'MIFARE_1K',
-  MIFARE_4K: 'MIFARE_4K',
-  MIFARE_ULTRA: 'MIFARE_ULTRA',
-  MIFARE_DESFIRE: 'MIFARE_DESFIRE',
-  ISO14443_B: 'ISO14443_B',
-  ISO14443_4B: 'ISO14443_4B',
-  ISO14443_BPRIME: 'ISO14443_BPRIME',
-  FELICA: 'FELICA',
-  JEWEL: 'JEWEL',
-  ISO15693: 'ISO15693',
-  UNKNOWN_TARGET: 'UNKNOWN_TARGET'
+    GENERIC_TARGET: 'GENERIC_TARGET',
+    ISO14443_A: 'ISO14443_A',
+    ISO14443_4A: 'ISO14443_4A',
+    ISO14443_3A: 'ISO14443_3A',
+    MIFARE_MINI: 'MIFARE_MINI',
+    MIFARE_1K: 'MIFARE_1K',
+    MIFARE_4K: 'MIFARE_4K',
+    MIFARE_ULTRA: 'MIFARE_ULTRA',
+    MIFARE_DESFIRE: 'MIFARE_DESFIRE',
+    ISO14443_B: 'ISO14443_B',
+    ISO14443_4B: 'ISO14443_4B',
+    ISO14443_BPRIME: 'ISO14443_BPRIME',
+    FELICA: 'FELICA',
+    JEWEL: 'JEWEL',
+    ISO15693: 'ISO15693',
+    UNKNOWN_TARGET: 'UNKNOWN_TARGET'
 };
 
 var CardEmulationMode = {
-  ALWAYS_ON: 'ALWAYS_ON',
-  OFF: 'OFF'
+    ALWAYS_ON: 'ALWAYS_ON',
+    OFF: 'OFF'
 };
 
 var SecureElementType = {
-  ESE: 'ESE',
-  UICC: 'UICC',
-  HCE: 'HCE'
+    ESE: 'ESE',
+    UICC: 'UICC',
+    HCE: 'HCE'
 };
 
 var CardEmulationCategoryType = {
-  PAYMENT: 'PAYMENT',
-  OTHER: 'OTHER'
+    PAYMENT: 'PAYMENT',
+    OTHER: 'OTHER'
 };
 
 var HCEEventType = {
-  DEACTIVATED: 'DEACTIVATED',
-  ACTIVATED: 'ACTIVATED',
-  APDU_RECEIVED: 'APDU_RECEIVED'
+    DEACTIVATED: 'DEACTIVATED',
+    ACTIVATED: 'ACTIVATED',
+    APDU_RECEIVED: 'APDU_RECEIVED'
 };
 
 function HCEEventData(data) {
-  Object.defineProperties(this, {
-    eventType: {
-      value: data.eventType,
-      writable: false,
-      enumerable: true
-    },
-    apdu: {
-      value: data.apdu || [],
-      writable: false,
-      enumerable: true
-    },
-    length: {
-      value: data.length || 0,
-      writable: false,
-      enumerable: true
-    }
-  });
+    Object.defineProperties(this, {
+        eventType: {
+            value: data.eventType,
+            writable: false,
+            enumerable: true
+        },
+        apdu: {
+            value: data.apdu || [],
+            writable: false,
+            enumerable: true
+        },
+        length: {
+            value: data.length || 0,
+            writable: false,
+            enumerable: true
+        }
+    });
 }
 
 function ListenerManager(native, listenerName) {
-  this.listeners = {};
-  this.nextId = 1;
-  this.nativeSet = false;
-  this.native = native;
-  this.listenerName = listenerName;
+    this.listeners = {};
+    this.nextId = 1;
+    this.nativeSet = false;
+    this.native = native;
+    this.listenerName = listenerName;
 }
 
 ListenerManager.prototype.onListenerCalled = function(msg) {
-  for (var key in this.listeners) {
-    if (this.listeners.hasOwnProperty(key)) {
-      if ('CardElement' === msg.type) {
-        this.listeners[key](msg.mode);
-      } else if ('Transaction' === msg.type) {
-        this.listeners[key](msg.aid, msg.data);
-      } else if('HCEEventData' === msg.type) {
-        var hceData = new HCEEventData(msg.result);
-        this.listeners[key](hceData);
-      }
+    for (var key in this.listeners) {
+        if (this.listeners.hasOwnProperty(key)) {
+            if ('CardElement' === msg.type) {
+                this.listeners[key](msg.mode);
+            } else if ('Transaction' === msg.type) {
+                this.listeners[key](msg.aid, msg.data);
+            } else if ('HCEEventData' === msg.type) {
+                var hceData = new HCEEventData(msg.result);
+                this.listeners[key](hceData);
+            }
+        }
     }
-  }
 };
 
 ListenerManager.prototype.addListener = function(callback) {
-  var id = this.nextId;
-  if (!this.nativeSet) {
-    this.native.addListener(this.listenerName, this.onListenerCalled.bind(this));
-    this.nativeSet = true;
-  }
-  this.listeners[id] = callback;
-  ++this.nextId;
-  return id;
+    var id = this.nextId;
+    if (!this.nativeSet) {
+        this.native.addListener(this.listenerName, this.onListenerCalled.bind(this));
+        this.nativeSet = true;
+    }
+    this.listeners[id] = callback;
+    ++this.nextId;
+    return id;
 };
 
 ListenerManager.prototype.removeListener = function(watchId) {
-  if (this.listeners.hasOwnProperty(watchId)) {
-    delete this.listeners[watchId];
-  }
+    if (this.listeners.hasOwnProperty(watchId)) {
+        delete this.listeners[watchId];
+    }
 };
 
 var PEER_LISTENER = 'PeerListener';
@@ -137,1162 +136,1212 @@ var TRANSACTION_EVENT_ESE_LISTENER = 'TransactionEventListener_ESE';
 var TRANSACTION_EVENT_UICC_LISTENER = 'TransactionEventListener_UICC';
 var HCE_EVENT_LISTENER = 'HCEEventListener';
 var TAG_LISTENER = 'TagListener';
-var cardEmulationModeListener = new ListenerManager(native_, CARD_EMULATION_MODE_LISTENER);
-var activeSecureElementChangeListener = new ListenerManager(native_, ACTIVE_SECURE_ELEMENT_LISTENER);
-var transactionEventListenerEse = new ListenerManager(native_, TRANSACTION_EVENT_ESE_LISTENER);
-var transactionEventListenerUicc = new ListenerManager(native_, TRANSACTION_EVENT_UICC_LISTENER);
+var cardEmulationModeListener = new ListenerManager(
+    native_,
+    CARD_EMULATION_MODE_LISTENER
+);
+var activeSecureElementChangeListener = new ListenerManager(
+    native_,
+    ACTIVE_SECURE_ELEMENT_LISTENER
+);
+var transactionEventListenerEse = new ListenerManager(
+    native_,
+    TRANSACTION_EVENT_ESE_LISTENER
+);
+var transactionEventListenerUicc = new ListenerManager(
+    native_,
+    TRANSACTION_EVENT_UICC_LISTENER
+);
 var HCEEventListener = new ListenerManager(native_, HCE_EVENT_LISTENER);
 
-
 //////////////////NFCManager /////////////////
 
 function NFCManager() {
-  Object.defineProperties(this, {
-    NFC_RECORD_TNF_EMPTY: {value: 0, writable: false, enumerable: true},
-    NFC_RECORD_TNF_WELL_KNOWN: {value: 1, writable: false, enumerable: true},
-    NFC_RECORD_TNF_MIME_MEDIA: {value: 2, writable: false, enumerable: true},
-    NFC_RECORD_TNF_URI: {value: 3, writable: false, enumerable: true},
-    NFC_RECORD_TNF_EXTERNAL_RTD: {value: 4, writable: false, enumerable: true},
-    NFC_RECORD_TNF_UNKNOWN: {value: 5, writable: false, enumerable: true},
-    NFC_RECORD_TNF_UNCHANGED: {value: 6, writable: false, enumerable: true}
-  });
+    Object.defineProperties(this, {
+        NFC_RECORD_TNF_EMPTY: { value: 0, writable: false, enumerable: true },
+        NFC_RECORD_TNF_WELL_KNOWN: { value: 1, writable: false, enumerable: true },
+        NFC_RECORD_TNF_MIME_MEDIA: { value: 2, writable: false, enumerable: true },
+        NFC_RECORD_TNF_URI: { value: 3, writable: false, enumerable: true },
+        NFC_RECORD_TNF_EXTERNAL_RTD: { value: 4, writable: false, enumerable: true },
+        NFC_RECORD_TNF_UNKNOWN: { value: 5, writable: false, enumerable: true },
+        NFC_RECORD_TNF_UNCHANGED: { value: 6, writable: false, enumerable: true }
+    });
 }
 
 NFCManager.prototype.getDefaultAdapter = function() {
-  // First check NFC suppor on C++ level
-  var result = native_.callSync(
-      'NFCManager_getDefaultAdapter',
-      {}
-      );
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-
-  // If NFC is supported then return new NFCAdapter instance
-  return new NFCAdapter();
+    // First check NFC suppor on C++ level
+    var result = native_.callSync('NFCManager_getDefaultAdapter', {});
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+
+    // If NFC is supported then return new NFCAdapter instance
+    return new NFCAdapter();
 };
 
 NFCManager.prototype.setExclusiveMode = function() {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'exclusiveMode', type: types_.BOOLEAN }
+    ]);
 
-  var args = validator_.validateArgs(arguments, [
-    {name: 'exclusiveMode', type: types_.BOOLEAN}
-  ]);
-
-  var result = native_.callSync('NFCManager_setExclusiveMode', {
-    exclusiveMode: args.exclusiveMode
-  });
+    var result = native_.callSync('NFCManager_setExclusiveMode', {
+        exclusiveMode: args.exclusiveMode
+    });
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
 //////////////////NFCAdapter /////////////////
 
 function NFCAdapter() {
-  function poweredGetter() {
-    var ret = native_.callSync('NFCAdapter_getPowered');
+    function poweredGetter() {
+        var ret = native_.callSync('NFCAdapter_getPowered');
+
+        if (native_.isFailure(ret)) {
+            return false;
+        }
 
-    if (native_.isFailure(ret)) {
-      return false;
+        return native_.getResultObject(ret);
     }
 
-    return native_.getResultObject(ret);
-  }
+    function cardEmulationModeGetter() {
+        var result = native_.callSync('NFCAdapter_cardEmulationModeGetter');
 
-  function cardEmulationModeGetter() {
-    var result = native_.callSync('NFCAdapter_cardEmulationModeGetter');
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
 
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+        return native_.getResultObject(result);
     }
 
-    return native_.getResultObject(result);
-  }
+    function cardEmulationModeSetter(cem) {
+        var args = validator_.validateArgs(arguments, [
+            { name: 'emulationMode', type: types_.STRING }
+        ]);
 
-  function cardEmulationModeSetter(cem) {
+        var result = native_.callSync('NFCAdapter_cardEmulationModeSetter', {
+            emulationMode: args.emulationMode
+        });
 
-    var args = validator_.validateArgs(arguments, [
-      {name: 'emulationMode', type: types_.STRING}
-    ]);
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
+        return;
+    }
 
-    var result = native_.callSync(
-        'NFCAdapter_cardEmulationModeSetter',
-        { 'emulationMode': args.emulationMode}
-        );
+    function activeSecureElementGetter() {
+        var result = native_.callSync('NFCAdapter_activeSecureElementGetter');
 
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
+
+        return native_.getResultObject(result);
     }
-    return;
-  }
 
-  function activeSecureElementGetter() {
+    function activeSecureElementSetter(ase) {
+        var args = validator_.validateArgs(arguments, [
+            { name: 'secureElement', type: types_.STRING }
+        ]);
 
-    var result = native_.callSync('NFCAdapter_activeSecureElementGetter');
+        var result = native_.callSync('NFCAdapter_activeSecureElementSetter', {
+            secureElement: args.secureElement
+        });
 
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
+        return;
     }
 
-    return native_.getResultObject(result);
-  }
+    Object.defineProperties(this, {
+        powered: { enumerable: true, set: function() {}, get: poweredGetter },
+        cardEmulationMode: {
+            enumerable: true,
+            set: cardEmulationModeSetter,
+            get: cardEmulationModeGetter
+        },
+        activeSecureElement: {
+            enumerable: true,
+            set: activeSecureElementSetter,
+            get: activeSecureElementGetter
+        }
+    });
+}
 
-  function activeSecureElementSetter(ase) {
+NFCAdapter.prototype.setPowered = function() {
+    privUtils_.warn(
+        'DEPRECATION WARNING: setPowered() is deprecated ' +
+            'and will be removed from next release. Let the user ' +
+            'turn NFC on/off through the Settings application instead.'
+    );
 
     var args = validator_.validateArgs(arguments, [
-      {name: 'secureElement', type: types_.STRING}
+        {
+            name: 'powered',
+            type: types_.BOOLEAN
+        },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
     ]);
 
-    var result = native_.callSync(
-        'NFCAdapter_activeSecureElementSetter',
-        { 'secureElement': args.secureElement}
-        );
-
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
-    }
-    return;
-  }
-
-  Object.defineProperties(this, {
-    powered: {enumerable: true,
-      set: function() {},
-      get: poweredGetter
-    },
-    cardEmulationMode: {enumerable: true,
-      set: cardEmulationModeSetter,
-      get: cardEmulationModeGetter
-    },
-    activeSecureElement: {enumerable: true,
-      set: activeSecureElementSetter,
-      get: activeSecureElementGetter
-    }
-  });
-}
-
-NFCAdapter.prototype.setPowered = function() {
-  privUtils_.warn('DEPRECATION WARNING: setPowered() is deprecated and will be removed from next release. Let the user turn NFC on/off '
-      + 'through the Settings application instead.');
-
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'powered',
-      type: types_.BOOLEAN
-    },
-    {
-      name: 'successCallback',
-      type: types_.FUNCTION,
-      optional: true,
-      nullable: true
-    },
-    {
-      name: 'errorCallback',
-      type: types_.FUNCTION,
-      optional: true,
-      nullable: true
-    }
-  ]);
+    var result = native_.call(
+        'NFCAdapter_setPowered',
+        {
+            powered: args.powered
+        },
+        function(result) {
+            if (native_.isFailure(result)) {
+                args.errorCallback(result.error);
+            } else {
+                args.successCallback();
+            }
+        }
+    );
 
-  var result = native_.call('NFCAdapter_setPowered', {
-    powered: args.powered
-  }, function(result) {
     if (native_.isFailure(result)) {
-      args.errorCallback(result.error);
-    } else {
-      args.successCallback();
+        throw native_.getErrorObject(result);
     }
-  });
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
 };
 
 function setTagListener() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'listener',
-      type: types_.LISTENER,
-      values: ['onattach', 'ondetach']
-    },
-    {
-      name: 'tagType',
-      type: types_.ARRAY,
-      values: types_.STRING,
-      optional: true,
-      nullable: true
-    }
-  ]);
-
-  if (!type_.isNullOrUndefined(args.tagType)) {
-    for (var i = 0; i < args.tagType.length; i++) {
-      if (NFCTagType[args.tagType[i]] === undefined) {
-        throw new WebAPIException(
-            WebAPIException.TYPE_MISMATCH_ERR, 'Invalid tag type.');
-      }
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'listener',
+            type: types_.LISTENER,
+            values: ['onattach', 'ondetach']
+        },
+        {
+            name: 'tagType',
+            type: types_.ARRAY,
+            values: types_.STRING,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    if (!type_.isNullOrUndefined(args.tagType)) {
+        for (var i = 0; i < args.tagType.length; i++) {
+            if (NFCTagType[args.tagType[i]] === undefined) {
+                throw new WebAPIException(
+                    WebAPIException.TYPE_MISMATCH_ERR,
+                    'Invalid tag type.'
+                );
+            }
+        }
     }
-  }
 
-  // Listener object creation
-  var listenerCallback = function(message) {
-    var tagObject = undefined;
+    // Listener object creation
+    var listenerCallback = function(message) {
+        var tagObject = undefined;
 
-    if ('onattach' === message.action) {
-      tagObject = new NFCTag(message.id);
+        if ('onattach' === message.action) {
+            tagObject = new NFCTag(message.id);
 
-      // If filter is set for listener but tag type is not searched one
-      if (!type_.isNullOrUndefined(args.tagType) &&
-          args.tagType.indexOf(tagObject.type) < 0) {
-        return;
-      }
-    }
-    native_.callIfPossible(args.listener[message.action], tagObject);
-  };
+            // If filter is set for listener but tag type is not searched one
+            if (
+                !type_.isNullOrUndefined(args.tagType) &&
+                args.tagType.indexOf(tagObject.type) < 0
+            ) {
+                return;
+            }
+        }
+        native_.callIfPossible(args.listener[message.action], tagObject);
+    };
 
-  // Register (acivate) core listener if not done yet
-  if (!native_.isListenerSet(TAG_LISTENER)) {
-    var result = native_.callSync('NFCAdapter_setTagListener');
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+    // Register (acivate) core listener if not done yet
+    if (!native_.isListenerSet(TAG_LISTENER)) {
+        var result = native_.callSync('NFCAdapter_setTagListener');
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
     }
-  }
 
-  native_.addListener(TAG_LISTENER, listenerCallback);
-  return;
-};
+    native_.addListener(TAG_LISTENER, listenerCallback);
+    return;
+}
 
 NFCAdapter.prototype.setTagListener = function() {
-  setTagListener.apply(this, arguments);
-}
+    setTagListener.apply(this, arguments);
+};
 
 function setPeerListener() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'listener',
-      type: types_.LISTENER,
-      values: ['onattach', 'ondetach']
-    }
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'listener',
+            type: types_.LISTENER,
+            values: ['onattach', 'ondetach']
+        }
+    ]);
 
-  var listener = function(msg) {
-    var data = undefined;
-    if ('onattach' === msg.action) {
-      data = new NFCPeer(msg.id);
-    }
-    native_.callIfPossible(args.listener[msg.action], data);
-  };
+    var listener = function(msg) {
+        var data = undefined;
+        if ('onattach' === msg.action) {
+            data = new NFCPeer(msg.id);
+        }
+        native_.callIfPossible(args.listener[msg.action], data);
+    };
 
-  if (!native_.isListenerSet(PEER_LISTENER)) {
-    var result = native_.callSync('NFCAdapter_setPeerListener');
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+    if (!native_.isListenerSet(PEER_LISTENER)) {
+        var result = native_.callSync('NFCAdapter_setPeerListener');
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
     }
-  }
 
-  native_.addListener(PEER_LISTENER, listener);
-  return;
-};
+    native_.addListener(PEER_LISTENER, listener);
+    return;
+}
 
 NFCAdapter.prototype.setPeerListener = function() {
-  setPeerListener.apply(this, arguments);
+    setPeerListener.apply(this, arguments);
 };
 
 NFCAdapter.prototype.unsetTagListener = function() {
+    native_.removeListener(TAG_LISTENER);
 
-  native_.removeListener(TAG_LISTENER);
-
-  var result = native_.callSync('NFCAdapter_unsetTagListener');
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    var result = native_.callSync('NFCAdapter_unsetTagListener');
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 
-  return;
+    return;
 };
 
 NFCAdapter.prototype.unsetPeerListener = function() {
-  native_.removeListener(PEER_LISTENER);
+    native_.removeListener(PEER_LISTENER);
 
-  var result = native_.callSync('NFCAdapter_unsetPeerListener');
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    var result = native_.callSync('NFCAdapter_unsetPeerListener');
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 
-  return;
+    return;
 };
 
 function addCardEmulationModeChangeListener() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'callback',
-      type: types_.FUNCTION
-    }
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'callback',
+            type: types_.FUNCTION
+        }
+    ]);
 
-  if (type_.isEmptyObject(cardEmulationModeListener.listeners) &&
-      type_.isEmptyObject(activeSecureElementChangeListener.listeners)) {
-    var result = native_.callSync(
-        'NFCAdapter_addCardEmulationModeChangeListener');
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+    if (
+        type_.isEmptyObject(cardEmulationModeListener.listeners) &&
+        type_.isEmptyObject(activeSecureElementChangeListener.listeners)
+    ) {
+        var result = native_.callSync('NFCAdapter_addCardEmulationModeChangeListener');
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
     }
-  }
 
-  return cardEmulationModeListener.addListener(args.callback);
-};
+    return cardEmulationModeListener.addListener(args.callback);
+}
 
 NFCAdapter.prototype.addCardEmulationModeChangeListener = function() {
-  return addCardEmulationModeChangeListener.apply(this, arguments);
+    return addCardEmulationModeChangeListener.apply(this, arguments);
 };
 
 function removeCardEmulationModeChangeListener() {
-  if (type_.isEmptyObject(cardEmulationModeListener.listeners)) {
-    privUtils_.checkPrivilegeAccess(privilege_.NFC_CARDEMULATION);
-  }
-
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'listenerId',
-      type: types_.LONG
+    if (type_.isEmptyObject(cardEmulationModeListener.listeners)) {
+        privUtils_.checkPrivilegeAccess(privilege_.NFC_CARDEMULATION);
     }
-  ]);
-  cardEmulationModeListener.removeListener(args.listenerId);
 
-  if (type_.isEmptyObject(cardEmulationModeListener.listeners) &&
-      type_.isEmptyObject(activeSecureElementChangeListener.listeners)) {
-    var result = native_.callSync('NFCAdapter_removeCardEmulationModeChangeListener');
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'listenerId',
+            type: types_.LONG
+        }
+    ]);
+    cardEmulationModeListener.removeListener(args.listenerId);
+
+    if (
+        type_.isEmptyObject(cardEmulationModeListener.listeners) &&
+        type_.isEmptyObject(activeSecureElementChangeListener.listeners)
+    ) {
+        var result = native_.callSync('NFCAdapter_removeCardEmulationModeChangeListener');
 
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
     }
-  }
-};
+}
 
 NFCAdapter.prototype.removeCardEmulationModeChangeListener = function() {
-  removeCardEmulationModeChangeListener.apply(this, arguments);
+    removeCardEmulationModeChangeListener.apply(this, arguments);
 };
 
 function addTransactionEventListener() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'type',
-      type: types_.ENUM,
-      values: type_.getValues(SecureElementType)
-    },
-    {
-      name: 'callback',
-      type: types_.FUNCTION
-    }
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'type',
+            type: types_.ENUM,
+            values: type_.getValues(SecureElementType)
+        },
+        {
+            name: 'callback',
+            type: types_.FUNCTION
+        }
+    ]);
 
-  var result;
+    var result;
 
-  if (SecureElementType.ESE === args.type) {
-    if (type_.isEmptyObject(transactionEventListenerEse.listeners)) {
-      result = native_.callSync('NFCAdapter_addTransactionEventListener', {
-        type: args.type});
-      if (native_.isFailure(result)) {
-        throw native_.getErrorObject(result);
-      }
-    }
-    return transactionEventListenerEse.addListener(args.callback);
-  } else {
-    if (type_.isEmptyObject(transactionEventListenerUicc.listeners)) {
-      result = native_.callSync('NFCAdapter_addTransactionEventListener', {
-        type: args.type});
-      if (native_.isFailure(result)) {
-        throw native_.getErrorObject(result);
-      }
+    if (SecureElementType.ESE === args.type) {
+        if (type_.isEmptyObject(transactionEventListenerEse.listeners)) {
+            result = native_.callSync('NFCAdapter_addTransactionEventListener', {
+                type: args.type
+            });
+            if (native_.isFailure(result)) {
+                throw native_.getErrorObject(result);
+            }
+        }
+        return transactionEventListenerEse.addListener(args.callback);
+    } else {
+        if (type_.isEmptyObject(transactionEventListenerUicc.listeners)) {
+            result = native_.callSync('NFCAdapter_addTransactionEventListener', {
+                type: args.type
+            });
+            if (native_.isFailure(result)) {
+                throw native_.getErrorObject(result);
+            }
+        }
+        return transactionEventListenerUicc.addListener(args.callback);
     }
-    return transactionEventListenerUicc.addListener(args.callback);
-  }
-};
+}
 
 NFCAdapter.prototype.addTransactionEventListener = function() {
-  return addTransactionEventListener.apply(this, arguments);
+    return addTransactionEventListener.apply(this, arguments);
 };
 
 function removeTransactionEventListener() {
-  var ese_empty = type_.isEmptyObject(transactionEventListenerEse.listeners);
-  var uicc_empty = type_.isEmptyObject(transactionEventListenerUicc.listeners);
-
-  if (!ese_empty || !uicc_empty) {
-    privUtils_.checkPrivilegeAccess(privilege_.NFC_CARDEMULATION);
-  }
+    var ese_empty = type_.isEmptyObject(transactionEventListenerEse.listeners);
+    var uicc_empty = type_.isEmptyObject(transactionEventListenerUicc.listeners);
 
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'watchId',
-      type: types_.LONG
+    if (!ese_empty || !uicc_empty) {
+        privUtils_.checkPrivilegeAccess(privilege_.NFC_CARDEMULATION);
     }
-  ]);
 
-  transactionEventListenerEse.removeListener(args.watchId);
-  transactionEventListenerUicc.removeListener(args.watchId);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'watchId',
+            type: types_.LONG
+        }
+    ]);
 
-  if (type_.isEmptyObject(transactionEventListenerEse.listeners) && !ese_empty) {
-    var result = native_.callSync('NFCAdapter_removeTransactionEventListener', {
-      type: SecureElementType.ESE});
+    transactionEventListenerEse.removeListener(args.watchId);
+    transactionEventListenerUicc.removeListener(args.watchId);
 
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+    if (type_.isEmptyObject(transactionEventListenerEse.listeners) && !ese_empty) {
+        var result = native_.callSync('NFCAdapter_removeTransactionEventListener', {
+            type: SecureElementType.ESE
+        });
+
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
     }
-  }
 
-  if (type_.isEmptyObject(transactionEventListenerUicc.listeners)
-            && !uicc_empty) {
-    var result = native_.callSync('NFCAdapter_removeTransactionEventListener', {
-      type: SecureElementType.UICC});
+    if (type_.isEmptyObject(transactionEventListenerUicc.listeners) && !uicc_empty) {
+        var result = native_.callSync('NFCAdapter_removeTransactionEventListener', {
+            type: SecureElementType.UICC
+        });
 
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
     }
-  }
-
-};
+}
 
 NFCAdapter.prototype.removeTransactionEventListener = function() {
-  removeTransactionEventListener.apply(this, arguments);
+    removeTransactionEventListener.apply(this, arguments);
 };
 
 function addActiveSecureElementChangeListener() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'callback',
-      type: types_.FUNCTION
-    }
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'callback',
+            type: types_.FUNCTION
+        }
+    ]);
 
-  if (type_.isEmptyObject(cardEmulationModeListener.listeners) &&
-      type_.isEmptyObject(activeSecureElementChangeListener.listeners)) {
-    var result = native_.callSync(
-        'NFCAdapter_addActiveSecureElementChangeListener');
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+    if (
+        type_.isEmptyObject(cardEmulationModeListener.listeners) &&
+        type_.isEmptyObject(activeSecureElementChangeListener.listeners)
+    ) {
+        var result = native_.callSync('NFCAdapter_addActiveSecureElementChangeListener');
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
     }
-  }
 
-  return activeSecureElementChangeListener.addListener(args.callback);
-};
+    return activeSecureElementChangeListener.addListener(args.callback);
+}
 
 NFCAdapter.prototype.addActiveSecureElementChangeListener = function() {
-  return addActiveSecureElementChangeListener.apply(this, arguments);
+    return addActiveSecureElementChangeListener.apply(this, arguments);
 };
 
 function removeActiveSecureElementChangeListener() {
-  if (type_.isEmptyObject(activeSecureElementChangeListener.listeners)) {
-    privUtils_.checkPrivilegeAccess(privilege_.NFC_CARDEMULATION);
-  }
-
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'listenerId',
-      type: types_.LONG
+    if (type_.isEmptyObject(activeSecureElementChangeListener.listeners)) {
+        privUtils_.checkPrivilegeAccess(privilege_.NFC_CARDEMULATION);
     }
-  ]);
-  activeSecureElementChangeListener.removeListener(args.listenerId);
 
-  if (type_.isEmptyObject(cardEmulationModeListener.listeners) &&
-      type_.isEmptyObject(activeSecureElementChangeListener.listeners)) {
-    var result = native_.callSync('NFCAdapter_removeCardEmulationModeChangeListener');
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'listenerId',
+            type: types_.LONG
+        }
+    ]);
+    activeSecureElementChangeListener.removeListener(args.listenerId);
+
+    if (
+        type_.isEmptyObject(cardEmulationModeListener.listeners) &&
+        type_.isEmptyObject(activeSecureElementChangeListener.listeners)
+    ) {
+        var result = native_.callSync('NFCAdapter_removeCardEmulationModeChangeListener');
 
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
     }
-  }
-};
+}
 
 NFCAdapter.prototype.removeActiveSecureElementChangeListener = function() {
-  removeActiveSecureElementChangeListener.apply(this, arguments);
+    removeActiveSecureElementChangeListener.apply(this, arguments);
 };
 
 NFCAdapter.prototype.getCachedMessage = function() {
-  var result = native_.callSync('NFCAdapter_getCachedMessage');
+    var result = native_.callSync('NFCAdapter_getCachedMessage');
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 
-  if (!result.records) {
-    return new tizen.NDEFMessage();
-  }
+    if (!result.records) {
+        return new tizen.NDEFMessage();
+    }
 
-  return new tizen.NDEFMessage(toRecordsArray(result.records));
+    return new tizen.NDEFMessage(toRecordsArray(result.records));
 };
 
 NFCAdapter.prototype.setExclusiveModeForTransaction = function() {
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'transactionMode',
+            type: types_.BOOLEAN
+        }
+    ]);
 
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'transactionMode',
-      type: types_.BOOLEAN
-    }
-  ]);
-
-  var result = native_.callSync(
-      'NFCAdapter_setExclusiveModeForTransaction',
-      { 'transactionMode': args.transactionMode}
-      );
+    var result = native_.callSync('NFCAdapter_setExclusiveModeForTransaction', {
+        transactionMode: args.transactionMode
+    });
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-  return;
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+    return;
 };
 
 function addHCEEventListener() {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'eventCallback', type: types_.FUNCTION}
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'eventCallback', type: types_.FUNCTION }
+    ]);
 
-  if (!arguments.length || !type_.isFunction(arguments[0])) {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
-  }
+    if (!arguments.length || !type_.isFunction(arguments[0])) {
+        throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
+    }
 
-  if (type_.isEmptyObject(HCEEventListener.listeners)) {
-    var result = native_.callSync('NFCAdapter_addHCEEventListener');
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+    if (type_.isEmptyObject(HCEEventListener.listeners)) {
+        var result = native_.callSync('NFCAdapter_addHCEEventListener');
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
     }
-  }
 
-  return HCEEventListener.addListener(args.eventCallback);
-};
+    return HCEEventListener.addListener(args.eventCallback);
+}
 
 NFCAdapter.prototype.addHCEEventListener = function() {
-  return addHCEEventListener.apply(this, arguments);
-}
+    return addHCEEventListener.apply(this, arguments);
+};
 
 function removeHCEEventListener() {
-  if (type_.isEmptyObject(HCEEventListener.listeners)) {
-    privUtils_.checkPrivilegeAccess(privilege_.NFC_CARDEMULATION);
-  }
+    if (type_.isEmptyObject(HCEEventListener.listeners)) {
+        privUtils_.checkPrivilegeAccess(privilege_.NFC_CARDEMULATION);
+    }
 
-  var args = validator_.validateArgs(arguments, [
-    {name: 'watchId', type: types_.LONG}
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'watchId', type: types_.LONG }
+    ]);
 
-  if (!arguments.length || !type_.isNumber(arguments[0])) {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
-  }
+    if (!arguments.length || !type_.isNumber(arguments[0])) {
+        throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
+    }
 
-  HCEEventListener.removeListener(args.watchId);
+    HCEEventListener.removeListener(args.watchId);
 
-  if (type_.isEmptyObject(HCEEventListener.listeners)) {
-    var result = native_.callSync('NFCAdapter_removeHCEEventListener');
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+    if (type_.isEmptyObject(HCEEventListener.listeners)) {
+        var result = native_.callSync('NFCAdapter_removeHCEEventListener');
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
     }
-  }
-};
+}
 
 NFCAdapter.prototype.removeHCEEventListener = function() {
-  removeHCEEventListener.apply(this, arguments);
+    removeHCEEventListener.apply(this, arguments);
 };
 
-NFCAdapter.prototype.sendHostAPDUResponse = function(apdu, successCallback, errorCallback) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'apdu', type: types_.ARRAY, values: types_.BYTE},
-    {name: 'successCallback', type: types_.FUNCTION, optional: true, nullable: true},
-    {name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true}
-  ]);
-
-  if (!arguments.length || !type_.isArray(arguments[0])) {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
-  }
-
-  var data = {
-    apdu: args.apdu
-  };
+NFCAdapter.prototype.sendHostAPDUResponse = function(
+    apdu,
+    successCallback,
+    errorCallback
+) {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'apdu', type: types_.ARRAY, values: types_.BYTE },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
 
-  var callback = function(result) {
-    if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      return;
+    if (!arguments.length || !type_.isArray(arguments[0])) {
+        throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
     }
-    native_.callIfPossible(args.successCallback);
-  };
-
-  var result = native_.call('NFCAdapter_sendHostAPDUResponse', data, callback);
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-};
+    var data = {
+        apdu: args.apdu
+    };
 
-NFCAdapter.prototype.isActivatedHandlerForAID = function(type, aid) {
-
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'type',
-      type: types_.ENUM,
-      values: type_.getValues(SecureElementType)
-    },
-    {name: 'aid', type: types_.STRING}
-  ]);
-
-  if (arguments.length < 2) {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
-  }
-
-  var data = {
-    type: args.type,
-    aid: args.aid
-  };
-
-  var result = native_.callSync('NFCAdapter_isActivatedHandlerForAID', data);
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-  return native_.getResultObject(result);
-};
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+            return;
+        }
+        native_.callIfPossible(args.successCallback);
+    };
 
-NFCAdapter.prototype.isActivatedHandlerForCategory = function(type, category) {
+    var result = native_.call('NFCAdapter_sendHostAPDUResponse', data, callback);
 
-  var args = validator_.validateArgs(arguments, [{
-    name: 'type',
-    type: types_.ENUM,
-    values: type_.getValues(SecureElementType)
-  }, {
-    name: 'category',
-    type: types_.ENUM,
-    values: Object.keys(CardEmulationCategoryType)
-  }]);
-
-  if (arguments.length < 2) {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
-  }
-
-  var data = {
-    type: args.type,
-    category: args.category
-  };
-
-  var result = native_.callSync('NFCAdapter_isActivatedHandlerForCategory', data);
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-  return native_.getResultObject(result);
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
-NFCAdapter.prototype.registerAID = function(type, aid, category) {
+NFCAdapter.prototype.isActivatedHandlerForAID = function(type, aid) {
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'type',
+            type: types_.ENUM,
+            values: type_.getValues(SecureElementType)
+        },
+        { name: 'aid', type: types_.STRING }
+    ]);
 
-  var args = validator_.validateArgs(arguments, [{
-    name: 'type',
-    type: types_.ENUM,
-    values: type_.getValues(SecureElementType)
-  }, {
-    name: 'aid',
-    type: types_.STRING
-  }, {
-    name: 'category',
-    type: types_.ENUM,
-    values: Object.keys(CardEmulationCategoryType)
-  }]);
-
-  if (arguments.length < 3 || !type_.isString(arguments[0])) {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
-  }
-
-  var data = {
-    type: args.type,
-    aid: args.aid,
-    category: args.category
-  };
-
-  var result = native_.callSync('NFCAdapter_registerAID', data);
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-};
+    if (arguments.length < 2) {
+        throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
+    }
 
-NFCAdapter.prototype.unregisterAID = function(type, aid, category) {
+    var data = {
+        type: args.type,
+        aid: args.aid
+    };
+
+    var result = native_.callSync('NFCAdapter_isActivatedHandlerForAID', data);
 
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'type',
-      type: types_.ENUM,
-      values: type_.getValues(SecureElementType)
-    },
-    {name: 'aid', type: types_.STRING},
-    {name: 'category', type: types_.ENUM, values: Object.keys(CardEmulationCategoryType)}
-  ]);
-
-  if (arguments.length < 3 || !type_.isString(arguments[0])) {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
-  }
-
-  var data = {
-    type: args.type,
-    aid: args.aid,
-    category: args.category
-  };
-
-  var result = native_.callSync('NFCAdapter_unregisterAID', data);
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+    return native_.getResultObject(result);
 };
 
-function AIDData(data) {
-  Object.defineProperties(this, {
-    type: {
-      value: data.type,
-      writable: false,
-      enumerable: true
-    },
-    aid: {
-      value: data.aid || [],
-      writable: false,
-      enumerable: true
-    },
-    readOnly: {
-      value: data.readOnly || false,
-      writable: false,
-      enumerable: true
+NFCAdapter.prototype.isActivatedHandlerForCategory = function(type, category) {
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'type',
+            type: types_.ENUM,
+            values: type_.getValues(SecureElementType)
+        },
+        {
+            name: 'category',
+            type: types_.ENUM,
+            values: Object.keys(CardEmulationCategoryType)
+        }
+    ]);
+
+    if (arguments.length < 2) {
+        throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
     }
-  });
-}
 
-NFCAdapter.prototype.getAIDsForCategory = function(type, category, successCallback, errorCallback) {
-
-  var args = validator_.validateArgs(arguments, [{
-    name: 'type',
-    type: types_.ENUM,
-    values: type_.getValues(SecureElementType)
-  }, {
-    name: 'category',
-    type: types_.ENUM,
-    values: Object.keys(CardEmulationCategoryType)
-  }, {
-    name: 'successCallback',
-    type: types_.FUNCTION
-  }, {
-    name: 'errorCallback',
-    type: types_.FUNCTION,
-    optional: true,
-    nullable: true
-  }]);
-
-  if (arguments.length < 3) {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
-  }
-
-  var data = {
-    type: args.type,
-    category: args.category
-  };
-
-  var callback = function(result) {
+    var data = {
+        type: args.type,
+        category: args.category
+    };
+
+    var result = native_.callSync('NFCAdapter_isActivatedHandlerForCategory', data);
+
     if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-      return;
+        throw native_.getErrorObject(result);
     }
-    var aids = [];
-    var r = native_.getResultObject(result);
-    for (var i = 0; i < r.length; i++) {
-      aids.push(new AIDData(r[i]));
+    return native_.getResultObject(result);
+};
+
+NFCAdapter.prototype.registerAID = function(type, aid, category) {
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'type',
+            type: types_.ENUM,
+            values: type_.getValues(SecureElementType)
+        },
+        {
+            name: 'aid',
+            type: types_.STRING
+        },
+        {
+            name: 'category',
+            type: types_.ENUM,
+            values: Object.keys(CardEmulationCategoryType)
+        }
+    ]);
+
+    if (arguments.length < 3 || !type_.isString(arguments[0])) {
+        throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
     }
-    native_.callIfPossible(args.successCallback, aids);
-  };
 
-  var result = native_.call('NFCAdapter_getAIDsForCategory', data, callback);
+    var data = {
+        type: args.type,
+        aid: args.aid,
+        category: args.category
+    };
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-};
+    var result = native_.callSync('NFCAdapter_registerAID', data);
 
-function InternalRecordData(tnf, type, payload, id) {
-  this.tnf = tnf;
-  this.type = type;
-  this.payload = payload;
-  this.id = id;
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
-var toRecordsArray = function(array) {
-  var result = [];
-  if (type_.isNullOrUndefined(array) || !type_.isArray(array)) {
-    return result;
-  }
-
-  for (var i = 0; i < array.length; i++) {
-    var data = new InternalRecordData(array[i].tnf, array[i].type, array[i].payload, array[i].id);
+NFCAdapter.prototype.unregisterAID = function(type, aid, category) {
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'type',
+            type: types_.ENUM,
+            values: type_.getValues(SecureElementType)
+        },
+        { name: 'aid', type: types_.STRING },
+        {
+            name: 'category',
+            type: types_.ENUM,
+            values: Object.keys(CardEmulationCategoryType)
+        }
+    ]);
 
-    if (array[i].recordType == 'Record') {
-      result.push(new tizen.NDEFRecord(data.tnf, data.type, data.payload, data.id));
-      continue;
+    if (arguments.length < 3 || !type_.isString(arguments[0])) {
+        throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
     }
 
-    if (array[i].recordType == 'RecordText') {
-      result.push(new tizen.NDEFRecordText(array[i].text, array[i].languageCode,
-          array[i].encoding, data));
-      continue;
-    }
+    var data = {
+        type: args.type,
+        aid: args.aid,
+        category: args.category
+    };
 
-    if (array[i].recordType == 'RecordURI') {
-      result.push(new tizen.NDEFRecordURI(array[i].uri, data));
-      continue;
-    }
+    var result = native_.callSync('NFCAdapter_unregisterAID', data);
 
-    if (array[i].recordType == 'RecordMedia') {
-      result.push(new tizen.NDEFRecordMedia(array[i].mimeType, null, data));
-      continue;
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
     }
-  }
-
-  return result;
 };
 
-//////////////////NFCTag /////////////////
+function AIDData(data) {
+    Object.defineProperties(this, {
+        type: {
+            value: data.type,
+            writable: false,
+            enumerable: true
+        },
+        aid: {
+            value: data.aid || [],
+            writable: false,
+            enumerable: true
+        },
+        readOnly: {
+            value: data.readOnly || false,
+            writable: false,
+            enumerable: true
+        }
+    });
+}
 
-function NFCTag(tagid) {
+NFCAdapter.prototype.getAIDsForCategory = function(
+    type,
+    category,
+    successCallback,
+    errorCallback
+) {
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'type',
+            type: types_.ENUM,
+            values: type_.getValues(SecureElementType)
+        },
+        {
+            name: 'category',
+            type: types_.ENUM,
+            values: Object.keys(CardEmulationCategoryType)
+        },
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
 
-  var _my_id = tagid;
+    if (arguments.length < 3) {
+        throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
+    }
 
-  function TypeGetter() {
+    var data = {
+        type: args.type,
+        category: args.category
+    };
 
-    var result = native_.callSync('NFCTag_typeGetter', {'id' : _my_id});
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+            return;
+        }
+        var aids = [];
+        var r = native_.getResultObject(result);
+        for (var i = 0; i < r.length; i++) {
+            aids.push(new AIDData(r[i]));
+        }
+        native_.callIfPossible(args.successCallback, aids);
+    };
+
+    var result = native_.call('NFCAdapter_getAIDsForCategory', data, callback);
 
     if (native_.isFailure(result)) {
-      return;
+        throw native_.getErrorObject(result);
     }
-    return native_.getResultObject(result);
-  }
-
-  function IsSupportedNDEFGetter() {
+};
 
-    var result = native_.callSync('NFCTag_isSupportedNDEFGetter', {'id' : _my_id});
+function InternalRecordData(tnf, type, payload, id) {
+    this.tnf = tnf;
+    this.type = type;
+    this.payload = payload;
+    this.id = id;
+}
 
-    if (native_.isFailure(result)) {
-      return;
+var toRecordsArray = function(array) {
+    var result = [];
+    if (type_.isNullOrUndefined(array) || !type_.isArray(array)) {
+        return result;
     }
-    return native_.getResultObject(result);
-  }
 
-  function NDEFSizeGetter() {
+    for (var i = 0; i < array.length; i++) {
+        var data = new InternalRecordData(
+            array[i].tnf,
+            array[i].type,
+            array[i].payload,
+            array[i].id
+        );
 
-    var result = native_.callSync('NFCTag_NDEFSizeGetter', {'id' : _my_id});
+        if (array[i].recordType == 'Record') {
+            result.push(new tizen.NDEFRecord(data.tnf, data.type, data.payload, data.id));
+            continue;
+        }
 
-    if (native_.isFailure(result)) {
-      return;
+        if (array[i].recordType == 'RecordText') {
+            result.push(
+                new tizen.NDEFRecordText(
+                    array[i].text,
+                    array[i].languageCode,
+                    array[i].encoding,
+                    data
+                )
+            );
+            continue;
+        }
+
+        if (array[i].recordType == 'RecordURI') {
+            result.push(new tizen.NDEFRecordURI(array[i].uri, data));
+            continue;
+        }
+
+        if (array[i].recordType == 'RecordMedia') {
+            result.push(new tizen.NDEFRecordMedia(array[i].mimeType, null, data));
+            continue;
+        }
     }
-    return native_.getResultObject(result);
-  }
 
-  function PropertiesGetter() {
+    return result;
+};
 
-    var result = native_.callSync('NFCTag_propertiesGetter', {'id' : _my_id});
+//////////////////NFCTag /////////////////
 
-    if (native_.isFailure(result)) {
-      return;
-    }
+function NFCTag(tagid) {
+    var _my_id = tagid;
 
-    privUtils_.log('Current result: ' + result);
+    function TypeGetter() {
+        var result = native_.callSync('NFCTag_typeGetter', { id: _my_id });
 
-    var result_array = {};
-    for (var i in result.result) {
-      var current = result.result[i];
-      var keys = Object.keys(current);
-      for (var x in keys) {
-        result_array[keys[x]] = current[keys[x]];
-      }
+        if (native_.isFailure(result)) {
+            return;
+        }
+        return native_.getResultObject(result);
     }
-    return result_array;
-  }
 
-  function IsConnectedGetter() {
+    function IsSupportedNDEFGetter() {
+        var result = native_.callSync('NFCTag_isSupportedNDEFGetter', { id: _my_id });
 
-    var result = native_.callSync('NFCTag_isConnectedGetter', {'id' : _my_id});
+        if (native_.isFailure(result)) {
+            return;
+        }
+        return native_.getResultObject(result);
+    }
 
-    if (native_.isFailure(result)) {
-      return;
+    function NDEFSizeGetter() {
+        var result = native_.callSync('NFCTag_NDEFSizeGetter', { id: _my_id });
+
+        if (native_.isFailure(result)) {
+            return;
+        }
+        return native_.getResultObject(result);
     }
-    return native_.getResultObject(result);
-  }
 
-  // Function defined here (not outside Tag "constructor"
-  // because access to internal _my_id variable is needed)
-  NFCTag.prototype.readNDEF = function() {
-    xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.NFC_TAG);
+    function PropertiesGetter() {
+        var result = native_.callSync('NFCTag_propertiesGetter', { id: _my_id });
 
-    var args = validator_.validateArgs(arguments, [
-      {
-        name: 'readCallback',
-        type: types_.FUNCTION
-      },
-      {
-        name: 'errorCallback',
-        type: types_.FUNCTION,
-        optional: true,
-        nullable: true
-      }
-    ]);
+        if (native_.isFailure(result)) {
+            return;
+        }
 
-    var result = native_.call('NFCTag_readNDEF', {'id' : _my_id},
-        function(result) {
-          if (native_.isFailure(result)) {
-            if (!type_.isNullOrUndefined(args.errorCallback)) {
-              args.errorCallback(native_.getErrorObject(result));
-            }
-          } else {
-            var message = new tizen.NDEFMessage(toRecordsArray(result.records));
-            args.readCallback(message);
-          }
-        });
+        privUtils_.log('Current result: ' + result);
 
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+        var result_array = {};
+        for (var i in result.result) {
+            var current = result.result[i];
+            var keys = Object.keys(current);
+            for (var x in keys) {
+                result_array[keys[x]] = current[keys[x]];
+            }
+        }
+        return result_array;
     }
-  };
 
-  NFCTag.prototype.writeNDEF = function() {
-    xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.NFC_TAG);
+    function IsConnectedGetter() {
+        var result = native_.callSync('NFCTag_isConnectedGetter', { id: _my_id });
 
-    var args = validator_.validateArgs(arguments, [
-      {
-        name: 'message',
-        type: types_.PLATFORM_OBJECT,
-        values: tizen.NDEFMessage
-      },
-      {
-        name: 'successCallback',
-        type: types_.FUNCTION,
-        optional: true,
-        nullable: true
-      },
-      {
-        name: 'errorCallback',
-        type: types_.FUNCTION,
-        optional: true,
-        nullable: true
-      }
-    ]);
+        if (native_.isFailure(result)) {
+            return;
+        }
+        return native_.getResultObject(result);
+    }
 
-    var result = native_.call('NFCTag_writeNDEF',
-        {
-          'id' : _my_id,
-          'records' : args.message.records,
-          'recordsSize' : args.message.recordCount
-        },
-        function(result) {
-          if (native_.isFailure(result)) {
-            if (!type_.isNullOrUndefined(args.errorCallback)) {
-              args.errorCallback(native_.getErrorObject(result));
+    // Function defined here (not outside Tag "constructor"
+    // because access to internal _my_id variable is needed)
+    NFCTag.prototype.readNDEF = function() {
+        xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.NFC_TAG);
+
+        var args = validator_.validateArgs(arguments, [
+            {
+                name: 'readCallback',
+                type: types_.FUNCTION
+            },
+            {
+                name: 'errorCallback',
+                type: types_.FUNCTION,
+                optional: true,
+                nullable: true
             }
-          } else {
-            if (!type_.isNullOrUndefined(args.successCallback)) {
-              args.successCallback();
+        ]);
+
+        var result = native_.call('NFCTag_readNDEF', { id: _my_id }, function(result) {
+            if (native_.isFailure(result)) {
+                if (!type_.isNullOrUndefined(args.errorCallback)) {
+                    args.errorCallback(native_.getErrorObject(result));
+                }
+            } else {
+                var message = new tizen.NDEFMessage(toRecordsArray(result.records));
+                args.readCallback(message);
             }
-          }
         });
 
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
-    }
-  };
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
+    };
 
-  NFCTag.prototype.transceive = function() {
-    xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.NFC_TAG);
+    NFCTag.prototype.writeNDEF = function() {
+        xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.NFC_TAG);
+
+        var args = validator_.validateArgs(arguments, [
+            {
+                name: 'message',
+                type: types_.PLATFORM_OBJECT,
+                values: tizen.NDEFMessage
+            },
+            {
+                name: 'successCallback',
+                type: types_.FUNCTION,
+                optional: true,
+                nullable: true
+            },
+            {
+                name: 'errorCallback',
+                type: types_.FUNCTION,
+                optional: true,
+                nullable: true
+            }
+        ]);
+
+        var result = native_.call(
+            'NFCTag_writeNDEF',
+            {
+                id: _my_id,
+                records: args.message.records,
+                recordsSize: args.message.recordCount
+            },
+            function(result) {
+                if (native_.isFailure(result)) {
+                    if (!type_.isNullOrUndefined(args.errorCallback)) {
+                        args.errorCallback(native_.getErrorObject(result));
+                    }
+                } else {
+                    if (!type_.isNullOrUndefined(args.successCallback)) {
+                        args.successCallback();
+                    }
+                }
+            }
+        );
 
-    var args = validator_.validateArgs(arguments, [
-      {
-        name: 'data',
-        type: types_.ARRAY,
-        values: types_.BYTE
-      },
-      {
-        name: 'dataCallback',
-        type: types_.FUNCTION
-      },
-      {
-        name: 'errorCallback',
-        type: types_.FUNCTION,
-        optional: true,
-        nullable: true
-      }
-    ]);
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
+    };
 
-    var result = native_.call('NFCTag_transceive',
-        {
-          'id' : _my_id,
-          'data' : args.data
-        },
-        function(result) {
-          if (native_.isFailure(result)) {
-            if (!type_.isNullOrUndefined(args.errorCallback)) {
-              args.errorCallback(result.error);
+    NFCTag.prototype.transceive = function() {
+        xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.NFC_TAG);
+
+        var args = validator_.validateArgs(arguments, [
+            {
+                name: 'data',
+                type: types_.ARRAY,
+                values: types_.BYTE
+            },
+            {
+                name: 'dataCallback',
+                type: types_.FUNCTION
+            },
+            {
+                name: 'errorCallback',
+                type: types_.FUNCTION,
+                optional: true,
+                nullable: true
             }
-          } else {
-            if (!type_.isNullOrUndefined(args.dataCallback)) {
-              args.dataCallback(result.data);
+        ]);
+
+        var result = native_.call(
+            'NFCTag_transceive',
+            {
+                id: _my_id,
+                data: args.data
+            },
+            function(result) {
+                if (native_.isFailure(result)) {
+                    if (!type_.isNullOrUndefined(args.errorCallback)) {
+                        args.errorCallback(result.error);
+                    }
+                } else {
+                    if (!type_.isNullOrUndefined(args.dataCallback)) {
+                        args.dataCallback(result.data);
+                    }
+                }
             }
-          }
-        });
+        );
 
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
-    }
-  };
-
-  Object.defineProperties(this, {
-    type: {
-      set: function() {},
-      get: TypeGetter,
-      enumerable: true
-    },
-    isSupportedNDEF: {
-      set: function() {},
-      get: IsSupportedNDEFGetter,
-      enumerable: true
-    },
-    ndefSize: {
-      set: function() {},
-      get: NDEFSizeGetter,
-      enumerable: true
-    },
-    properties: {
-      set: function() {},
-      get: PropertiesGetter,
-      enumerable: true
-    },
-    isConnected: {
-      set: function() {},
-      get: IsConnectedGetter,
-      enumerable: true
-    }
-  });
-}
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
+    };
 
+    Object.defineProperties(this, {
+        type: {
+            set: function() {},
+            get: TypeGetter,
+            enumerable: true
+        },
+        isSupportedNDEF: {
+            set: function() {},
+            get: IsSupportedNDEFGetter,
+            enumerable: true
+        },
+        ndefSize: {
+            set: function() {},
+            get: NDEFSizeGetter,
+            enumerable: true
+        },
+        properties: {
+            set: function() {},
+            get: PropertiesGetter,
+            enumerable: true
+        },
+        isConnected: {
+            set: function() {},
+            get: IsConnectedGetter,
+            enumerable: true
+        }
+    });
+}
 
 //////////////////NFCPeer /////////////////
 
 function NFCPeer(peerid) {
-  var _my_id = peerid;
+    var _my_id = peerid;
 
-  function isConnectedGetter() {
-    var ret = native_.callSync('NFCAdapter_PeerIsConnectedGetter', {'id' : _my_id});
-    if (native_.isFailure(ret)) {
-      return false;
+    function isConnectedGetter() {
+        var ret = native_.callSync('NFCAdapter_PeerIsConnectedGetter', { id: _my_id });
+        if (native_.isFailure(ret)) {
+            return false;
+        }
+        return native_.getResultObject(ret);
     }
-    return native_.getResultObject(ret);
-  }
 
-  NFCPeer.prototype.sendNDEF = function() {
-    xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.NFC_P2P);
+    NFCPeer.prototype.sendNDEF = function() {
+        xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.NFC_P2P);
+
+        var args = validator_.validateArgs(arguments, [
+            {
+                name: 'message',
+                type: types_.PLATFORM_OBJECT,
+                values: tizen.NDEFMessage
+            },
+            {
+                name: 'successCallback',
+                type: types_.FUNCTION,
+                optional: true,
+                nullable: true
+            },
+            {
+                name: 'errorCallback',
+                type: types_.FUNCTION,
+                optional: true,
+                nullable: true
+            }
+        ]);
+
+        var result = native_.call(
+            'NFCPeer_sendNDEF',
+            {
+                id: _my_id,
+                records: args.message.records,
+                recordsSize: args.message.recordCount
+            },
+            function(result) {
+                if (native_.isFailure(result)) {
+                    args.errorCallback(result.error);
+                } else {
+                    args.successCallback();
+                }
+            }
+        );
 
-    var args = validator_.validateArgs(arguments, [
-      {
-        name: 'message',
-        type: types_.PLATFORM_OBJECT,
-        values: tizen.NDEFMessage
-      },
-      {
-        name: 'successCallback',
-        type: types_.FUNCTION,
-        optional: true,
-        nullable: true
-      },
-      {
-        name: 'errorCallback',
-        type: types_.FUNCTION,
-        optional: true,
-        nullable: true
-      }
-    ]);
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
+    };
 
-    var result = native_.call('NFCPeer_sendNDEF', {
-      'id' : _my_id,
-      'records' : args.message.records,
-      'recordsSize' : args.message.recordCount
-    }, function(result) {
-      if (native_.isFailure(result)) {
-        args.errorCallback(result.error);
-      } else {
-        args.successCallback();
-      }
-    });
+    NFCPeer.prototype.setReceiveNDEFListener = function() {
+        xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.NFC_P2P);
 
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
-    }
-  };
+        var args = validator_.validateArgs(arguments, [
+            {
+                name: 'listener',
+                type: types_.FUNCTION
+            }
+        ]);
 
-  NFCPeer.prototype.setReceiveNDEFListener = function() {
-    xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.NFC_P2P);
+        var listener = function(msg) {
+            var data = undefined;
+            if ('onsuccess' === msg.action && _my_id === msg.id) {
+                data = new tizen.NDEFMessage(toRecordsArray(msg.records));
+            }
+            args.listener(data);
+        };
 
-    var args = validator_.validateArgs(arguments, [
-      {
-        name: 'listener',
-        type: types_.FUNCTION
-      }
-    ]);
+        var result = native_.callSync('NFCPeer_setReceiveNDEFListener', { id: _my_id });
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
 
-    var listener = function(msg) {
-      var data = undefined;
-      if ('onsuccess' === msg.action && _my_id === msg.id) {
-        data = new tizen.NDEFMessage(toRecordsArray(msg.records));
-      }
-      args.listener(data);
+        native_.addListener(RECEIVE_NDEF_LISTENER, listener);
+        return;
     };
 
-    var result = native_.callSync('NFCPeer_setReceiveNDEFListener', {'id' : _my_id});
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
-    }
+    NFCPeer.prototype.unsetReceiveNDEFListener = function() {
+        xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.NFC_P2P);
 
-    native_.addListener(RECEIVE_NDEF_LISTENER, listener);
-    return;
-  };
+        native_.removeListener(RECEIVE_NDEF_LISTENER);
 
-  NFCPeer.prototype.unsetReceiveNDEFListener = function() {
-    xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.NFC_P2P);
-
-    native_.removeListener(RECEIVE_NDEF_LISTENER);
-
-    var result = native_.callSync('NFCPeer_unsetReceiveNDEFListener', {'id' : _my_id});
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
-    }
+        var result = native_.callSync('NFCPeer_unsetReceiveNDEFListener', { id: _my_id });
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
 
-    return;
-  };
+        return;
+    };
 
-  Object.defineProperties(this, {
-    isConnected: {
-      enumerable: true,
-      set: function() {},
-      get: isConnectedGetter
-    }
-  });
+    Object.defineProperties(this, {
+        isConnected: {
+            enumerable: true,
+            set: function() {},
+            get: isConnectedGetter
+        }
+    });
 }
 
 var toByteArray = function(array, max_size, nullable) {
-  var resultArray = [];
-  if (type_.isNullOrUndefined(array) && nullable === true)
-    return resultArray;
+    var resultArray = [];
+    if (type_.isNullOrUndefined(array) && nullable === true) return resultArray;
 
-  var convertedArray = converter_.toArray(array);
-  var len = convertedArray.length;
+    var convertedArray = converter_.toArray(array);
+    var len = convertedArray.length;
 
-  if (len > max_size)
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
-  for (var i = 0; i < len; i++) {
-    resultArray.push(converter_.toOctet(convertedArray[i]));
-  }
-  return resultArray;
+    if (len > max_size) throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
+    for (var i = 0; i < len; i++) {
+        resultArray.push(converter_.toOctet(convertedArray[i]));
+    }
+    return resultArray;
 };
 
 var isArrayOfType = function(array, type) {
-  for (var i = 0; i < array.length; i++) {
-    if (!(array[i] instanceof type))
-      return false;
-  }
-  return true;
+    for (var i = 0; i < array.length; i++) {
+        if (!(array[i] instanceof type)) return false;
+    }
+    return true;
 };
 
 //////////////////NDEFMessage /////////////////
@@ -1308,174 +1357,193 @@ var isArrayOfType = function(array, type) {
 //};
 
 tizen.NDEFMessage = function(data) {
-  validator_.isConstructorCall(this, tizen.NDEFMessage);
-  var records_ = [];
-  try {
-    if (arguments.length >= 1) {
-      if (type_.isArray(data)) {
-        if (isArrayOfType(data, tizen.NDEFRecord)) {
-          records_ = data;
-        } else {
-          var raw_data_ = toByteArray(data);
-          var result = native_.callSync(
-              'NDEFMessage_constructor', {
-                                'rawData': raw_data_,
-                                'rawDataSize' : raw_data_.length
-              }
-              );
-
-          if (native_.isFailure(result)) {
-            throw native_.getErrorObject(result);
-          }
-
-          var records_array = result.result.records;
-          for (var i = 0; i < records_array.length; i++) {
-            records_.push(new tizen.NDEFRecord(records_array[i].tnf,
-                                records_array[i].type, records_array[i].payload,
-                                records_array[i].id));
-          }
-        }
-      } else {
-        throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
-      }
-    }
-  } catch (e) {
-    //constructor call failed - empty object should be created
-    records_ = undefined;
-  }
-
-  var recordsSetter = function(data) {
-    if (type_.isArray(data)) {
-      // Do not check type of array elements - allow all arrays
-      //if ( isArrayOfType(data, tizen.NDEFRecord) ) {
-      records_ = data;
-      //}
+    validator_.isConstructorCall(this, tizen.NDEFMessage);
+    var records_ = [];
+    try {
+        if (arguments.length >= 1) {
+            if (type_.isArray(data)) {
+                if (isArrayOfType(data, tizen.NDEFRecord)) {
+                    records_ = data;
+                } else {
+                    var raw_data_ = toByteArray(data);
+                    var result = native_.callSync('NDEFMessage_constructor', {
+                        rawData: raw_data_,
+                        rawDataSize: raw_data_.length
+                    });
+
+                    if (native_.isFailure(result)) {
+                        throw native_.getErrorObject(result);
+                    }
+
+                    var records_array = result.result.records;
+                    for (var i = 0; i < records_array.length; i++) {
+                        records_.push(
+                            new tizen.NDEFRecord(
+                                records_array[i].tnf,
+                                records_array[i].type,
+                                records_array[i].payload,
+                                records_array[i].id
+                            )
+                        );
+                    }
+                }
+            } else {
+                throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
+            }
+        }
+    } catch (e) {
+        //constructor call failed - empty object should be created
+        records_ = undefined;
     }
-  };
-
-  Object.defineProperties(this, {
-    recordCount: { enumerable: true,
-      set: function() {},
-      get: function() { return records_ ? records_.length : undefined;}},
-    records: { enumerable: true,
-      set: recordsSetter,
-      get: function() {return records_;}}
-  });
+
+    var recordsSetter = function(data) {
+        if (type_.isArray(data)) {
+            // Do not check type of array elements - allow all arrays
+            //if ( isArrayOfType(data, tizen.NDEFRecord) ) {
+            records_ = data;
+            //}
+        }
+    };
+
+    Object.defineProperties(this, {
+        recordCount: {
+            enumerable: true,
+            set: function() {},
+            get: function() {
+                return records_ ? records_.length : undefined;
+            }
+        },
+        records: {
+            enumerable: true,
+            set: recordsSetter,
+            get: function() {
+                return records_;
+            }
+        }
+    });
 };
 
 tizen.NDEFMessage.prototype.toByte = function() {
-  var result = native_.callSync(
-      'NDEFMessage_toByte', {
-        'records' : this.records,
-        'recordsSize' : this.recordCount
-      }
-      );
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-
-  return toByteArray(result.result.bytes);
+    var result = native_.callSync('NDEFMessage_toByte', {
+        records: this.records,
+        recordsSize: this.recordCount
+    });
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+
+    return toByteArray(result.result.bytes);
 };
 
 //helper for inherited object constructors /////////////////////////////////////////////
-function InternalData() {
-}
+function InternalData() {}
 
 //////////////////NDEFRecord /////////////////
 tizen.NDEFRecord = function(first, type, payload, id) {
-  var tnf_ = undefined;
-  var typ_ = undefined;
-  var payload_ = undefined;
-  var id_ = undefined;
-  //if it is inherited call, then ignore validation
-  if (!(first instanceof InternalData)) {
-    validator_.isConstructorCall(this, tizen.NDEFRecord);
-    try {
-      if (arguments.length >= 1) {
-        if (type_.isArray(first)) {
-          var raw_data_ = toByteArray(first);
-          var result = native_.callSync(
-              'NDEFRecord_constructor', {
-                'rawData': raw_data_,
-                'rawDataSize' : raw_data_.length
-              }
-              );
-          if (native_.isFailure(result)) {
-            throw native_.getErrorObject(result);
-          }
-          tnf_ = converter_.toLong(result.result.tnf);
-          typ_ = toByteArray(result.result.type, 255);
-          payload_ = toByteArray(result.result.payload, Math.pow(2, 32) - 1);
-          id_ = toByteArray(result.result.id, 255);
-        } else if (arguments.length >= 3) {
-          tnf_ = converter_.toLong(first);
-          typ_ = toByteArray(type, 255);
-          payload_ = toByteArray(payload, Math.pow(2, 32) - 1);
-          id_ = toByteArray(id, 255, true, []);
-        }
-      } else {
-        throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
-      }
-    } catch (e) {
-      //constructor call failed - empty object should be created
-      tnf_ = undefined;
-      typ_ = undefined;
-      payload_ = undefined;
-      id_ = undefined;
+    var tnf_ = undefined;
+    var typ_ = undefined;
+    var payload_ = undefined;
+    var id_ = undefined;
+    //if it is inherited call, then ignore validation
+    if (!(first instanceof InternalData)) {
+        validator_.isConstructorCall(this, tizen.NDEFRecord);
+        try {
+            if (arguments.length >= 1) {
+                if (type_.isArray(first)) {
+                    var raw_data_ = toByteArray(first);
+                    var result = native_.callSync('NDEFRecord_constructor', {
+                        rawData: raw_data_,
+                        rawDataSize: raw_data_.length
+                    });
+                    if (native_.isFailure(result)) {
+                        throw native_.getErrorObject(result);
+                    }
+                    tnf_ = converter_.toLong(result.result.tnf);
+                    typ_ = toByteArray(result.result.type, 255);
+                    payload_ = toByteArray(result.result.payload, Math.pow(2, 32) - 1);
+                    id_ = toByteArray(result.result.id, 255);
+                } else if (arguments.length >= 3) {
+                    tnf_ = converter_.toLong(first);
+                    typ_ = toByteArray(type, 255);
+                    payload_ = toByteArray(payload, Math.pow(2, 32) - 1);
+                    id_ = toByteArray(id, 255, true, []);
+                }
+            } else {
+                throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
+            }
+        } catch (e) {
+            //constructor call failed - empty object should be created
+            tnf_ = undefined;
+            typ_ = undefined;
+            payload_ = undefined;
+            id_ = undefined;
+        }
     }
-  }
-
-  Object.defineProperties(this, {
-    tnf: {value: tnf_, writable: false, enumerable: true},
-    type: {value: typ_, writable: false, enumerable: true},
-    id: {value: id_, writable: false, enumerable: true},
-    payload: {value: payload_, writable: false, enumerable: true}
-  });
+
+    Object.defineProperties(this, {
+        tnf: { value: tnf_, writable: false, enumerable: true },
+        type: { value: typ_, writable: false, enumerable: true },
+        id: { value: id_, writable: false, enumerable: true },
+        payload: { value: payload_, writable: false, enumerable: true }
+    });
 };
 
 //////////////////NDEFRecordText /////////////////
 tizen.NDEFRecordText = function(text, languageCode, encoding, internal_) {
-  var text_ = undefined;
-  var languageCode_ = undefined;
-  var encoding_ = NDEFRecordTextEncoding[encoding] ?
-      NDEFRecordTextEncoding[encoding] : NDEFRecordTextEncoding['UTF8'];
-  try {
-    if (arguments.length >= 2) {
-      text_ = converter_.toString(text);
-      languageCode_ = converter_.toString(languageCode);
-
-      if (!type_.isNullOrUndefined(internal_) && (internal_ instanceof InternalRecordData)) {
-        tizen.NDEFRecord.call(this, internal_.tnf, internal_.type, internal_.payload, internal_.id);
-      } else {
-        var result = native_.callSync(
-            'NDEFRecordText_constructor', {
-              'text': text_,
-              'languageCode' : languageCode_,
-              'encoding' : encoding_
+    var text_ = undefined;
+    var languageCode_ = undefined;
+    var encoding_ = NDEFRecordTextEncoding[encoding]
+        ? NDEFRecordTextEncoding[encoding]
+        : NDEFRecordTextEncoding['UTF8'];
+    try {
+        if (arguments.length >= 2) {
+            text_ = converter_.toString(text);
+            languageCode_ = converter_.toString(languageCode);
+
+            if (
+                !type_.isNullOrUndefined(internal_) &&
+                internal_ instanceof InternalRecordData
+            ) {
+                tizen.NDEFRecord.call(
+                    this,
+                    internal_.tnf,
+                    internal_.type,
+                    internal_.payload,
+                    internal_.id
+                );
+            } else {
+                var result = native_.callSync('NDEFRecordText_constructor', {
+                    text: text_,
+                    languageCode: languageCode_,
+                    encoding: encoding_
+                });
+                if (native_.isFailure(result)) {
+                    throw native_.getErrorObject(result);
+                }
+                tizen.NDEFRecord.call(
+                    this,
+                    result.result.tnf,
+                    result.result.type,
+                    result.result.payload,
+                    result.result.id
+                );
             }
-            );
-        if (native_.isFailure(result)) {
-          throw native_.getErrorObject(result);
+        } else {
+            throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
         }
-        tizen.NDEFRecord.call(this, result.result.tnf, result.result.type,
-            result.result.payload, result.result.id);
-      }
-    } else {
-      throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
+    } catch (e) {
+        //constructor call failed - empty object should be created
+        tizen.NDEFRecord.call(this);
+        text_ = undefined;
+        languageCode_ = undefined;
+        encoding_ = undefined;
     }
-  } catch (e) {
-    //constructor call failed - empty object should be created
-    tizen.NDEFRecord.call(this);
-    text_ = undefined;
-    languageCode_ = undefined;
-    encoding_ = undefined;
-  }
-
-  Object.defineProperties(this, {
-    text: {value: text_, writable: false, enumerable: true},
-    languageCode: {value: languageCode_, writable: false, enumerable: true},
-    encoding: {value: encoding_, writable: false, enumerable: true}
-  });
+
+    Object.defineProperties(this, {
+        text: { value: text_, writable: false, enumerable: true },
+        languageCode: { value: languageCode_, writable: false, enumerable: true },
+        encoding: { value: encoding_, writable: false, enumerable: true }
+    });
 };
 
 tizen.NDEFRecordText.prototype = new tizen.NDEFRecord(new InternalData());
@@ -1484,37 +1552,49 @@ tizen.NDEFRecordText.prototype.constructor = tizen.NDEFRecordText;
 
 //////////////////NDEFRecordURI /////////////////
 tizen.NDEFRecordURI = function(uri, internal_) {
-  var uri_ = undefined;
-  try {
-    if (arguments.length >= 1) {
-      uri_ = converter_.toString(uri);
-
-      if (!type_.isNullOrUndefined(internal_) && (internal_ instanceof InternalRecordData)) {
-        tizen.NDEFRecord.call(this, internal_.tnf, internal_.type, internal_.payload, internal_.id);
-      } else {
-        var result = native_.callSync(
-            'NDEFRecordURI_constructor', {
-              'uri': uri_
+    var uri_ = undefined;
+    try {
+        if (arguments.length >= 1) {
+            uri_ = converter_.toString(uri);
+
+            if (
+                !type_.isNullOrUndefined(internal_) &&
+                internal_ instanceof InternalRecordData
+            ) {
+                tizen.NDEFRecord.call(
+                    this,
+                    internal_.tnf,
+                    internal_.type,
+                    internal_.payload,
+                    internal_.id
+                );
+            } else {
+                var result = native_.callSync('NDEFRecordURI_constructor', {
+                    uri: uri_
+                });
+                if (native_.isFailure(result)) {
+                    throw native_.getErrorObject(result);
+                }
+                tizen.NDEFRecord.call(
+                    this,
+                    result.result.tnf,
+                    result.result.type,
+                    result.result.payload,
+                    result.result.id
+                );
             }
-            );
-        if (native_.isFailure(result)) {
-          throw native_.getErrorObject(result);
+        } else {
+            throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
         }
-        tizen.NDEFRecord.call(this, result.result.tnf, result.result.type,
-            result.result.payload, result.result.id);
-      }
-    } else {
-      throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
+    } catch (e) {
+        //constructor call failed - empty object should be created
+        tizen.NDEFRecord.call(this);
+        uri_ = undefined;
     }
-  } catch (e) {
-    //constructor call failed - empty object should be created
-    tizen.NDEFRecord.call(this);
-    uri_ = undefined;
-  }
-
-  Object.defineProperties(this, {
-    uri: {value: uri_, writable: false, enumerable: true}
-  });
+
+    Object.defineProperties(this, {
+        uri: { value: uri_, writable: false, enumerable: true }
+    });
 };
 
 tizen.NDEFRecordURI.prototype = new tizen.NDEFRecord(new InternalData());
@@ -1523,41 +1603,53 @@ tizen.NDEFRecordURI.prototype.constructor = tizen.NDEFRecordURI;
 
 //////////////////NDEFRecordMedia /////////////////
 tizen.NDEFRecordMedia = function(mimeType, data, internal_) {
-  var mimeType_ = undefined;
-  var data_ = undefined;
-  try {
-    if (arguments.length >= 2) {
-      mimeType_ = converter_.toString(mimeType);
-
-      if (!type_.isNullOrUndefined(internal_) && (internal_ instanceof InternalRecordData)) {
-        tizen.NDEFRecord.call(this, internal_.tnf, internal_.type, internal_.payload, internal_.id);
-      } else {
-        data_ = toByteArray(data, Math.pow(2, 32) - 1);
-        var result = native_.callSync(
-            'NDEFRecordMedia_constructor', {
-              'mimeType': mimeType_,
-              'data': data_,
-              'dataSize': data_.length
+    var mimeType_ = undefined;
+    var data_ = undefined;
+    try {
+        if (arguments.length >= 2) {
+            mimeType_ = converter_.toString(mimeType);
+
+            if (
+                !type_.isNullOrUndefined(internal_) &&
+                internal_ instanceof InternalRecordData
+            ) {
+                tizen.NDEFRecord.call(
+                    this,
+                    internal_.tnf,
+                    internal_.type,
+                    internal_.payload,
+                    internal_.id
+                );
+            } else {
+                data_ = toByteArray(data, Math.pow(2, 32) - 1);
+                var result = native_.callSync('NDEFRecordMedia_constructor', {
+                    mimeType: mimeType_,
+                    data: data_,
+                    dataSize: data_.length
+                });
+                if (native_.isFailure(result)) {
+                    throw native_.getErrorObject(result);
+                }
+                tizen.NDEFRecord.call(
+                    this,
+                    result.result.tnf,
+                    result.result.type,
+                    result.result.payload,
+                    result.result.id
+                );
             }
-            );
-        if (native_.isFailure(result)) {
-          throw native_.getErrorObject(result);
+        } else {
+            throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
         }
-        tizen.NDEFRecord.call(this, result.result.tnf, result.result.type,
-            result.result.payload, result.result.id);
-      }
-    } else {
-      throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
+    } catch (e) {
+        //constructor call failed - empty object should be created
+        tizen.NDEFRecord.call(this);
+        mimeType_ = undefined;
     }
-  } catch (e) {
-    //constructor call failed - empty object should be created
-    tizen.NDEFRecord.call(this);
-    mimeType_ = undefined;
-  }
-
-  Object.defineProperties(this, {
-    mimeType: {value: mimeType_, writable: false, enumerable: true}
-  });
+
+    Object.defineProperties(this, {
+        mimeType: { value: mimeType_, writable: false, enumerable: true }
+    });
 };
 
 tizen.NDEFRecordMedia.prototype = new tizen.NDEFRecord(new InternalData());
index 21bcadf5dc8c79e1c67f567f0ffe784a02d6f9e3..252e7559c7e1fd9fb0bee7eddbe7806ef67140db 100644 (file)
@@ -24,183 +24,178 @@ var types_ = validator_.Types;
 var native_ = new xwalk.utils.NativeManager(extension);
 
 function convertColorToInt(rgbaColor) {
-  var color = rgbaColor.length === 7 ? rgbaColor + 'ff' : rgbaColor;
-  var isLengthOk = color.length === 9;
-  var isHash = color.substr(0, 1) === '#';
-  var hex = '0123456789abcdefABCDEF';
-  var isHex = true;
-  var c = color.replace('#', '');
-
-  for (var i = 0; i < c.length; i++) {
-    if (hex.indexOf(c[i]) < 0) {
-      isHex = false;
+    var color = rgbaColor.length === 7 ? rgbaColor + 'ff' : rgbaColor;
+    var isLengthOk = color.length === 9;
+    var isHash = color.substr(0, 1) === '#';
+    var hex = '0123456789abcdefABCDEF';
+    var isHex = true;
+    var c = color.replace('#', '');
+
+    for (var i = 0; i < c.length; i++) {
+        if (hex.indexOf(c[i]) < 0) {
+            isHex = false;
+        }
     }
-  }
 
-  if (!isLengthOk || !isHash || !isHex) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR, 'invalid value');
-  }
+    if (!isLengthOk || !isHash || !isHex) {
+        throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR, 'invalid value');
+    }
 
-  return parseInt('0x' + c);
+    return parseInt('0x' + c);
 }
 
 var EditManager = function() {
-  this.canEdit = false;
+    this.canEdit = false;
 };
 
 EditManager.prototype.allow = function() {
-  this.canEdit = true;
+    this.canEdit = true;
 };
 
 EditManager.prototype.disallow = function() {
-  this.canEdit = false;
+    this.canEdit = false;
 };
 
 var _edit = new EditManager();
 
 var NotificationType = {
-  STATUS: 'STATUS'
+    STATUS: 'STATUS'
 };
 
 var StatusNotificationType = {
-  SIMPLE: 'SIMPLE',
-  THUMBNAIL: 'THUMBNAIL',
-  ONGOING: 'ONGOING',
-  PROGRESS: 'PROGRESS'
+    SIMPLE: 'SIMPLE',
+    THUMBNAIL: 'THUMBNAIL',
+    ONGOING: 'ONGOING',
+    PROGRESS: 'PROGRESS'
 };
 
 var NotificationProgressType = {
-  PERCENTAGE: 'PERCENTAGE',
-  BYTE: 'BYTE'
+    PERCENTAGE: 'PERCENTAGE',
+    BYTE: 'BYTE'
 };
 
 var LEDCustomFlags = {
-  LED_CUSTOM_DUTY_ON: 'LED_CUSTOM_DUTY_ON',
-  LED_CUSTOM_DEFAULT: 'LED_CUSTOM_DEFAULT'
+    LED_CUSTOM_DUTY_ON: 'LED_CUSTOM_DUTY_ON',
+    LED_CUSTOM_DEFAULT: 'LED_CUSTOM_DEFAULT'
 };
 
 function NotificationManager() {}
 
-
 NotificationManager.prototype.post = function(notification) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'notification', type: types_.PLATFORM_OBJECT, values: StatusNotification}
-  ]);
-
-  var data = {
-    notification: args.notification
-  };
-
-  var result = native_.callSync('NotificationManager_post', data);
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-
-  _edit.allow();
-  var d = native_.getResultObject(result);
-  notification.id = d.id;
-  notification.postedTime = new Date(d.postedTime) || new Date();
-  notification.type = d.type || NotificationType.STATUS;
-  _edit.disallow();
+    var args = validator_.validateArgs(arguments, [
+        { name: 'notification', type: types_.PLATFORM_OBJECT, values: StatusNotification }
+    ]);
+
+    var data = {
+        notification: args.notification
+    };
+
+    var result = native_.callSync('NotificationManager_post', data);
+
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+
+    _edit.allow();
+    var d = native_.getResultObject(result);
+    notification.id = d.id;
+    notification.postedTime = new Date(d.postedTime) || new Date();
+    notification.type = d.type || NotificationType.STATUS;
+    _edit.disallow();
 };
 
 NotificationManager.prototype.update = function(notification) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'notification', type: types_.PLATFORM_OBJECT, values: StatusNotification}
-  ]);
-
-  if (!arguments.length) {
-    throw new WebAPIException(WebAPIException.NOT_FOUND_ERR);
-  }
-  if (!args.notification.id) {
-    throw new WebAPIException(WebAPIException.UNKNOWN_ERR);
-  }
-
-  var data = {
-    notification: args.notification
-  };
-
-  var result = native_.callSync('NotificationManager_update', data);
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    var args = validator_.validateArgs(arguments, [
+        { name: 'notification', type: types_.PLATFORM_OBJECT, values: StatusNotification }
+    ]);
+
+    if (!arguments.length) {
+        throw new WebAPIException(WebAPIException.NOT_FOUND_ERR);
+    }
+    if (!args.notification.id) {
+        throw new WebAPIException(WebAPIException.UNKNOWN_ERR);
+    }
+
+    var data = {
+        notification: args.notification
+    };
+
+    var result = native_.callSync('NotificationManager_update', data);
+
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
 NotificationManager.prototype.remove = function(id) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'id', type: types_.STRING}
-  ]);
+    var args = validator_.validateArgs(arguments, [{ name: 'id', type: types_.STRING }]);
 
-  if (!arguments.length || !(parseInt(arguments[0]) > 0)) {
-    throw new WebAPIException(WebAPIException.NOT_FOUND_ERR);
-  }
+    if (!arguments.length || !(parseInt(arguments[0]) > 0)) {
+        throw new WebAPIException(WebAPIException.NOT_FOUND_ERR);
+    }
 
-  var data = {
-    id: args.id
-  };
+    var data = {
+        id: args.id
+    };
 
-  var result = native_.callSync('NotificationManager_remove', data);
+    var result = native_.callSync('NotificationManager_remove', data);
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
 NotificationManager.prototype.removeAll = function() {
-  var result = native_.callSync('NotificationManager_removeAll', {});
+    var result = native_.callSync('NotificationManager_removeAll', {});
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
 NotificationManager.prototype.get = function(id) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'id', type: types_.STRING}
-  ]);
+    var args = validator_.validateArgs(arguments, [{ name: 'id', type: types_.STRING }]);
 
-  if (!arguments.length) {
-    throw new WebAPIException(WebAPIException.NOT_FOUND_ERR);
-  }
+    if (!arguments.length) {
+        throw new WebAPIException(WebAPIException.NOT_FOUND_ERR);
+    }
 
-  var data = {
-    id: args.id
-  };
+    var data = {
+        id: args.id
+    };
 
-  var result = native_.callSync('NotificationManager_get', data);
+    var result = native_.callSync('NotificationManager_get', data);
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 
-  var n = native_.getResultObject(result);
+    var n = native_.getResultObject(result);
 
-  _edit.allow();
-  var returnObject = new StatusNotification(n.statusType, n.title, n);
-  _edit.disallow();
+    _edit.allow();
+    var returnObject = new StatusNotification(n.statusType, n.title, n);
+    _edit.disallow();
 
-  return returnObject;
+    return returnObject;
 };
 
 NotificationManager.prototype.getAll = function() {
-  var result = native_.callSync('NotificationManager_getAll', {});
+    var result = native_.callSync('NotificationManager_getAll', {});
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 
-  var n = native_.getResultObject(result);
-  var notifications = [];
+    var n = native_.getResultObject(result);
+    var notifications = [];
 
-  _edit.allow();
-  for (var i = 0; i < n.length; i++) {
-    notifications.push(new StatusNotification(n[i].statusType, n[i].title, n[i]));
-  }
-  _edit.disallow();
+    _edit.allow();
+    for (var i = 0; i < n.length; i++) {
+        notifications.push(new StatusNotification(n[i].statusType, n[i].title, n[i]));
+    }
+    _edit.disallow();
 
-  return notifications;
+    return notifications;
 };
 
 /**
@@ -211,386 +206,425 @@ NotificationManager.prototype.getAll = function() {
  * @param color String
  * @param flags Array
  */
-NotificationManager.prototype.playLEDCustomEffect = function(timeOn, timeOff, color, flags) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'timeOn', type: types_.LONG},
-    {name: 'timeOff', type: types_.LONG},
-    {name: 'color', type: types_.STRING},
-    {name: 'flags', type: types_.ARRAY, values: types_.STRING}
-  ]);
-
-  for (var i = 0; i < args.flags.length; ++i) {
-    if (Object.keys(LEDCustomFlags).indexOf(args.flags[i]) < 0) {
-      throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR, 'invalid value');
+NotificationManager.prototype.playLEDCustomEffect = function(
+    timeOn,
+    timeOff,
+    color,
+    flags
+) {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'timeOn', type: types_.LONG },
+        { name: 'timeOff', type: types_.LONG },
+        { name: 'color', type: types_.STRING },
+        { name: 'flags', type: types_.ARRAY, values: types_.STRING }
+    ]);
+
+    for (var i = 0; i < args.flags.length; ++i) {
+        if (Object.keys(LEDCustomFlags).indexOf(args.flags[i]) < 0) {
+            throw new WebAPIException(
+                WebAPIException.INVALID_VALUES_ERR,
+                'invalid value'
+            );
+        }
     }
-  }
 
-  args.color = convertColorToInt(args.color);
-  var result = native_.callSync('NotificationManager_playLEDCustomEffect', args);
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    args.color = convertColorToInt(args.color);
+    var result = native_.callSync('NotificationManager_playLEDCustomEffect', args);
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
 /**
  * Stops the custom effect of the service LED that is located to the front of a device.
  */
 NotificationManager.prototype.stopLEDCustomEffect = function() {
-  var result = native_.callSync('NotificationManager_stopLEDCustomEffect');
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    var result = native_.callSync('NotificationManager_stopLEDCustomEffect');
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
-
 function NotificationInitDict(data) {
-  var _iconPath = null;
-  var _soundPath = null;
-  var _vibration = false;
-  var _appControl = null;
-  var _appId = null;
-  var _progressType = NotificationProgressType.PERCENTAGE;
-  var _progressValue = null;
-  var checkProgressValue = function(v) {
-    if ((_progressType === NotificationProgressType.PERCENTAGE && (v >= 0 && v <= 100))
-            || (_progressType === NotificationProgressType.BYTE &&
-            converter_.toUnsignedLong(v) >= 0)) {
-      return true;
-    }
-    return false;
-  };
-  var _number = null;
-  var _subIconPath = null;
-  var _detailInfo = [];
-  var checkDetailInfo = function(v) {
-    if (type_.isNull(v)) {
-      return true;
-    }
-    if (!type_.isArray(v)) {
-      return false;
-    }
-    for (var i = 0; i < v.length; ++i) {
-      if (!(v[i] instanceof tizen.NotificationDetailInfo)) {
-        return false;
-      }
-    }
-    return true;
-  };
-  var setDetailInfo = function(v) {
-    var _d = [];
-    for (var i = 0; i < v.length; ++i) {
-      _d.push(new tizen.NotificationDetailInfo(v[i].mainText, v[i].subText || null));
-    }
-    return _d;
-  };
-  var _ledColor = null;
-  var isHex = function(v) {
-    return v.length === 7 && v.substr(0, 1) === '#' && (/^([0-9A-Fa-f]{2})+$/).test(v.substr(1, 7));
-  };
-  var _ledOnPeriod = 0;
-  var _ledOffPeriod = 0;
-  var _backgroundImagePath = null;
-  var _thumbnails = [];
-  var checkThumbnails = function(v) {
-    if (type_.isNull(v)) {
-      return true;
-    }
-    if (!type_.isArray(v)) {
-      return false;
-    }
-    for (var i = 0; i < v.length; ++i) {
-      if (!type_.isString(v[i])) {
+    var _iconPath = null;
+    var _soundPath = null;
+    var _vibration = false;
+    var _appControl = null;
+    var _appId = null;
+    var _progressType = NotificationProgressType.PERCENTAGE;
+    var _progressValue = null;
+    var checkProgressValue = function(v) {
+        if (
+            (_progressType === NotificationProgressType.PERCENTAGE &&
+                (v >= 0 && v <= 100)) ||
+            (_progressType === NotificationProgressType.BYTE &&
+                converter_.toUnsignedLong(v) >= 0)
+        ) {
+            return true;
+        }
         return false;
-      }
-    }
-    return true;
-  };
-
-  Object.defineProperties(this, {
-    iconPath: {
-      get: function() {
-        return _iconPath;
-      },
-      set: function(v) {
-        _iconPath = type_.isString(v) || type_.isNull(v) ? v : _iconPath;
-      },
-      enumerable: true
-    },
-    soundPath: {
-      get: function() {
-        return _soundPath;
-      },
-      set: function(v) {
-        _soundPath = type_.isString(v) || type_.isNull(v) ? v : _soundPath;
-      },
-      enumerable: true
-    },
-    vibration: {
-      get: function() {
-        return _vibration;
-      },
-      set: function(v) {
-        _vibration = type_.isBoolean(v) ? v : _vibration;
-      },
-      enumerable: true
-    },
-    appControl: {
-      get: function() {
-        return _appControl;
-      },
-      set: function(v) {
-        _appControl = _edit.canEdit && v
-            ? new tizen.ApplicationControl(v.operation, v.uri || null, v.mime || null, v.category
-                    || null, v.data || [])
-            : v instanceof tizen.ApplicationControl || type_.isNull(v) ? v : _appControl;
-      },
-      enumerable: true
-    },
-    appId: {
-      get: function() {
-        return _appId;
-      },
-      set: function(v) {
-        _appId = type_.isString(v) && !(/\s/.test(v)) || type_.isNull(v) ? v : _appId;
-      },
-      enumerable: true
-    },
-    progressType: {
-      get: function() {
-        return _progressType;
-      },
-      set: function(v) {
-        _progressType = Object.keys(NotificationProgressType).indexOf(v) >= 0 ? v : _progressType;
-      },
-      enumerable: true
-    },
-    progressValue: {
-      get: function() {
-        if (null === _progressValue) {
-          return _progressValue;
+    };
+    var _number = null;
+    var _subIconPath = null;
+    var _detailInfo = [];
+    var checkDetailInfo = function(v) {
+        if (type_.isNull(v)) {
+            return true;
         }
-
-        return (_progressType === NotificationProgressType.PERCENTAGE)
-            ? _progressValue * 100
-            : _progressValue;
-      },
-      set: function(v) {
+        if (!type_.isArray(v)) {
+            return false;
+        }
+        for (var i = 0; i < v.length; ++i) {
+            if (!(v[i] instanceof tizen.NotificationDetailInfo)) {
+                return false;
+            }
+        }
+        return true;
+    };
+    var setDetailInfo = function(v) {
+        var _d = [];
+        for (var i = 0; i < v.length; ++i) {
+            _d.push(
+                new tizen.NotificationDetailInfo(v[i].mainText, v[i].subText || null)
+            );
+        }
+        return _d;
+    };
+    var _ledColor = null;
+    var isHex = function(v) {
+        return (
+            v.length === 7 &&
+            v.substr(0, 1) === '#' &&
+            /^([0-9A-Fa-f]{2})+$/.test(v.substr(1, 7))
+        );
+    };
+    var _ledOnPeriod = 0;
+    var _ledOffPeriod = 0;
+    var _backgroundImagePath = null;
+    var _thumbnails = [];
+    var checkThumbnails = function(v) {
         if (type_.isNull(v)) {
-          _progressValue = v;
-          return;
+            return true;
         }
-        if (checkProgressValue(v)) {
-          _progressValue = (_progressType === NotificationProgressType.PERCENTAGE)
-            ? v / 100
-            : converter_.toUnsignedLong(v);
+        if (!type_.isArray(v)) {
+            return false;
         }
-      },
-      enumerable: true
-    },
-    number: {
-      get: function() {
-        return _number;
-      },
-      set: function(v) {
-        _number = type_.isNumber(v) || type_.isNull(v) ? v : _number;
-      },
-      enumerable: true
-    },
-    subIconPath: {
-      get: function() {
-        return _subIconPath;
-      },
-      set: function(v) {
-        _subIconPath = type_.isString(v) || type_.isNull(v) ? v : _subIconPath;
-      },
-      enumerable: true
-    },
-    detailInfo: {
-      get: function() {
-        return _detailInfo;
-      },
-      set: function(v) {
-        _detailInfo = _edit.canEdit && v ? setDetailInfo(v) : checkDetailInfo(v) ? v : _detailInfo;
-      },
-      enumerable: true
-    },
-    ledColor: {
-      get: function() {
-        return _ledColor;
-      },
-      set: function(v) {
-        _ledColor = (type_.isString(v) && isHex(v)) || type_.isNull(v) ? v : _ledColor;
-      },
-      enumerable: true
-    },
-    ledOnPeriod: {
-      get: function() {
-        return _ledOnPeriod;
-      },
-      set: function(v) {
-        _ledOnPeriod = type_.isNumber(v) ? v : _ledOnPeriod;
-      },
-      enumerable: true
-    },
-    ledOffPeriod: {
-      get: function() {
-        return _ledOffPeriod;
-      },
-      set: function(v) {
-        _ledOffPeriod = type_.isNumber(v) ? v : _ledOffPeriod;
-      },
-      enumerable: true
-    },
-    backgroundImagePath: {
-      get: function() {
-        return _backgroundImagePath;
-      },
-      set: function(v) {
-        _backgroundImagePath = type_.isString(v) || type_.isNull(v) ? v : _backgroundImagePath;
-      },
-      enumerable: true
-    },
-    thumbnails: {
-      get: function() {
-        return _thumbnails;
-      },
-      set: function(v) {
-        _thumbnails = checkThumbnails(v) ? v : _thumbnails;
-      },
-      enumerable: true
-    }
-  });
+        for (var i = 0; i < v.length; ++i) {
+            if (!type_.isString(v[i])) {
+                return false;
+            }
+        }
+        return true;
+    };
+
+    Object.defineProperties(this, {
+        iconPath: {
+            get: function() {
+                return _iconPath;
+            },
+            set: function(v) {
+                _iconPath = type_.isString(v) || type_.isNull(v) ? v : _iconPath;
+            },
+            enumerable: true
+        },
+        soundPath: {
+            get: function() {
+                return _soundPath;
+            },
+            set: function(v) {
+                _soundPath = type_.isString(v) || type_.isNull(v) ? v : _soundPath;
+            },
+            enumerable: true
+        },
+        vibration: {
+            get: function() {
+                return _vibration;
+            },
+            set: function(v) {
+                _vibration = type_.isBoolean(v) ? v : _vibration;
+            },
+            enumerable: true
+        },
+        appControl: {
+            get: function() {
+                return _appControl;
+            },
+            set: function(v) {
+                _appControl =
+                    _edit.canEdit && v
+                        ? new tizen.ApplicationControl(
+                            v.operation,
+                            v.uri || null,
+                            v.mime || null,
+                            v.category || null,
+                            v.data || []
+                        )
+                        : v instanceof tizen.ApplicationControl || type_.isNull(v)
+                            ? v
+                            : _appControl;
+            },
+            enumerable: true
+        },
+        appId: {
+            get: function() {
+                return _appId;
+            },
+            set: function(v) {
+                _appId =
+                    (type_.isString(v) && !/\s/.test(v)) || type_.isNull(v) ? v : _appId;
+            },
+            enumerable: true
+        },
+        progressType: {
+            get: function() {
+                return _progressType;
+            },
+            set: function(v) {
+                _progressType =
+                    Object.keys(NotificationProgressType).indexOf(v) >= 0
+                        ? v
+                        : _progressType;
+            },
+            enumerable: true
+        },
+        progressValue: {
+            get: function() {
+                if (null === _progressValue) {
+                    return _progressValue;
+                }
+
+                return _progressType === NotificationProgressType.PERCENTAGE
+                    ? _progressValue * 100
+                    : _progressValue;
+            },
+            set: function(v) {
+                if (type_.isNull(v)) {
+                    _progressValue = v;
+                    return;
+                }
+                if (checkProgressValue(v)) {
+                    _progressValue =
+                        _progressType === NotificationProgressType.PERCENTAGE
+                            ? v / 100
+                            : converter_.toUnsignedLong(v);
+                }
+            },
+            enumerable: true
+        },
+        number: {
+            get: function() {
+                return _number;
+            },
+            set: function(v) {
+                _number = type_.isNumber(v) || type_.isNull(v) ? v : _number;
+            },
+            enumerable: true
+        },
+        subIconPath: {
+            get: function() {
+                return _subIconPath;
+            },
+            set: function(v) {
+                _subIconPath = type_.isString(v) || type_.isNull(v) ? v : _subIconPath;
+            },
+            enumerable: true
+        },
+        detailInfo: {
+            get: function() {
+                return _detailInfo;
+            },
+            set: function(v) {
+                _detailInfo =
+                    _edit.canEdit && v
+                        ? setDetailInfo(v)
+                        : checkDetailInfo(v)
+                            ? v
+                            : _detailInfo;
+            },
+            enumerable: true
+        },
+        ledColor: {
+            get: function() {
+                return _ledColor;
+            },
+            set: function(v) {
+                _ledColor =
+                    (type_.isString(v) && isHex(v)) || type_.isNull(v) ? v : _ledColor;
+            },
+            enumerable: true
+        },
+        ledOnPeriod: {
+            get: function() {
+                return _ledOnPeriod;
+            },
+            set: function(v) {
+                _ledOnPeriod = type_.isNumber(v) ? v : _ledOnPeriod;
+            },
+            enumerable: true
+        },
+        ledOffPeriod: {
+            get: function() {
+                return _ledOffPeriod;
+            },
+            set: function(v) {
+                _ledOffPeriod = type_.isNumber(v) ? v : _ledOffPeriod;
+            },
+            enumerable: true
+        },
+        backgroundImagePath: {
+            get: function() {
+                return _backgroundImagePath;
+            },
+            set: function(v) {
+                _backgroundImagePath =
+                    type_.isString(v) || type_.isNull(v) ? v : _backgroundImagePath;
+            },
+            enumerable: true
+        },
+        thumbnails: {
+            get: function() {
+                return _thumbnails;
+            },
+            set: function(v) {
+                _thumbnails = checkThumbnails(v) ? v : _thumbnails;
+            },
+            enumerable: true
+        }
+    });
 
-  if (data instanceof _global.Object) {
-    for (var prop in data) {
-      if (this.hasOwnProperty(prop)) {
-        this[prop] = data[prop];
-      }
+    if (data instanceof _global.Object) {
+        for (var prop in data) {
+            if (this.hasOwnProperty(prop)) {
+                this[prop] = data[prop];
+            }
+        }
     }
-  }
 }
 
 function Notification(data) {
-  var _id;
-  var _type = NotificationType.STATUS;
-  var _postedTime;
-  var _title;
-  var _content = null;
-
-  Object.defineProperties(this, {
-    id: {
-      get: function() {
-        return _id;
-      },
-      set: function(v) {
-        _id = _edit.canEdit && v ? v : _id;
-      },
-      enumerable: true
-    },
-    type: {
-      get: function() {
-        return _type;
-      },
-      set: function(v) {
-        _type = _edit.canEdit
-            ? converter_.toEnum(v, Object.keys(NotificationType), false)
-            : _type;
-      },
-      enumerable: true
-    },
-    postedTime: {
-      get: function() {
-        return _postedTime;
-      },
-      set: function(v) {
-        _postedTime = _edit.canEdit && v ? new Date(v) : _postedTime;
-      },
-      enumerable: true
-    },
-    title: {
-      get: function() {
-        return _title;
-      },
-      set: function(v) {
-        _title = converter_.toString(v);
-      },
-      enumerable: true
-    },
-    content: {
-      get: function() {
-        return _content;
-      },
-      set: function(v) {
-        _content = type_.isString(v) || type_.isNull(v) ? v : _content;
-      },
-      enumerable: true
-    }
-  });
+    var _id;
+    var _type = NotificationType.STATUS;
+    var _postedTime;
+    var _title;
+    var _content = null;
+
+    Object.defineProperties(this, {
+        id: {
+            get: function() {
+                return _id;
+            },
+            set: function(v) {
+                _id = _edit.canEdit && v ? v : _id;
+            },
+            enumerable: true
+        },
+        type: {
+            get: function() {
+                return _type;
+            },
+            set: function(v) {
+                _type = _edit.canEdit
+                    ? converter_.toEnum(v, Object.keys(NotificationType), false)
+                    : _type;
+            },
+            enumerable: true
+        },
+        postedTime: {
+            get: function() {
+                return _postedTime;
+            },
+            set: function(v) {
+                _postedTime = _edit.canEdit && v ? new Date(v) : _postedTime;
+            },
+            enumerable: true
+        },
+        title: {
+            get: function() {
+                return _title;
+            },
+            set: function(v) {
+                _title = converter_.toString(v);
+            },
+            enumerable: true
+        },
+        content: {
+            get: function() {
+                return _content;
+            },
+            set: function(v) {
+                _content = type_.isString(v) || type_.isNull(v) ? v : _content;
+            },
+            enumerable: true
+        }
+    });
 
-  if (data instanceof _global.Object) {
-    for (var prop in data) {
-      if (data.hasOwnProperty(prop) && this.hasOwnProperty(prop)) {
-        this[prop] = data[prop];
-      }
+    if (data instanceof _global.Object) {
+        for (var prop in data) {
+            if (data.hasOwnProperty(prop) && this.hasOwnProperty(prop)) {
+                this[prop] = data[prop];
+            }
+        }
     }
-  }
 }
 
 function StatusNotification(statusType, title, notificationInitDict) {
-  validator_.isConstructorCall(this, StatusNotification);
-  type_.isObject(notificationInitDict) ?
-      notificationInitDict.title = title :
-      notificationInitDict = {title: title};
-  NotificationInitDict.call(this, notificationInitDict);
-  Notification.call(this, notificationInitDict);
-
-  var _statusType = (Object.keys(StatusNotificationType)).indexOf(statusType) >= 0
-      ? statusType : StatusNotificationType.SIMPLE;
-
-  Object.defineProperties(this, {
-    statusType: {
-      get: function() {
-        return _statusType;
-      },
-      set: function(v) {
-        _statusType = (Object.keys(StatusNotificationType)).indexOf(v) >= 0 && _edit.canEdit
-            ? v : _statusType;
-      },
-      enumerable: true
-    }
-  });
+    validator_.isConstructorCall(this, StatusNotification);
+    type_.isObject(notificationInitDict)
+        ? (notificationInitDict.title = title)
+        : (notificationInitDict = { title: title });
+    NotificationInitDict.call(this, notificationInitDict);
+    Notification.call(this, notificationInitDict);
+
+    var _statusType =
+        Object.keys(StatusNotificationType).indexOf(statusType) >= 0
+            ? statusType
+            : StatusNotificationType.SIMPLE;
+
+    Object.defineProperties(this, {
+        statusType: {
+            get: function() {
+                return _statusType;
+            },
+            set: function(v) {
+                _statusType =
+                    Object.keys(StatusNotificationType).indexOf(v) >= 0 && _edit.canEdit
+                        ? v
+                        : _statusType;
+            },
+            enumerable: true
+        }
+    });
 }
 
 StatusNotification.prototype = new Notification();
 StatusNotification.prototype.constructor = StatusNotification;
 
-
 function NotificationDetailInfo(mainText, subText) {
-  validator_.isConstructorCall(this, NotificationDetailInfo);
-
-  var _mainText = type_.isString(mainText) ? mainText : '';
-  var _subText = type_.isString(subText) ? subText : null;
-
-  Object.defineProperties(this, {
-    mainText: {
-      get: function() {
-        return _mainText;
-      },
-      set: function(v) {
-        _mainText = type_.isString(v) ? v : _mainText;
-      },
-      enumerable: true
-    },
-    subText: {
-      get: function() {
-        return _subText;
-      },
-      set: function(v) {
-        _subText = type_.isString(v) ? v : _subText;
-      },
-      enumerable: true
-    }
-  });
+    validator_.isConstructorCall(this, NotificationDetailInfo);
+
+    var _mainText = type_.isString(mainText) ? mainText : '';
+    var _subText = type_.isString(subText) ? subText : null;
+
+    Object.defineProperties(this, {
+        mainText: {
+            get: function() {
+                return _mainText;
+            },
+            set: function(v) {
+                _mainText = type_.isString(v) ? v : _mainText;
+            },
+            enumerable: true
+        },
+        subText: {
+            get: function() {
+                return _subText;
+            },
+            set: function(v) {
+                _subText = type_.isString(v) ? v : _subText;
+            },
+            enumerable: true
+        }
+    });
 }
 
 exports = new NotificationManager();
index fcc9fc47c1bd0fd7c6cd5580d35826465e7b0f51..9879bc51a3a9bfe0faf68298e1f19e8803a7ba09 100644 (file)
@@ -18,331 +18,361 @@ var JSON_ = xwalk.JSON;
 var validator_ = xwalk.utils.validator;
 var types_ = validator_.Types;
 
-
 var callbackId = 0;
 var callbacks = {};
 var infoEventListenerId = -1;
 
 function invokeListener(result) {
-  if (result.listener === 'infoEvent') {
-    var listener = callbacks[infoEventListenerId];
-    listener(result);
-  }
+    if (result.listener === 'infoEvent') {
+        var listener = callbacks[infoEventListenerId];
+        listener(result);
+    }
 }
 
 extension.setMessageListener(function(json) {
-  var result = JSON_.parse(json);
-
-  if (result.hasOwnProperty('listener')) {
-    setTimeout(function() {
-      invokeListener(result);
-    }, 0);
-  } else {
-    var callback = callbacks[result['callbackId']];
-    setTimeout(function() {
-      callback(result);
-    }, 0);
-  }
+    var result = JSON_.parse(json);
+
+    if (result.hasOwnProperty('listener')) {
+        setTimeout(function() {
+            invokeListener(result);
+        }, 0);
+    } else {
+        var callback = callbacks[result['callbackId']];
+        setTimeout(function() {
+            callback(result);
+        }, 0);
+    }
 });
 
 function nextCallbackId() {
-  return callbackId++;
+    return callbackId++;
 }
 
 function callNative(cmd, args) {
-  var json = {'cmd': cmd, 'args': args};
-  var argjson = JSON_.stringify(json);
-  var resultString = extension.internal.sendSyncMessage(argjson);
-  var result = JSON_.parse(resultString);
-
-  if (typeof result !== 'object') {
-    throw new WebAPIException(WebAPIException.UNKNOWN_ERR);
-  }
-
-  if (result['status'] == 'success') {
-    if (undefined !== result['result']) {
-      return result['result'];
+    var json = { cmd: cmd, args: args };
+    var argjson = JSON_.stringify(json);
+    var resultString = extension.internal.sendSyncMessage(argjson);
+    var result = JSON_.parse(resultString);
+
+    if (typeof result !== 'object') {
+        throw new WebAPIException(WebAPIException.UNKNOWN_ERR);
     }
-    return true;
-  } else if (result['status'] == 'error') {
-    var err = result['error'];
-    if (err) {
-      throw new WebAPIException(err);
+
+    if (result['status'] == 'success') {
+        if (undefined !== result['result']) {
+            return result['result'];
+        }
+        return true;
+    } else if (result['status'] == 'error') {
+        var err = result['error'];
+        if (err) {
+            throw new WebAPIException(err);
+        }
+        return false;
     }
-    return false;
-  }
 }
 
 function callNativeWithCallback(cmd, args, callback) {
-  if (callback) {
-    var id = nextCallbackId();
-    args['callbackId'] = id;
-    callbacks[id] = callback;
-  }
+    if (callback) {
+        var id = nextCallbackId();
+        args['callbackId'] = id;
+        callbacks[id] = callback;
+    }
 
-  return callNative(cmd, args);
+    return callNative(cmd, args);
 }
 
 function SetReadOnlyProperty(obj, n, v) {
-  if (arguments.length > 2)
-    Object.defineProperty(
-        obj, n, {value: v, writable: false, enumerable: true, configurable: true});
-  else
-    Object.defineProperty(obj, n, {writable: false, enumerable: true, configurable: true});
+    if (arguments.length > 2)
+        Object.defineProperty(obj, n, {
+            value: v,
+            writable: false,
+            enumerable: true,
+            configurable: true
+        });
+    else
+        Object.defineProperty(obj, n, {
+            writable: false,
+            enumerable: true,
+            configurable: true
+        });
 }
 
 function PackageInformation(obj) {
-  var lastModified = obj.lastModified;
-  obj.lastModified = new Date(lastModified);
-
-  SetReadOnlyProperty(this, 'id', obj.id); // read only property
-  SetReadOnlyProperty(this, 'name', obj.name); // read only property
-  SetReadOnlyProperty(this, 'iconPath', obj.iconPath); // read only property
-  SetReadOnlyProperty(this, 'version', obj.version); // read only property
-  SetReadOnlyProperty(this, 'lastModified', obj.lastModified); // read only property
-  SetReadOnlyProperty(this, 'author', obj.author); // read only property
-  SetReadOnlyProperty(this, 'description', obj.description); // read only property
-  SetReadOnlyProperty(this, 'appIds', obj.appIds); // read only property
-
-  var totalSize;
-  var dataSize;
-
-  Object.defineProperty(this, 'totalSize', {
-    enumerable: true,
-    set: function() {},
-    get: function() {
-      if (undefined === totalSize) {
-        try {
-          totalSize = callNative('PackageManager_getTotalSize', {id: this.id});
-        } catch (e) {
-          totalSize = -1;
+    var lastModified = obj.lastModified;
+    obj.lastModified = new Date(lastModified);
+
+    SetReadOnlyProperty(this, 'id', obj.id); // read only property
+    SetReadOnlyProperty(this, 'name', obj.name); // read only property
+    SetReadOnlyProperty(this, 'iconPath', obj.iconPath); // read only property
+    SetReadOnlyProperty(this, 'version', obj.version); // read only property
+    SetReadOnlyProperty(this, 'lastModified', obj.lastModified); // read only property
+    SetReadOnlyProperty(this, 'author', obj.author); // read only property
+    SetReadOnlyProperty(this, 'description', obj.description); // read only property
+    SetReadOnlyProperty(this, 'appIds', obj.appIds); // read only property
+
+    var totalSize;
+    var dataSize;
+
+    Object.defineProperty(this, 'totalSize', {
+        enumerable: true,
+        set: function() {},
+        get: function() {
+            if (undefined === totalSize) {
+                try {
+                    totalSize = callNative('PackageManager_getTotalSize', {
+                        id: this.id
+                    });
+                } catch (e) {
+                    totalSize = -1;
+                }
+            }
+            return totalSize;
         }
-      }
-      return totalSize;
-    }
-  });
-
-  Object.defineProperty(this, 'dataSize', {
-    enumerable: true,
-    set: function() {},
-    get: function() {
-      if (undefined === dataSize) {
-        try {
-          dataSize = callNative('PackageManager_getDataSize', {id: this.id});
-        } catch (e) {
-          dataSize = -1;
+    });
+
+    Object.defineProperty(this, 'dataSize', {
+        enumerable: true,
+        set: function() {},
+        get: function() {
+            if (undefined === dataSize) {
+                try {
+                    dataSize = callNative('PackageManager_getDataSize', { id: this.id });
+                } catch (e) {
+                    dataSize = -1;
+                }
+            }
+            return dataSize;
         }
-      }
-      return dataSize;
-    }
-  });
+    });
 }
 
 function PackageManager() {
-  // constructor of PackageManager
+    // constructor of PackageManager
 }
 
 var PackageManagerInstall = function() {
-  var args = validator_.validateArgs(arguments, [
-    {'name' : 'packageFileURI', 'type' : types_.STRING},
-    {'name' : 'progressCallback',
-      'type' : types_.LISTENER,
-      'values' : ['onprogress', 'oncomplete']},
-    {'name' : 'errorCallback', 'type' : types_.FUNCTION, 'optional' : true, 'nullable' : true}
-  ]);
-
-  var nativeParam = {
-    'packageFileURI': args.packageFileURI
-  };
-
-  try {
-    var syncResult = callNativeWithCallback(
-        'PackageManager_install',
-        nativeParam,
-        function(result) {
-          if (result.status == 'progress') {
-            if (args.progressCallback.onprogress) {
-              args.progressCallback.onprogress(result.id, result.progress);
-            }
-          } else if (result.status == 'complete') {
-            if (args.progressCallback.oncomplete) {
-              args.progressCallback.oncomplete(result.id);
-            }
-          } else if (result.status == 'error') {
-            var err = result['error'];
-            if (err) {
-              args.errorCallback(new WebAPIException(err));
-              return;
+    var args = validator_.validateArgs(arguments, [
+        { name: 'packageFileURI', type: types_.STRING },
+        {
+            name: 'progressCallback',
+            type: types_.LISTENER,
+            values: ['onprogress', 'oncomplete']
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var nativeParam = {
+        packageFileURI: args.packageFileURI
+    };
+
+    try {
+        var syncResult = callNativeWithCallback(
+            'PackageManager_install',
+            nativeParam,
+            function(result) {
+                if (result.status == 'progress') {
+                    if (args.progressCallback.onprogress) {
+                        args.progressCallback.onprogress(result.id, result.progress);
+                    }
+                } else if (result.status == 'complete') {
+                    if (args.progressCallback.oncomplete) {
+                        args.progressCallback.oncomplete(result.id);
+                    }
+                } else if (result.status == 'error') {
+                    var err = result['error'];
+                    if (err) {
+                        args.errorCallback(new WebAPIException(err));
+                        return;
+                    }
+                }
+
+                if (result.status == 'complete' || result.status == 'error') {
+                    delete callbacks[result['callbackId']];
+                }
             }
-          }
-
-          if (result.status == 'complete' || result.status == 'error') {
-            delete callbacks[result['callbackId']];
-          }
-        });
-  } catch (e) {
-    throw e;
-  }
+        );
+    } catch (e) {
+        throw e;
+    }
 };
 
 PackageManager.prototype.install = function(packageFileURI, progressCallback) {
-  PackageManagerInstall.apply(this, arguments);
+    PackageManagerInstall.apply(this, arguments);
 };
 
 var PackageManagerUninstall = function() {
-  var args = validator_.validateArgs(arguments, [
-    {'name' : 'id', 'type' : types_.STRING},
-    {'name' : 'progressCallback',
-      'type' : types_.LISTENER,
-      'values' : ['onprogress', 'oncomplete']},
-    {'name' : 'errorCallback', 'type' : types_.FUNCTION, 'optional' : true, 'nullable' : true}
-  ]);
-
-  var nativeParam = {
-    'id': args.id
-  };
-
-  try {
-    var syncResult = callNativeWithCallback(
-        'PackageManager_uninstall',
-        nativeParam,
-        function(result) {
-          if (result.status == 'progress') {
-            if (args.progressCallback.onprogress) {
-              args.progressCallback.onprogress(result.id, result.progress);
-            }
-          } else if (result.status == 'complete') {
-            if (args.progressCallback.oncomplete) {
-              args.progressCallback.oncomplete(result.id);
-            }
-          } else if (result.status == 'error') {
-            var err = result['error'];
-            if (err) {
-              args.errorCallback(new WebAPIException(err));
-              return;
+    var args = validator_.validateArgs(arguments, [
+        { name: 'id', type: types_.STRING },
+        {
+            name: 'progressCallback',
+            type: types_.LISTENER,
+            values: ['onprogress', 'oncomplete']
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var nativeParam = {
+        id: args.id
+    };
+
+    try {
+        var syncResult = callNativeWithCallback(
+            'PackageManager_uninstall',
+            nativeParam,
+            function(result) {
+                if (result.status == 'progress') {
+                    if (args.progressCallback.onprogress) {
+                        args.progressCallback.onprogress(result.id, result.progress);
+                    }
+                } else if (result.status == 'complete') {
+                    if (args.progressCallback.oncomplete) {
+                        args.progressCallback.oncomplete(result.id);
+                    }
+                } else if (result.status == 'error') {
+                    var err = result['error'];
+                    if (err) {
+                        args.errorCallback(new WebAPIException(err));
+                        return;
+                    }
+                }
+
+                if (result.status == 'complete' || result.status == 'error') {
+                    delete callbacks[result['callbackId']];
+                }
             }
-          }
-
-          if (result.status == 'complete' || result.status == 'error') {
-            delete callbacks[result['callbackId']];
-          }
-        });
-  } catch (e) {
-    throw e;
-  }
+        );
+    } catch (e) {
+        throw e;
+    }
 };
 
-
 PackageManager.prototype.uninstall = function(id, progressCallback) {
-  PackageManagerUninstall.apply(this, arguments);
+    PackageManagerUninstall.apply(this, arguments);
 };
 
 PackageManager.prototype.getPackagesInfo = function(successCallback, errorCallback) {
-  var args = validator_.validateArgs(arguments, [
-    {'name' : 'successCallback', 'type' : types_.FUNCTION},
-    {'name' : 'errorCallback', 'type' : types_.FUNCTION, 'optional' : true, 'nullable' : true}
-  ]);
-
-  var nativeParam = {
-  };
-
-  try {
-    var syncMsg = callNativeWithCallback(
-        'PackageManager_getPackagesInfo',
-        nativeParam,
-        function(result) {
-          if (result.status == 'success') {
-            for (var i = 0; i < result.informationArray.length; i++) {
-              result.informationArray[i] = new PackageInformation(result.informationArray[i]);
-            }
-            args.successCallback(result.informationArray);
-          } else if (result.status == 'error') {
-            var err = result['error'];
-            if (err) {
-              args.errorCallback(new WebAPIException(err));
-              return;
+    var args = validator_.validateArgs(arguments, [
+        { name: 'successCallback', type: types_.FUNCTION },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var nativeParam = {};
+
+    try {
+        var syncMsg = callNativeWithCallback(
+            'PackageManager_getPackagesInfo',
+            nativeParam,
+            function(result) {
+                if (result.status == 'success') {
+                    for (var i = 0; i < result.informationArray.length; i++) {
+                        result.informationArray[i] = new PackageInformation(
+                            result.informationArray[i]
+                        );
+                    }
+                    args.successCallback(result.informationArray);
+                } else if (result.status == 'error') {
+                    var err = result['error'];
+                    if (err) {
+                        args.errorCallback(new WebAPIException(err));
+                        return;
+                    }
+                }
+
+                delete callbacks[result['callbackId']];
             }
-          }
-
-          delete callbacks[result['callbackId']];
-        });
-  } catch (e) {
-    throw e;
-  }
+        );
+    } catch (e) {
+        throw e;
+    }
 };
 
 PackageManager.prototype.getPackageInfo = function() {
-  var args = validator_.validateArgs(arguments, [
-    {'name': 'id', 'type': types_.STRING, 'optional' : true, 'nullable' : true}
-  ]);
-
-  var nativeParam = {
-  };
-
-  if (args['id']) {
-    nativeParam['id'] = args.id;
-  }
-
-  try {
-    var syncResult = callNative('PackageManager_getPackageInfo', nativeParam);
-    return new PackageInformation(syncResult);
-  } catch (e) {
-    throw e;
-  }
+    var args = validator_.validateArgs(arguments, [
+        { name: 'id', type: types_.STRING, optional: true, nullable: true }
+    ]);
+
+    var nativeParam = {};
+
+    if (args['id']) {
+        nativeParam['id'] = args.id;
+    }
+
+    try {
+        var syncResult = callNative('PackageManager_getPackageInfo', nativeParam);
+        return new PackageInformation(syncResult);
+    } catch (e) {
+        throw e;
+    }
 };
 
 PackageManager.prototype.setPackageInfoEventListener = function(eventCallback) {
-  var args = validator_.validateArgs(
-      arguments,
-      [
-        {'name' : 'eventCallback',
-          'type' : types_.LISTENER,
-          'values' : ['oninstalled', 'onupdated', 'onuninstalled']}
-      ]);
-
-  var nativeParam = {
-  };
-
-  try {
-    var syncResult = callNativeWithCallback(
-        'PackageManager_setPackageInfoEventListener',
-        nativeParam,
-        function(result) {
-          if (result.status == 'installed') {
-            args.eventCallback.oninstalled(new PackageInformation(result.info));
-          } else if (result.status == 'updated') {
-            args.eventCallback.onupdated(new PackageInformation(result.info));
-          } else if (result.status == 'uninstalled') {
-            args.eventCallback.onuninstalled(result.id);
-          }
-        });
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'eventCallback',
+            type: types_.LISTENER,
+            values: ['oninstalled', 'onupdated', 'onuninstalled']
+        }
+    ]);
+
+    var nativeParam = {};
+
+    try {
+        var syncResult = callNativeWithCallback(
+            'PackageManager_setPackageInfoEventListener',
+            nativeParam,
+            function(result) {
+                if (result.status == 'installed') {
+                    args.eventCallback.oninstalled(new PackageInformation(result.info));
+                } else if (result.status == 'updated') {
+                    args.eventCallback.onupdated(new PackageInformation(result.info));
+                } else if (result.status == 'uninstalled') {
+                    args.eventCallback.onuninstalled(result.id);
+                }
+            }
+        );
 
-    if (infoEventListenerId === -1) {
-      infoEventListenerId = nativeParam.callbackId;
-    } else {
-      delete callbacks[infoEventListenerId];
-      infoEventListenerId = nativeParam.callbackId;
+        if (infoEventListenerId === -1) {
+            infoEventListenerId = nativeParam.callbackId;
+        } else {
+            delete callbacks[infoEventListenerId];
+            infoEventListenerId = nativeParam.callbackId;
+        }
+    } catch (e) {
+        throw e;
     }
-
-  } catch (e) {
-    throw e;
-  }
 };
 
 PackageManager.prototype.unsetPackageInfoEventListener = function() {
-  var nativeParam = {
-  };
-
-  try {
-    var syncResult = callNative('PackageManager_unsetPackageInfoEventListener', nativeParam);
-    if (syncResult === true) {
-      delete callbacks[infoEventListenerId];
-      infoEventListenerId = -1;
+    var nativeParam = {};
+
+    try {
+        var syncResult = callNative(
+            'PackageManager_unsetPackageInfoEventListener',
+            nativeParam
+        );
+        if (syncResult === true) {
+            delete callbacks[infoEventListenerId];
+            infoEventListenerId = -1;
+        }
+    } catch (e) {
+        throw e;
     }
-  } catch (e) {
-    throw e;
-  }
 };
 
 exports = new PackageManager();
-
index 41ca4abcf4bbcf9868bebba8e41d9793630bbed5..c7874570c4c845c0658bba9a6f397540489e603a 100644 (file)
@@ -20,39 +20,40 @@ var types = validator.Types;
 var T = xwalk.utils.type;
 
 var LatencyMode = {
-  LOW: 'LOW',
-  MID: 'MID',
-  HIGH: 'HIGH',
+    LOW: 'LOW',
+    MID: 'MID',
+    HIGH: 'HIGH'
 };
 
-function PlayerUtil() {
-}
+function PlayerUtil() {}
 
 PlayerUtil.prototype.getLatencyMode = function() {
-  var result = native.callSync('PlayerUtil_getLatencyMode', {});
+    var result = native.callSync('PlayerUtil_getLatencyMode', {});
 
-  if (native.isSuccess(result)) {
-    return native.getResultObject(result);
-  } else {
-    throw native.getErrorObject(result);
-  }
+    if (native.isSuccess(result)) {
+        return native.getResultObject(result);
+    } else {
+        throw native.getErrorObject(result);
+    }
 };
 
 PlayerUtil.prototype.setLatencyMode = function() {
-  var args = validator.validateMethod(arguments, [{
-    name: 'latencyMode',
-    type: types.ENUM,
-    values: T.getValues(LatencyMode)
-  }]);
-
-  var callArgs = {};
-  callArgs.latencyMode = args.latencyMode;
-
-  var result = native.callSync('PlayerUtil_setLatencyMode', callArgs);
-
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'latencyMode',
+            type: types.ENUM,
+            values: T.getValues(LatencyMode)
+        }
+    ]);
+
+    var callArgs = {};
+    callArgs.latencyMode = args.latencyMode;
+
+    var result = native.callSync('PlayerUtil_setLatencyMode', callArgs);
+
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    }
 };
 
 // Exports
index 769ccf1b2a40fb190f76148bc9295e85a0913cfc..2c2a185839b9d4b0f47e4bd7cdf818c53f1b6afa 100755 (executable)
@@ -22,34 +22,34 @@ var privUtils_ = xwalk.utils;
 var T_ = xwalk.utils.type;
 
 function ListenerManager(native, listenerName) {
-  this.listener;
-  this.native = native;
-  this.listenerName = listenerName;
+    this.listener;
+    this.native = native;
+    this.listenerName = listenerName;
 }
 
 ListenerManager.prototype.onListenerCalled = function(msg) {
-  this.listener(msg.previousState, msg.changedState);
+    this.listener(msg.previousState, msg.changedState);
 };
 
 ListenerManager.prototype.addListener = function(callback) {
-  this.native.addListener(this.listenerName, this.onListenerCalled.bind(this));
-  this.listener = callback;
+    this.native.addListener(this.listenerName, this.onListenerCalled.bind(this));
+    this.listener = callback;
 };
 
 ListenerManager.prototype.removeListener = function() {
-  this.native.removeListener(this.listenerName);
-  delete this.listener;
+    this.native.removeListener(this.listenerName);
+    delete this.listener;
 };
 
 ListenerManager.prototype.isListenerSet = function() {
-  return this.native.isListenerSet(this.listenerName);
+    return this.native.isListenerSet(this.listenerName);
 };
 
 var screenStateChangeListener = new ListenerManager(native_, 'ScreenStateChangeListener');
 
 var PowerResource = {
-    'SCREEN': 'SCREEN',
-    'CPU': 'CPU'
+    SCREEN: 'SCREEN',
+    CPU: 'CPU'
 };
 
 /**
@@ -57,10 +57,10 @@ var PowerResource = {
  * @enum {string}
  */
 var PowerScreenState = {
-    'SCREEN_OFF': 'SCREEN_OFF',
-    'SCREEN_DIM': 'SCREEN_DIM',
-    'SCREEN_NORMAL': 'SCREEN_NORMAL',
-    'SCREEN_BRIGHT': 'SCREEN_BRIGHT'
+    SCREEN_OFF: 'SCREEN_OFF',
+    SCREEN_DIM: 'SCREEN_DIM',
+    SCREEN_NORMAL: 'SCREEN_NORMAL',
+    SCREEN_BRIGHT: 'SCREEN_BRIGHT'
 };
 
 /**
@@ -68,7 +68,7 @@ var PowerScreenState = {
  * @enum {string}
  */
 var PowerCpuState = {
-    'CPU_AWAKE': 'CPU_AWAKE'
+    CPU_AWAKE: 'CPU_AWAKE'
 };
 
 var PowerState = Object.assign({}, PowerScreenState, PowerCpuState);
@@ -89,35 +89,45 @@ function PowerManager() {
  *     is desired to be.
  */
 PowerManager.prototype.request = function() {
-  var args = validator_.validateMethod(arguments, [{
-    name: 'resource',
-    type: types_.ENUM,
-    values: T_.getValues(PowerResource)
-  }, {
-    name: 'state',
-    type: types_.ENUM,
-    values: T_.getValues(PowerState)
-  }]);
-
-  if (args.state === PowerScreenState.SCREEN_BRIGHT) {
-    privUtils_.warn('DEPRECATION WARNING: SCREEN_BRIGHT is deprecated and will be removed from next release.');
-  }
-
-  if ((args.resource === PowerResource.SCREEN && args.state === PowerCpuState.CPU_AWAKE) ||
-      (args.resource === PowerResource.CPU && args.state !== PowerCpuState.CPU_AWAKE) ||
-      (args.resource === PowerResource.SCREEN && args.state === PowerScreenState.SCREEN_OFF)) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
-  }
-
-  var nativeParam = {
-    resource: args.resource,
-    state: args.state
-  };
-
-  var ret = native_.callSync('PowerManager_request', nativeParam);
-  if (native_.isFailure(ret)) {
-    throw native_.getErrorObject(ret);
-  }
+    var args = validator_.validateMethod(arguments, [
+        {
+            name: 'resource',
+            type: types_.ENUM,
+            values: T_.getValues(PowerResource)
+        },
+        {
+            name: 'state',
+            type: types_.ENUM,
+            values: T_.getValues(PowerState)
+        }
+    ]);
+
+    if (args.state === PowerScreenState.SCREEN_BRIGHT) {
+        privUtils_.warn(
+            'DEPRECATION WARNING: SCREEN_BRIGHT is deprecated ' +
+                'and will be removed from next release.'
+        );
+    }
+
+    if (
+        (args.resource === PowerResource.SCREEN &&
+            args.state === PowerCpuState.CPU_AWAKE) ||
+        (args.resource === PowerResource.CPU && args.state !== PowerCpuState.CPU_AWAKE) ||
+        (args.resource === PowerResource.SCREEN &&
+            args.state === PowerScreenState.SCREEN_OFF)
+    ) {
+        throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
+    }
+
+    var nativeParam = {
+        resource: args.resource,
+        state: args.state
+    };
+
+    var ret = native_.callSync('PowerManager_request', nativeParam);
+    if (native_.isFailure(ret)) {
+        throw native_.getErrorObject(ret);
+    }
 };
 
 /**
@@ -126,20 +136,22 @@ PowerManager.prototype.request = function() {
  *     be removed.
  */
 PowerManager.prototype.release = function() {
-  var args = validator_.validateMethod(arguments, [{
-    name: 'resource',
-    type: types_.ENUM,
-    values: T_.getValues(PowerResource)
-  }]);
-
-  var nativeParam = {
-    resource: args.resource
-  };
-
-  var ret = native_.callSync('PowerManager_release', nativeParam);
-  if (native_.isFailure(ret)) {
-    throw native_.getErrorObject(ret);
-  }
+    var args = validator_.validateMethod(arguments, [
+        {
+            name: 'resource',
+            type: types_.ENUM,
+            values: T_.getValues(PowerResource)
+        }
+    ]);
+
+    var nativeParam = {
+        resource: args.resource
+    };
+
+    var ret = native_.callSync('PowerManager_release', nativeParam);
+    if (native_.isFailure(ret)) {
+        throw native_.getErrorObject(ret);
+    }
 };
 
 /**
@@ -147,30 +159,30 @@ PowerManager.prototype.release = function() {
  * @param {!function} listener The screen state change callback.
  */
 PowerManager.prototype.setScreenStateChangeListener = function() {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'listener', type: types_.FUNCTION}
-  ]);
-
-  if (!screenStateChangeListener.isListenerSet()) {
-    var ret = native_.callSync('PowerManager_setScreenStateChangeListener', {});
-    if (native_.isFailure(ret)) {
-      throw native_.getErrorObject(ret);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'listener', type: types_.FUNCTION }
+    ]);
+
+    if (!screenStateChangeListener.isListenerSet()) {
+        var ret = native_.callSync('PowerManager_setScreenStateChangeListener', {});
+        if (native_.isFailure(ret)) {
+            throw native_.getErrorObject(ret);
+        }
     }
-  }
-  screenStateChangeListener.addListener(args.listener);
+    screenStateChangeListener.addListener(args.listener);
 };
 
 /**
  * Unsets the screen state change callback and stop monitoring it.
  */
 PowerManager.prototype.unsetScreenStateChangeListener = function() {
-  if (screenStateChangeListener.isListenerSet()) {
-    var ret = native_.callSync('PowerManager_unsetScreenStateChangeListener', {});
-    if (native_.isFailure(ret)) {
-      throw native_.getErrorObject(ret);
+    if (screenStateChangeListener.isListenerSet()) {
+        var ret = native_.callSync('PowerManager_unsetScreenStateChangeListener', {});
+        if (native_.isFailure(ret)) {
+            throw native_.getErrorObject(ret);
+        }
     }
-  }
-  screenStateChangeListener.removeListener();
+    screenStateChangeListener.removeListener();
 };
 
 /**
@@ -178,79 +190,86 @@ PowerManager.prototype.unsetScreenStateChangeListener = function() {
  * @return {number} Current screen brightness value.
  */
 PowerManager.prototype.getScreenBrightness = function() {
-  var ret = native_.callSync('PowerManager_getScreenBrightness', {});
-  if (native_.isFailure(ret)) {
-    throw native_.getErrorObject(ret);
-  } else {
-    return native_.getResultObject(ret);
-  }
-}
+    var ret = native_.callSync('PowerManager_getScreenBrightness', {});
+    if (native_.isFailure(ret)) {
+        throw native_.getErrorObject(ret);
+    } else {
+        return native_.getResultObject(ret);
+    }
+};
 
 /**
  * Sets the screen brightness level for an application, from 0 to 1.
  * @param {!number} brightness The screen brightness value to set.
  */
 PowerManager.prototype.setScreenBrightness = function() {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'brightness', type: types_.DOUBLE}
-  ]);
-
-  if (args.brightness < 0 || args.brightness > 1) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
-  }
-
-  var ret = native_.callSync('PowerManager_setScreenBrightness',
-                            {brightness: args.brightness});
-  if (native_.isFailure(ret)) {
-    throw native_.getErrorObject(ret);
-  }
-}
+    var args = validator_.validateArgs(arguments, [
+        { name: 'brightness', type: types_.DOUBLE }
+    ]);
+
+    if (args.brightness < 0 || args.brightness > 1) {
+        throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
+    }
+
+    var ret = native_.callSync('PowerManager_setScreenBrightness', {
+        brightness: args.brightness
+    });
+    if (native_.isFailure(ret)) {
+        throw native_.getErrorObject(ret);
+    }
+};
 
 /**
  * Returns true if the screen is on.
  * @return {boolean} true if screen is on.
  */
 PowerManager.prototype.isScreenOn = function() {
-  var ret = native_.callSync('PowerManager_isScreenOn', {});
-  if (native_.isFailure(ret)) {
-    throw native_.getErrorObject(ret);
-  } else {
-    return native_.getResultObject(ret);
-  }
-}
+    var ret = native_.callSync('PowerManager_isScreenOn', {});
+    if (native_.isFailure(ret)) {
+        throw native_.getErrorObject(ret);
+    } else {
+        return native_.getResultObject(ret);
+    }
+};
 
 /**
  * Restores the screen brightness to the system default setting value.
  */
 PowerManager.prototype.restoreScreenBrightness = function() {
-  var ret = native_.callSync('PowerManager_restoreScreenBrightness', {});
-  if (native_.isFailure(ret)) {
-    throw native_.getErrorObject(ret);
-  }
-}
+    var ret = native_.callSync('PowerManager_restoreScreenBrightness', {});
+    if (native_.isFailure(ret)) {
+        throw native_.getErrorObject(ret);
+    }
+};
 
 /**
  * Turns the screen on.
  */
 PowerManager.prototype.turnScreenOn = function() {
-  privUtils_.warn('DEPRECATION WARNING: turnScreenOn() is deprecated and will be removed from next release. Use request() instead.');
+    privUtils_.warn(
+        'DEPRECATION WARNING: turnScreenOn() is deprecated ' +
+            'and will be removed from next release. Use request() instead.'
+    );
 
-  var ret = native_.callSync('PowerManager_turnScreenOn', {});
-  if (native_.isFailure(ret)) {
-    throw native_.getErrorObject(ret);
-  }
-}
+    var ret = native_.callSync('PowerManager_turnScreenOn', {});
+    if (native_.isFailure(ret)) {
+        throw native_.getErrorObject(ret);
+    }
+};
 
 /**
  * Turns the screen off.
  */
 PowerManager.prototype.turnScreenOff = function() {
-  privUtils_.warn('DEPRECATION WARNING: turnScreenOff() is deprecated and will be removed from next release. Use release() instead.');
+    privUtils_.warn(
+        'DEPRECATION WARNING: turnScreenOff() is deprecated ' +
+            'and will be removed from next release. Use release() instead.'
+    );
 
-  var ret = native_.callSync('PowerManager_turnScreenOff', {});
-  if (native_.isFailure(ret)) {
-    throw native_.getErrorObject(ret);
-  }
-}
+    var ret = native_.callSync('PowerManager_turnScreenOff', {});
+    if (native_.isFailure(ret)) {
+        throw native_.getErrorObject(ret);
+    }
+};
 
-exports = new PowerManager();
\ No newline at end of file
+exports = new PowerManager();
index 8a0ed15b2628d3ade618c2a1d1863e1ba7d72174..9f9d8211c3fff01c259798d157c25f52b054f5fc 100644 (file)
  *    limitations under the License.
  */
 
-
 var validator_ = xwalk.utils.validator;
 var type_ = xwalk.utils.type;
 var types_ = validator_.Types;
 var native_ = new xwalk.utils.NativeManager(extension);
 
 function PreferenceData(data) {
-  Object.defineProperties(this, {
-    key: {
-      value: data.key,
-      writable: false,
-      enumerable: true
-    },
-    value: {
-      value: data.value,
-      writable: false,
-      enumerable: true
-    },
-  });
+    Object.defineProperties(this, {
+        key: {
+            value: data.key,
+            writable: false,
+            enumerable: true
+        },
+        value: {
+            value: data.value,
+            writable: false,
+            enumerable: true
+        }
+    });
 }
 
-function PreferenceManager() {
-}
+function PreferenceManager() {}
 
 PreferenceManager.prototype.getAll = function() {
-  var args = validator_.validateArgs(arguments, [
-    { name: 'successCallback', type: types_.FUNCTION },
-    { name: 'errorCallback', type: types_.FUNCTION, optional : true, nullable : true }
-  ]);
-
-  var callback = function(result) {
+    var args = validator_.validateArgs(arguments, [
+        { name: 'successCallback', type: types_.FUNCTION },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
+    ]);
+
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+        } else {
+            var array = [];
+            var objects = native_.getResultObject(result);
+
+            objects.forEach(function(d) {
+                array.push(new PreferenceData(d));
+            });
+
+            args.successCallback(array);
+        }
+    };
+
+    var result = native_.call('PreferenceManager_getAll', {}, callback);
     if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-    } else {
-      var array = [];
-      var objects = native_.getResultObject(result);
-
-      objects.forEach(function (d) {
-        array.push(new PreferenceData(d));
-      });
-
-      args.successCallback(array);
+        throw native_.getErrorObject(result);
     }
-  };
-
-  var result = native_.call('PreferenceManager_getAll', {}, callback);
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
 };
 
 PreferenceManager.prototype.setValue = function() {
-  var args = validator_.validateArgs(arguments, [
-    { name: 'key', type: types_.STRING },
-    { name: 'value', type: types_.SIMPLE_TYPE }
-  ]);
-
-  var result = native_.callSync('PreferenceManager_setValue',
-                                {
-                                   key: args.key,
-                                   value: args.value
-                                }
-  );
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    var args = validator_.validateArgs(arguments, [
+        { name: 'key', type: types_.STRING },
+        { name: 'value', type: types_.SIMPLE_TYPE }
+    ]);
+
+    var result = native_.callSync('PreferenceManager_setValue', {
+        key: args.key,
+        value: args.value
+    });
+
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
 PreferenceManager.prototype.getValue = function() {
-  var args = validator_.validateArgs(arguments, [
-    { name: 'key', type: types_.STRING }
-  ]);
+    var args = validator_.validateArgs(arguments, [{ name: 'key', type: types_.STRING }]);
 
-  var result = native_.callSync('PreferenceManager_getValue', { key: args.key });
+    var result = native_.callSync('PreferenceManager_getValue', { key: args.key });
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  } else {
-    return native_.getResultObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    } else {
+        return native_.getResultObject(result);
+    }
 };
 
 PreferenceManager.prototype.remove = function() {
-  var args = validator_.validateArgs(arguments, [
-    { name: 'key', type: types_.STRING }
-  ]);
+    var args = validator_.validateArgs(arguments, [{ name: 'key', type: types_.STRING }]);
 
-  var result = native_.callSync('PreferenceManager_remove', { key: args.key });
+    var result = native_.callSync('PreferenceManager_remove', { key: args.key });
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
 PreferenceManager.prototype.removeAll = function() {
-  var result = native_.callSync('PreferenceManager_removeAll', {});
+    var result = native_.callSync('PreferenceManager_removeAll', {});
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
 PreferenceManager.prototype.exists = function() {
-  var args = validator_.validateArgs(arguments, [
-    { name: 'key', type: types_.STRING }
-  ]);
+    var args = validator_.validateArgs(arguments, [{ name: 'key', type: types_.STRING }]);
 
-  var result = native_.callSync('PreferenceManager_exists', { key: args.key });
+    var result = native_.callSync('PreferenceManager_exists', { key: args.key });
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  } else {
-    return native_.getResultObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    } else {
+        return native_.getResultObject(result);
+    }
 };
 
 var PREFERENCE_CHANGED_LISTENER = 'PREFERENCE_CHANGED';
 
 function PreferenceChangedListener() {
-  var that = this;
-  this.appListener = function (result) {
-    var data = native_.getResultObject(result);
-    var key = data.key;
-
-    if (that.instances[key]) {
-      var listener = that.instances[key];
-      if (type_.isFunction(listener)) {
-        listener(new PreferenceData(data));
-      }
-    }
-  };
+    var that = this;
+    this.appListener = function(result) {
+        var data = native_.getResultObject(result);
+        var key = data.key;
+
+        if (that.instances[key]) {
+            var listener = that.instances[key];
+            if (type_.isFunction(listener)) {
+                listener(new PreferenceData(data));
+            }
+        }
+    };
 }
 
 PreferenceChangedListener.prototype.instances = {};
 
 PreferenceChangedListener.prototype.addListener = function(key, listener) {
-  if (type_.isEmptyObject(this.instances)) {
-    native_.addListener(PREFERENCE_CHANGED_LISTENER, this.appListener);
-  }
+    if (type_.isEmptyObject(this.instances)) {
+        native_.addListener(PREFERENCE_CHANGED_LISTENER, this.appListener);
+    }
 
-  this.instances[key] = listener;
+    this.instances[key] = listener;
 };
 
 PreferenceChangedListener.prototype.removeListener = function(key) {
-  if (this.instances[key]) {
-    delete this.instances[key];
-    if (type_.isEmptyObject(this.instances)) {
-      native_.removeListener(PREFERENCE_CHANGED_LISTENER);
+    if (this.instances[key]) {
+        delete this.instances[key];
+        if (type_.isEmptyObject(this.instances)) {
+            native_.removeListener(PREFERENCE_CHANGED_LISTENER);
+        }
     }
-  }
 };
 
 var _preferenceChangedListener = new PreferenceChangedListener();
 
 PreferenceManager.prototype.setChangeListener = function() {
-  var args = validator_.validateArgs(arguments, [
-    { name: 'key', type: types_.STRING },
-    { name: 'listener', type: types_.FUNCTION }
-  ]);
-
-  var result = native_.callSync('PreferenceManager_setChangeListener', { key: args.key });
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    var args = validator_.validateArgs(arguments, [
+        { name: 'key', type: types_.STRING },
+        { name: 'listener', type: types_.FUNCTION }
+    ]);
+
+    var result = native_.callSync('PreferenceManager_setChangeListener', {
+        key: args.key
+    });
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 
-  _preferenceChangedListener.addListener(args.key, args.listener);
-}
+    _preferenceChangedListener.addListener(args.key, args.listener);
+};
 
 PreferenceManager.prototype.unsetChangeListener = function() {
-  var args = validator_.validateArgs(arguments, [
-    { name: 'key', type: types_.STRING }
-  ]);
+    var args = validator_.validateArgs(arguments, [{ name: 'key', type: types_.STRING }]);
 
-  var result = native_.callSync('PreferenceManager_unsetChangeListener', { key: args.key });
+    var result = native_.callSync('PreferenceManager_unsetChangeListener', {
+        key: args.key
+    });
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 
-  _preferenceChangedListener.removeListener(args.key);
+    _preferenceChangedListener.removeListener(args.key);
 };
 
 // Exports
 exports = new PreferenceManager();
-
index 78d4113e9d2a87ed6e7147f5af54fe232506f70b..4e4e3603beba194e2a185d7f2f2e7277ab2ab41a 100644 (file)
@@ -30,264 +30,273 @@ var listener2_4 = undefined;
 var listener3_0 = undefined;
 
 var listenerFunction = function(msg) {
-  // try to call each listener
-  listener2_4 && listener2_4(msg);
-  listener3_0 && listener3_0(msg);
-}
+    // try to call each listener
+    listener2_4 && listener2_4(msg);
+    listener3_0 && listener3_0(msg);
+};
 
 function PushMessage(dict) {
-  for (var key in dict) {
-    if (dict.hasOwnProperty(key)) {
-      Object.defineProperty(this, key, {
-        value: key === 'date' ? new Date(dict[key] * 1000) : dict[key],
-        enumerable: true
-      });
+    for (var key in dict) {
+        if (dict.hasOwnProperty(key)) {
+            Object.defineProperty(this, key, {
+                value: key === 'date' ? new Date(dict[key] * 1000) : dict[key],
+                enumerable: true
+            });
+        }
     }
-  }
-  Object.freeze(this);
+    Object.freeze(this);
 }
 
-
-
 /**
  * @constructor
  */
 function PushManager() {
-  if (!(this instanceof PushManager)) {
-    throw new TypeError;
-  }
+    if (!(this instanceof PushManager)) {
+        throw new TypeError();
+    }
 }
 
 PushManager.prototype.registerService = function() {
-  privUtils_.warn('DEPRECATION WARNING: registerService() is deprecated and will be removed from next release. Use register() instead.');
-  var data = validator.validateArgs(arguments, [
-    {
-      name: 'appControl',
-      type: validator.Types.PLATFORM_OBJECT,
-      values: tizen.ApplicationControl
-    },
-    {
-      name: 'successCallback',
-      type: validator.Types.FUNCTION
-    },
-    {
-      name: 'errorCallback',
-      type: validator.Types.FUNCTION,
-      optional: true,
-      nullable: true
-    }
-  ]);
+    privUtils_.warn(
+        'DEPRECATION WARNING: registerService() is deprecated ' +
+            'and will be removed from next release. Use register() instead.'
+    );
+    var data = validator.validateArgs(arguments, [
+        {
+            name: 'appControl',
+            type: validator.Types.PLATFORM_OBJECT,
+            values: tizen.ApplicationControl
+        },
+        {
+            name: 'successCallback',
+            type: validator.Types.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: validator.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
 
-  var ret = native.call('Push_registerService', {}, function(msg) {
-    if (msg.error) {
-      if (validatorType.isFunction(data.errorCallback)) {
-        data.errorCallback(native.getErrorObject(msg));
-      }
-    } else {
-      data.successCallback(msg.registrationId);
+    var ret = native.call('Push_registerService', {}, function(msg) {
+        if (msg.error) {
+            if (validatorType.isFunction(data.errorCallback)) {
+                data.errorCallback(native.getErrorObject(msg));
+            }
+        } else {
+            data.successCallback(msg.registrationId);
+        }
+    });
+    if (native.isFailure(ret)) {
+        throw native.getErrorObject(ret);
     }
-  });
-  if (native.isFailure(ret)) {
-    throw native.getErrorObject(ret);
-  }
 };
 
 PushManager.prototype.register = function() {
-  var data = validator.validateArgs(arguments, [
-    {
-      name: 'successCallback',
-      type: validator.Types.FUNCTION
-    },
-    {
-      name: 'errorCallback',
-      type: validator.Types.FUNCTION,
-      optional: true,
-      nullable: true
-    }
-  ]);
+    var data = validator.validateArgs(arguments, [
+        {
+            name: 'successCallback',
+            type: validator.Types.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: validator.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
 
-  var ret = native.call('Push_registerApplication', {}, function(msg) {
-    if (msg.error) {
-      if (validatorType.isFunction(data.errorCallback)) {
-        data.errorCallback(native.getErrorObject(msg));
-      }
-    } else {
-      data.successCallback(msg.registrationId);
+    var ret = native.call('Push_registerApplication', {}, function(msg) {
+        if (msg.error) {
+            if (validatorType.isFunction(data.errorCallback)) {
+                data.errorCallback(native.getErrorObject(msg));
+            }
+        } else {
+            data.successCallback(msg.registrationId);
+        }
+    });
+    if (native.isFailure(ret)) {
+        throw native.getErrorObject(ret);
     }
-  });
-  if (native.isFailure(ret)) {
-    throw native.getErrorObject(ret);
-  }
 };
 
 PushManager.prototype.unregisterService = function() {
-  privUtils_.warn('DEPRECATION WARNING: unregisterService() is deprecated and will be removed from next release. Use unregister() instead.');
-  var data = validator.validateArgs(arguments, [
-    {
-      name: 'successCallback',
-      type: validator.Types.FUNCTION,
-      optional: true,
-      nullable: true
-    },
-    {
-      name: 'errorCallback',
-      type: validator.Types.FUNCTION,
-      optional: true,
-      nullable: true
-    }
+    privUtils_.warn(
+        'DEPRECATION WARNING: unregisterService() is deprecated ' +
+            'and will be removed from next release. Use unregister() instead.'
+    );
+    var data = validator.validateArgs(arguments, [
+        {
+            name: 'successCallback',
+            type: validator.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: validator.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
     ]);
-  var result = native.call('Push_unregisterService', {}, function(msg) {
-    if (msg.error) {
-      if (validatorType.isFunction(data.errorCallback)) {
-        data.errorCallback(native.getErrorObject(msg));
-      }
-    } else if (validatorType.isFunction(data.successCallback)) {
-      data.successCallback();
-    }
-  });
+    var result = native.call('Push_unregisterService', {}, function(msg) {
+        if (msg.error) {
+            if (validatorType.isFunction(data.errorCallback)) {
+                data.errorCallback(native.getErrorObject(msg));
+            }
+        } else if (validatorType.isFunction(data.successCallback)) {
+            data.successCallback();
+        }
+    });
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    }
 };
 
 PushManager.prototype.unregister = function() {
-  var data = validator.validateArgs(arguments, [
-    {
-      name: 'successCallback',
-      type: validator.Types.FUNCTION,
-      optional: true,
-      nullable: true
-    },
-    {
-      name: 'errorCallback',
-      type: validator.Types.FUNCTION,
-      optional: true,
-      nullable: true
-    }
-  ]);
-  var result = native.call('Push_unregisterApplication', {}, function(msg) {
-    if (msg.error) {
-      if (validatorType.isFunction(data.errorCallback)) {
-        data.errorCallback(native.getErrorObject(msg));
-      }
-    } else if (validatorType.isFunction(data.successCallback)) {
-      data.successCallback();
-    }
-  });
+    var data = validator.validateArgs(arguments, [
+        {
+            name: 'successCallback',
+            type: validator.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: validator.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
+    var result = native.call('Push_unregisterApplication', {}, function(msg) {
+        if (msg.error) {
+            if (validatorType.isFunction(data.errorCallback)) {
+                data.errorCallback(native.getErrorObject(msg));
+            }
+        } else if (validatorType.isFunction(data.successCallback)) {
+            data.successCallback();
+        }
+    });
 
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    }
 };
 
 PushManager.prototype.connectService = function(notificationCallback) {
-  privUtils_.warn('DEPRECATION WARNING: connectService() is deprecated and will be removed from next release. Use connect() instead.');
-  var data = validator.validateArgs(arguments, [
-    {
-      name: 'notificationCallback',
-      type: validator.Types.FUNCTION
+    privUtils_.warn(
+        'DEPRECATION WARNING: connectService() is deprecated ' +
+            'and will be removed from next release. Use connect() instead.'
+    );
+    var data = validator.validateArgs(arguments, [
+        {
+            name: 'notificationCallback',
+            type: validator.Types.FUNCTION
+        }
+    ]);
+    var ret = native.callSync('Push_connectService', {});
+    if (native.isFailure(ret)) {
+        throw native.getErrorObject(ret);
     }
-  ]);
-  var ret = native.callSync('Push_connectService', {});
-  if (native.isFailure(ret)) {
-    throw native.getErrorObject(ret);
-  }
 
-  listener2_4 = function(msg) {
-    data.notificationCallback(new PushMessage(msg.pushMessage));
-  };
-  native.addListener(NOTIFICATION_LISTENER, listenerFunction);
+    listener2_4 = function(msg) {
+        data.notificationCallback(new PushMessage(msg.pushMessage));
+    };
+    native.addListener(NOTIFICATION_LISTENER, listenerFunction);
 };
 
 PushManager.prototype.connect = function(notificationCallback) {
-  var data = validator.validateArgs(arguments, [
-    {
-      name: 'stateChangeCallback',
-      type: validator.Types.FUNCTION
-    },
-    {
-      name: 'notificationCallback',
-      type: validator.Types.FUNCTION
-    },
-    {
-      name: 'errorCallback',
-      type: validator.Types.FUNCTION,
-      optional: true,
-      nullable: true
-    }
-  ]);
-  var result = native.call('Push_connect', {}, function(msg) {
-    // in case of error, call errorCallback
-    if (msg.error) {
-      if (validatorType.isFunction(data.errorCallback)) {
-        data.errorCallback(native.getErrorObject(msg));
-      }
-    }
-  });
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
-  // in case of successfully connect, below listener would be called automatically
-  native.addListener(STATE_LISTENER, function(msg) {
-    if (msg.error) {
-      if (validatorType.isFunction(data.errorCallback)) {
-        data.errorCallback(native.getErrorObject(msg));
-      }
-    } else {
-      data.stateChangeCallback(msg.state);
+    var data = validator.validateArgs(arguments, [
+        {
+            name: 'stateChangeCallback',
+            type: validator.Types.FUNCTION
+        },
+        {
+            name: 'notificationCallback',
+            type: validator.Types.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: validator.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
+    var result = native.call('Push_connect', {}, function(msg) {
+        // in case of error, call errorCallback
+        if (msg.error) {
+            if (validatorType.isFunction(data.errorCallback)) {
+                data.errorCallback(native.getErrorObject(msg));
+            }
+        }
+    });
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
     }
-  });
+    // in case of successfully connect, below listener would be called automatically
+    native.addListener(STATE_LISTENER, function(msg) {
+        if (msg.error) {
+            if (validatorType.isFunction(data.errorCallback)) {
+                data.errorCallback(native.getErrorObject(msg));
+            }
+        } else {
+            data.stateChangeCallback(msg.state);
+        }
+    });
 
-  listener3_0 = function(msg) {
-    data.notificationCallback(new PushMessage(msg.pushMessage));
-  };
-  native.addListener(NOTIFICATION_LISTENER, listenerFunction);
+    listener3_0 = function(msg) {
+        data.notificationCallback(new PushMessage(msg.pushMessage));
+    };
+    native.addListener(NOTIFICATION_LISTENER, listenerFunction);
 };
 
 PushManager.prototype.disconnectService = function() {
-  privUtils_.warn('DEPRECATION WARNING: disconnectService() is deprecated and will be removed from next release. Use disconnect() instead.');
-  var ret = native.callSync('Push_disconnectService', {});
-  if (native.isFailure(ret)) {
-    throw native.getErrorObject(ret);
-  }
-  listener2_4 = undefined;
-  native.removeListener(NOTIFICATION_LISTENER);
+    privUtils_.warn(
+        'DEPRECATION WARNING: disconnectService() is deprecated ' +
+            'and will be removed from next release. Use disconnect() instead.'
+    );
+    var ret = native.callSync('Push_disconnectService', {});
+    if (native.isFailure(ret)) {
+        throw native.getErrorObject(ret);
+    }
+    listener2_4 = undefined;
+    native.removeListener(NOTIFICATION_LISTENER);
 };
 
 PushManager.prototype.disconnect = function() {
-  var ret = native.callSync('Push_disconnect', {});
-  if (native.isFailure(ret)) {
-    throw native.getErrorObject(ret);
-  }
-  listener3_0 = undefined;
-  native.removeListener(NOTIFICATION_LISTENER);
+    var ret = native.callSync('Push_disconnect', {});
+    if (native.isFailure(ret)) {
+        throw native.getErrorObject(ret);
+    }
+    listener3_0 = undefined;
+    native.removeListener(NOTIFICATION_LISTENER);
 };
 
 PushManager.prototype.getRegistrationId = function() {
-  var ret = native.callSync('Push_getRegistrationId', {});
-  if (native.isFailure(ret)) {
-    throw native.getErrorObject(ret);
-  }
-  return native.getResultObject(ret);
+    var ret = native.callSync('Push_getRegistrationId', {});
+    if (native.isFailure(ret)) {
+        throw native.getErrorObject(ret);
+    }
+    return native.getResultObject(ret);
 };
 
 PushManager.prototype.getUnreadNotifications = function() {
-  var ret = native.callSync('Push_getUnreadNotifications', {});
-  if (native.isFailure(ret)) {
-    throw native.getErrorObject(ret);
-  }
+    var ret = native.callSync('Push_getUnreadNotifications', {});
+    if (native.isFailure(ret)) {
+        throw native.getErrorObject(ret);
+    }
 };
 
 PushManager.prototype.getPushMessage = function() {
-
-  var ret = native.callSync('Push_getPushMessage', {});
-  if (native.isFailure(ret)) {
-    throw native.getErrorObject(ret);
-  } else {
-    var message = native.getResultObject(ret);
-    return message ? new PushMessage(message) : null;
-  }
+    var ret = native.callSync('Push_getPushMessage', {});
+    if (native.isFailure(ret)) {
+        throw native.getErrorObject(ret);
+    } else {
+        var message = native.getResultObject(ret);
+        return message ? new PushMessage(message) : null;
+    }
 };
 
 exports = new PushManager();
index beaba45c36f95746d53422318be3b75e4a6a30b6..92f04c27e0c47b843c8280c518ddced2fcd7f058 100644 (file)
@@ -22,29 +22,28 @@ var _listeners_FMRadioInterrupted;
 var _listeners_AntennaChange;
 
 var RadioState = {
-    PLAYING : 'PLAYING',
-    SCANNING : 'SCANNING',
-    READY : 'READY'
+    PLAYING: 'PLAYING',
+    SCANNING: 'SCANNING',
+    READY: 'READY'
 };
 
 function FMRadioInterruptCallbackManager() {
-
     this.oninterrupted;
     this.oninterruptfinished;
-};
+}
 
 FMRadioInterruptCallbackManager.prototype.FMRadioInterruptedCBSwitch = function(args) {
-    if (args.action == 'oninterrupted')
-        this.oninterrupted(args.reason);
-    else
-        this.oninterruptfinished();
+    if (args.action == 'oninterrupted') this.oninterrupted(args.reason);
+    else this.oninterruptfinished();
 };
 
 FMRadioInterruptCallbackManager.prototype.FMRadioInterruptedSet = function(oi, oif) {
     this.oninterrupted = oi;
     this.oninterruptfinished = oif;
-    native_.addListener('FMRadio_Interrupted', this.FMRadioInterruptedCBSwitch
-            .bind(this));
+    native_.addListener(
+        'FMRadio_Interrupted',
+        this.FMRadioInterruptedCBSwitch.bind(this)
+    );
 };
 
 FMRadioInterruptCallbackManager.prototype.FMRadioInterruptedUnset = function() {
@@ -52,10 +51,8 @@ FMRadioInterruptCallbackManager.prototype.FMRadioInterruptedUnset = function() {
 };
 
 function FMRadioScanCallbackManager() {
-
     this.radioScanCallback;
-
-};
+}
 
 FMRadioScanCallbackManager.prototype.FMRadioScanCBSwitch = function(args) {
     this.radioScanCallback(args.frequency);
@@ -63,8 +60,7 @@ FMRadioScanCallbackManager.prototype.FMRadioScanCBSwitch = function(args) {
 
 FMRadioScanCallbackManager.prototype.FMRadioScanSet = function(cb) {
     this.radioScanCallback = cb;
-    native_.addListener('FMRadio_Onfrequencyfound',
-            this.FMRadioScanCBSwitch.bind(this));
+    native_.addListener('FMRadio_Onfrequencyfound', this.FMRadioScanCBSwitch.bind(this));
 };
 
 FMRadioScanCallbackManager.prototype.FMRadioScanUnset = function() {
@@ -72,10 +68,8 @@ FMRadioScanCallbackManager.prototype.FMRadioScanUnset = function() {
 };
 
 function FMRadioAntennaChangeCallbackManager() {
-
     this.onchanged;
-
-};
+}
 
 FMRadioAntennaChangeCallbackManager.prototype.FMRadioAntennaCBSwitch = function(args) {
     this.onchanged(args.connected);
@@ -83,8 +77,7 @@ FMRadioAntennaChangeCallbackManager.prototype.FMRadioAntennaCBSwitch = function(
 
 FMRadioAntennaChangeCallbackManager.prototype.FMRadioAntennaChangeSet = function(cb) {
     this.onchanged = cb;
-    native_.addListener('FMRadio_Antenna', this.FMRadioAntennaCBSwitch
-            .bind(this));
+    native_.addListener('FMRadio_Antenna', this.FMRadioAntennaCBSwitch.bind(this));
 };
 
 FMRadioAntennaChangeCallbackManager.prototype.FMRadioAntennaUnset = function() {
@@ -97,46 +90,40 @@ var scanCBmanager = new FMRadioScanCallbackManager();
 
 function FMRadioManager() {
     Object.defineProperties(this, {
-        'frequency' : {
-            enumerable : true,
-            get : frequencyGetter,
-            set : function() {
-            }
+        frequency: {
+            enumerable: true,
+            get: frequencyGetter,
+            set: function() {}
         },
-        'frequencyUpperBound' : {
-            enumerable : true,
-            get : frequencyUpperGetter,
-            set : function() {
-            }
+        frequencyUpperBound: {
+            enumerable: true,
+            get: frequencyUpperGetter,
+            set: function() {}
         },
-        'frequencyLowerBound' : {
-            enumerable : true,
-            get : frequencyLowerGetter,
-            set : function() {
-            }
+        frequencyLowerBound: {
+            enumerable: true,
+            get: frequencyLowerGetter,
+            set: function() {}
         },
-        'signalStrength' : {
-            enumerable : true,
-            get : signalStrengthGetter,
-            set : function() {
-            }
+        signalStrength: {
+            enumerable: true,
+            get: signalStrengthGetter,
+            set: function() {}
         },
-        'state' : {
-            enumerable : true,
-            get : radioStateGetter,
-            set : function() {
-            }
+        state: {
+            enumerable: true,
+            get: radioStateGetter,
+            set: function() {}
         },
-        'isAntennaConnected' : {
-            enumerable : true,
-            get : isAntennaConnectedGetter,
-            set : function() {
-            }
+        isAntennaConnected: {
+            enumerable: true,
+            get: isAntennaConnectedGetter,
+            set: function() {}
         },
-        'mute' : {
-            enumerable : true,
-            get : muteGetter,
-            set : muteSetter
+        mute: {
+            enumerable: true,
+            get: muteGetter,
+            set: muteSetter
         }
     });
 
@@ -146,11 +133,12 @@ function FMRadioManager() {
     }
 
     function muteSetter() {
-
-        var args = validator_.validateArgs(arguments, [ {
-            name : 'mute',
-            type : types_.BOOLEAN
-        } ]);
+        var args = validator_.validateArgs(arguments, [
+            {
+                name: 'mute',
+                type: types_.BOOLEAN
+            }
+        ]);
         native_.callSync('FMRadio_MuteSetter', args);
     }
 
@@ -173,7 +161,6 @@ function FMRadioManager() {
     }
 
     function frequencyGetter() {
-
         var ret = native_.callSync('FMRadio_FrequencyGetter');
 
         return native_.getResultObject(ret);
@@ -189,48 +176,52 @@ function FMRadioManager() {
 }
 
 FMRadioManager.prototype.seekUp = function() {
-    var args = validator_.validateArgs(arguments, [ {
-        name : 'successCallback',
-        type : types_.FUNCTION,
-        optional : true,
-        nullable : true
-    }, {
-        name : 'errorCallback',
-        type : types_.FUNCTION,
-        optional : true,
-        nullable : true
-    } ]);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
 
     native_.call('FMRadio_SeekUp', {}, function(result) {
         if (native_.isFailure(result)) {
-            if (args.errorCallback)
-                args.errorCallback(native_.getErrorObject(result));
+            if (args.errorCallback) args.errorCallback(native_.getErrorObject(result));
         } else {
-            if (args.successCallback)
-                args.successCallback();
+            if (args.successCallback) args.successCallback();
         }
     });
-
 };
 
 FMRadioManager.prototype.start = function() {
-    var args = validator_.validateArgs(arguments, [ {
-        name : 'frequency',
-        type : types_.DOUBLE,
-        optional : true,
-        nullable : true
-    } ]);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'frequency',
+            type: types_.DOUBLE,
+            optional: true,
+            nullable: true
+        }
+    ]);
 
     if (args.frequency) {
-        if (args.frequency < this.frequencyLowerBound
-                || args.frequency > this.frequencyUpperBound)
+        if (
+            args.frequency < this.frequencyLowerBound ||
+            args.frequency > this.frequencyUpperBound
+        )
             throw new WebAPIException(
-                    WebAPIException.INVALID_VALUES_ERR,
-                    'Frequency out of bounds');
+                WebAPIException.INVALID_VALUES_ERR,
+                'Frequency out of bounds'
+            );
     }
     var result = native_.callSync('FMRadio_Start', {
-        'frequency' : args.frequency ? args.frequency
-                : this.frequencyLowerBound
+        frequency: args.frequency ? args.frequency : this.frequencyLowerBound
     });
     if (native_.isFailure(result)) {
         throw native_.getErrorObject(result);
@@ -238,48 +229,50 @@ FMRadioManager.prototype.start = function() {
 };
 
 FMRadioManager.prototype.seekDown = function() {
-    var args = validator_.validateArgs(arguments, [ {
-        name : 'successCallback',
-        type : types_.FUNCTION,
-        optional : true,
-        nullable : true
-    }, {
-        name : 'errorCallback',
-        type : types_.FUNCTION,
-        optional : true,
-        nullable : true
-    } ]);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
 
     native_.call('FMRadio_SeekDown', {}, function(result) {
         if (native_.isFailure(result)) {
-            if (args.errorCallback)
-                args.errorCallback(native_.getErrorObject(result));
+            if (args.errorCallback) args.errorCallback(native_.getErrorObject(result));
         } else {
-            if (args.successCallback)
-                args.successCallback();
+            if (args.successCallback) args.successCallback();
         }
     });
 };
 
 FMRadioManager.prototype.scanStart = function() {
-    var args = validator_.validateArgs(arguments, [ {
-        name : 'radioScanCallback',
-        type : types_.LISTENER,
-        values : [ 'onfrequencyfound', 'onfinished' ]
-    }, {
-        name : 'errorCallback',
-        type : types_.FUNCTION,
-        optional : true,
-        nullable : true
-    } ]);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'radioScanCallback',
+            type: types_.LISTENER,
+            values: ['onfrequencyfound', 'onfinished']
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
 
     scanCBmanager.FMRadioScanSet(args.radioScanCallback.onfrequencyfound);
 
     native_.call('FMRadio_ScanStart', {}, function(result) {
         if (native_.isFailure(result)) {
-            if (args.errorCallback)
-                args.errorCallback(native_.getErrorObject(result));
-
+            if (args.errorCallback) args.errorCallback(native_.getErrorObject(result));
         } else {
             scanCBmanager.FMRadioScanUnset();
             args.radioScanCallback.onfinished(result.frequencies);
@@ -295,39 +288,42 @@ FMRadioManager.prototype.stop = function() {
 };
 
 FMRadioManager.prototype.scanStop = function() {
-    var args = validator_.validateArgs(arguments, [ {
-        name : 'successCallback',
-        type : types_.FUNCTION,
-        optional : true,
-        nullable : true
-    }, {
-        name : 'errorCallback',
-        type : types_.FUNCTION,
-        optional : true,
-        nullable : true
-    } ]);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
 
     native_.call('FMRadio_ScanStop', {}, function(result) {
         if (native_.isFailure(result)) {
-            if (args.errorCallback)
-                args.errorCallback(native_.getErrorObject(result));
+            if (args.errorCallback) args.errorCallback(native_.getErrorObject(result));
         } else {
-
             args.successCallback();
-
         }
     });
 };
 
 FMRadioManager.prototype.setFMRadioInterruptedListener = function() {
-
-    var args = validator_.validateArgs(arguments, [ {
-        name : 'interruptCallback',
-        type : types_.LISTENER,
-        values : [ 'oninterrupted', 'oninterruptfinished' ]
-    } ]);
-    interruptedCBmanager.FMRadioInterruptedSet(args.interruptCallback.oninterrupted,
-            args.interruptCallback.oninterruptfinished);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'interruptCallback',
+            type: types_.LISTENER,
+            values: ['oninterrupted', 'oninterruptfinished']
+        }
+    ]);
+    interruptedCBmanager.FMRadioInterruptedSet(
+        args.interruptCallback.oninterrupted,
+        args.interruptCallback.oninterruptfinished
+    );
 
     var ret = native_.callSync('FMRadio_SetFMRadioInterruptedListener');
     if (native_.isFailure(ret)) {
@@ -336,7 +332,6 @@ FMRadioManager.prototype.setFMRadioInterruptedListener = function() {
 };
 
 FMRadioManager.prototype.unsetFMRadioInterruptedListener = function() {
-
     interruptedCBmanager.FMRadioInterruptedUnset();
     var ret = native_.callSync('FMRadio_UnsetFMRadioInterruptedListener');
     if (native_.isFailure(ret)) {
@@ -345,10 +340,12 @@ FMRadioManager.prototype.unsetFMRadioInterruptedListener = function() {
 };
 
 FMRadioManager.prototype.setAntennaChangeListener = function() {
-    var args = validator_.validateArgs(arguments, [ {
-        name : 'changeCallback',
-        type : types_.FUNCTION
-    } ]);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'changeCallback',
+            type: types_.FUNCTION
+        }
+    ]);
 
     antennaCBmanager.FMRadioAntennaChangeSet(args.changeCallback);
     var ret = native_.callSync('FMRadio_SetAntennaChangeListener');
@@ -358,7 +355,6 @@ FMRadioManager.prototype.setAntennaChangeListener = function() {
 };
 
 FMRadioManager.prototype.unsetAntennaChangeListener = function() {
-
     antennaCBmanager.FMRadioAntennaUnset();
     var ret = native_.callSync('FMRadio_UnsetAntennaChangeListener');
     if (native_.isFailure(ret)) {
index db67d0215317f6532cd676a7dd502d6869c65bcb..99a9460d19f50e5fdb9d27c62407bb75a7ec7e40 100644 (file)
@@ -29,14 +29,17 @@ function ListenerManager(native, listenerName) {
     this.nativeSet = false;
     this.native = native;
     this.listenerName = listenerName;
-};
+}
 
 ListenerManager.prototype.onListenerCalled = function(msg) {
     var d = undefined;
     var e = undefined;
     switch (msg.action) {
     case 'onSEError':
-        e = new WebAPIException(WebAPIException.IO_ERR, 'I/O error occurred on Secure Element reader');
+        e = new WebAPIException(
+            WebAPIException.IO_ERR,
+            'I/O error occurred on Secure Element reader'
+        );
     case 'onSEReady':
     case 'onSENotReady':
         d = new Reader(msg.handle);
@@ -47,7 +50,10 @@ ListenerManager.prototype.onListenerCalled = function(msg) {
     }
 
     for (var watchId in this.listeners) {
-        if (this.listeners.hasOwnProperty(watchId) && this.listeners[watchId][msg.action]) {
+        if (
+            this.listeners.hasOwnProperty(watchId) &&
+            this.listeners[watchId][msg.action]
+        ) {
             this.listeners[watchId][msg.action](d, e);
         }
     }
@@ -59,7 +65,7 @@ ListenerManager.prototype.addListener = function(callback) {
         this.native.addListener(this.listenerName, this.onListenerCalled.bind(this));
         var result = this.native.callSync('SEService_registerSEListener');
         if (this.native.isFailure(result)) {
-          throw this.native.getErrorObject(result);
+            throw this.native.getErrorObject(result);
         }
         this.nativeSet = true;
     }
@@ -72,17 +78,17 @@ ListenerManager.prototype.addListener = function(callback) {
 
 ListenerManager.prototype.removeListener = function(watchId) {
     if (type_utils.isEmptyObject(this.listeners)) {
-      privUtils_.checkPrivilegeAccess(privilege_.SECUREELEMENT);
+        privUtils_.checkPrivilegeAccess(privilege_.SECUREELEMENT);
     }
 
     if (this.listeners.hasOwnProperty(watchId)) {
-      delete this.listeners[watchId];
+        delete this.listeners[watchId];
     }
 
     if (this.nativeSet && type_utils.isEmptyObject(this.listeners)) {
         var result = this.native.callSync('SEService_unregisterSEListener');
         if (this.native.isFailure(result)) {
-          throw this.native.getErrorObject(result);
+            throw this.native.getErrorObject(result);
         }
         this.native.removeListener(this.listenerName);
         this.nativeSet = false;
@@ -92,24 +98,23 @@ ListenerManager.prototype.removeListener = function(watchId) {
 var SE_CHANGE_LISTENER = 'SecureElementChangeListener';
 var SEChangeListener = new ListenerManager(native_, SE_CHANGE_LISTENER);
 
-function SEService() {
-}
+function SEService() {}
 
 var SEServiceGetReaders = function() {
     xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.SECUREELEMENT);
     var args = validator_.validateArgs(arguments, [
-        { name: "successCallback", type: types_.FUNCTION },
-        { name: "errorCallback", type: types_.FUNCTION, optional: true, nullable: true }
+        { name: 'successCallback', type: types_.FUNCTION },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
     ]);
 
     var callback = function(result) {
-        if(native_.isFailure(result)) {
+        if (native_.isFailure(result)) {
             native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
         } else {
             var result_obj = native_.getResultObject(result);
             var readers_array = [];
 
-            result_obj.forEach(function (data) {
+            result_obj.forEach(function(data) {
                 readers_array.push(new Reader(data));
             });
 
@@ -119,7 +124,7 @@ var SEServiceGetReaders = function() {
 
     var result = native_.call('SEService_getReaders', {}, callback);
     if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+        throw native_.getErrorObject(result);
     }
 };
 
@@ -131,8 +136,8 @@ var SEServiceRegisterSEListener = function() {
     xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.SECUREELEMENT);
     var args = validator_.validateArgs(arguments, [
         {
-            name : 'eventCallback',
-            type : types_.LISTENER,
+            name: 'eventCallback',
+            type: types_.LISTENER,
             values: ['onSEReady', 'onSENotReady', 'onSEError']
         }
     ]);
@@ -148,8 +153,8 @@ var SEServiceUnregisterSEListener = function() {
     xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.SECUREELEMENT);
     var args = validator_.validateArgs(arguments, [
         {
-            name : 'id',
-            type : types_.UNSIGNED_LONG
+            name: 'id',
+            type: types_.UNSIGNED_LONG
         }
     ]);
 
@@ -158,7 +163,7 @@ var SEServiceUnregisterSEListener = function() {
 
 SEService.prototype.unregisterSEListener = function() {
     SEServiceUnregisterSEListener.apply(this, arguments);
-}
+};
 
 var SEServiceShutdown = function() {
     xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.SECUREELEMENT);
@@ -177,23 +182,31 @@ SEService.prototype.shutdown = function() {
 
 function Reader(reader_handle) {
     Object.defineProperties(this, {
-        isPresent:  {   configurable: false,
-                        enumerable: true,
-                        set: function() {},
-                        get: function() {
-                            var callArgs = { handle: reader_handle };
-                            var result = native_.callSync('SEReader_isPresent', callArgs);
-                            if (native_.isFailure(result)) {
-                              privUtils_.log('SEReader_isPresent error: ' + native_.getErrorObject(result));
-                              return false;
-                            } else {
-                              return native_.getResultObject(result);
-                            }
-                        }},
-        _handle:    {   configurable: false,
-                        enumerable: false,
-                        set: function() {},
-                        get: function() { return reader_handle }}
+        isPresent: {
+            configurable: false,
+            enumerable: true,
+            set: function() {},
+            get: function() {
+                var callArgs = { handle: reader_handle };
+                var result = native_.callSync('SEReader_isPresent', callArgs);
+                if (native_.isFailure(result)) {
+                    privUtils_.log(
+                        'SEReader_isPresent error: ' + native_.getErrorObject(result)
+                    );
+                    return false;
+                } else {
+                    return native_.getResultObject(result);
+                }
+            }
+        },
+        _handle: {
+            configurable: false,
+            enumerable: false,
+            set: function() {},
+            get: function() {
+                return reader_handle;
+            }
+        }
     });
 }
 
@@ -201,7 +214,7 @@ Reader.prototype.getName = function() {
     var callArgs = { handle: this._handle };
     var result = native_.callSync('SEReader_getName', callArgs);
 
-    if(native_.isFailure(result)) {
+    if (native_.isFailure(result)) {
         throw native_.getErrorObject(result);
     }
 
@@ -210,12 +223,12 @@ Reader.prototype.getName = function() {
 
 Reader.prototype.openSession = function() {
     var args = validator_.validateArgs(arguments, [
-        { name: "successCallback", type: types_.FUNCTION },
-        { name: "errorCallback", type: types_.FUNCTION, optional: true, nullable: true }
+        { name: 'successCallback', type: types_.FUNCTION },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
     ]);
 
     var callback = function(result) {
-        if(native_.isFailure(result)) {
+        if (native_.isFailure(result)) {
             native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
         } else {
             var result_obj = native_.getResultObject(result);
@@ -229,7 +242,7 @@ Reader.prototype.openSession = function() {
     var result = native_.call('SEReader_openSession', callArgs, callback);
 
     if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+        throw native_.getErrorObject(result);
     }
 };
 
@@ -237,16 +250,30 @@ Reader.prototype.closeSessions = function() {
     var callArgs = { handle: this._handle };
     var result = native_.callSync('SEReader_closeSessions', callArgs);
     if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+        throw native_.getErrorObject(result);
     }
 };
 
 //////////////////Channel/////////////////
 
-function Channel( channel_handle, is_basic_channel) {
+function Channel(channel_handle, is_basic_channel) {
     Object.defineProperties(this, {
-        _handle:    { enumerable: false, configurable: false, set: function() {}, get: function() { return channel_handle }},
-        isBasicChannel:   { enumerable: true, configurable: false, set: function() {}, get: function() { return is_basic_channel }}
+        _handle: {
+            enumerable: false,
+            configurable: false,
+            set: function() {},
+            get: function() {
+                return channel_handle;
+            }
+        },
+        isBasicChannel: {
+            enumerable: true,
+            configurable: false,
+            set: function() {},
+            get: function() {
+                return is_basic_channel;
+            }
+        }
     });
 }
 
@@ -255,24 +282,24 @@ Channel.prototype.close = function() {
     var result = native_.callSync('SEChannel_close', callArgs);
 
     if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+        throw native_.getErrorObject(result);
     }
 };
 
 Channel.prototype.transmit = function() {
     var args = validator_.validateArgs(arguments, [
-        { name: "command", type: types_.ARRAY, values: types_.BYTE },
-        { name: "successCallback", type: types_.FUNCTION },
-        { name: "errorCallback", type: types_.FUNCTION, optional: true, nullable: true }
+        { name: 'command', type: types_.ARRAY, values: types_.BYTE },
+        { name: 'successCallback', type: types_.FUNCTION },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
     ]);
 
     var callback = function(result) {
-        if ( native_.isFailure(result)) {
-            native_.callIfPossible( args.errorCallback, native_.getErrorObject(result));
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
         } else {
             args.successCallback(native_.getResultObject(result));
         }
-    }
+    };
 
     var callArgs = {
         handle: this._handle,
@@ -282,60 +309,67 @@ Channel.prototype.transmit = function() {
     var result = native_.call('SEChannel_transmit', callArgs, callback);
 
     if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+        throw native_.getErrorObject(result);
     }
-}
+};
 
 Channel.prototype.getSelectResponse = function() {
     var callArgs = { handle: this._handle };
     var result = native_.callSync('SEChannel_getSelectResponse', callArgs);
 
     if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+        throw native_.getErrorObject(result);
     }
-}
+};
 
 //////////////////Session/////////////////
 
 function Session(session_handle) {
     Object.defineProperties(this, {
-        isClosed:   { configurable: false,
-                      enumerable: true,
-                      set: function() {},
-                      get: function() {
-                        var callArgs = { handle: session_handle };
-                        var result = native_.callSync('SESession_isClosed', callArgs);
-                        if (native_.isFailure(result)) {
-                          privUtils_.log('SESession_isClosed error: ' + native_.getErrorObject(result));
-                          return true;
-                        } else {
-                          return native_.getResultObject(result);
-                        }
-                      }
-                    },
-        _handle:    { enumerable: false,
-                      configurable: false,
-                      set: function() {},
-                      get: function() { return session_handle }}
+        isClosed: {
+            configurable: false,
+            enumerable: true,
+            set: function() {},
+            get: function() {
+                var callArgs = { handle: session_handle };
+                var result = native_.callSync('SESession_isClosed', callArgs);
+                if (native_.isFailure(result)) {
+                    privUtils_.log(
+                        'SESession_isClosed error: ' + native_.getErrorObject(result)
+                    );
+                    return true;
+                } else {
+                    return native_.getResultObject(result);
+                }
+            }
+        },
+        _handle: {
+            enumerable: false,
+            configurable: false,
+            set: function() {},
+            get: function() {
+                return session_handle;
+            }
+        }
     });
 }
 
 Session.prototype.openBasicChannel = function() {
     var args = validator_.validateArgs(arguments, [
-        { name: "aid", type: types_.ARRAY, values: types_.BYTE },
-        { name: "successCallback", type: types_.FUNCTION },
-        { name: "errorCallback", type: types_.FUNCTION, optional: true, nullable: true }
+        { name: 'aid', type: types_.ARRAY, values: types_.BYTE },
+        { name: 'successCallback', type: types_.FUNCTION },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
     ]);
 
     var callback = function(result) {
-        if ( native_.isFailure(result)) {
-            native_.callIfPossible( args.errorCallback, native_.getErrorObject(result));
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
         } else {
             var result_obj = native_.getResultObject(result);
-            var channel = new Channel( result_obj.handle, result_obj.isBasicChannel);
+            var channel = new Channel(result_obj.handle, result_obj.isBasicChannel);
             args.successCallback(channel);
         }
-    }
+    };
 
     var callArgs = {
         handle: this._handle,
@@ -345,26 +379,26 @@ Session.prototype.openBasicChannel = function() {
     var result = native_.call('SESession_openBasicChannel', callArgs, callback);
 
     if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+        throw native_.getErrorObject(result);
     }
 };
 
 Session.prototype.openLogicalChannel = function() {
     var args = validator_.validateArgs(arguments, [
-        { name: "aid", type: types_.ARRAY, values: types_.BYTE },
-        { name: "successCallback", type: types_.FUNCTION },
-        { name: "errorCallback", type: types_.FUNCTION, optional: true, nullable: true }
+        { name: 'aid', type: types_.ARRAY, values: types_.BYTE },
+        { name: 'successCallback', type: types_.FUNCTION },
+        { name: 'errorCallback', type: types_.FUNCTION, optional: true, nullable: true }
     ]);
 
     var callback = function(result) {
-        if ( native_.isFailure(result)) {
-            native_.callIfPossible( args.errorCallback, native_.getErrorObject(result));
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
         } else {
             var result_obj = native_.getResultObject(result);
-            var channel = new Channel( result_obj.handle, result_obj.isBasicChannel);
+            var channel = new Channel(result_obj.handle, result_obj.isBasicChannel);
             args.successCallback(channel);
         }
-    }
+    };
 
     var callArgs = {
         handle: this._handle,
@@ -374,9 +408,9 @@ Session.prototype.openLogicalChannel = function() {
     var result = native_.call('SESession_openLogicalChannel', callArgs, callback);
 
     if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+        throw native_.getErrorObject(result);
     }
-}
+};
 
 Session.prototype.getATR = function() {
     var callArgs = { handle: this._handle };
@@ -386,25 +420,24 @@ Session.prototype.getATR = function() {
     } else {
         return native_.getResultObject(result);
     }
-}
+};
 
 Session.prototype.close = function() {
     var callArgs = { handle: this._handle };
     var result = native_.callSync('SESession_close', callArgs);
 
     if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+        throw native_.getErrorObject(result);
     }
-}
+};
 
 Session.prototype.closeChannels = function() {
     var callArgs = { handle: this._handle };
     var result = native_.callSync('SESession_closeChannels', callArgs);
 
     if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+        throw native_.getErrorObject(result);
     }
-}
-
+};
 
 exports = new SEService();
index 2450cf20c0a593694bc7df7bc7240dbd245b1e16..17d280aa1845dde793cb75b26e41c0003d75bc10 100755 (executable)
@@ -24,40 +24,39 @@ var native_ = new utils_.NativeManager(extension);
 
 // Enums
 var SensorType = {
-    LIGHT : 'LIGHT',
-    MAGNETIC : 'MAGNETIC',
-    PRESSURE : 'PRESSURE',
-    PROXIMITY : 'PROXIMITY',
-    ULTRAVIOLET : 'ULTRAVIOLET',
-    HRM_RAW : 'HRM_RAW',
-    GRAVITY : 'GRAVITY',
-    GYROSCOPE : 'GYROSCOPE',
-    GYROSCOPE_ROTATION_VECTOR : 'GYROSCOPE_ROTATION_VECTOR',
-    LINEAR_ACCELERATION : 'LINEAR_ACCELERATION'
+    LIGHT: 'LIGHT',
+    MAGNETIC: 'MAGNETIC',
+    PRESSURE: 'PRESSURE',
+    PROXIMITY: 'PROXIMITY',
+    ULTRAVIOLET: 'ULTRAVIOLET',
+    HRM_RAW: 'HRM_RAW',
+    GRAVITY: 'GRAVITY',
+    GYROSCOPE: 'GYROSCOPE',
+    GYROSCOPE_ROTATION_VECTOR: 'GYROSCOPE_ROTATION_VECTOR',
+    LINEAR_ACCELERATION: 'LINEAR_ACCELERATION'
 };
 
 var ProximityState = {
-    FAR : 'FAR',
-    NEAR : 'NEAR'
+    FAR: 'FAR',
+    NEAR: 'NEAR'
 };
 
 var MagneticSensorAccuracy = {
-    UNDEFINED : 'ACCURACY_UNDEFINED',
-    BAD : 'ACCURACY_BAD',
-    NORMAL : 'ACCURACY_NORMAL',
-    GOOD : 'ACCURACY_GOOD',
-    VERYGOOD : 'ACCURACY_VERYGOOD'
+    UNDEFINED: 'ACCURACY_UNDEFINED',
+    BAD: 'ACCURACY_BAD',
+    NORMAL: 'ACCURACY_NORMAL',
+    GOOD: 'ACCURACY_GOOD',
+    VERYGOOD: 'ACCURACY_VERYGOOD'
 };
 
 var SensorStates = {
-    NOT_STARTED : 0,
-    STARTING : 1,
-    STARTED : 2
+    NOT_STARTED: 0,
+    STARTING: 1,
+    STARTED: 2
 };
 
-
 // helper class for sensor listeners
-var SensorListener = function (type, constructor) {
+var SensorListener = function(type, constructor) {
     this.sensorType = type;
     this.state = SensorStates.NOT_STARTED;
     this.callback = undefined;
@@ -66,39 +65,43 @@ var SensorListener = function (type, constructor) {
     this.constructor = constructor;
 };
 
-SensorListener.prototype.tryCall = function (object) {
+SensorListener.prototype.tryCall = function(object) {
     if (this.callback) {
         this.callback(new this.constructor(object));
     }
 };
 
-SensorListener.prototype.start = function (successCallback, errorCallback) {
+SensorListener.prototype.start = function(successCallback, errorCallback) {
     if (SensorStates.STARTED != this.state) {
         // sensor not started
         this.state = SensorStates.STARTING;
         var thisObject = this;
-        native_.call('Sensor_start', {'sensorType' : thisObject.sensorType},
-                function(result) {
-                    if (native_.isFailure(result)) {
-                        thisObject.state = SensorStates.NOT_STARTED;
-                        if (!T_.isNullOrUndefined(errorCallback)) {
-                            errorCallback(native_.getErrorObject(result));
-                        }
-                    } else {
-                        thisObject.state = SensorStates.STARTED;
-                        successCallback();
-                    }
+        native_.call('Sensor_start', { sensorType: thisObject.sensorType }, function(
+            result
+        ) {
+            if (native_.isFailure(result)) {
+                thisObject.state = SensorStates.NOT_STARTED;
+                if (!T_.isNullOrUndefined(errorCallback)) {
+                    errorCallback(native_.getErrorObject(result));
                 }
-        );
+            } else {
+                thisObject.state = SensorStates.STARTED;
+                successCallback();
+            }
+        });
     } else {
         // sensor is already started - just call success callback
-        setTimeout(function(){successCallback()}, 0);
+        setTimeout(function() {
+            successCallback();
+        }, 0);
     }
 };
 
-SensorListener.prototype.stop = function () {
+SensorListener.prototype.stop = function() {
     if (SensorStates.NOT_STARTED != this.state) {
-        var result = native_.callSync('Sensor_stop', {'sensorType' : this.sensorType});
+        var result = native_.callSync('Sensor_stop', {
+            sensorType: this.sensorType
+        });
         if (native_.isFailure(result)) {
             throw native_.getErrorObject(result);
         }
@@ -106,14 +109,18 @@ SensorListener.prototype.stop = function () {
     }
 };
 
-SensorListener.prototype.setListener = function (successCallback, interval, batchLatency) {
-    if (!this.callback || this.callbackInterval != interval ||
-        this.callbackBatchLatency != batchLatency) {
+SensorListener.prototype.setListener = function(successCallback, interval, batchLatency) {
+    if (
+        !this.callback ||
+        this.callbackInterval != interval ||
+        this.callbackBatchLatency != batchLatency
+    ) {
         //call platform only if there was no listener registered or parameters changed
         var result = native_.callSync('Sensor_setChangeListener', {
-            'sensorType' : this.sensorType,
-            'interval' : interval,
-            'batchLatency' : batchLatency});
+            sensorType: this.sensorType,
+            interval: interval,
+            batchLatency: batchLatency
+        });
 
         if (native_.isFailure(result)) {
             throw native_.getErrorObject(result);
@@ -124,30 +131,34 @@ SensorListener.prototype.setListener = function (successCallback, interval, batc
     this.callback = successCallback;
 };
 
-SensorListener.prototype.unsetListener = function () {
+SensorListener.prototype.unsetListener = function() {
     if (this.callback) {
         //unregister in platform only if there is callback registered
         this.callback = undefined;
-        var result = native_.callSync('Sensor_unsetChangeListener', {'sensorType' : this.sensorType});
+        var result = native_.callSync('Sensor_unsetChangeListener', {
+            sensorType: this.sensorType
+        });
         if (native_.isFailure(result)) {
             throw native_.getErrorObject(result);
         }
     }
 };
 
-SensorListener.prototype.getData = function (successCallback, errorCallback) {
+SensorListener.prototype.getData = function(successCallback, errorCallback) {
     var thisObj = this;
     if (SensorStates.STARTED != this.state) {
         setTimeout(function() {
             if (!T_.isNullOrUndefined(errorCallback)) {
-                errorCallback(new WebAPIException(
+                errorCallback(
+                    new WebAPIException(
                         WebAPIException.SERVICE_NOT_AVAILABLE_ERR,
-                        'Service is not available.'));
+                        'Service is not available.'
+                    )
+                );
             }
         }, 0);
     } else {
-        native_.call('Sensor_getData', { type : thisObj.sensorType },
-                function(result) {
+        native_.call('Sensor_getData', { type: thisObj.sensorType }, function(result) {
             if (native_.isFailure(result)) {
                 if (!T_.isNullOrUndefined(errorCallback)) {
                     errorCallback(native_.getErrorObject(result));
@@ -162,20 +173,20 @@ SensorListener.prototype.getData = function (successCallback, errorCallback) {
 var _supportedSensors = [];
 var _isChecked = false;
 var _sensorListeners = {
-    'LIGHT'       : {},
-    'MAGNETIC'    : {},
-    'PRESSURE'    : {},
-    'PROXIMITY'   : {},
-    'ULTRAVIOLET' : {},
-    'HRM_RAW'     : {},
-    'GRAVITY'     : {},
-    'GYROSCOPE'   : {},
-    'GYROSCOPE_ROTATION_VECTOR' : {},
-    'LINEAR_ACCELERATION' : {}
-};
-
-var errorWrapper = function (err) {
-    if(err.name === "UnknownError") {
+    LIGHT: {},
+    MAGNETIC: {},
+    PRESSURE: {},
+    PROXIMITY: {},
+    ULTRAVIOLET: {},
+    HRM_RAW: {},
+    GRAVITY: {},
+    GYROSCOPE: {},
+    GYROSCOPE_ROTATION_VECTOR: {},
+    LINEAR_ACCELERATION: {}
+};
+
+var errorWrapper = function(err) {
+    if (err.name === 'UnknownError') {
         err = new WebAPIException(WebAPIException.ABORT_ERR, err.message);
     }
 
@@ -183,7 +194,7 @@ var errorWrapper = function (err) {
 };
 
 var _listener = function(object) {
-    if (object.sensorType.substring(0,4) === 'LED_') {
+    if (object.sensorType.substring(0, 4) === 'LED_') {
         object.sensorType = 'HRM_RAW';
     }
     _sensorListeners[object.sensorType].tryCall(object);
@@ -201,15 +212,14 @@ function getAvailableSensors() {
     _isChecked = true;
 }
 
-function SensorService() {
-};
+function SensorService() {}
 
 function getDefaultSensor() {
     var args = validator_.validateArgs(arguments, [
         {
-            name : 'type',
-            type : types_.ENUM,
-            values : T_.getValues(SensorType)
+            name: 'type',
+            type: types_.ENUM,
+            values: T_.getValues(SensorType)
         }
     ]);
 
@@ -235,17 +245,17 @@ function getDefaultSensor() {
         return new HRMRawSensor();
     } else if (_supportedSensors[index] === SensorType.GRAVITY) {
         return new GravitySensor();
-    } else if (_supportedSensors[index] === SensorType.GYROSCOPE){
+    } else if (_supportedSensors[index] === SensorType.GYROSCOPE) {
         return new GyroscopeSensor();
-    } else if (_supportedSensors[index] === SensorType.GYROSCOPE_ROTATION_VECTOR){
+    } else if (_supportedSensors[index] === SensorType.GYROSCOPE_ROTATION_VECTOR) {
         return new GyroscopeRotationVectorSensor();
-    } else if (_supportedSensors[index] === SensorType.LINEAR_ACCELERATION){
+    } else if (_supportedSensors[index] === SensorType.LINEAR_ACCELERATION) {
         return new LinearAccelerationSensor();
     }
-};
+}
 
 SensorService.prototype.getDefaultSensor = function() {
-  return getDefaultSensor.apply(this, arguments);
+    return getDefaultSensor.apply(this, arguments);
 };
 
 SensorService.prototype.getAvailableSensors = function() {
@@ -256,26 +266,26 @@ SensorService.prototype.getAvailableSensors = function() {
     return _supportedSensors.slice();
 };
 
-//////////////////////Sensor classes//////////////////////////////////////////////////////////
+//////////////////////Sensor classes//////////////////////
 //// Base Sensor class
-var Sensor = function (type) {
+var Sensor = function(type) {
     Object.defineProperties(this, {
-        sensorType : {value: type, writable: false, enumerable: true}
+        sensorType: { value: type, writable: false, enumerable: true }
     });
 };
 
 Sensor.prototype.start = function() {
     var args = validator_.validateArgs(arguments, [
-       {
-           name : 'successCallback',
-           type : types_.FUNCTION
-       },
-       {
-           name : 'errorCallback',
-           type : types_.FUNCTION,
-           optional : true,
-           nullable : true
-       }
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
     ]);
 
     _sensorListeners[this.sensorType].start(args.successCallback, args.errorCallback);
@@ -287,64 +297,75 @@ Sensor.prototype.stop = function() {
 
 Sensor.prototype.setChangeListener = function() {
     var args = validator_.validateArgs(arguments, [
-       {
-           name : 'successCallback',
-           type: types_.FUNCTION
-       },
-       {
-           name : 'interval',
-           type: types_.LONG,
-           optional: true,
-           nullable: true
-       },
-       {
-           name : 'batchLatency',
-           type: types_.LONG,
-           optional: true,
-           nullable: false
-       }
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION
+        },
+        {
+            name: 'interval',
+            type: types_.LONG,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'batchLatency',
+            type: types_.LONG,
+            optional: true,
+            nullable: false
+        }
     ]);
 
     var interval = args.interval || 100;
     if (interval < 10 || interval > 1000) {
-      throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR, 'Interval should be in range [10, 1000] milliseconds.');
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'Interval should be in range [10, 1000] milliseconds.'
+        );
     }
 
     var batchLatency = args.batchLatency || 0;
 
-    _sensorListeners[this.sensorType].setListener(args.successCallback, interval, batchLatency);
+    _sensorListeners[this.sensorType].setListener(
+        args.successCallback,
+        interval,
+        batchLatency
+    );
 };
 
 Sensor.prototype.unsetChangeListener = function() {
     _sensorListeners[this.sensorType].unsetListener();
 };
 
-Sensor.prototype.getSensorHardwareInfo = function(){
-  var args = validator_.validateArgs(arguments, [
-       {
-           name : 'successCallback',
-           type : types_.FUNCTION
-       },
-       {
-           name : 'errorCallback',
-           type : types_.FUNCTION,
-           optional : true,
-           nullable : true
-       }
+Sensor.prototype.getSensorHardwareInfo = function() {
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
     ]);
 
-  var callback = function(result){
-    if (native_.isFailure(result)){
-      if (!T_.isNullOrUndefined(errorCallback)) {
-        errorCallback(native_.getErrorObject(result));
-      }
-    }else {
-      args.successCallback(new SensorHardwareInfo(result));
-    }
-  }
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            if (!T_.isNullOrUndefined(errorCallback)) {
+                errorCallback(native_.getErrorObject(result));
+            }
+        } else {
+            args.successCallback(new SensorHardwareInfo(result));
+        }
+    };
 
-  var result = native_.call("Sensor_getSensorHardwareInfo", {type: this.sensorType}, callback);
-}
+    var result = native_.call(
+        'Sensor_getSensorHardwareInfo',
+        { type: this.sensorType },
+        callback
+    );
+};
 
 //// LightSensor
 var LightSensor = function(data) {
@@ -357,16 +378,16 @@ LightSensor.prototype.constructor = Sensor;
 
 LightSensor.prototype.getLightSensorData = function() {
     var args = validator_.validateArgs(arguments, [
-       {
-           name : 'successCallback',
-           type : types_.FUNCTION
-       },
-       {
-           name : 'errorCallback',
-           type : types_.FUNCTION,
-           optional : true,
-           nullable : true
-       }
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
     ]);
 
     _sensorListeners[this.sensorType].getData(args.successCallback, args.errorCallback);
@@ -383,16 +404,16 @@ MagneticSensor.prototype.constructor = Sensor;
 
 MagneticSensor.prototype.getMagneticSensorData = function() {
     var args = validator_.validateArgs(arguments, [
-       {
-           name : 'successCallback',
-           type : types_.FUNCTION
-       },
-       {
-           name : 'errorCallback',
-           type : types_.FUNCTION,
-           optional : true,
-           nullable : true
-       }
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
     ]);
 
     _sensorListeners[this.sensorType].getData(args.successCallback, args.errorCallback);
@@ -409,16 +430,16 @@ PressureSensor.prototype.constructor = Sensor;
 
 PressureSensor.prototype.getPressureSensorData = function() {
     var args = validator_.validateArgs(arguments, [
-       {
-           name : 'successCallback',
-           type : types_.FUNCTION
-       },
-       {
-           name : 'errorCallback',
-           type : types_.FUNCTION,
-           optional : true,
-           nullable : true
-       }
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
     ]);
 
     _sensorListeners[this.sensorType].getData(args.successCallback, args.errorCallback);
@@ -435,16 +456,16 @@ ProximitySensor.prototype.constructor = Sensor;
 
 ProximitySensor.prototype.getProximitySensorData = function() {
     var args = validator_.validateArgs(arguments, [
-       {
-           name : 'successCallback',
-           type : types_.FUNCTION
-       },
-       {
-           name : 'errorCallback',
-           type : types_.FUNCTION,
-           optional : true,
-           nullable : true
-       }
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
     ]);
 
     _sensorListeners[this.sensorType].getData(args.successCallback, args.errorCallback);
@@ -461,16 +482,16 @@ UltravioletSensor.prototype.constructor = Sensor;
 
 UltravioletSensor.prototype.getUltravioletSensorData = function() {
     var args = validator_.validateArgs(arguments, [
-       {
-           name : 'successCallback',
-           type : types_.FUNCTION
-       },
-       {
-           name : 'errorCallback',
-           type : types_.FUNCTION,
-           optional : true,
-           nullable : true
-       }
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
     ]);
 
     _sensorListeners[this.sensorType].getData(args.successCallback, args.errorCallback);
@@ -487,25 +508,25 @@ HRMRawSensor.prototype.constructor = Sensor;
 
 function getHRMRawSensorData() {
     var args = validator_.validateArgs(arguments, [
-       {
-           name : 'successCallback',
-           type : types_.FUNCTION
-       },
-       {
-           name : 'errorCallback',
-           type : types_.FUNCTION,
-           optional : true,
-           nullable : true
-       }
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
     ]);
 
     utils_.checkPrivilegeAccess(privilege_.HEALTHINFO);
 
     _sensorListeners[this.sensorType].getData(args.successCallback, args.errorCallback);
-};
+}
 
 HRMRawSensor.prototype.getHRMRawSensorData = function() {
-  getHRMRawSensorData.apply(this, arguments);
+    getHRMRawSensorData.apply(this, arguments);
 };
 
 //// GravitySensor
@@ -519,22 +540,24 @@ GravitySensor.prototype.constructor = Sensor;
 
 GravitySensor.prototype.getGravitySensorData = function() {
     var args = validator_.validateArgs(arguments, [
-       {
-           name : 'successCallback',
-           type : types_.FUNCTION
-       },
-       {
-           name : 'errorCallback',
-           type : types_.FUNCTION,
-           optional : true,
-           nullable : true
-       }
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
     ]);
 
-    _sensorListeners[this.sensorType].getData(args.successCallback, errorWrapper.bind(args));
+    _sensorListeners[this.sensorType].getData(
+        args.successCallback,
+        errorWrapper.bind(args)
+    );
 };
 
-
 //// GyroscopeSensor
 var GyroscopeSensor = function(data) {
     Sensor.call(this, SensorType.GYROSCOPE);
@@ -546,19 +569,22 @@ GyroscopeSensor.prototype.constructor = Sensor;
 
 GyroscopeSensor.prototype.getGyroscopeSensorData = function() {
     var args = validator_.validateArgs(arguments, [
-       {
-           name : 'successCallback',
-           type : types_.FUNCTION
-       },
-       {
-           name : 'errorCallback',
-           type : types_.FUNCTION,
-           optional : true,
-           nullable : true
-       }
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
     ]);
 
-    _sensorListeners[this.sensorType].getData(args.successCallback, errorWrapper.bind(args));
+    _sensorListeners[this.sensorType].getData(
+        args.successCallback,
+        errorWrapper.bind(args)
+    );
 };
 
 //// GyroscopeRotationVectorSensor
@@ -570,21 +596,26 @@ GyroscopeRotationVectorSensor.prototype = new Sensor();
 
 GyroscopeRotationVectorSensor.prototype.constructor = Sensor;
 
-GyroscopeRotationVectorSensor.prototype.getGyroscopeRotationVectorSensorData = function() {
+// prettier-ignore
+GyroscopeRotationVectorSensor.prototype.getGyroscopeRotationVectorSensorData =
+function() {
     var args = validator_.validateArgs(arguments, [
-       {
-           name : 'successCallback',
-           type : types_.FUNCTION
-       },
-       {
-           name : 'errorCallback',
-           type : types_.FUNCTION,
-           optional : true,
-           nullable : true
-       }
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
     ]);
 
-    _sensorListeners[this.sensorType].getData(args.successCallback, errorWrapper.bind(args));
+    _sensorListeners[this.sensorType].getData(
+        args.successCallback,
+        errorWrapper.bind(args)
+    );
 };
 
 //// LinearAccelerationSensor
@@ -598,32 +629,37 @@ LinearAccelerationSensor.prototype.constructor = Sensor;
 
 LinearAccelerationSensor.prototype.getLinearAccelerationSensorData = function() {
     var args = validator_.validateArgs(arguments, [
-       {
-           name : 'successCallback',
-           type : types_.FUNCTION
-       },
-       {
-           name : 'errorCallback',
-           type : types_.FUNCTION,
-           optional : true,
-           nullable : true
-       }
+        {
+            name: 'successCallback',
+            type: types_.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: types_.FUNCTION,
+            optional: true,
+            nullable: true
+        }
     ]);
 
-    _sensorListeners[this.sensorType].getData(args.successCallback, errorWrapper.bind(args));
+    _sensorListeners[this.sensorType].getData(
+        args.successCallback,
+        errorWrapper.bind(args)
+    );
 };
 
-
-////////////////////// Sensor Data classes/////////////////////////////////////////////////////
+////////////////////// Sensor Data classes//////////////////////
 ////Base SensorData class
-var SensorData = function () {
-};
+var SensorData = function() {};
 
 //// SensorLightData
 var SensorLightData = function(data) {
     SensorData.call(this);
     Object.defineProperties(this, {
-        lightLevel : {value: data.lightLevel, writable: false, enumerable: true}
+        lightLevel: {
+            value: data.lightLevel,
+            writable: false,
+            enumerable: true
+        }
     });
 };
 
@@ -631,17 +667,19 @@ SensorLightData.prototype = new SensorData();
 
 SensorLightData.prototype.constructor = SensorData;
 
-_sensorListeners[SensorType.LIGHT] = new SensorListener(SensorType.LIGHT,
-        SensorLightData);
+_sensorListeners[SensorType.LIGHT] = new SensorListener(
+    SensorType.LIGHT,
+    SensorLightData
+);
 
 //// SensorMagneticData
 var SensorMagneticData = function(data) {
     SensorData.call(this);
     Object.defineProperties(this, {
-        x : {value: data.x, writable: false, enumerable: true},
-        y : {value: data.y, writable: false, enumerable: true},
-        z : {value: data.z, writable: false, enumerable: true},
-        accuracy : {value: data.accuracy, writable: false, enumerable: true}
+        x: { value: data.x, writable: false, enumerable: true },
+        y: { value: data.y, writable: false, enumerable: true },
+        z: { value: data.z, writable: false, enumerable: true },
+        accuracy: { value: data.accuracy, writable: false, enumerable: true }
     });
 };
 
@@ -649,14 +687,16 @@ SensorMagneticData.prototype = new SensorData();
 
 SensorMagneticData.prototype.constructor = SensorData;
 
-_sensorListeners[SensorType.MAGNETIC] = new SensorListener(SensorType.MAGNETIC,
-        SensorMagneticData);
+_sensorListeners[SensorType.MAGNETIC] = new SensorListener(
+    SensorType.MAGNETIC,
+    SensorMagneticData
+);
 
 //// SensorPressureData
 var SensorPressureData = function(data) {
     SensorData.call(this);
     Object.defineProperties(this, {
-        pressure : {value: data.pressure, writable: false, enumerable: true}
+        pressure: { value: data.pressure, writable: false, enumerable: true }
     });
 };
 
@@ -664,14 +704,20 @@ SensorPressureData.prototype = new SensorData();
 
 SensorPressureData.prototype.constructor = SensorData;
 
-_sensorListeners[SensorType.PRESSURE] = new SensorListener(SensorType.PRESSURE,
-        SensorPressureData);
+_sensorListeners[SensorType.PRESSURE] = new SensorListener(
+    SensorType.PRESSURE,
+    SensorPressureData
+);
 
 //// SensorProximityData
 var SensorProximityData = function(data) {
     SensorData.call(this);
     Object.defineProperties(this, {
-        proximityState : {value: data.proximityState, writable: false, enumerable: true}
+        proximityState: {
+            value: data.proximityState,
+            writable: false,
+            enumerable: true
+        }
     });
 };
 
@@ -679,49 +725,61 @@ SensorProximityData.prototype = new SensorData();
 
 SensorProximityData.prototype.constructor = SensorData;
 
-_sensorListeners[SensorType.PROXIMITY] = new SensorListener(SensorType.PROXIMITY,
-        SensorProximityData);
+_sensorListeners[SensorType.PROXIMITY] = new SensorListener(
+    SensorType.PROXIMITY,
+    SensorProximityData
+);
 
 //// SensorUltravioletData
 var SensorUltravioletData = function(data) {
     SensorData.call(this);
     Object.defineProperties(this, {
-        ultravioletLevel : {value: data.ultravioletLevel, writable: false, enumerable: true}
+        ultravioletLevel: {
+            value: data.ultravioletLevel,
+            writable: false,
+            enumerable: true
+        }
     });
 };
 
-
 SensorUltravioletData.prototype = new SensorData();
 
 SensorUltravioletData.prototype.constructor = SensorData;
 
-_sensorListeners[SensorType.ULTRAVIOLET] = new SensorListener(SensorType.ULTRAVIOLET,
-        SensorUltravioletData);
+_sensorListeners[SensorType.ULTRAVIOLET] = new SensorListener(
+    SensorType.ULTRAVIOLET,
+    SensorUltravioletData
+);
 
 ////SensorHRMRawData
 var SensorHRMRawData = function(data) {
     SensorData.call(this);
     Object.defineProperties(this, {
-        lightType : {value: data.lightType, writable: false, enumerable: true},
-        lightIntensity : {value: data.lightIntensity, writable: false, enumerable: true}
+        lightType: { value: data.lightType, writable: false, enumerable: true },
+        lightIntensity: {
+            value: data.lightIntensity,
+            writable: false,
+            enumerable: true
+        }
     });
 };
 
-
 SensorHRMRawData.prototype = new SensorData();
 
 SensorHRMRawData.prototype.constructor = SensorData;
 
-_sensorListeners[SensorType.HRM_RAW] = new SensorListener(SensorType.HRM_RAW,
-        SensorHRMRawData);
+_sensorListeners[SensorType.HRM_RAW] = new SensorListener(
+    SensorType.HRM_RAW,
+    SensorHRMRawData
+);
 
 //// SensorGravityData
 var SensorGravityData = function(data) {
     SensorData.call(this);
     Object.defineProperties(this, {
-        x : {value: data.x, writable: false, enumerable: true},
-        y : {value: data.y, writable: false, enumerable: true},
-        z : {value: data.z, writable: false, enumerable: true},
+        x: { value: data.x, writable: false, enumerable: true },
+        y: { value: data.y, writable: false, enumerable: true },
+        z: { value: data.z, writable: false, enumerable: true }
     });
 };
 
@@ -729,16 +787,18 @@ SensorGravityData.prototype = new SensorData();
 
 SensorGravityData.prototype.constructor = SensorData;
 
-_sensorListeners[SensorType.GRAVITY] = new SensorListener(SensorType.GRAVITY,
-        SensorGravityData);
+_sensorListeners[SensorType.GRAVITY] = new SensorListener(
+    SensorType.GRAVITY,
+    SensorGravityData
+);
 
 //// SensorGyroscopeData
 var SensorGyroscopeData = function(data) {
     SensorData.call(this);
     Object.defineProperties(this, {
-        x : {value: data.x, writable: false, enumerable: true},
-        y : {value: data.y, writable: false, enumerable: true},
-        z : {value: data.z, writable: false, enumerable: true},
+        x: { value: data.x, writable: false, enumerable: true },
+        y: { value: data.y, writable: false, enumerable: true },
+        z: { value: data.z, writable: false, enumerable: true }
     });
 };
 
@@ -746,17 +806,19 @@ SensorGyroscopeData.prototype = new SensorData();
 
 SensorGyroscopeData.prototype.constructor = SensorData;
 
-_sensorListeners[SensorType.GYROSCOPE] = new SensorListener(SensorType.GYROSCOPE,
-        SensorGyroscopeData);
+_sensorListeners[SensorType.GYROSCOPE] = new SensorListener(
+    SensorType.GYROSCOPE,
+    SensorGyroscopeData
+);
 
 //// SensorGyroscopeRotationVectorData
 var SensorGyroscopeRotationVectorData = function(data) {
     SensorData.call(this);
     Object.defineProperties(this, {
-        x : {value: data.x, writable: false, enumerable: true},
-        y : {value: data.y, writable: false, enumerable: true},
-        z : {value: data.z, writable: false, enumerable: true},
-        w : {value: data.w, writable: false, enumerable: true},
+        x: { value: data.x, writable: false, enumerable: true },
+        y: { value: data.y, writable: false, enumerable: true },
+        z: { value: data.z, writable: false, enumerable: true },
+        w: { value: data.w, writable: false, enumerable: true }
     });
 };
 
@@ -764,16 +826,18 @@ SensorGyroscopeRotationVectorData.prototype = new SensorData();
 
 SensorGyroscopeRotationVectorData.prototype.constructor = SensorData;
 
-_sensorListeners[SensorType.GYROSCOPE_ROTATION_VECTOR] = new SensorListener(SensorType.GYROSCOPE_ROTATION_VECTOR,
-        SensorGyroscopeRotationVectorData);
+_sensorListeners[SensorType.GYROSCOPE_ROTATION_VECTOR] = new SensorListener(
+    SensorType.GYROSCOPE_ROTATION_VECTOR,
+    SensorGyroscopeRotationVectorData
+);
 
 //// SensorLinearAccelerationData
 var SensorLinearAccelerationData = function(data) {
     SensorData.call(this);
     Object.defineProperties(this, {
-        x : {value: data.x, writable: false, enumerable: true},
-        y : {value: data.y, writable: false, enumerable: true},
-        z : {value: data.z, writable: false, enumerable: true},
+        x: { value: data.x, writable: false, enumerable: true },
+        y: { value: data.y, writable: false, enumerable: true },
+        z: { value: data.z, writable: false, enumerable: true }
     });
 };
 
@@ -781,21 +845,34 @@ SensorLinearAccelerationData.prototype = new SensorData();
 
 SensorLinearAccelerationData.prototype.constructor = SensorData;
 
-_sensorListeners[SensorType.LINEAR_ACCELERATION] = new SensorListener(SensorType.LINEAR_ACCELERATION,
-        SensorLinearAccelerationData);
+_sensorListeners[SensorType.LINEAR_ACCELERATION] = new SensorListener(
+    SensorType.LINEAR_ACCELERATION,
+    SensorLinearAccelerationData
+);
 
-
-//////////////////////SensorHardwareInfo classes//////////////////////////////////////////////////////////
+//////////////////////SensorHardwareInfo classes//////////////////////
 function SensorHardwareInfo(data) {
     Object.defineProperties(this, {
-        name : {value: data.name, writable: false, enumerable: true},
-        type : {value: data.type, writable: false, enumerable: true},
-        vendor : {value: data.vendor, writable: false, enumerable: true},
-        minValue : {value: data.minValue, writable: false, enumerable: true},
-        maxValue : {value: data.maxValue, writable: false,  enumerable: true},
-        resolution : {value: data.resolution, writable: false, enumerable: true},
-        minInterval : {value: data.minInterval, writable: false, enumerable: true},
-        maxBatchCount : {value: data.batchCount, writable: false, enumerable: true}
+        name: { value: data.name, writable: false, enumerable: true },
+        type: { value: data.type, writable: false, enumerable: true },
+        vendor: { value: data.vendor, writable: false, enumerable: true },
+        minValue: { value: data.minValue, writable: false, enumerable: true },
+        maxValue: { value: data.maxValue, writable: false, enumerable: true },
+        resolution: {
+            value: data.resolution,
+            writable: false,
+            enumerable: true
+        },
+        minInterval: {
+            value: data.minInterval,
+            writable: false,
+            enumerable: true
+        },
+        maxBatchCount: {
+            value: data.batchCount,
+            writable: false,
+            enumerable: true
+        }
     });
 }
 // Exports
index 10cfc8514693303c6598f27a76955c6897f8e3b0..f8dbabc89e13955e43308dd96a744cf721efcc2f 100644 (file)
@@ -21,237 +21,241 @@ var validator_ = utils_.validator;
 var types_ = validator_.Types;
 var native_ = new xwalk.utils.NativeManager(extension);
 
-
 var SoundType = {
-  SYSTEM: 'SYSTEM',
-  NOTIFICATION: 'NOTIFICATION',
-  ALARM: 'ALARM',
-  MEDIA: 'MEDIA',
-  VOICE: 'VOICE',
-  RINGTONE: 'RINGTONE'
+    SYSTEM: 'SYSTEM',
+    NOTIFICATION: 'NOTIFICATION',
+    ALARM: 'ALARM',
+    MEDIA: 'MEDIA',
+    VOICE: 'VOICE',
+    RINGTONE: 'RINGTONE'
 };
 
 var SoundModeType = {
-  SOUND: 'SOUND',
-  VIBRATE: 'VIBRATE',
-  MUTE: 'MUTE'
+    SOUND: 'SOUND',
+    VIBRATE: 'VIBRATE',
+    MUTE: 'MUTE'
 };
 
 function _createSoundDeviceInfoArray(e) {
-  var devices_array = [];
+    var devices_array = [];
 
-  e.forEach(function (data) {
-    devices_array.push(new SoundDeviceInfo(data));
-  });
+    e.forEach(function(data) {
+        devices_array.push(new SoundDeviceInfo(data));
+    });
 
-  return devices_array;
-};
+    return devices_array;
+}
 
 function ListenerManager(native, listenerName) {
-  this.listeners = {};
-  this.nextId = 1;
-  this.nativeSet = false;
-  this.native = native;
-  this.listenerName = listenerName;
-};
+    this.listeners = {};
+    this.nextId = 1;
+    this.nativeSet = false;
+    this.native = native;
+    this.listenerName = listenerName;
+}
 
 ListenerManager.prototype.onListenerCalled = function(msg) {
-  var obj = new SoundDeviceInfo(msg);
-  for (var watchId in this.listeners) {
-    if (this.listeners.hasOwnProperty(watchId)) {
-      this.listeners[watchId](obj);
+    var obj = new SoundDeviceInfo(msg);
+    for (var watchId in this.listeners) {
+        if (this.listeners.hasOwnProperty(watchId)) {
+            this.listeners[watchId](obj);
+        }
     }
-  }
 };
 
 ListenerManager.prototype.addListener = function(callback) {
-  var id = this.nextId;
-  if (!this.nativeSet) {
-    this.native.addListener(this.listenerName, this.onListenerCalled.bind(this));
-    this.native.callSync('SoundManager_addDeviceStateChangeListener');
-    this.nativeSet = true;
-  }
+    var id = this.nextId;
+    if (!this.nativeSet) {
+        this.native.addListener(this.listenerName, this.onListenerCalled.bind(this));
+        this.native.callSync('SoundManager_addDeviceStateChangeListener');
+        this.nativeSet = true;
+    }
 
-  this.listeners[id] = callback;
-  ++this.nextId;
+    this.listeners[id] = callback;
+    ++this.nextId;
 
-  return id;
+    return id;
 };
 
 ListenerManager.prototype.removeListener = function(watchId) {
-  if (this.listeners.hasOwnProperty(watchId)) {
-    delete this.listeners[watchId];
-  } else {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-        'Listener with id: ' + watchId + ' does not exist.');
-  }
-
-  if (this.nativeSet && type_.isEmptyObject(this.listeners)) {
-      this.native.callSync('SoundManager_removeDeviceStateChangeListener');
-      this.native.removeListener(this.listenerName);
-      this.nativeSet = false;
-  }
+    if (this.listeners.hasOwnProperty(watchId)) {
+        delete this.listeners[watchId];
+    } else {
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'Listener with id: ' + watchId + ' does not exist.'
+        );
+    }
+
+    if (this.nativeSet && type_.isEmptyObject(this.listeners)) {
+        this.native.callSync('SoundManager_removeDeviceStateChangeListener');
+        this.native.removeListener(this.listenerName);
+        this.nativeSet = false;
+    }
 };
 
 var DEVICE_STATE_CHANGE_LISTENER = 'SoundDeviceStateChangeCallback';
-var soundDeviceStateChangeListener = new ListenerManager(native_, DEVICE_STATE_CHANGE_LISTENER);
+var soundDeviceStateChangeListener = new ListenerManager(
+    native_,
+    DEVICE_STATE_CHANGE_LISTENER
+);
 
 function SoundManager() {}
 
 SoundManager.prototype.getSoundMode = function() {
-  var result = native_.callSync('SoundManager_getSoundMode');
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    var result = native_.callSync('SoundManager_getSoundMode');
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 
-  return native_.getResultObject(result);
+    return native_.getResultObject(result);
 };
 
 SoundManager.prototype.setVolume = function(type, volume) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'type', type: types_.ENUM, values: Object.keys(SoundType)},
-    {name: 'volume', type: types_.DOUBLE}
-  ]);
-
-  if (args.volume < 0 || args.volume > 1) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
-  }
-  var result = native_.callSync('SoundManager_setVolume', args);
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    var args = validator_.validateArgs(arguments, [
+        { name: 'type', type: types_.ENUM, values: Object.keys(SoundType) },
+        { name: 'volume', type: types_.DOUBLE }
+    ]);
+
+    if (args.volume < 0 || args.volume > 1) {
+        throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
+    }
+    var result = native_.callSync('SoundManager_setVolume', args);
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
 SoundManager.prototype.getVolume = function(type) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'type', type: types_.ENUM, values: Object.keys(SoundType)}
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'type', type: types_.ENUM, values: Object.keys(SoundType) }
+    ]);
 
-  var result = native_.callSync('SoundManager_getVolume', args);
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    var result = native_.callSync('SoundManager_getVolume', args);
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 
-  return native_.getResultObject(result);
+    return native_.getResultObject(result);
 };
 
 var _soundModeChangeListener;
 
 function _soundModeChangeListenerCallback(result) {
-  native_.callIfPossible(_soundModeChangeListener, native_.getResultObject(result));
+    native_.callIfPossible(_soundModeChangeListener, native_.getResultObject(result));
 }
 
 SoundManager.prototype.setSoundModeChangeListener = function(callback) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'callback', type: types_.FUNCTION}
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'callback', type: types_.FUNCTION }
+    ]);
 
-  _soundModeChangeListener = args.callback;
-  native_.addListener('SoundModeChangeListener', _soundModeChangeListenerCallback);
+    _soundModeChangeListener = args.callback;
+    native_.addListener('SoundModeChangeListener', _soundModeChangeListenerCallback);
 
-  var result = native_.callSync('SoundManager_setSoundModeChangeListener', {});
+    var result = native_.callSync('SoundManager_setSoundModeChangeListener', {});
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
 SoundManager.prototype.unsetSoundModeChangeListener = function() {
-  native_.removeListener('SoundModeChangeListener', _soundModeChangeListenerCallback);
+    native_.removeListener('SoundModeChangeListener', _soundModeChangeListenerCallback);
 
-  var result = native_.callSync('SoundManager_unsetSoundModeChangeListener', {});
+    var result = native_.callSync('SoundManager_unsetSoundModeChangeListener', {});
 
-  _soundModeChangeListener = undefined;
+    _soundModeChangeListener = undefined;
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
 var _volumeChangeListener;
 
 function _volumeChangeListenerCallback(result) {
-  native_.callIfPossible(_volumeChangeListener, result.type, result.volume);
+    native_.callIfPossible(_volumeChangeListener, result.type, result.volume);
 }
 
 SoundManager.prototype.setVolumeChangeListener = function(callback) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'callback', type: types_.FUNCTION}
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        { name: 'callback', type: types_.FUNCTION }
+    ]);
 
-  _volumeChangeListener = args.callback;
-  native_.addListener('VolumeChangeListener', _volumeChangeListenerCallback);
+    _volumeChangeListener = args.callback;
+    native_.addListener('VolumeChangeListener', _volumeChangeListenerCallback);
 
-  var result = native_.callSync('SoundManager_setVolumeChangeListener', {});
+    var result = native_.callSync('SoundManager_setVolumeChangeListener', {});
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
 SoundManager.prototype.unsetVolumeChangeListener = function() {
-  native_.removeListener('VolumeChangeListener', _volumeChangeListenerCallback);
+    native_.removeListener('VolumeChangeListener', _volumeChangeListenerCallback);
 
-  var result = native_.callSync('SoundManager_unsetVolumeChangeListener', {});
+    var result = native_.callSync('SoundManager_unsetVolumeChangeListener', {});
 
-  _volumeChangeListener = undefined;
+    _volumeChangeListener = undefined;
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
 SoundManager.prototype.getConnectedDeviceList = function() {
-  var result = native_.callSync('SoundManager_getConnectedDeviceList', {});
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    var result = native_.callSync('SoundManager_getConnectedDeviceList', {});
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 
-  var devices = _createSoundDeviceInfoArray(native_.getResultObject(result));
-  return devices;
+    var devices = _createSoundDeviceInfoArray(native_.getResultObject(result));
+    return devices;
 };
 
 SoundManager.prototype.getActivatedDeviceList = function() {
-  var result = native_.callSync('SoundManager_getActivatedDeviceList', {});
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    var result = native_.callSync('SoundManager_getActivatedDeviceList', {});
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 
-  var devices = _createSoundDeviceInfoArray(native_.getResultObject(result));
-  return devices;
+    var devices = _createSoundDeviceInfoArray(native_.getResultObject(result));
+    return devices;
 };
 
 SoundManager.prototype.addDeviceStateChangeListener = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-       name : 'eventCallback',
-       type : types_.FUNCTION
-     }
-  ]);
-
-  return soundDeviceStateChangeListener.addListener(args.eventCallback);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'eventCallback',
+            type: types_.FUNCTION
+        }
+    ]);
+
+    return soundDeviceStateChangeListener.addListener(args.eventCallback);
 };
 
 SoundManager.prototype.removeDeviceStateChangeListener = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-       name : 'watchId',
-       type : types_.LONG
-    }
-  ]);
-
-  soundDeviceStateChangeListener.removeListener(args.watchId);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'watchId',
+            type: types_.LONG
+        }
+    ]);
+
+    soundDeviceStateChangeListener.removeListener(args.watchId);
 };
 
 function SoundDeviceInfo(data) {
-  Object.defineProperties(this, {
-    id: {value: data.id, writable: false, enumerable: true},
-    name: {value: data.name, writable: false, enumerable: true},
-    device : {value: data.device, writable: false, enumerable: true},
-    direction : {value: data.direction, writable: false, enumerable: true},
-    isConnected: {value: data.isConnected, writable: false, enumerable: true},
-    isActivated: {value: data.isActivated, writable: false, enumerable: true},
-  });
-};
+    Object.defineProperties(this, {
+        id: { value: data.id, writable: false, enumerable: true },
+        name: { value: data.name, writable: false, enumerable: true },
+        device: { value: data.device, writable: false, enumerable: true },
+        direction: { value: data.direction, writable: false, enumerable: true },
+        isConnected: { value: data.isConnected, writable: false, enumerable: true },
+        isActivated: { value: data.isActivated, writable: false, enumerable: true }
+    });
+}
 
 exports = new SoundManager();
index a14be23650054c7f3ab43cd30a72121962bdadd7..19ef6fe58e50595b39d0526e1e29a8e95b241c2e 100644 (file)
@@ -27,387 +27,387 @@ var defaultListenerIndex = 0;
 
 //enumeration SystemInfoPropertyId ////////////////////////////////////////////////////
 var SystemInfoPropertyId = {
-        BATTERY : 'BATTERY',
-        CPU : 'CPU',
-        STORAGE : 'STORAGE',
-        DISPLAY : 'DISPLAY',
-        DEVICE_ORIENTATION : 'DEVICE_ORIENTATION',
-        BUILD : 'BUILD',
-        LOCALE : 'LOCALE',
-        NETWORK : 'NETWORK',
-        WIFI_NETWORK : 'WIFI_NETWORK',
-        ETHERNET_NETWORK : 'ETHERNET_NETWORK',
-        CELLULAR_NETWORK : 'CELLULAR_NETWORK',
-        NET_PROXY_NETWORK : 'NET_PROXY_NETWORK',
-        SIM : 'SIM',
-        PERIPHERAL : 'PERIPHERAL',
-        MEMORY : 'MEMORY',
-        CAMERA_FLASH : 'CAMERA_FLASH',
-        ADS : 'ADS'
+    BATTERY: 'BATTERY',
+    CPU: 'CPU',
+    STORAGE: 'STORAGE',
+    DISPLAY: 'DISPLAY',
+    DEVICE_ORIENTATION: 'DEVICE_ORIENTATION',
+    BUILD: 'BUILD',
+    LOCALE: 'LOCALE',
+    NETWORK: 'NETWORK',
+    WIFI_NETWORK: 'WIFI_NETWORK',
+    ETHERNET_NETWORK: 'ETHERNET_NETWORK',
+    CELLULAR_NETWORK: 'CELLULAR_NETWORK',
+    NET_PROXY_NETWORK: 'NET_PROXY_NETWORK',
+    SIM: 'SIM',
+    PERIPHERAL: 'PERIPHERAL',
+    MEMORY: 'MEMORY',
+    CAMERA_FLASH: 'CAMERA_FLASH',
+    ADS: 'ADS'
 };
 
 var SystemInfoPropertyIdToFeature = {
-        BATTERY : 'http://tizen.org/feature/battery',
-        CAMERA_FLASH : 'http://tizen.org/feature/camera.back.flash',
-        CELLULAR_NETWORK : 'http://tizen.org/feature/network.telephony',
-        DISPLAY : 'http://tizen.org/feature/screen',
-        ETHERNET_NETWORK : 'http://tizen.org/feature/network.ethernet',
-        SIM : 'http://tizen.org/feature/network.telephony',
-        NET_PROXY_NETWORK : 'http://tizen.org/feature/network.net_proxy',
-        WIFI_NETWORK : 'http://tizen.org/feature/network.wifi'
+    BATTERY: 'http://tizen.org/feature/battery',
+    CAMERA_FLASH: 'http://tizen.org/feature/camera.back.flash',
+    CELLULAR_NETWORK: 'http://tizen.org/feature/network.telephony',
+    DISPLAY: 'http://tizen.org/feature/screen',
+    ETHERNET_NETWORK: 'http://tizen.org/feature/network.ethernet',
+    SIM: 'http://tizen.org/feature/network.telephony',
+    NET_PROXY_NETWORK: 'http://tizen.org/feature/network.net_proxy',
+    WIFI_NETWORK: 'http://tizen.org/feature/network.wifi'
 };
 
 //class SystemInfoDeviceCapability ////////////////////////////////////////////////////
 function SystemInfoDeviceCapability(data) {
     Object.defineProperties(this, {
-        bluetooth : {
-            value : data.bluetooth,
-            writable : false,
-            enumerable : true
-        },
-        nfc : {
-            value : data.nfc,
-            writable : false,
-            enumerable : true
-        },
-        nfcReservedPush : {
-            value : data.nfcReservedPush,
-            writable : false,
-            enumerable : true
-        },
-        multiTouchCount : {
-            value : Converter_.toOctet(data.multiTouchCount),
-            writable : false,
-            enumerable : true
-        },
-        inputKeyboard : {
-            value : data.inputKeyboard,
-            writable : false,
-            enumerable : true
-        },
-        inputKeyboardLayout : {
-            value : data.inputKeyboardLayout,
-            writable : false,
-            enumerable : true
-        },
-        wifi : {
-            value : data.wifi,
-            writable : false,
-            enumerable : true
-        },
-        wifiDirect : {
-            value : data.wifiDirect,
-            writable : false,
-            enumerable : true
-        },
-        opengles : {
-            value : data.opengles,
-            writable : false,
-            enumerable : true
-        },
-        openglestextureFormat : {
-            value : data.openglestextureFormat,
-            writable : false,
-            enumerable : true
-        },
-        openglesVersion1_1 : {
-            value : data.openglesVersion1_1,
-            writable : false,
-            enumerable : true
-        },
-        openglesVersion2_0 : {
-            value : data.openglesVersion2_0,
-            writable : false,
-            enumerable : true
-        },
-        fmRadio : {
-            value : data.fmRadio,
-            writable : false,
-            enumerable : true
-        },
-        platformVersion : {
-            get : function() {
+        bluetooth: {
+            value: data.bluetooth,
+            writable: false,
+            enumerable: true
+        },
+        nfc: {
+            value: data.nfc,
+            writable: false,
+            enumerable: true
+        },
+        nfcReservedPush: {
+            value: data.nfcReservedPush,
+            writable: false,
+            enumerable: true
+        },
+        multiTouchCount: {
+            value: Converter_.toOctet(data.multiTouchCount),
+            writable: false,
+            enumerable: true
+        },
+        inputKeyboard: {
+            value: data.inputKeyboard,
+            writable: false,
+            enumerable: true
+        },
+        inputKeyboardLayout: {
+            value: data.inputKeyboardLayout,
+            writable: false,
+            enumerable: true
+        },
+        wifi: {
+            value: data.wifi,
+            writable: false,
+            enumerable: true
+        },
+        wifiDirect: {
+            value: data.wifiDirect,
+            writable: false,
+            enumerable: true
+        },
+        opengles: {
+            value: data.opengles,
+            writable: false,
+            enumerable: true
+        },
+        openglestextureFormat: {
+            value: data.openglestextureFormat,
+            writable: false,
+            enumerable: true
+        },
+        openglesVersion1_1: {
+            value: data.openglesVersion1_1,
+            writable: false,
+            enumerable: true
+        },
+        openglesVersion2_0: {
+            value: data.openglesVersion2_0,
+            writable: false,
+            enumerable: true
+        },
+        fmRadio: {
+            value: data.fmRadio,
+            writable: false,
+            enumerable: true
+        },
+        platformVersion: {
+            get: function() {
                 privUtils_.checkPrivilegeAccess(privilege_.SYSTEM);
                 return data.platformVersion;
             },
-            set : function() {},
-            enumerable : true
+            set: function() {},
+            enumerable: true
         },
-        webApiVersion : {
-            get : function() {
+        webApiVersion: {
+            get: function() {
                 privUtils_.checkPrivilegeAccess(privilege_.SYSTEM);
                 return data.webApiVersion;
             },
-            set : function() {},
-            enumerable : true
+            set: function() {},
+            enumerable: true
         },
-        nativeApiVersion : {
-            get : function() {
+        nativeApiVersion: {
+            get: function() {
                 privUtils_.checkPrivilegeAccess(privilege_.SYSTEM);
                 return data.nativeApiVersion;
             },
-            set : function() {},
-            enumerable : true
-        },
-        platformName : {
-            value : data.platformName,
-            writable : false,
-            enumerable : true
-        },
-        camera : {
-            value : data.camera,
-            writable : false,
-            enumerable : true
-        },
-        cameraFront : {
-            value : data.cameraFront,
-            writable : false,
-            enumerable : true
-        },
-        cameraFrontFlash : {
-            value : data.cameraFrontFlash,
-            writable : false,
-            enumerable : true
-        },
-        cameraBack : {
-            value : data.cameraBack,
-            writable : false,
-            enumerable : true
-        },
-        cameraBackFlash : {
-            value : data.cameraBackFlash,
-            writable : false,
-            enumerable : true
-        },
-        location : {
-            value : data.location,
-            writable : false,
-            enumerable : true
-        },
-        locationGps : {
-            value : data.locationGps,
-            writable : false,
-            enumerable : true
-        },
-        locationWps : {
-            value : data.locationWps,
-            writable : false,
-            enumerable : true
-        },
-        microphone : {
-            value : data.microphone,
-            writable : false,
-            enumerable : true
-        },
-        usbHost : {
-            value : data.usbHost,
-            writable : false,
-            enumerable : true
-        },
-        usbAccessory : {
-            value : data.usbAccessory,
-            writable : false,
-            enumerable : true
-        },
-        screenOutputRca : {
-            value : data.screenOutputRca,
-            writable : false,
-            enumerable : true
-        },
-        screenOutputHdmi : {
-            value : data.screenOutputHdmi,
-            writable : false,
-            enumerable : true
-        },
-        platformCoreCpuArch : {
-            value : data.platformCoreCpuArch,
-            writable : false,
-            enumerable : true
-        },
-        platformCoreFpuArch : {
-            value : data.platformCoreFpuArch,
-            writable : false,
-            enumerable : true
-        },
-        sipVoip : {
-            value : data.sipVoip,
-            writable : false,
-            enumerable : true
-        },
-        duid : {
-            value : data.duid,
-            writable : false,
-            enumerable : true
-        },
-        speechRecognition : {
-            value : data.speechRecognition,
-            writable : false,
-            enumerable : true
-        },
-        speechSynthesis : {
-            value : data.speechSynthesis,
-            writable : false,
-            enumerable : true
-        },
-        accelerometer : {
-            value : data.accelerometer,
-            writable : false,
-            enumerable : true
-        },
-        accelerometerWakeup : {
-            value : data.accelerometerWakeup,
-            writable : false,
-            enumerable : true
-        },
-        barometer : {
-            value : data.barometer,
-            writable : false,
-            enumerable : true
-        },
-        barometerWakeup : {
-            value : data.barometerWakeup,
-            writable : false,
-            enumerable : true
-        },
-        gyroscope : {
-            value : data.gyroscope,
-            writable : false,
-            enumerable : true
-        },
-        gyroscopeWakeup : {
-            value : data.gyroscopeWakeup,
-            writable : false,
-            enumerable : true
-        },
-        magnetometer : {
-            value : data.magnetometer,
-            writable : false,
-            enumerable : true
-        },
-        magnetometerWakeup : {
-            value : data.magnetometerWakeup,
-            writable : false,
-            enumerable : true
-        },
-        photometer : {
-            value : data.photometer,
-            writable : false,
-            enumerable : true
-        },
-        photometerWakeup : {
-            value : data.photometerWakeup,
-            writable : false,
-            enumerable : true
-        },
-        proximity : {
-            value : data.proximity,
-            writable : false,
-            enumerable : true
-        },
-        proximityWakeup : {
-            value : data.proximityWakeup,
-            writable : false,
-            enumerable : true
-        },
-        tiltmeter : {
-            value : data.tiltmeter,
-            writable : false,
-            enumerable : true
-        },
-        tiltmeterWakeup : {
-            value : data.tiltmeterWakeup,
-            writable : false,
-            enumerable : true
-        },
-        dataEncryption : {
-            value : data.dataEncryption,
-            writable : false,
-            enumerable : true
-        },
-        graphicsAcceleration : {
-            value : data.graphicsAcceleration,
-            writable : false,
-            enumerable : true
-        },
-        push : {
-            value : data.push,
-            writable : false,
-            enumerable : true
-        },
-        telephony : {
-            value : data.telephony,
-            writable : false,
-            enumerable : true
-        },
-        telephonyMms : {
-            value : data.telephonyMms,
-            writable : false,
-            enumerable : true
-        },
-        telephonySms : {
-            value : data.telephonySms,
-            writable : false,
-            enumerable : true
-        },
-        screenSizeNormal : {
-            value : data.screenSizeNormal,
-            writable : false,
-            enumerable : true
-        },
-        screenSize480_800 : {
-            value : data.screenSize480_800,
-            writable : false,
-            enumerable : true
-        },
-        screenSize720_1280 : {
-            value : data.screenSize720_1280,
-            writable : false,
-            enumerable : true
-        },
-        autoRotation : {
-            value : data.autoRotation,
-            writable : false,
-            enumerable : true
-        },
-        shellAppWidget : {
-            value : data.shellAppWidget,
-            writable : false,
-            enumerable : true
-        },
-        visionImageRecognition : {
-            value : data.visionImageRecognition,
-            writable : false,
-            enumerable : true
-        },
-        visionQrcodeGeneration : {
-            value : data.visionQrcodeGeneration,
-            writable : false,
-            enumerable : true
-        },
-        visionQrcodeRecognition : {
-            value : data.visionQrcodeRecognition,
-            writable : false,
-            enumerable : true
-        },
-        visionFaceRecognition : {
-            value : data.visionFaceRecognition,
-            writable : false,
-            enumerable : true
-        },
-        secureElement : {
-            value : data.secureElement,
-            writable : false,
-            enumerable : true
-        },
-        nativeOspCompatible : {
-            value : data.nativeOspCompatible,
-            writable : false,
-            enumerable : true
-        },
-        profile : {
-            value : data.profile,
-            writable : false,
-            enumerable : true
+            set: function() {},
+            enumerable: true
+        },
+        platformName: {
+            value: data.platformName,
+            writable: false,
+            enumerable: true
+        },
+        camera: {
+            value: data.camera,
+            writable: false,
+            enumerable: true
+        },
+        cameraFront: {
+            value: data.cameraFront,
+            writable: false,
+            enumerable: true
+        },
+        cameraFrontFlash: {
+            value: data.cameraFrontFlash,
+            writable: false,
+            enumerable: true
+        },
+        cameraBack: {
+            value: data.cameraBack,
+            writable: false,
+            enumerable: true
+        },
+        cameraBackFlash: {
+            value: data.cameraBackFlash,
+            writable: false,
+            enumerable: true
+        },
+        location: {
+            value: data.location,
+            writable: false,
+            enumerable: true
+        },
+        locationGps: {
+            value: data.locationGps,
+            writable: false,
+            enumerable: true
+        },
+        locationWps: {
+            value: data.locationWps,
+            writable: false,
+            enumerable: true
+        },
+        microphone: {
+            value: data.microphone,
+            writable: false,
+            enumerable: true
+        },
+        usbHost: {
+            value: data.usbHost,
+            writable: false,
+            enumerable: true
+        },
+        usbAccessory: {
+            value: data.usbAccessory,
+            writable: false,
+            enumerable: true
+        },
+        screenOutputRca: {
+            value: data.screenOutputRca,
+            writable: false,
+            enumerable: true
+        },
+        screenOutputHdmi: {
+            value: data.screenOutputHdmi,
+            writable: false,
+            enumerable: true
+        },
+        platformCoreCpuArch: {
+            value: data.platformCoreCpuArch,
+            writable: false,
+            enumerable: true
+        },
+        platformCoreFpuArch: {
+            value: data.platformCoreFpuArch,
+            writable: false,
+            enumerable: true
+        },
+        sipVoip: {
+            value: data.sipVoip,
+            writable: false,
+            enumerable: true
+        },
+        duid: {
+            value: data.duid,
+            writable: false,
+            enumerable: true
+        },
+        speechRecognition: {
+            value: data.speechRecognition,
+            writable: false,
+            enumerable: true
+        },
+        speechSynthesis: {
+            value: data.speechSynthesis,
+            writable: false,
+            enumerable: true
+        },
+        accelerometer: {
+            value: data.accelerometer,
+            writable: false,
+            enumerable: true
+        },
+        accelerometerWakeup: {
+            value: data.accelerometerWakeup,
+            writable: false,
+            enumerable: true
+        },
+        barometer: {
+            value: data.barometer,
+            writable: false,
+            enumerable: true
+        },
+        barometerWakeup: {
+            value: data.barometerWakeup,
+            writable: false,
+            enumerable: true
+        },
+        gyroscope: {
+            value: data.gyroscope,
+            writable: false,
+            enumerable: true
+        },
+        gyroscopeWakeup: {
+            value: data.gyroscopeWakeup,
+            writable: false,
+            enumerable: true
+        },
+        magnetometer: {
+            value: data.magnetometer,
+            writable: false,
+            enumerable: true
+        },
+        magnetometerWakeup: {
+            value: data.magnetometerWakeup,
+            writable: false,
+            enumerable: true
+        },
+        photometer: {
+            value: data.photometer,
+            writable: false,
+            enumerable: true
+        },
+        photometerWakeup: {
+            value: data.photometerWakeup,
+            writable: false,
+            enumerable: true
+        },
+        proximity: {
+            value: data.proximity,
+            writable: false,
+            enumerable: true
+        },
+        proximityWakeup: {
+            value: data.proximityWakeup,
+            writable: false,
+            enumerable: true
+        },
+        tiltmeter: {
+            value: data.tiltmeter,
+            writable: false,
+            enumerable: true
+        },
+        tiltmeterWakeup: {
+            value: data.tiltmeterWakeup,
+            writable: false,
+            enumerable: true
+        },
+        dataEncryption: {
+            value: data.dataEncryption,
+            writable: false,
+            enumerable: true
+        },
+        graphicsAcceleration: {
+            value: data.graphicsAcceleration,
+            writable: false,
+            enumerable: true
+        },
+        push: {
+            value: data.push,
+            writable: false,
+            enumerable: true
+        },
+        telephony: {
+            value: data.telephony,
+            writable: false,
+            enumerable: true
+        },
+        telephonyMms: {
+            value: data.telephonyMms,
+            writable: false,
+            enumerable: true
+        },
+        telephonySms: {
+            value: data.telephonySms,
+            writable: false,
+            enumerable: true
+        },
+        screenSizeNormal: {
+            value: data.screenSizeNormal,
+            writable: false,
+            enumerable: true
+        },
+        screenSize480_800: {
+            value: data.screenSize480_800,
+            writable: false,
+            enumerable: true
+        },
+        screenSize720_1280: {
+            value: data.screenSize720_1280,
+            writable: false,
+            enumerable: true
+        },
+        autoRotation: {
+            value: data.autoRotation,
+            writable: false,
+            enumerable: true
+        },
+        shellAppWidget: {
+            value: data.shellAppWidget,
+            writable: false,
+            enumerable: true
+        },
+        visionImageRecognition: {
+            value: data.visionImageRecognition,
+            writable: false,
+            enumerable: true
+        },
+        visionQrcodeGeneration: {
+            value: data.visionQrcodeGeneration,
+            writable: false,
+            enumerable: true
+        },
+        visionQrcodeRecognition: {
+            value: data.visionQrcodeRecognition,
+            writable: false,
+            enumerable: true
+        },
+        visionFaceRecognition: {
+            value: data.visionFaceRecognition,
+            writable: false,
+            enumerable: true
+        },
+        secureElement: {
+            value: data.secureElement,
+            writable: false,
+            enumerable: true
+        },
+        nativeOspCompatible: {
+            value: data.nativeOspCompatible,
+            writable: false,
+            enumerable: true
+        },
+        profile: {
+            value: data.profile,
+            writable: false,
+            enumerable: true
         }
     });
 }
@@ -415,15 +415,15 @@ function SystemInfoDeviceCapability(data) {
 //class SystemInfoBattery ////////////////////////////////////////////////////
 function SystemInfoBattery(data) {
     Object.defineProperties(this, {
-        level : {
-            value : data.level,
-            writable : false,
-            enumerable : true
-        },
-        isCharging : {
-            value : data.isCharging,
-            writable : false,
-            enumerable : true
+        level: {
+            value: data.level,
+            writable: false,
+            enumerable: true
+        },
+        isCharging: {
+            value: data.isCharging,
+            writable: false,
+            enumerable: true
         }
     });
 }
@@ -431,7 +431,7 @@ function SystemInfoBattery(data) {
 //class SystemInfoCpu ////////////////////////////////////////////////////
 function SystemInfoCpu(data) {
     Object.defineProperties(this, {
-        load : {
+        load: {
             value: data.load,
             writable: false,
             enumerable: true
@@ -444,31 +444,35 @@ function SystemInfoStorageUnit(data) {
     var _isRemovable = data.isRemovable;
 
     Object.defineProperties(this, {
-        type : {
+        type: {
             value: data.type,
             writable: false,
             enumerable: true
         },
-        capacity : {
+        capacity: {
             value: Converter_.toUnsignedLongLong(data.capacity),
             writable: false,
             enumerable: true
         },
-        availableCapacity : {
-            value : Converter_.toUnsignedLongLong(data.availableCapacity),
-            writable : false,
-            enumerable : true
+        availableCapacity: {
+            value: Converter_.toUnsignedLongLong(data.availableCapacity),
+            writable: false,
+            enumerable: true
         },
-        isRemovable : {
-            value : data.isRemovable,
-            writable : false,
-            enumerable : true
+        isRemovable: {
+            value: data.isRemovable,
+            writable: false,
+            enumerable: true
         },
-        isRemoveable : {
-            enumerable : true,
+        isRemoveable: {
+            enumerable: true,
             get: function() {
-                privUtils_.warn('DEPRECATION WARNING: SystemInfoStorageUnit.isRemoveable is is deprecated and will be '
-                    + 'removed from next release. Use SystemInfoStorageUnit.isRemovable instead.');
+                privUtils_.warn(
+                    'DEPRECATION WARNING: ' +
+                        'SystemInfoStorageUnit.isRemoveable is is deprecated and ' +
+                        'will be removed from next release. Use ' +
+                        'SystemInfoStorageUnit.isRemovable instead.'
+                );
                 return _isRemovable;
             },
             set: function() {}
@@ -484,7 +488,7 @@ function SystemInfoStorage(data) {
         storageArray[i] = new SystemInfoStorageUnit(data.storages[i]);
     }
     Object.defineProperties(this, {
-        units : {
+        units: {
             value: storageArray,
             writable: false,
             enumerable: true
@@ -495,37 +499,37 @@ function SystemInfoStorage(data) {
 //class SystemInfoDisplay ////////////////////////////////////////////////////
 function SystemInfoDisplay(data) {
     Object.defineProperties(this, {
-        resolutionWidth : {
+        resolutionWidth: {
             value: Converter_.toUnsignedLong(data.resolutionWidth),
             writable: false,
             enumerable: true
         },
-        resolutionHeight : {
+        resolutionHeight: {
             value: Converter_.toUnsignedLong(data.resolutionHeight),
             writable: false,
             enumerable: true
         },
-        dotsPerInchWidth : {
+        dotsPerInchWidth: {
             value: Converter_.toUnsignedLong(data.dotsPerInchWidth),
             writable: false,
             enumerable: true
         },
-        dotsPerInchHeight : {
+        dotsPerInchHeight: {
             value: Converter_.toUnsignedLong(data.dotsPerInchHeight),
             writable: false,
             enumerable: true
         },
-        physicalWidth : {
+        physicalWidth: {
             value: Number(data.physicalWidth),
             writable: false,
             enumerable: true
         },
-        physicalHeight : {
+        physicalHeight: {
             value: Number(data.physicalHeight),
             writable: false,
             enumerable: true
         },
-        brightness : {
+        brightness: {
             value: Number(data.brightness),
             writable: false,
             enumerable: true
@@ -536,73 +540,81 @@ function SystemInfoDisplay(data) {
 //class SystemInfoDeviceOrientation ////////////////////////////////////////////////////
 function SystemInfoDeviceOrientation(data) {
     Object.defineProperties(this, {
-        status : {value: data.status, writable: false, enumerable: true},
-        isAutoRotation : {value: data.isAutoRotation, writable: false, enumerable: true}
+        status: { value: data.status, writable: false, enumerable: true },
+        isAutoRotation: { value: data.isAutoRotation, writable: false, enumerable: true }
     });
 }
 
 //class SystemInfoBuild ////////////////////////////////////////////////////
 function SystemInfoBuild(data) {
     Object.defineProperties(this, {
-        model : {value: data.model, writable: false, enumerable: true},
-        manufacturer : {value: data.manufacturer, writable: false, enumerable: true},
-        buildVersion : {value: data.buildVersion, writable: false, enumerable: true}
+        model: { value: data.model, writable: false, enumerable: true },
+        manufacturer: { value: data.manufacturer, writable: false, enumerable: true },
+        buildVersion: { value: data.buildVersion, writable: false, enumerable: true }
     });
 }
 
 //class SystemInfoLocale ////////////////////////////////////////////////////
 function SystemInfoLocale(data) {
     Object.defineProperties(this, {
-        language : {value: data.language, writable: false, enumerable: true},
-        country : {value: data.country, writable: false, enumerable: true}
+        language: { value: data.language, writable: false, enumerable: true },
+        country: { value: data.country, writable: false, enumerable: true }
     });
 }
 //class SystemInfoNetwork ////////////////////////////////////////////////////
 function SystemInfoNetwork(data) {
     Object.defineProperties(this, {
-        networkType : {value: data.networkType, writable: false, enumerable: true}
+        networkType: { value: data.networkType, writable: false, enumerable: true }
     });
 }
 
 //class SystemInfoWifiNetwork ////////////////////////////////////////////////////
 function SystemInfoWifiNetwork(data) {
     Object.defineProperties(this, {
-        status : {value: data.status, writable: false, enumerable: true},
-        ssid : {value: data.ssid, writable: false, enumerable: true},
-        ipAddress : {value: data.ipAddress, writable: false, enumerable: true},
-        ipv6Address : {value: data.ipv6Address, writable: false, enumerable: true},
-        macAddress : {value: data.macAddress, writable: false, enumerable: true},
-        signalStrength : {value: Number(data.signalStrength), writable: false, enumerable: true}
+        status: { value: data.status, writable: false, enumerable: true },
+        ssid: { value: data.ssid, writable: false, enumerable: true },
+        ipAddress: { value: data.ipAddress, writable: false, enumerable: true },
+        ipv6Address: { value: data.ipv6Address, writable: false, enumerable: true },
+        macAddress: { value: data.macAddress, writable: false, enumerable: true },
+        signalStrength: {
+            value: Number(data.signalStrength),
+            writable: false,
+            enumerable: true
+        }
     });
 }
 
 //class SystemInfoEthernetNetwork ////////////////////////////////////////////////////
 function SystemInfoEthernetNetwork(data) {
     Object.defineProperties(this, {
-        cable : {value: data.cable, writable: false, enumerable: true},
-        status : {value: data.status, writable: false, enumerable: true},
-        ipAddress : {value: data.ipAddress, writable: false, enumerable: true},
-        ipv6Address : {value: data.ipv6Address, writable: false, enumerable: true},
-        macAddress : {value: data.macAddress, writable: false, enumerable: true},
+        cable: { value: data.cable, writable: false, enumerable: true },
+        status: { value: data.status, writable: false, enumerable: true },
+        ipAddress: { value: data.ipAddress, writable: false, enumerable: true },
+        ipv6Address: { value: data.ipv6Address, writable: false, enumerable: true },
+        macAddress: { value: data.macAddress, writable: false, enumerable: true }
     });
 }
 
 //class SystemInfoCellularNetwork ////////////////////////////////////////////////////
 function SystemInfoCellularNetwork(data) {
     Object.defineProperties(this, {
-        status : {value: data.status, writable: false, enumerable: true},
-        apn : {value: data.apn, writable: false, enumerable: true},
-        ipAddress : {value: data.ipAddress, writable: false, enumerable: true},
-        ipv6Address : {value: data.ipv6Address, writable: false, enumerable: true},
-        mcc : {value: Number(data.mcc), writable: false, enumerable: true},
-        mnc : {value: Number(data.mnc), writable: false, enumerable: true},
-        cellId : {value: Number(data.cellId), writable: false, enumerable: true},
-        lac : {value: Number(data.lac), writable: false, enumerable: true},
-        isRoaming : {value: data.isRoaming, writable: false, enumerable: true},
-        isFlightMode : {value: data.isFligthMode, writable: false, enumerable: true},
-        imei : {
+        status: { value: data.status, writable: false, enumerable: true },
+        apn: { value: data.apn, writable: false, enumerable: true },
+        ipAddress: { value: data.ipAddress, writable: false, enumerable: true },
+        ipv6Address: { value: data.ipv6Address, writable: false, enumerable: true },
+        mcc: { value: Number(data.mcc), writable: false, enumerable: true },
+        mnc: { value: Number(data.mnc), writable: false, enumerable: true },
+        cellId: { value: Number(data.cellId), writable: false, enumerable: true },
+        lac: { value: Number(data.lac), writable: false, enumerable: true },
+        isRoaming: { value: data.isRoaming, writable: false, enumerable: true },
+        isFlightMode: { value: data.isFligthMode, writable: false, enumerable: true },
+        imei: {
             get: function() {
-                privUtils_.checkPrivilegeAccess4Ver("2.3.1", privilege_.TELEPHONY, privilege_.SYSTEMMANAGER);
+                privUtils_.checkPrivilegeAccess4Ver(
+                    '2.3.1',
+                    privilege_.TELEPHONY,
+                    privilege_.SYSTEMMANAGER
+                );
                 return data.imei;
             },
             set: function() {},
@@ -614,14 +626,14 @@ function SystemInfoCellularNetwork(data) {
 //class SystemInfoNetProxyNetwork ////////////////////////////////////////////////////
 function SystemInfoNetProxyNetwork(data) {
     Object.defineProperties(this, {
-        status : {value: data.status, writable: false, enumerable: true},
+        status: { value: data.status, writable: false, enumerable: true }
     });
 }
 
 //class SystemInfoSIM ////////////////////////////////////////////////////
 function SystemInfoSIM(data) {
     Object.defineProperties(this, {
-        state : {
+        state: {
             get: function() {
                 privUtils_.checkPrivilegeAccess(privilege_.SYSTEM);
                 return data.state;
@@ -629,7 +641,7 @@ function SystemInfoSIM(data) {
             set: function() {},
             enumerable: true
         },
-        operatorName : {
+        operatorName: {
             get: function() {
                 privUtils_.checkPrivilegeAccess(privilege_.SYSTEM);
                 return data.operatorName;
@@ -637,15 +649,19 @@ function SystemInfoSIM(data) {
             set: function() {},
             enumerable: true
         },
-        msisdn : {
+        msisdn: {
             get: function() {
-                privUtils_.checkPrivilegeAccess4Ver("2.3.1", privilege_.TELEPHONY, privilege_.SYSTEMMANAGER);
+                privUtils_.checkPrivilegeAccess4Ver(
+                    '2.3.1',
+                    privilege_.TELEPHONY,
+                    privilege_.SYSTEMMANAGER
+                );
                 return data.msisdn;
             },
             set: function() {},
             enumerable: true
         },
-        iccid : {
+        iccid: {
             get: function() {
                 privUtils_.checkPrivilegeAccess(privilege_.SYSTEM);
                 return data.iccid;
@@ -653,7 +669,7 @@ function SystemInfoSIM(data) {
             set: function() {},
             enumerable: true
         },
-        mcc : {
+        mcc: {
             get: function() {
                 privUtils_.checkPrivilegeAccess(privilege_.SYSTEM);
                 return Number(data.mcc);
@@ -661,7 +677,7 @@ function SystemInfoSIM(data) {
             set: function() {},
             enumerable: true
         },
-        mnc : {
+        mnc: {
             get: function() {
                 privUtils_.checkPrivilegeAccess(privilege_.SYSTEM);
                 return Number(data.mnc);
@@ -669,92 +685,104 @@ function SystemInfoSIM(data) {
             set: function() {},
             enumerable: true
         },
-        msin : {
+        msin: {
             get: function() {
-                privUtils_.checkPrivilegeAccess4Ver("2.3.1", privilege_.TELEPHONY, privilege_.SYSTEMMANAGER);
+                privUtils_.checkPrivilegeAccess4Ver(
+                    '2.3.1',
+                    privilege_.TELEPHONY,
+                    privilege_.SYSTEMMANAGER
+                );
                 return data.msin;
             },
             set: function() {},
             enumerable: true
         },
-        spn : {
+        spn: {
             get: function() {
                 privUtils_.checkPrivilegeAccess(privilege_.SYSTEM);
                 return data.spn;
             },
             set: function() {},
             enumerable: true
-        },
+        }
     });
 }
 
 //class SystemInfoPeripheral ////////////////////////////////////////////////////
 function SystemInfoPeripheral(data) {
     Object.defineProperties(this, {
-        isVideoOutputOn : {value: data.isVideoOutputOn, writable: false, enumerable: true}
+        isVideoOutputOn: {
+            value: data.isVideoOutputOn,
+            writable: false,
+            enumerable: true
+        }
     });
 }
 
 //class SystemInfoMemory ////////////////////////////////////////////////////
 function SystemInfoMemory(data) {
     Object.defineProperties(this, {
-        status : {value: data.state, writable: false, enumerable: true}
+        status: { value: data.state, writable: false, enumerable: true }
     });
 }
 
 function SystemInfoCameraFlash(data) {
-  var getBrightness = function() {
-      var result = native_.callSync('SystemInfo_getBrightness', {});
-      if (native_.isSuccess(result)) {
-        return Converter_.toLong(native_.getResultObject(result)) / this.levels;
-      }
-      return null;
+    var getBrightness = function() {
+        var result = native_.callSync('SystemInfo_getBrightness', {});
+        if (native_.isSuccess(result)) {
+            return Converter_.toLong(native_.getResultObject(result)) / this.levels;
+        }
+        return null;
     };
 
-  var getLevels = function() {
-      var result = native_.callSync('SystemInfo_getMaxBrightness', {});
-      if (native_.isSuccess(result)) {
-        return Converter_.toLong(native_.getResultObject(result));
-      }
-      return null;
+    var getLevels = function() {
+        var result = native_.callSync('SystemInfo_getMaxBrightness', {});
+        if (native_.isSuccess(result)) {
+            return Converter_.toLong(native_.getResultObject(result));
+        }
+        return null;
     };
 
-  Object.defineProperties(this, {
-        brightness : {set : function(){}, get: getBrightness, enumerable: true},
-        camera : {value: data.camera, enumerable: true},
-        levels : {get: getLevels, enumerable: true},
+    Object.defineProperties(this, {
+        brightness: { set: function() {}, get: getBrightness, enumerable: true },
+        camera: { value: data.camera, enumerable: true },
+        levels: { get: getLevels, enumerable: true }
     });
 }
 
 //class SystemInfoADS ////////////////////////////////////////////////////
 function SystemInfoADS(data) {
     Object.defineProperties(this, {
-        id : {value: data.id, writable: false, enumerable: true},
+        id: { value: data.id, writable: false, enumerable: true }
     });
 }
 
 SystemInfoCameraFlash.prototype.setBrightness = function(brightness) {
-  var args = validator_.validateArgs(arguments, [
-    {name: 'brightness', type: types_.DOUBLE}
-  ]);
-  if (args.brightness < 0 || args.brightness > 1)
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-                              'Value is not between 0 and 1');
-  args.brightness = args.brightness * this.levels;
-
-  var result = native_.callSync('SystemInfo_setBrightness', args);
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-  this.brightness = result;
+    var args = validator_.validateArgs(arguments, [
+        { name: 'brightness', type: types_.DOUBLE }
+    ]);
+    if (args.brightness < 0 || args.brightness > 1)
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'Value is not between 0 and 1'
+        );
+    args.brightness = args.brightness * this.levels;
+
+    var result = native_.callSync('SystemInfo_setBrightness', args);
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+    this.brightness = result;
 };
 
 //class SystemInfo ////////////////////////////////////////////////////
-var SystemInfo = function() {
-};
+var SystemInfo = function() {};
 
 SystemInfo.prototype.getCapabilities = function() {
-    privUtils_.warn('DEPRECATION WARNING: getCapabilities() is deprecated and will be removed from next release. Use getCapability() instead.');
+    privUtils_.warn(
+        'DEPRECATION WARNING: getCapabilities() is deprecated ' +
+            'and will be removed from next release. Use getCapability() instead.'
+    );
 
     var result = native_.callSync('SystemInfo_getCapabilities', {});
     if (native_.isFailure(result)) {
@@ -766,13 +794,13 @@ SystemInfo.prototype.getCapabilities = function() {
 
 SystemInfo.prototype.getCapability = function() {
     var args = validator_.validateArgs(arguments, [
-             {
-                 name : 'key',
-                 type : types_.STRING
-             }
-             ]);
+        {
+            name: 'key',
+            type: types_.STRING
+        }
+    ]);
 
-    var result = native_.callSync('SystemInfo_getCapability', {key: args.key});
+    var result = native_.callSync('SystemInfo_getCapability', { key: args.key });
     if (native_.isFailure(result)) {
         throw native_.getErrorObject(result);
     }
@@ -784,32 +812,41 @@ SystemInfo.prototype.getCapability = function() {
     }
 };
 
-
-var _createProperty = function (property, data) {
-    if (_propertyContainer[property]){
+var _createProperty = function(property, data) {
+    if (_propertyContainer[property]) {
         return new _propertyContainer[property].constructor(data);
     } else {
-        throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR, 'Property with id: ' + property + ' is not supported.');
+        throw new WebAPIException(
+            WebAPIException.TYPE_MISMATCH_ERR,
+            'Property with id: ' + property + ' is not supported.'
+        );
     }
 };
 
-var _createPropertyArray = function (property, data) {
+var _createPropertyArray = function(property, data) {
     var jsonArray = data.array;
     var propertyArray = [];
-    if (_propertyContainer[property]){
+    if (_propertyContainer[property]) {
         var arrayLength = jsonArray.length;
         for (var i = 0; i < arrayLength; i++) {
-            propertyArray.push(new _propertyContainer[property].constructor(jsonArray[i]));
+            propertyArray.push(
+                new _propertyContainer[property].constructor(jsonArray[i])
+            );
         }
     } else {
-        throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR, 'Property with id: ' + property + ' is not supported.');
+        throw new WebAPIException(
+            WebAPIException.TYPE_MISMATCH_ERR,
+            'Property with id: ' + property + ' is not supported.'
+        );
     }
     return propertyArray;
 };
 
-var _checkPropertySupported = function(property){
+var _checkPropertySupported = function(property) {
     if (SystemInfoPropertyIdToFeature[property]) {
-        var supported = tizen.systeminfo.getCapability(SystemInfoPropertyIdToFeature[property]);
+        var supported = tizen.systeminfo.getCapability(
+            SystemInfoPropertyIdToFeature[property]
+        );
         if (!supported) {
             return false;
         }
@@ -819,37 +856,44 @@ var _checkPropertySupported = function(property){
 
 var getPropertyFunction = function(cppLabel, objectCreateFunction) {
     return function() {
-        if (arguments[0] === "CELLULAR_NETWORK") {
-            privUtils_.checkPrivilegeAccess4Ver("2.4", privilege_.TELEPHONY);
+        if (arguments[0] === 'CELLULAR_NETWORK') {
+            privUtils_.checkPrivilegeAccess4Ver('2.4', privilege_.TELEPHONY);
         }
 
         var args = validator_.validateArgs(arguments, [
-                 {
-                     name : 'property',
-                     type : types_.ENUM,
-                     values : T_.getValues(SystemInfoPropertyId)
-                 },
-                 {
-                     name : 'successCallback',
-                     type : types_.FUNCTION
-                 },
-                 {
-                     name : 'errorCallback',
-                     type : types_.FUNCTION,
-                     optional : true,
-                     nullable : true
-                 }
-                 ]);
+            {
+                name: 'property',
+                type: types_.ENUM,
+                values: T_.getValues(SystemInfoPropertyId)
+            },
+            {
+                name: 'successCallback',
+                type: types_.FUNCTION
+            },
+            {
+                name: 'errorCallback',
+                type: types_.FUNCTION,
+                optional: true,
+                nullable: true
+            }
+        ]);
         var propObject = _propertyContainer[args.property];
         if (!propObject) {
-            throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR, 'Property with id: ' + args.property + ' is not supported.');
+            throw new WebAPIException(
+                WebAPIException.TYPE_MISMATCH_ERR,
+                'Property with id: ' + args.property + ' is not supported.'
+            );
         }
 
         if (_checkPropertySupported(args.property) === false) {
             setTimeout(function() {
-                native_.callIfPossible(args.errorCallback,
-                    new WebAPIException(WebAPIException.NOT_SUPPORTED_ERR,
-                    'Property with id: ' + args.property + ' is not supported.'));
+                native_.callIfPossible(
+                    args.errorCallback,
+                    new WebAPIException(
+                        WebAPIException.NOT_SUPPORTED_ERR,
+                        'Property with id: ' + args.property + ' is not supported.'
+                    )
+                );
             }, 0);
             return;
         }
@@ -857,23 +901,35 @@ var getPropertyFunction = function(cppLabel, objectCreateFunction) {
         var callback = function(result) {
             if (native_.isFailure(result)) {
                 setTimeout(function() {
-                    native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+                    native_.callIfPossible(
+                        args.errorCallback,
+                        native_.getErrorObject(result)
+                    );
                 }, 0);
             } else {
-                var resultProp = objectCreateFunction(args.property, native_.getResultObject(result));
+                var resultProp = objectCreateFunction(
+                    args.property,
+                    native_.getResultObject(result)
+                );
                 args.successCallback(resultProp);
             }
         };
-        native_.call(cppLabel, {property: args.property}, callback);
+        native_.call(cppLabel, { property: args.property }, callback);
     };
-}
+};
 
 SystemInfo.prototype.getPropertyValue = function() {
-  getPropertyFunction('SystemInfo_getPropertyValue', _createProperty).apply(this, arguments);
+    getPropertyFunction('SystemInfo_getPropertyValue', _createProperty).apply(
+        this,
+        arguments
+    );
 };
 
 SystemInfo.prototype.getPropertyValueArray = function() {
-  getPropertyFunction('SystemInfo_getPropertyValueArray', _createPropertyArray).apply(this, arguments);
+    getPropertyFunction('SystemInfo_getPropertyValueArray', _createPropertyArray).apply(
+        this,
+        arguments
+    );
 };
 
 //SystemInfo helpers ///////////////////////////////////////////////////
@@ -896,7 +952,6 @@ var _cameraFlashStr = SystemInfoPropertyId.CAMERA_FLASH;
 
 var _nextId = 0;
 
-
 function _systeminfoBatteryListenerCallback(eventObj) {
     var property = _batteryStr;
     var callbacks = _propertyContainer[property].callbacks;
@@ -904,22 +959,32 @@ function _systeminfoBatteryListenerCallback(eventObj) {
     for (var watchId in callbacks) {
         if (callbacks.hasOwnProperty(watchId)) {
             var listener = callbacks[watchId];
-            var propObj = !listener.isArrayType ?
-                    _createProperty(property, eventObj.result.array[0]) :
-                        _createPropertyArray(property, eventObj.result);
+            var propObj = !listener.isArrayType
+                ? _createProperty(property, eventObj.result.array[0])
+                : _createPropertyArray(property, eventObj.result);
             /*
              * According to documentation, the condition should look like this:
              *
-             * (T_.isUndefined(listener.lowThreshold) && T_.isUndefined(listener.highThreshold)) ||
-             * (!T_.isUndefined(listener.lowThreshold) && !T_.isUndefined(listener.highThreshold) && (propObj.level <= listener.lowThreshold || propObj.level >= listener.highThreshold)) ||
-             * (!T_.isUndefined(listener.lowThreshold) && (propObj.level <= listener.lowThreshold)) ||
-             * (!T_.isUndefined(listener.highThreshold) && (propObj.level >= listener.highThreshold))
+             * (T_.isUndefined(listener.lowThreshold) &&
+             * T_.isUndefined(listener.highThreshold)) ||
+             * (!T_.isUndefined(listener.lowThreshold) &&
+             * !T_.isUndefined(listener.highThreshold) &&
+             * (propObj.level <= listener.lowThreshold ||
+             * propObj.level >= listener.highThreshold)) ||
+             * (!T_.isUndefined(listener.lowThreshold) &&
+             * (propObj.level <= listener.lowThreshold)) ||
+             * (!T_.isUndefined(listener.highThreshold) &&
+             * (propObj.level >= listener.highThreshold))
              *
              * but it can be optimized like this:
              */
-            var executeCall = (T_.isUndefined(listener.lowThreshold) && T_.isUndefined(listener.highThreshold)) ||
-                              (!T_.isUndefined(listener.lowThreshold) && propObj.level <= listener.lowThreshold) ||
-                              (!T_.isUndefined(listener.highThreshold) && propObj.level >= listener.highThreshold);
+            var executeCall =
+                (T_.isUndefined(listener.lowThreshold) &&
+                    T_.isUndefined(listener.highThreshold)) ||
+                (!T_.isUndefined(listener.lowThreshold) &&
+                    propObj.level <= listener.lowThreshold) ||
+                (!T_.isUndefined(listener.highThreshold) &&
+                    propObj.level >= listener.highThreshold);
 
             if (executeCall) {
                 listener.callback(propObj);
@@ -935,15 +1000,19 @@ function _systeminfoCpuListenerCallback(eventObj) {
     for (var watchId in callbacks) {
         if (callbacks.hasOwnProperty(watchId)) {
             var listener = callbacks[watchId];
-            var propObj = !listener.isArrayType ?
-                    _createProperty(property, eventObj.result.array[0]) :
-                        _createPropertyArray(property, eventObj.result);
+            var propObj = !listener.isArrayType
+                ? _createProperty(property, eventObj.result.array[0])
+                : _createPropertyArray(property, eventObj.result);
             /*
              * Optimized condition:
              * */
-            var executeCall = (T_.isUndefined(listener.lowThreshold) && T_.isUndefined(listener.highThreshold)) ||
-                              (!T_.isUndefined(listener.lowThreshold) && propObj.load <= listener.lowThreshold) ||
-                              (!T_.isUndefined(listener.highThreshold) && propObj.load >= listener.highThreshold);
+            var executeCall =
+                (T_.isUndefined(listener.lowThreshold) &&
+                    T_.isUndefined(listener.highThreshold)) ||
+                (!T_.isUndefined(listener.lowThreshold) &&
+                    propObj.load <= listener.lowThreshold) ||
+                (!T_.isUndefined(listener.highThreshold) &&
+                    propObj.load >= listener.highThreshold);
             if (executeCall) {
                 listener.callback(propObj);
             }
@@ -958,9 +1027,9 @@ function _systeminfoStorageListenerCallback(eventObj) {
     for (var watchId in callbacks) {
         if (callbacks.hasOwnProperty(watchId)) {
             var listener = callbacks[watchId];
-            var propObj = !listener.isArrayType ?
-                    _createProperty(property, eventObj.result.array[0]) :
-                        _createPropertyArray(property, eventObj.result);
+            var propObj = !listener.isArrayType
+                ? _createProperty(property, eventObj.result.array[0])
+                : _createPropertyArray(property, eventObj.result);
             callbacks[watchId].callback(propObj);
         }
     }
@@ -973,15 +1042,19 @@ function _systeminfoDisplayListenerCallback(eventObj) {
     for (var watchId in callbacks) {
         if (callbacks.hasOwnProperty(watchId)) {
             var listener = callbacks[watchId];
-            var propObj = !listener.isArrayType ?
-                    _createProperty(property, eventObj.result.array[0]) :
-                        _createPropertyArray(property, eventObj.result);
+            var propObj = !listener.isArrayType
+                ? _createProperty(property, eventObj.result.array[0])
+                : _createPropertyArray(property, eventObj.result);
             /*
              * Optimized condition:
              * */
-            var executeCall = (T_.isUndefined(listener.lowThreshold) && T_.isUndefined(listener.highThreshold)) ||
-                              (!T_.isUndefined(listener.lowThreshold) && propObj.brightness <= listener.lowThreshold) ||
-                              (!T_.isUndefined(listener.highThreshold) && propObj.brightness >= listener.highThreshold);
+            var executeCall =
+                (T_.isUndefined(listener.lowThreshold) &&
+                    T_.isUndefined(listener.highThreshold)) ||
+                (!T_.isUndefined(listener.lowThreshold) &&
+                    propObj.brightness <= listener.lowThreshold) ||
+                (!T_.isUndefined(listener.highThreshold) &&
+                    propObj.brightness >= listener.highThreshold);
             if (executeCall) {
                 listener.callback(propObj);
             }
@@ -996,9 +1069,9 @@ function _systeminfoDeviceOrientationListenerCallback(eventObj) {
     for (var watchId in callbacks) {
         if (callbacks.hasOwnProperty(watchId)) {
             var listener = callbacks[watchId];
-            var propObj = !listener.isArrayType ?
-                    _createProperty(property, eventObj.result.array[0]) :
-                        _createPropertyArray(property, eventObj.result);
+            var propObj = !listener.isArrayType
+                ? _createProperty(property, eventObj.result.array[0])
+                : _createPropertyArray(property, eventObj.result);
             callbacks[watchId].callback(propObj);
         }
     }
@@ -1011,9 +1084,9 @@ function _systeminfoLocaleListenerCallback(eventObj) {
     for (var watchId in callbacks) {
         if (callbacks.hasOwnProperty(watchId)) {
             var listener = callbacks[watchId];
-            var propObj = !listener.isArrayType ?
-                    _createProperty(property, eventObj.result.array[0]) :
-                        _createPropertyArray(property, eventObj.result);
+            var propObj = !listener.isArrayType
+                ? _createProperty(property, eventObj.result.array[0])
+                : _createPropertyArray(property, eventObj.result);
             callbacks[watchId].callback(propObj);
         }
     }
@@ -1026,9 +1099,9 @@ function _systeminfoNetworkListenerCallback(eventObj) {
     for (var watchId in callbacks) {
         if (callbacks.hasOwnProperty(watchId)) {
             var listener = callbacks[watchId];
-            var propObj = !listener.isArrayType ?
-                    _createProperty(property, eventObj.result.array[0]) :
-                        _createPropertyArray(property, eventObj.result);
+            var propObj = !listener.isArrayType
+                ? _createProperty(property, eventObj.result.array[0])
+                : _createPropertyArray(property, eventObj.result);
             callbacks[watchId].callback(propObj);
         }
     }
@@ -1041,27 +1114,27 @@ function _systeminfoWifiNetworkListenerCallback(eventObj) {
     for (var watchId in callbacks) {
         if (callbacks.hasOwnProperty(watchId)) {
             var listener = callbacks[watchId];
-            var propObj = !listener.isArrayType ?
-                    _createProperty(property, eventObj.result.array[0]) :
-                        _createPropertyArray(property, eventObj.result);
+            var propObj = !listener.isArrayType
+                ? _createProperty(property, eventObj.result.array[0])
+                : _createPropertyArray(property, eventObj.result);
             callbacks[watchId].callback(propObj);
         }
     }
 }
 
 function _systeminfoEthernetNetworkListenerCallback(eventObj) {
-  var property = _ethernetNetworkStr;
-  var callbacks = _propertyContainer[property].callbacks;
-
-  for (var watchId in callbacks) {
-      if (callbacks.hasOwnProperty(watchId)) {
-          var listener = callbacks[watchId];
-          var propObj = !listener.isArrayType ?
-                  _createProperty(property, eventObj.result.array[0]) :
-                      _createPropertyArray(property, eventObj.result);
-          callbacks[watchId].callback(propObj);
-      }
-  }
+    var property = _ethernetNetworkStr;
+    var callbacks = _propertyContainer[property].callbacks;
+
+    for (var watchId in callbacks) {
+        if (callbacks.hasOwnProperty(watchId)) {
+            var listener = callbacks[watchId];
+            var propObj = !listener.isArrayType
+                ? _createProperty(property, eventObj.result.array[0])
+                : _createPropertyArray(property, eventObj.result);
+            callbacks[watchId].callback(propObj);
+        }
+    }
 }
 
 function _systeminfoCellularNetworkListenerCallback(eventObj) {
@@ -1071,14 +1144,17 @@ function _systeminfoCellularNetworkListenerCallback(eventObj) {
     for (var watchId in callbacks) {
         if (callbacks.hasOwnProperty(watchId)) {
             var listener = callbacks[watchId];
-            if (!listener.isArrayType && eventObj.changedPropertyIndex != defaultListenerIndex) {
+            if (
+                !listener.isArrayType &&
+                eventObj.changedPropertyIndex != defaultListenerIndex
+            ) {
                 // if this is not arrayListener, ignore events of non-default SIM
                 return;
             }
 
-            var propObj = !listener.isArrayType ?
-                    _createProperty(property, eventObj.result.array[0]) :
-                        _createPropertyArray(property, eventObj.result);
+            var propObj = !listener.isArrayType
+                ? _createProperty(property, eventObj.result.array[0])
+                : _createPropertyArray(property, eventObj.result);
             callbacks[watchId].callback(propObj);
         }
     }
@@ -1091,9 +1167,9 @@ function _systeminfoNetProxyNetworkListenerCallback(eventObj) {
     for (var watchId in callbacks) {
         if (callbacks.hasOwnProperty(watchId)) {
             var listener = callbacks[watchId];
-            var propObj = !listener.isArrayType ?
-                    _createProperty(property, eventObj.result.array[0]) :
-                        _createPropertyArray(property, eventObj.result);
+            var propObj = !listener.isArrayType
+                ? _createProperty(property, eventObj.result.array[0])
+                : _createPropertyArray(property, eventObj.result);
             callbacks[watchId].callback(propObj);
         }
     }
@@ -1106,9 +1182,9 @@ function _systeminfoSimListenerCallback(eventObj) {
     for (var watchId in callbacks) {
         if (callbacks.hasOwnProperty(watchId)) {
             var listener = callbacks[watchId];
-            var propObj = !listener.isArrayType ?
-                    _createProperty(property, eventObj.result.array[0]) :
-                        _createPropertyArray(property, eventObj.result);
+            var propObj = !listener.isArrayType
+                ? _createProperty(property, eventObj.result.array[0])
+                : _createPropertyArray(property, eventObj.result);
             callbacks[watchId].callback(propObj);
         }
     }
@@ -1121,9 +1197,9 @@ function _systeminfoPeripheralListenerCallback(eventObj) {
     for (var watchId in callbacks) {
         if (callbacks.hasOwnProperty(watchId)) {
             var listener = callbacks[watchId];
-            var propObj = !listener.isArrayType ?
-                    _createProperty(property, eventObj.result.array[0]) :
-                        _createPropertyArray(property, eventObj.result);
+            var propObj = !listener.isArrayType
+                ? _createProperty(property, eventObj.result.array[0])
+                : _createPropertyArray(property, eventObj.result);
             callbacks[watchId].callback(propObj);
         }
     }
@@ -1136,132 +1212,132 @@ function _systeminfoMemoryListenerCallback(eventObj) {
     for (var watchId in callbacks) {
         if (callbacks.hasOwnProperty(watchId)) {
             var listener = callbacks[watchId];
-            var propObj = !listener.isArrayType ?
-                    _createProperty(property, eventObj.result.array[0]) :
-                        _createPropertyArray(property, eventObj.result);
+            var propObj = !listener.isArrayType
+                ? _createProperty(property, eventObj.result.array[0])
+                : _createPropertyArray(property, eventObj.result);
             callbacks[watchId].callback(propObj);
         }
     }
 }
 
-function  _systeminfoCameraFlashListenerCallback(eventObj) {
+function _systeminfoCameraFlashListenerCallback(eventObj) {
     var property = _cameraFlashStr;
     var callbacks = _propertyContainer[property].callbacks;
 
     for (var watchId in callbacks) {
         if (callbacks.hasOwnProperty(watchId)) {
             var listener = callbacks[watchId];
-            var propObj = !listener.isArrayType ?
-                    _createProperty(property, eventObj.result.array[0]) :
-                        _createPropertyArray(property, eventObj.result);
+            var propObj = !listener.isArrayType
+                ? _createProperty(property, eventObj.result.array[0])
+                : _createPropertyArray(property, eventObj.result);
             callbacks[watchId].callback(propObj);
         }
     }
 }
 
 var _propertyContainer = {
-        'BATTERY' : {
-            callbacks : {},
-            constructor : SystemInfoBattery,
-            broadcastFunction : _systeminfoBatteryListenerCallback,
-            signalLabel : 'SystemInfoBatteryChangeBroadcast'
-        },
-        'CPU' : {
-            callbacks : {},
-            constructor : SystemInfoCpu,
-            broadcastFunction : _systeminfoCpuListenerCallback,
-            signalLabel : 'SystemInfoCpuChangeBroadcast'
-        },
-        'STORAGE' : {
-            callbacks : {},
-            constructor : SystemInfoStorage,
-            broadcastFunction : _systeminfoStorageListenerCallback,
-            signalLabel : 'SystemInfoStorageChangeBroadcast'
-        },
-        'DISPLAY' : {
-            callbacks : {},
-            constructor : SystemInfoDisplay,
-            broadcastFunction : _systeminfoDisplayListenerCallback,
-            signalLabel : 'SystemInfoDisplayChangeBroadcast'
-        },
-        'DEVICE_ORIENTATION' : {
-            callbacks : {},
-            constructor : SystemInfoDeviceOrientation,
-            broadcastFunction : _systeminfoDeviceOrientationListenerCallback,
-            signalLabel : 'SystemInfoDeviceOrientationChangeBroadcast'
-        },
-        'BUILD' : {
-            callbacks : {}, //adding callbacks for build is not possible
-            constructor : SystemInfoBuild,
-            broadcastFunction : function(){},
-            signalLabel : ''
-        },
-        'LOCALE' : {
-            callbacks : {},
-            constructor : SystemInfoLocale,
-            broadcastFunction : _systeminfoLocaleListenerCallback,
-            signalLabel : 'SystemInfoLocaleChangeBroadcast'
-        },
-        'NETWORK' : {
-            callbacks : {},
-            constructor : SystemInfoNetwork,
-            broadcastFunction : _systeminfoNetworkListenerCallback,
-            signalLabel : 'SystemInfoNetworkChangeBroadcast'
-        },
-        'WIFI_NETWORK' : {
-            callbacks : {},
-            constructor : SystemInfoWifiNetwork,
-            broadcastFunction : _systeminfoWifiNetworkListenerCallback,
-            signalLabel : 'SystemInfoWifiNetworkChangeBroadcast'
-        },
-        'ETHERNET_NETWORK' : {
-            callbacks : {},
-            constructor : SystemInfoEthernetNetwork,
-            broadcastFunction : _systeminfoEthernetNetworkListenerCallback,
-            signalLabel : 'SystemInfoEthernetNetworkChangeBroadcast'
-        },
-        'CELLULAR_NETWORK' : {
-          callbacks : {},
-          constructor : SystemInfoCellularNetwork,
-          broadcastFunction : _systeminfoCellularNetworkListenerCallback,
-          signalLabel : 'SystemInfoCellularNetworkChangeBroadcast'
-      },
-        'NET_PROXY_NETWORK' : {
-          callbacks : {},
-          constructor : SystemInfoNetProxyNetwork,
-          broadcastFunction : _systeminfoNetProxyNetworkListenerCallback,
-          signalLabel : 'SystemInfoNetProxyNetworkChangeBroadcast'
-      },
-        'SIM' : {
-            callbacks : {},
-            constructor : SystemInfoSIM,
-            broadcastFunction : _systeminfoSimListenerCallback,
-            signalLabel : 'SystemInfoSimChangeBroadcast'
-        },
-        'PERIPHERAL' : {
-            callbacks : {},
-            constructor : SystemInfoPeripheral,
-            broadcastFunction : _systeminfoPeripheralListenerCallback,
-            signalLabel : 'SystemInfoPeripheralChangeBroadcast'
-        },
-        'MEMORY' : {
-            callbacks : {},
-            constructor : SystemInfoMemory,
-            broadcastFunction : _systeminfoMemoryListenerCallback,
-            signalLabel : 'SystemInfoMemoryChangeBroadcast'
-        },
-        'CAMERA_FLASH' : {
-            callbacks : {},
-            constructor : SystemInfoCameraFlash,
-            broadcastFunction : _systeminfoCameraFlashListenerCallback,
-            signalLabel : 'SystemInfoCameraFlashChangeBroadcast'
-        },
-        'ADS' : {
-          callbacks : {}, //adding callbacks for ADS is not possible
-          constructor : SystemInfoADS,
-          broadcastFunction : function(){},
-          signalLabel : ''
-        }
+    BATTERY: {
+        callbacks: {},
+        constructor: SystemInfoBattery,
+        broadcastFunction: _systeminfoBatteryListenerCallback,
+        signalLabel: 'SystemInfoBatteryChangeBroadcast'
+    },
+    CPU: {
+        callbacks: {},
+        constructor: SystemInfoCpu,
+        broadcastFunction: _systeminfoCpuListenerCallback,
+        signalLabel: 'SystemInfoCpuChangeBroadcast'
+    },
+    STORAGE: {
+        callbacks: {},
+        constructor: SystemInfoStorage,
+        broadcastFunction: _systeminfoStorageListenerCallback,
+        signalLabel: 'SystemInfoStorageChangeBroadcast'
+    },
+    DISPLAY: {
+        callbacks: {},
+        constructor: SystemInfoDisplay,
+        broadcastFunction: _systeminfoDisplayListenerCallback,
+        signalLabel: 'SystemInfoDisplayChangeBroadcast'
+    },
+    DEVICE_ORIENTATION: {
+        callbacks: {},
+        constructor: SystemInfoDeviceOrientation,
+        broadcastFunction: _systeminfoDeviceOrientationListenerCallback,
+        signalLabel: 'SystemInfoDeviceOrientationChangeBroadcast'
+    },
+    BUILD: {
+        callbacks: {}, //adding callbacks for build is not possible
+        constructor: SystemInfoBuild,
+        broadcastFunction: function() {},
+        signalLabel: ''
+    },
+    LOCALE: {
+        callbacks: {},
+        constructor: SystemInfoLocale,
+        broadcastFunction: _systeminfoLocaleListenerCallback,
+        signalLabel: 'SystemInfoLocaleChangeBroadcast'
+    },
+    NETWORK: {
+        callbacks: {},
+        constructor: SystemInfoNetwork,
+        broadcastFunction: _systeminfoNetworkListenerCallback,
+        signalLabel: 'SystemInfoNetworkChangeBroadcast'
+    },
+    WIFI_NETWORK: {
+        callbacks: {},
+        constructor: SystemInfoWifiNetwork,
+        broadcastFunction: _systeminfoWifiNetworkListenerCallback,
+        signalLabel: 'SystemInfoWifiNetworkChangeBroadcast'
+    },
+    ETHERNET_NETWORK: {
+        callbacks: {},
+        constructor: SystemInfoEthernetNetwork,
+        broadcastFunction: _systeminfoEthernetNetworkListenerCallback,
+        signalLabel: 'SystemInfoEthernetNetworkChangeBroadcast'
+    },
+    CELLULAR_NETWORK: {
+        callbacks: {},
+        constructor: SystemInfoCellularNetwork,
+        broadcastFunction: _systeminfoCellularNetworkListenerCallback,
+        signalLabel: 'SystemInfoCellularNetworkChangeBroadcast'
+    },
+    NET_PROXY_NETWORK: {
+        callbacks: {},
+        constructor: SystemInfoNetProxyNetwork,
+        broadcastFunction: _systeminfoNetProxyNetworkListenerCallback,
+        signalLabel: 'SystemInfoNetProxyNetworkChangeBroadcast'
+    },
+    SIM: {
+        callbacks: {},
+        constructor: SystemInfoSIM,
+        broadcastFunction: _systeminfoSimListenerCallback,
+        signalLabel: 'SystemInfoSimChangeBroadcast'
+    },
+    PERIPHERAL: {
+        callbacks: {},
+        constructor: SystemInfoPeripheral,
+        broadcastFunction: _systeminfoPeripheralListenerCallback,
+        signalLabel: 'SystemInfoPeripheralChangeBroadcast'
+    },
+    MEMORY: {
+        callbacks: {},
+        constructor: SystemInfoMemory,
+        broadcastFunction: _systeminfoMemoryListenerCallback,
+        signalLabel: 'SystemInfoMemoryChangeBroadcast'
+    },
+    CAMERA_FLASH: {
+        callbacks: {},
+        constructor: SystemInfoCameraFlash,
+        broadcastFunction: _systeminfoCameraFlashListenerCallback,
+        signalLabel: 'SystemInfoCameraFlashChangeBroadcast'
+    },
+    ADS: {
+        callbacks: {}, //adding callbacks for ADS is not possible
+        constructor: SystemInfoADS,
+        broadcastFunction: function() {},
+        signalLabel: ''
+    }
 };
 
 /// It common function to be called when listener would be triggered
@@ -1271,18 +1347,21 @@ var _listenerFunction = function(msg) {
     if (propertyId) {
         _propertyContainer[propertyId].broadcastFunction(msg);
     } else {
-        privUtils_.log("No propertyId provided - ignoring");
+        privUtils_.log('No propertyId provided - ignoring');
     }
-}
-native_.addListener("SysteminfoCommonListenerLabel", _listenerFunction);
+};
+native_.addListener('SysteminfoCommonListenerLabel', _listenerFunction);
 
-var _registerListener = function (property, listener, errorCallback) {
+var _registerListener = function(property, listener, errorCallback) {
     var watchId;
-    var result={};
+    var result = {};
 
     var propObject = _propertyContainer[property];
     if (!propObject) {
-        throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR, 'Property with id: ' + property + ' is not supported.');
+        throw new WebAPIException(
+            WebAPIException.TYPE_MISMATCH_ERR,
+            'Property with id: ' + property + ' is not supported.'
+        );
     }
     var callbackBroadcastFunction = propObject.broadcastFunction;
     var signalLabel = propObject.signalLabel;
@@ -1291,9 +1370,9 @@ var _registerListener = function (property, listener, errorCallback) {
     var fail = false;
     if (T_.isEmptyObject(callbacksMap)) {
         //registration in C++ layer
-        result = native_.callSync(
-                'SystemInfo_addPropertyValueChangeListener',
-                {property: Converter_.toString(property)});
+        result = native_.callSync('SystemInfo_addPropertyValueChangeListener', {
+            property: Converter_.toString(property)
+        });
         fail = native_.isFailure(result);
         if (native_.isFailure(result)) {
             setTimeout(function() {
@@ -1301,7 +1380,7 @@ var _registerListener = function (property, listener, errorCallback) {
             }, 0);
         }
     }
-    if (!fail){
+    if (!fail) {
         watchId = ++_nextId;
         callbacksMap[watchId] = listener;
     }
@@ -1309,16 +1388,19 @@ var _registerListener = function (property, listener, errorCallback) {
     return Converter_.toUnsignedLong(watchId);
 };
 
-var _identifyListener = function (watchId) {
+var _identifyListener = function(watchId) {
     for (var p in _propertyContainer) {
         if (_propertyContainer[p].callbacks[watchId]) {
             return p;
         }
     }
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR, 'Listener with id: ' + watchId + ' does not exist.');
+    throw new WebAPIException(
+        WebAPIException.INVALID_VALUES_ERR,
+        'Listener with id: ' + watchId + ' does not exist.'
+    );
 };
 
-var _unregisterListener = function (watchId, isTimeout) {
+var _unregisterListener = function(watchId, isTimeout) {
     var property = {};
     try {
         property = _identifyListener(watchId);
@@ -1332,7 +1414,7 @@ var _unregisterListener = function (watchId, isTimeout) {
     }
 
     var propObject = _propertyContainer[property];
-    var result={};
+    var result = {};
 
     var callbackBroadcastFunction = propObject.broadcastFunction;
     var signalLabel = propObject.signalLabel;
@@ -1341,66 +1423,76 @@ var _unregisterListener = function (watchId, isTimeout) {
     delete callbacksMap[Number(watchId)];
     if (T_.isEmptyObject(callbacksMap)) {
         //unregistration in C++ layer
-        result = native_.callSync(
-                'SystemInfo_removePropertyValueChangeListener',
-                {property: Converter_.toString(property)});
+        result = native_.callSync('SystemInfo_removePropertyValueChangeListener', {
+            property: Converter_.toString(property)
+        });
         if (native_.isFailure(result)) {
             throw native_.getErrorObject(result);
         }
     }
 };
 
-var getListenerFunction = function (isArray) {
+var getListenerFunction = function(isArray) {
     return function() {
-        if (arguments[0] === "CELLULAR_NETWORK") {
-            privUtils_.checkPrivilegeAccess4Ver("2.4", privilege_.TELEPHONY);
+        if (arguments[0] === 'CELLULAR_NETWORK') {
+            privUtils_.checkPrivilegeAccess4Ver('2.4', privilege_.TELEPHONY);
         }
         var args = validator_.validateArgs(arguments, [
-                 {
-                     name : 'property',
-                     type : types_.ENUM,
-                     values : T_.getValues(SystemInfoPropertyId)
-                 },
-                 {
-                     name : 'successCallback',
-                     type : types_.FUNCTION
-                 },
-                 {
-                     name : 'options',
-                     type : types_.DICTIONARY,
-                     optional : true,
-                     nullable : true
-                 },
-                 {
-                     name : 'errorCallback',
-                     type : types_.FUNCTION,
-                     optional : true,
-                     nullable : true
-                 }
-                 ]);
+            {
+                name: 'property',
+                type: types_.ENUM,
+                values: T_.getValues(SystemInfoPropertyId)
+            },
+            {
+                name: 'successCallback',
+                type: types_.FUNCTION
+            },
+            {
+                name: 'options',
+                type: types_.DICTIONARY,
+                optional: true,
+                nullable: true
+            },
+            {
+                name: 'errorCallback',
+                type: types_.FUNCTION,
+                optional: true,
+                nullable: true
+            }
+        ]);
 
         if (_checkPropertySupported(args.property) === false) {
             setTimeout(function() {
-                native_.callIfPossible(args.errorCallback,
-                    new WebAPIException(WebAPIException.NOT_SUPPORTED_ERR,
-                    'Property with id: ' + args.property + ' is not supported.'));
+                native_.callIfPossible(
+                    args.errorCallback,
+                    new WebAPIException(
+                        WebAPIException.NOT_SUPPORTED_ERR,
+                        'Property with id: ' + args.property + ' is not supported.'
+                    )
+                );
             }, 0);
             return;
         }
 
         var listener = {
-                callback      : args.successCallback,
-                isArrayType     : isArray,
-                highThreshold : !T_.isNullOrUndefined(args.options) ?
-                        args.options.highThreshold : undefined,
-                lowThreshold  : !T_.isNullOrUndefined(args.options) ?
-                        args.options.lowThreshold : undefined
+            callback: args.successCallback,
+            isArrayType: isArray,
+            highThreshold: !T_.isNullOrUndefined(args.options)
+                ? args.options.highThreshold
+                : undefined,
+            lowThreshold: !T_.isNullOrUndefined(args.options)
+                ? args.options.lowThreshold
+                : undefined
         };
         var watchId = _registerListener(args.property, listener, args.errorCallback);
 
-        var timeout = !T_.isNullOrUndefined(args.options) ? args.options.timeout : undefined;
-        if (!T_.isUndefined(timeout) ){
-            setTimeout(function(){_unregisterListener(watchId, true);}, timeout);
+        var timeout = !T_.isNullOrUndefined(args.options)
+            ? args.options.timeout
+            : undefined;
+        if (!T_.isUndefined(timeout)) {
+            setTimeout(function() {
+                _unregisterListener(watchId, true);
+            }, timeout);
         }
 
         return watchId;
@@ -1413,11 +1505,11 @@ SystemInfo.prototype.addPropertyValueArrayChangeListener = getListenerFunction(t
 
 SystemInfo.prototype.removePropertyValueChangeListener = function() {
     var args = validator_.validateArgs(arguments, [
-             {
-                 name : 'watchId',
-                 type : types_.UNSIGNED_LONG
-             }
-             ]);
+        {
+            name: 'watchId',
+            type: types_.UNSIGNED_LONG
+        }
+    ]);
 
     _unregisterListener(args.watchId, false);
 };
@@ -1440,14 +1532,14 @@ SystemInfo.prototype.getAvailableMemory = function() {
 
 SystemInfo.prototype.getCount = function() {
     var args = validator_.validateArgs(arguments, [
-             {
-                 name : 'property',
-                 type : types_.ENUM,
-                 values : T_.getValues(SystemInfoPropertyId)
-             }
-             ]);
-
-    var result = native_.callSync('SystemInfo_getCount', {property: args.property});
+        {
+            name: 'property',
+            type: types_.ENUM,
+            values: T_.getValues(SystemInfoPropertyId)
+        }
+    ]);
+
+    var result = native_.callSync('SystemInfo_getCount', { property: args.property });
     if (native_.isFailure(result)) {
         throw native_.getErrorObject(result);
     }
index 1f432a93f71221a443b46b34c9274c0c4db637be..630bb342b336565db71d2d7b3d566c1f1d88f2f6 100644 (file)
  *    limitations under the License.
  */
 
-
 var validator_ = xwalk.utils.validator;
 var type_ = xwalk.utils.type;
 var types_ = validator_.Types;
 var native_ = new xwalk.utils.NativeManager(extension);
 
-var SystemSettingTypeValues = ['HOME_SCREEN', 'LOCK_SCREEN', 'INCOMING_CALL', 'NOTIFICATION_EMAIL'];
+var SystemSettingTypeValues = [
+    'HOME_SCREEN',
+    'LOCK_SCREEN',
+    'INCOMING_CALL',
+    'NOTIFICATION_EMAIL'
+];
 
-function SystemSettingManager() {
-}
+function SystemSettingManager() {}
 
 SystemSettingManager.prototype.getProperty = function() {
     var args = validator_.validateArgs(arguments, [
@@ -35,11 +38,10 @@ SystemSettingManager.prototype.getProperty = function() {
     var callback = function(result) {
         if (native_.isFailure(result)) {
             native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-        }
-        else {
+        } else {
             args.successCallback(result.result.value);
         }
-    }
+    };
 
     var callArgs = {
         type: args.type
@@ -48,7 +50,7 @@ SystemSettingManager.prototype.getProperty = function() {
     var result = native_.call('SystemSettingManager_getProperty', callArgs, callback);
 
     if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+        throw native_.getErrorObject(result);
     }
 };
 
@@ -63,11 +65,10 @@ SystemSettingManager.prototype.setProperty = function() {
     var callback = function(result) {
         if (native_.isFailure(result)) {
             native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-        }
-        else {
+        } else {
             args.successCallback();
         }
-    }
+    };
 
     var callArgs = {
         type: args.type,
@@ -77,10 +78,9 @@ SystemSettingManager.prototype.setProperty = function() {
     var result = native_.call('SystemSettingManager_setProperty', callArgs, callback);
 
     if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+        throw native_.getErrorObject(result);
     }
 };
 
 // Exports
 exports = new SystemSettingManager();
-
index ba31ab89428369ed720170189b6c1aa0ec0da3aa..3de42a6116f24129e5985a4afb75dccfc7c53f8f 100644 (file)
@@ -25,890 +25,920 @@ var _GMT_ID = 'GMT';
 var _LOCAL_ID = '__local__';
 
 function _createShiftedDate(tzDate) {
-  return new Date(tzDate._shiftedTimestamp);
+    return new Date(tzDate._shiftedTimestamp);
 }
 
 function _createUTCDate(tzDate) {
-  return new Date(tzDate._utcTimestamp);
+    return new Date(tzDate._utcTimestamp);
 }
 
 function _fill(date, tzDate) {
-  tzDate._shiftedTimestamp = date.getTime();
-  tzDate._utcTimestamp = Number(tzDate._shiftedTimestamp) - Number(tzDate._timezoneOffset);
+    tzDate._shiftedTimestamp = date.getTime();
+    tzDate._utcTimestamp =
+        Number(tzDate._shiftedTimestamp) - Number(tzDate._timezoneOffset);
 }
 
 function _fillWithUTC(date, tzDate) {
-  tzDate._utcTimestamp = date.getTime();
-  tzDate._shiftedTimestamp = Number(tzDate._utcTimestamp) + Number(tzDate._timezoneOffset);
+    tzDate._utcTimestamp = date.getTime();
+    tzDate._shiftedTimestamp =
+        Number(tzDate._utcTimestamp) + Number(tzDate._timezoneOffset);
 }
 
 function PrivateTZDate(timestamp, timezone, offset) {
-  Object.defineProperties(this, {
-    ts : {value: timestamp, writable: false, enumerable: false},
-    tzId : {value: timezone, writable: false, enumerable: false},
-    o : {value: offset, writable: false, enumerable: false}
-  });
+    Object.defineProperties(this, {
+        ts: { value: timestamp, writable: false, enumerable: false },
+        tzId: { value: timezone, writable: false, enumerable: false },
+        o: { value: offset, writable: false, enumerable: false }
+    });
 }
 
 function _getTimezoneOffset(timestamp, tzName) {
-  var callArgs = {
-      timezone  : converter_.toString(tzName),
-      timestamp : converter_.toString(timestamp)
-  };
-  var result = native_.callSync('TZDate_getTimezoneOffset', callArgs);
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-  var res = {
-      offset : converter_.toLong(native_.getResultObject(result).offset),
-      modifier : converter_.toLong(native_.getResultObject(result).modifier)
-  };
-  return res;
+    var callArgs = {
+        timezone: converter_.toString(tzName),
+        timestamp: converter_.toString(timestamp)
+    };
+    var result = native_.callSync('TZDate_getTimezoneOffset', callArgs);
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+    var res = {
+        offset: converter_.toLong(native_.getResultObject(result).offset),
+        modifier: converter_.toLong(native_.getResultObject(result).modifier)
+    };
+    return res;
 }
 
 function _getLocalTimezoneOffset(utcTimestamp) {
-  return -1 * (new Date(utcTimestamp).getTimezoneOffset()) * 60 * 1000; // cast to milliseconds
+    // casting to milliseconds
+    return -1 * new Date(utcTimestamp).getTimezoneOffset() * 60 * 1000;
 }
 
 function _constructTZDate(obj, privateTZDate) {
-  var utcTimestamp = privateTZDate.ts;
-  var tzName = privateTZDate.tzId;
-  var offset = privateTZDate.o;
+    var utcTimestamp = privateTZDate.ts;
+    var tzName = privateTZDate.tzId;
+    var offset = privateTZDate.o;
 
-  switch (tzName) {
-  case _LOCAL_ID:
-    utils_.log('Entered _constructTZDate for local timezone');
+    switch (tzName) {
+    case _LOCAL_ID:
+        utils_.log('Entered _constructTZDate for local timezone');
 
-    tzName = tizen.time.getLocalTimezone();
+        tzName = tizen.time.getLocalTimezone();
 
-    if (T.isNullOrUndefined(offset)) {
-      offset = _getLocalTimezoneOffset(utcTimestamp);
-    }
-    break;
+        if (T.isNullOrUndefined(offset)) {
+            offset = _getLocalTimezoneOffset(utcTimestamp);
+        }
+        break;
 
-  case _GMT_ID:
-    utils_.log('Entered _constructTZDate for GMT');
+    case _GMT_ID:
+        utils_.log('Entered _constructTZDate for GMT');
 
-    if (T.isNullOrUndefined(offset)) {
-      offset = 0;
-    }
-    break;
+        if (T.isNullOrUndefined(offset)) {
+            offset = 0;
+        }
+        break;
 
-  default:
-    utils_.log('Entered _constructTZDate for: ' + tzName);
-    if (T.isNullOrUndefined(offset)) {
-      // throws if tzName is invalid
-      offset = _getTimezoneOffset(utcTimestamp, tzName).offset;
+    default:
+        utils_.log('Entered _constructTZDate for: ' + tzName);
+        if (T.isNullOrUndefined(offset)) {
+            // throws if tzName is invalid
+            offset = _getTimezoneOffset(utcTimestamp, tzName).offset;
+        }
+        break;
     }
-    break;
-  }
 
-  Object.defineProperties(obj, {
-    _utcTimestamp : {value: utcTimestamp, writable: true, enumerable: false},
-    _shiftedTimestamp : {value: utcTimestamp + offset, writable: true, enumerable: false},
-    _timezoneName : {value: tzName, writable: true, enumerable: false},
-    _timezoneOffset : {value: offset, writable: true, enumerable: false}
-  });
+    Object.defineProperties(obj, {
+        _utcTimestamp: { value: utcTimestamp, writable: true, enumerable: false },
+        _shiftedTimestamp: {
+            value: utcTimestamp + offset,
+            writable: true,
+            enumerable: false
+        },
+        _timezoneName: { value: tzName, writable: true, enumerable: false },
+        _timezoneOffset: { value: offset, writable: true, enumerable: false }
+    });
 }
 
 //class TZDate ////////////////////////////////////////////////////
 tizen.TZDate = function(p1, p2, day, hours, minutes, seconds, milliseconds, timezone) {
-  utils_.log("Entered tizen.TZDate");
-  validator_.validateConstructorCall(this, tizen.TZDate);
-
-  var priv;
-  //copy constructor section (should be only for private usage)
-  if (p1 instanceof PrivateTZDate) {
-    priv = p1;
-  } else {
-    //Public constructor section
-    utils_.log('Entered TZDate constructor with: ' + arguments.length + ' attributes');
-
-    var date;
-
-    if (arguments.length < 3) {
-      if (T.isDate(p1)) {
-        date = p1;
-      } else {
-        date = new Date();
-      }
-      timezone = p2;
+    utils_.log('Entered tizen.TZDate');
+    validator_.validateConstructorCall(this, tizen.TZDate);
+
+    var priv;
+    //copy constructor section (should be only for private usage)
+    if (p1 instanceof PrivateTZDate) {
+        priv = p1;
     } else {
-      p1 = p1 ? p1 : 0;
-      p2 = p2 ? p2 : 0;
-      day = day ? day : 0;
-      hours = hours ? hours : 0;
-      minutes = minutes ? minutes : 0;
-      seconds = seconds ? seconds : 0;
-      milliseconds = milliseconds ? milliseconds : 0;
-
-      date = new Date(p1, p2, day, hours, minutes, seconds, milliseconds);
-    }
-
-    var utcTimestamp = date.getTime();
-    var offset = _getLocalTimezoneOffset(utcTimestamp);
-    var tzName = _LOCAL_ID;
-
-    if (!T.isNullOrUndefined(timezone)) {
-      timezone = converter_.toString(timezone);
-      var timezoneTimestamp = new Date(Date.UTC(date.getFullYear(),
-          date.getMonth(),
-          date.getDate(),
-          date.getHours(),
-          date.getMinutes(),
-          date.getSeconds(),
-          date.getMilliseconds())).getTime();
-      try {
-        var offsetObject = _getTimezoneOffset(timezoneTimestamp, timezone);
-        offset = offsetObject.offset;
-        utcTimestamp = timezoneTimestamp - offset;
-        //correction of missing/extra hour on DST change
-        var modifier = offsetObject.modifier;
-        if (modifier > 0) {
-          //this is for case when 2AM becomes 3AM (but offset must be corrected -
-              //missing one hour)
-          offset += modifier;
+        //Public constructor section
+        utils_.log(
+            'Entered TZDate constructor with: ' + arguments.length + ' attributes'
+        );
+
+        var date;
+
+        if (arguments.length < 3) {
+            if (T.isDate(p1)) {
+                date = p1;
+            } else {
+                date = new Date();
+            }
+            timezone = p2;
         } else {
-          //this is for case when extra hour appers - prevents error of
-          //unnecessary shift of hour when timezone changes
-          offset -= modifier;
-          utcTimestamp += modifier;
+            p1 = p1 ? p1 : 0;
+            p2 = p2 ? p2 : 0;
+            day = day ? day : 0;
+            hours = hours ? hours : 0;
+            minutes = minutes ? minutes : 0;
+            seconds = seconds ? seconds : 0;
+            milliseconds = milliseconds ? milliseconds : 0;
+
+            date = new Date(p1, p2, day, hours, minutes, seconds, milliseconds);
         }
-        tzName = timezone;
-      } catch(e) {
-        // in case of exception we fall back to local time zone
-      }
-    }
 
-    priv = new PrivateTZDate(utcTimestamp, tzName, offset);
-  }
+        var utcTimestamp = date.getTime();
+        var offset = _getLocalTimezoneOffset(utcTimestamp);
+        var tzName = _LOCAL_ID;
+
+        if (!T.isNullOrUndefined(timezone)) {
+            timezone = converter_.toString(timezone);
+            var timezoneTimestamp = new Date(
+                Date.UTC(
+                    date.getFullYear(),
+                    date.getMonth(),
+                    date.getDate(),
+                    date.getHours(),
+                    date.getMinutes(),
+                    date.getSeconds(),
+                    date.getMilliseconds()
+                )
+            ).getTime();
+            try {
+                var offsetObject = _getTimezoneOffset(timezoneTimestamp, timezone);
+                offset = offsetObject.offset;
+                utcTimestamp = timezoneTimestamp - offset;
+                // correction of missing/extra hour on DST change
+                var modifier = offsetObject.modifier;
+                if (modifier > 0) {
+                    // this is for case when 2AM becomes 3AM
+                    // (but offset must be corrected - missing one hour)
+                    offset += modifier;
+                } else {
+                    // this is for case when extra hour appers - prevents error of
+                    // unnecessary shift of hour when timezone changes
+                    offset -= modifier;
+                    utcTimestamp += modifier;
+                }
+                tzName = timezone;
+            } catch (e) {
+                // in case of exception we fall back to local time zone
+            }
+        }
+
+        priv = new PrivateTZDate(utcTimestamp, tzName, offset);
+    }
 
-  _constructTZDate(this, priv);
+    _constructTZDate(this, priv);
 };
 
 tizen.TZDate.prototype.getDate = function() {
-  utils_.log('Entered TZDate.getDate');
-  //getters realized with pattern
-  //---> use _shiftedTimestamp (_utcTimestamp (UTC) with added _timezoneOffset)
-  //---> create Date instance
-  //---> return d.getUTCDate()  --- to avoid locale timezone impact of JS Date object
-  return _createShiftedDate(this).getUTCDate();
+    utils_.log('Entered TZDate.getDate');
+    //getters realized with pattern
+    //---> use _shiftedTimestamp (_utcTimestamp (UTC) with added _timezoneOffset)
+    //---> create Date instance
+    //---> return d.getUTCDate()  --- to avoid locale timezone impact of JS Date object
+    return _createShiftedDate(this).getUTCDate();
 };
 
 function _updateTZDate(tzdate, args, param, func) {
-  var a = validator_.validateMethod(args, [
-                                           {
-                                             name : param,
-                                             type : validator_.Types.LONG
-                                           }
-                                           ]);
-
-  //setters realized with pattern
-  //---> use _shiftedTimestamp (_utcTimestamp (UTC) with added _timezoneOffset)
-  //---> create Date instance
-  //---> setUTCDate of JS Date object
-  //---> getTime of object to set _shiftedTimestmp (avoiding timezone of JS Date)
-  //---> fix _utcTimestamp with subtraction of _timezoneOffset
-  var date = _createShiftedDate(tzdate);
-  date[func](a[param]);
-  _fill(date, tzdate);
+    var a = validator_.validateMethod(args, [
+        {
+            name: param,
+            type: validator_.Types.LONG
+        }
+    ]);
+
+    //setters realized with pattern
+    //---> use _shiftedTimestamp (_utcTimestamp (UTC) with added _timezoneOffset)
+    //---> create Date instance
+    //---> setUTCDate of JS Date object
+    //---> getTime of object to set _shiftedTimestmp (avoiding timezone of JS Date)
+    //---> fix _utcTimestamp with subtraction of _timezoneOffset
+    var date = _createShiftedDate(tzdate);
+    date[func](a[param]);
+    _fill(date, tzdate);
 }
 
 function _updateTZDateUTC(tzdate, args, param, func) {
-  var a = validator_.validateMethod(args, [
-                                           {
-                                             name : param,
-                                             type : validator_.Types.LONG
-                                           }
-                                           ]);
-  var date = _createUTCDate(tzdate);
-  date[func](a[param]);
-  _fillWithUTC(date, tzdate);
+    var a = validator_.validateMethod(args, [
+        {
+            name: param,
+            type: validator_.Types.LONG
+        }
+    ]);
+    var date = _createUTCDate(tzdate);
+    date[func](a[param]);
+    _fillWithUTC(date, tzdate);
 }
 
 tizen.TZDate.prototype.setDate = function() {
-  utils_.log('Entered TZDate.setDate');
-  _updateTZDate(this, arguments, 'date', 'setUTCDate');
+    utils_.log('Entered TZDate.setDate');
+    _updateTZDate(this, arguments, 'date', 'setUTCDate');
 };
 
 tizen.TZDate.prototype.getDay = function() {
-  utils_.log('Entered TZDate.getDay');
-  return _createShiftedDate(this).getUTCDay();
+    utils_.log('Entered TZDate.getDay');
+    return _createShiftedDate(this).getUTCDay();
 };
 
 tizen.TZDate.prototype.getFullYear = function() {
-  utils_.log('Entered TZDate.getFullYear');
-  return _createShiftedDate(this).getUTCFullYear();
+    utils_.log('Entered TZDate.getFullYear');
+    return _createShiftedDate(this).getUTCFullYear();
 };
 
 tizen.TZDate.prototype.setFullYear = function() {
-  utils_.log('Entered TZDate.setFullYear');
-  _updateTZDate(this, arguments, 'year', 'setUTCFullYear');
+    utils_.log('Entered TZDate.setFullYear');
+    _updateTZDate(this, arguments, 'year', 'setUTCFullYear');
 };
 
 tizen.TZDate.prototype.getHours = function() {
-  utils_.log('Entered TZDate.getHours');
-  return _createShiftedDate(this).getUTCHours();
+    utils_.log('Entered TZDate.getHours');
+    return _createShiftedDate(this).getUTCHours();
 };
 
 tizen.TZDate.prototype.setHours = function() {
-  utils_.log('Entered TZDate.setHours');
-  _updateTZDate(this, arguments, 'hours', 'setUTCHours');
+    utils_.log('Entered TZDate.setHours');
+    _updateTZDate(this, arguments, 'hours', 'setUTCHours');
 };
 
 tizen.TZDate.prototype.getMilliseconds = function() {
-  utils_.log('Entered TZDate.getMilliseconds');
-  return _createShiftedDate(this).getUTCMilliseconds();
+    utils_.log('Entered TZDate.getMilliseconds');
+    return _createShiftedDate(this).getUTCMilliseconds();
 };
 
 tizen.TZDate.prototype.setMilliseconds = function() {
-  utils_.log('Entered TZDate.setMilliseconds');
-  _updateTZDate(this, arguments, 'ms', 'setUTCMilliseconds');
+    utils_.log('Entered TZDate.setMilliseconds');
+    _updateTZDate(this, arguments, 'ms', 'setUTCMilliseconds');
 };
 
 tizen.TZDate.prototype.getMinutes = function() {
-  utils_.log('Entered TZDate.getMinutes');
-  return _createShiftedDate(this).getUTCMinutes();
+    utils_.log('Entered TZDate.getMinutes');
+    return _createShiftedDate(this).getUTCMinutes();
 };
 
 tizen.TZDate.prototype.setMinutes = function() {
-  utils_.log('Entered TZDate.setMinutes');
-  _updateTZDate(this, arguments, 'minutes', 'setUTCMinutes');
+    utils_.log('Entered TZDate.setMinutes');
+    _updateTZDate(this, arguments, 'minutes', 'setUTCMinutes');
 };
 
 tizen.TZDate.prototype.getMonth = function() {
-  utils_.log('Entered TZDate.getMonth');
-  return _createShiftedDate(this).getUTCMonth();
+    utils_.log('Entered TZDate.getMonth');
+    return _createShiftedDate(this).getUTCMonth();
 };
 
 tizen.TZDate.prototype.setMonth = function() {
-  utils_.log('Entered TZDate.setMonth');
-  _updateTZDate(this, arguments, 'month', 'setUTCMonth');
+    utils_.log('Entered TZDate.setMonth');
+    _updateTZDate(this, arguments, 'month', 'setUTCMonth');
 };
 
 tizen.TZDate.prototype.getSeconds = function() {
-  utils_.log('Entered TZDate.getSeconds');
-  return _createShiftedDate(this).getUTCSeconds();
+    utils_.log('Entered TZDate.getSeconds');
+    return _createShiftedDate(this).getUTCSeconds();
 };
 
 tizen.TZDate.prototype.setSeconds = function() {
-  utils_.log('Entered TZDate.setSeconds');
-  _updateTZDate(this, arguments, 'seconds', 'setUTCSeconds');
+    utils_.log('Entered TZDate.setSeconds');
+    _updateTZDate(this, arguments, 'seconds', 'setUTCSeconds');
 };
 
 tizen.TZDate.prototype.getUTCDate = function() {
-  utils_.log('Entered TZDate.getUTCDate');
-  return _createUTCDate(this).getUTCDate();
+    utils_.log('Entered TZDate.getUTCDate');
+    return _createUTCDate(this).getUTCDate();
 };
 
 tizen.TZDate.prototype.setUTCDate = function() {
-  utils_.log('Entered TZDate.setUTCDate');
-  _updateTZDateUTC(this, arguments, 'date', 'setUTCDate');
+    utils_.log('Entered TZDate.setUTCDate');
+    _updateTZDateUTC(this, arguments, 'date', 'setUTCDate');
 };
 
 tizen.TZDate.prototype.getUTCDay = function() {
-  utils_.log('Entered TZDate.getUTCDay');
-  return _createUTCDate(this).getUTCDay();
+    utils_.log('Entered TZDate.getUTCDay');
+    return _createUTCDate(this).getUTCDay();
 };
 
 tizen.TZDate.prototype.getUTCFullYear = function() {
-  utils_.log('Entered TZDate.getUTCFullYear');
-  return _createUTCDate(this).getUTCFullYear();
+    utils_.log('Entered TZDate.getUTCFullYear');
+    return _createUTCDate(this).getUTCFullYear();
 };
 
 tizen.TZDate.prototype.setUTCFullYear = function() {
-  utils_.log('Entered TZDate.setUTCFullYear');
-  _updateTZDateUTC(this, arguments, 'year', 'setUTCFullYear');
+    utils_.log('Entered TZDate.setUTCFullYear');
+    _updateTZDateUTC(this, arguments, 'year', 'setUTCFullYear');
 };
 
 tizen.TZDate.prototype.getUTCHours = function() {
-  utils_.log('Entered TZDate.getUTCHours');
-  return _createUTCDate(this).getUTCHours();
+    utils_.log('Entered TZDate.getUTCHours');
+    return _createUTCDate(this).getUTCHours();
 };
 
 tizen.TZDate.prototype.setUTCHours = function() {
-  utils_.log('Entered TZDate.setUTCHours');
-  _updateTZDateUTC(this, arguments, 'hours', 'setUTCHours');
+    utils_.log('Entered TZDate.setUTCHours');
+    _updateTZDateUTC(this, arguments, 'hours', 'setUTCHours');
 };
 
 tizen.TZDate.prototype.getUTCMilliseconds = function() {
-  utils_.log('Entered TZDate.getUTCMilliseconds');
-  return _createUTCDate(this).getUTCMilliseconds();
+    utils_.log('Entered TZDate.getUTCMilliseconds');
+    return _createUTCDate(this).getUTCMilliseconds();
 };
 
 tizen.TZDate.prototype.setUTCMilliseconds = function() {
-  utils_.log('Entered TZDate.setUTCMilliseconds');
-  _updateTZDateUTC(this, arguments, 'ms', 'setUTCMilliseconds');
+    utils_.log('Entered TZDate.setUTCMilliseconds');
+    _updateTZDateUTC(this, arguments, 'ms', 'setUTCMilliseconds');
 };
 
 tizen.TZDate.prototype.getUTCMinutes = function() {
-  utils_.log('Entered TZDate.getUTCMinutes');
-  return _createUTCDate(this).getUTCMinutes();
+    utils_.log('Entered TZDate.getUTCMinutes');
+    return _createUTCDate(this).getUTCMinutes();
 };
 
 tizen.TZDate.prototype.setUTCMinutes = function() {
-  utils_.log('Entered TZDate.setUTCMinutes');
-  _updateTZDateUTC(this, arguments, 'minutes', 'setUTCMinutes');
+    utils_.log('Entered TZDate.setUTCMinutes');
+    _updateTZDateUTC(this, arguments, 'minutes', 'setUTCMinutes');
 };
 
 tizen.TZDate.prototype.getUTCMonth = function() {
-  utils_.log('Entered TZDate.getUTCMonth');
-  return _createUTCDate(this).getUTCMonth();
+    utils_.log('Entered TZDate.getUTCMonth');
+    return _createUTCDate(this).getUTCMonth();
 };
 
 tizen.TZDate.prototype.setUTCMonth = function() {
-  utils_.log('Entered TZDate.setUTCMonth');
-  _updateTZDateUTC(this, arguments, 'month', 'setUTCMonth');
+    utils_.log('Entered TZDate.setUTCMonth');
+    _updateTZDateUTC(this, arguments, 'month', 'setUTCMonth');
 };
 
 tizen.TZDate.prototype.getUTCSeconds = function() {
-  utils_.log('Entered TZDate.getUTCSeconds');
-  return _createUTCDate(this).getUTCSeconds();
+    utils_.log('Entered TZDate.getUTCSeconds');
+    return _createUTCDate(this).getUTCSeconds();
 };
 
 tizen.TZDate.prototype.setUTCSeconds = function() {
-  utils_.log('Entered TZDate.setUTCSeconds');
-  _updateTZDateUTC(this, arguments, 'seconds', 'setUTCSeconds');
+    utils_.log('Entered TZDate.setUTCSeconds');
+    _updateTZDateUTC(this, arguments, 'seconds', 'setUTCSeconds');
 };
 
 tizen.TZDate.prototype.getTimezone = function() {
-  utils_.log('Entered TZDate.getTimezone');
-  return this._timezoneName;
+    utils_.log('Entered TZDate.getTimezone');
+    return this._timezoneName;
 };
 
 tizen.TZDate.prototype.toTimezone = function() {
-  utils_.log('Entered TZDate.toTimezone');
-  var args = validator_.validateMethod(arguments, [
-                                                   {
-                                                     name : 'timezone',
-                                                     type : validator_.Types.STRING
-                                                   }
-                                                   ]);
-  return new tizen.TZDate(new PrivateTZDate(this._utcTimestamp, args.timezone));
+    utils_.log('Entered TZDate.toTimezone');
+    var args = validator_.validateMethod(arguments, [
+        {
+            name: 'timezone',
+            type: validator_.Types.STRING
+        }
+    ]);
+    return new tizen.TZDate(new PrivateTZDate(this._utcTimestamp, args.timezone));
 };
 
 tizen.TZDate.prototype.toLocalTimezone = function() {
-  utils_.log('Entered TZDate.toLocalTimezone');
-  return new tizen.TZDate(new PrivateTZDate(this._utcTimestamp, _LOCAL_ID));
+    utils_.log('Entered TZDate.toLocalTimezone');
+    return new tizen.TZDate(new PrivateTZDate(this._utcTimestamp, _LOCAL_ID));
 };
 
 tizen.TZDate.prototype.toUTC = function() {
-  utils_.log('Entered TZDate.toUTC');
-  return new tizen.TZDate(new PrivateTZDate(this._utcTimestamp, _GMT_ID));
+    utils_.log('Entered TZDate.toUTC');
+    return new tizen.TZDate(new PrivateTZDate(this._utcTimestamp, _GMT_ID));
 };
 
 tizen.TZDate.prototype.difference = function() {
-  utils_.log('Entered TZDate.difference');
-  var args = validator_.validateMethod(arguments, [
-                                                   {
-                                                     name : 'other',
-                                                     type : validator_.Types.PLATFORM_OBJECT,
-                                                     values : tizen.TZDate
-                                                   }
-                                                   ]);
-  var length = this._utcTimestamp - args.other._utcTimestamp;
-  var type = _timeDurationUnit.MSECS;
-  if (length % _timeDurationUnitValue.DAYS === 0) {
-    length /= _timeDurationUnitValue.DAYS;
-    type = _timeDurationUnit.DAYS;
-  }
-  return new tizen.TimeDuration(length, type);
+    utils_.log('Entered TZDate.difference');
+    var args = validator_.validateMethod(arguments, [
+        {
+            name: 'other',
+            type: validator_.Types.PLATFORM_OBJECT,
+            values: tizen.TZDate
+        }
+    ]);
+    var length = this._utcTimestamp - args.other._utcTimestamp;
+    var type = _timeDurationUnit.MSECS;
+    if (length % _timeDurationUnitValue.DAYS === 0) {
+        length /= _timeDurationUnitValue.DAYS;
+        type = _timeDurationUnit.DAYS;
+    }
+    return new tizen.TimeDuration(length, type);
 };
 
 tizen.TZDate.prototype.equalsTo = function() {
-  utils_.log('Entered TZDate.equalsTo');
-  var args = validator_.validateMethod(arguments, [
-                                                   {
-                                                     name : 'other',
-                                                     type : validator_.Types.PLATFORM_OBJECT,
-                                                     values : tizen.TZDate
-                                                   }
-                                                   ]);
-  return this._utcTimestamp === args.other._utcTimestamp;
+    utils_.log('Entered TZDate.equalsTo');
+    var args = validator_.validateMethod(arguments, [
+        {
+            name: 'other',
+            type: validator_.Types.PLATFORM_OBJECT,
+            values: tizen.TZDate
+        }
+    ]);
+    return this._utcTimestamp === args.other._utcTimestamp;
 };
 
 tizen.TZDate.prototype.earlierThan = function() {
-  utils_.log('Entered TZDate.earlierThan');
-  var args = validator_.validateMethod(arguments, [
-                                                   {
-                                                     name : 'other',
-                                                     type : validator_.Types.PLATFORM_OBJECT,
-                                                     values : tizen.TZDate
-                                                   }
-                                                   ]);
-  return this._utcTimestamp < args.other._utcTimestamp;
+    utils_.log('Entered TZDate.earlierThan');
+    var args = validator_.validateMethod(arguments, [
+        {
+            name: 'other',
+            type: validator_.Types.PLATFORM_OBJECT,
+            values: tizen.TZDate
+        }
+    ]);
+    return this._utcTimestamp < args.other._utcTimestamp;
 };
 
 tizen.TZDate.prototype.laterThan = function() {
-  utils_.log('Entered TZDate.laterThan');
-  var args = validator_.validateMethod(arguments, [
-                                                   {
-                                                     name : 'other',
-                                                     type : validator_.Types.PLATFORM_OBJECT,
-                                                     values : tizen.TZDate
-                                                   }
-                                                   ]);
-  return this._utcTimestamp > args.other._utcTimestamp;
+    utils_.log('Entered TZDate.laterThan');
+    var args = validator_.validateMethod(arguments, [
+        {
+            name: 'other',
+            type: validator_.Types.PLATFORM_OBJECT,
+            values: tizen.TZDate
+        }
+    ]);
+    return this._utcTimestamp > args.other._utcTimestamp;
 };
 
 tizen.TZDate.prototype.addDuration = function() {
-  utils_.log('Entered TZDate.addDuration');
-  var args = validator_.validateMethod(arguments, [
-                                                   {
-                                                     name : 'duration',
-                                                     type : validator_.Types.PLATFORM_OBJECT,
-                                                     values : tizen.TimeDuration
-                                                   }
-                                                   ]);
-  return new tizen.TZDate(new PrivateTZDate(this._utcTimestamp +
-      _getLengthInMsecsUnit(args.duration.length, args.duration.unit),
-      this._timezoneName));
+    utils_.log('Entered TZDate.addDuration');
+    var args = validator_.validateMethod(arguments, [
+        {
+            name: 'duration',
+            type: validator_.Types.PLATFORM_OBJECT,
+            values: tizen.TimeDuration
+        }
+    ]);
+    return new tizen.TZDate(
+        new PrivateTZDate(
+            this._utcTimestamp +
+                _getLengthInMsecsUnit(args.duration.length, args.duration.unit),
+            this._timezoneName
+        )
+    );
 };
 
 tizen.TZDate.prototype.toLocaleDateString = function() {
-  utils_.log('Entered TZDate.toLocaleDateString');
-  var result = native_.callSync('TZDate_toLocaleDateString',
-      {timezone: String(this._timezoneName),
-    timestamp: String(this._utcTimestamp)});
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-  return native_.getResultObject(result).string;
+    utils_.log('Entered TZDate.toLocaleDateString');
+    var result = native_.callSync('TZDate_toLocaleDateString', {
+        timezone: String(this._timezoneName),
+        timestamp: String(this._utcTimestamp)
+    });
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+    return native_.getResultObject(result).string;
 };
 
 tizen.TZDate.prototype.toLocaleTimeString = function() {
-  utils_.log('Entered TZDate.toLocaleTimeString');
-  var result = native_.callSync('TZDate_toLocaleTimeString',
-      {timezone: String(this._timezoneName),
-    timestamp: String(this._utcTimestamp)});
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-  return native_.getResultObject(result).string;
+    utils_.log('Entered TZDate.toLocaleTimeString');
+    var result = native_.callSync('TZDate_toLocaleTimeString', {
+        timezone: String(this._timezoneName),
+        timestamp: String(this._utcTimestamp)
+    });
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+    return native_.getResultObject(result).string;
 };
 
 tizen.TZDate.prototype.toLocaleString = function() {
-  utils_.log('Entered TZDate.toLocaleString');
-  var result = native_.callSync('TZDate_toLocaleString',
-      {timezone: String(this._timezoneName),
-    timestamp: String(this._utcTimestamp)});
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-  return native_.getResultObject(result).string;
+    utils_.log('Entered TZDate.toLocaleString');
+    var result = native_.callSync('TZDate_toLocaleString', {
+        timezone: String(this._timezoneName),
+        timestamp: String(this._utcTimestamp)
+    });
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+    return native_.getResultObject(result).string;
 };
 
 tizen.TZDate.prototype.toDateString = function() {
-  utils_.log('Entered TZDate.toDateString');
-  var result = native_.callSync('TZDate_toDateString',
-      {timezone: String(this._timezoneName),
-    timestamp: String(this._utcTimestamp)});
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-  return native_.getResultObject(result).string;
+    utils_.log('Entered TZDate.toDateString');
+    var result = native_.callSync('TZDate_toDateString', {
+        timezone: String(this._timezoneName),
+        timestamp: String(this._utcTimestamp)
+    });
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+    return native_.getResultObject(result).string;
 };
 
 tizen.TZDate.prototype.toTimeString = function() {
-  utils_.log('Entered TZDate.toTimeString');
-  var result = native_.callSync('TZDate_toTimeString',
-      {timezone: String(this._timezoneName),
-    timestamp: String(this._utcTimestamp)});
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-  return native_.getResultObject(result).string;
+    utils_.log('Entered TZDate.toTimeString');
+    var result = native_.callSync('TZDate_toTimeString', {
+        timezone: String(this._timezoneName),
+        timestamp: String(this._utcTimestamp)
+    });
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+    return native_.getResultObject(result).string;
 };
 
 tizen.TZDate.prototype.toString = function() {
-  utils_.log('Entered TZDate.toString');
-  var result = native_.callSync('TZDate_toString',
-      {timezone: String(this._timezoneName),
-    timestamp: String(this._utcTimestamp)});
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-  return  native_.getResultObject(result).string;
+    utils_.log('Entered TZDate.toString');
+    var result = native_.callSync('TZDate_toString', {
+        timezone: String(this._timezoneName),
+        timestamp: String(this._utcTimestamp)
+    });
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+    return native_.getResultObject(result).string;
 };
 
 tizen.TZDate.prototype.getTimezoneAbbreviation = function() {
-  utils_.log('Entered TZDate.getTimezoneAbbreviation');
-  utils_.warn('DEPRECATION WARNING: getTimezoneAbbreviation() is deprecated and will be removed from next release.');
-
-  var result = native_.callSync('TZDate_getTimezoneAbbreviation',
-      {timezone: String(this._timezoneName),
-    timestamp: String(this._utcTimestamp)});
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-  return native_.getResultObject(result).abbreviation;
+    utils_.log('Entered TZDate.getTimezoneAbbreviation');
+    utils_.warn(
+        'DEPRECATION WARNING: getTimezoneAbbreviation() is deprecated ' +
+            'and will be removed from next release.'
+    );
+
+    var result = native_.callSync('TZDate_getTimezoneAbbreviation', {
+        timezone: String(this._timezoneName),
+        timestamp: String(this._utcTimestamp)
+    });
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+    return native_.getResultObject(result).abbreviation;
 };
 
 tizen.TZDate.prototype.secondsFromUTC = function() {
-  utils_.log('Entered TZDate.secondsFromUTC');
-  return -this._timezoneOffset/1000;
+    utils_.log('Entered TZDate.secondsFromUTC');
+    return -this._timezoneOffset / 1000;
 };
 
 tizen.TZDate.prototype.isDST = function() {
-  utils_.log('Entered TZDate.isDST');
-  var result = native_.callSync('TZDate_isDST',
-      {timezone: String(this._timezoneName),
-    timestamp: String(this._utcTimestamp)});
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-  return native_.getResultObject(result).isDST;
+    utils_.log('Entered TZDate.isDST');
+    var result = native_.callSync('TZDate_isDST', {
+        timezone: String(this._timezoneName),
+        timestamp: String(this._utcTimestamp)
+    });
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+    return native_.getResultObject(result).isDST;
 };
 
 tizen.TZDate.prototype.getPreviousDSTTransition = function() {
-  utils_.log('Entered TZDate.getPreviousDSTTransition');
-  var result = native_.callSync('TZDate_getPreviousDSTTransition',
-      {timezone: String(this._timezoneName),
-    timestamp: String(this._utcTimestamp)});
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    utils_.log('Entered TZDate.getPreviousDSTTransition');
+    var result = native_.callSync('TZDate_getPreviousDSTTransition', {
+        timezone: String(this._timezoneName),
+        timestamp: String(this._utcTimestamp)
+    });
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 
-  return new tizen.TZDate(new PrivateTZDate(native_.getResultObject(result).prevDSTDate,
-      this._timezoneName));
+    return new tizen.TZDate(
+        new PrivateTZDate(native_.getResultObject(result).prevDSTDate, this._timezoneName)
+    );
 };
 
 tizen.TZDate.prototype.getNextDSTTransition = function() {
-  utils_.log('Entered TZDate.getNextDSTTransition');
-  var result = native_.callSync('TZDate_getNextDSTTransition',
-      {timezone: String(this._timezoneName),
-    timestamp: String(this._utcTimestamp)});
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    utils_.log('Entered TZDate.getNextDSTTransition');
+    var result = native_.callSync('TZDate_getNextDSTTransition', {
+        timezone: String(this._timezoneName),
+        timestamp: String(this._utcTimestamp)
+    });
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 
-  return new tizen.TZDate(new PrivateTZDate(native_.getResultObject(result).nextDSTDate,
-      this._timezoneName));
+    return new tizen.TZDate(
+        new PrivateTZDate(native_.getResultObject(result).nextDSTDate, this._timezoneName)
+    );
 };
 
 //TimeUtil helpers ///////////////////////////////////////////////////
 var _timeDurationUnit = {
     MSECS: 'MSECS',
-    SECS : 'SECS',
-    MINS : 'MINS',
+    SECS: 'SECS',
+    MINS: 'MINS',
     HOURS: 'HOURS',
-    DAYS : 'DAYS'
+    DAYS: 'DAYS'
 };
 
 var _timeDurationUnitValue = {
     MSECS: Number(1),
-    SECS : Number(1000),
-    MINS : Number(60*1000),
-    HOURS: Number(60*60*1000),
-    DAYS : Number(24*60*60*1000)
+    SECS: Number(1000),
+    MINS: Number(60 * 1000),
+    HOURS: Number(60 * 60 * 1000),
+    DAYS: Number(24 * 60 * 60 * 1000)
 };
 
 function _getLengthInMsecsUnit(length, unit) {
-  if (unit === _timeDurationUnit.MSECS) {
-    return length;
-  } else if (unit === _timeDurationUnit.SECS) {
-    return length * _timeDurationUnitValue.SECS;
-  } else if (unit === _timeDurationUnit.MINS) {
-    return length * _timeDurationUnitValue.MINS;
-  } else if (unit === _timeDurationUnit.HOURS) {
-    return length * _timeDurationUnitValue.HOURS;
-  } else if (unit === _timeDurationUnit.DAYS) {
-    return length * _timeDurationUnitValue.DAYS;
-  } else {
-    native_.throwTypeMismatch();
-  }
+    if (unit === _timeDurationUnit.MSECS) {
+        return length;
+    } else if (unit === _timeDurationUnit.SECS) {
+        return length * _timeDurationUnitValue.SECS;
+    } else if (unit === _timeDurationUnit.MINS) {
+        return length * _timeDurationUnitValue.MINS;
+    } else if (unit === _timeDurationUnit.HOURS) {
+        return length * _timeDurationUnitValue.HOURS;
+    } else if (unit === _timeDurationUnit.DAYS) {
+        return length * _timeDurationUnitValue.DAYS;
+    } else {
+        native_.throwTypeMismatch();
+    }
 }
 
 function _convertMsecsToBiggestPossibleUnit(len) {
-  var length;
-  var unit;
-  if (len % _timeDurationUnitValue.DAYS === 0) {
-    length = len / _timeDurationUnitValue.DAYS;
-    unit = _timeDurationUnit.DAYS;
-  } else if (len % _timeDurationUnitValue.HOURS === 0) {
-    length = len / _timeDurationUnitValue.HOURS;
-    unit = _timeDurationUnit.HOURS;
-  } else if (len % _timeDurationUnitValue.MINS === 0) {
-    length = len / _timeDurationUnitValue.MINS;
-    unit = _timeDurationUnit.MINS;
-  } else if (len % _timeDurationUnitValue.SECS === 0) {
-    length = len / _timeDurationUnitValue.SECS;
-    unit = _timeDurationUnit.SECS;
-  } else {
-    length = len;
-    unit = _timeDurationUnit.MSECS;
-  }
-  return new tizen.TimeDuration(length, unit);
+    var length;
+    var unit;
+    if (len % _timeDurationUnitValue.DAYS === 0) {
+        length = len / _timeDurationUnitValue.DAYS;
+        unit = _timeDurationUnit.DAYS;
+    } else if (len % _timeDurationUnitValue.HOURS === 0) {
+        length = len / _timeDurationUnitValue.HOURS;
+        unit = _timeDurationUnit.HOURS;
+    } else if (len % _timeDurationUnitValue.MINS === 0) {
+        length = len / _timeDurationUnitValue.MINS;
+        unit = _timeDurationUnit.MINS;
+    } else if (len % _timeDurationUnitValue.SECS === 0) {
+        length = len / _timeDurationUnitValue.SECS;
+        unit = _timeDurationUnit.SECS;
+    } else {
+        length = len;
+        unit = _timeDurationUnit.MSECS;
+    }
+    return new tizen.TimeDuration(length, unit);
 }
 
 //class tizen.TimeDuration ////////////////////////////////////////////////////
 tizen.TimeDuration = function(length, unit) {
-  utils_.log('Entered TimeDuration constructor');
-  validator_.validateConstructorCall(this, tizen.TimeDuration);
-  var l, u;
-  if (arguments.length >= 2) {
-    l = converter_.toLongLong(length);
-    unit = converter_.toString(unit);
-    if (T.hasProperty(_timeDurationUnit, unit)) {
-      u = unit;
+    utils_.log('Entered TimeDuration constructor');
+    validator_.validateConstructorCall(this, tizen.TimeDuration);
+    var l, u;
+    if (arguments.length >= 2) {
+        l = converter_.toLongLong(length);
+        unit = converter_.toString(unit);
+        if (T.hasProperty(_timeDurationUnit, unit)) {
+            u = unit;
+        } else {
+            u = _timeDurationUnit.MSECS;
+        }
+    } else if (arguments.length === 1) {
+        l = converter_.toLongLong(length);
+        u = _timeDurationUnit.MSECS;
     } else {
-      u = _timeDurationUnit.MSECS;
-    }
-  } else if (arguments.length === 1) {
-    l = converter_.toLongLong(length);
-    u = _timeDurationUnit.MSECS;
-  } else {
-    l = undefined;
-    u = undefined;
-  }
-  function lengthSetter(val) {
-    if (!T.isNullOrUndefined(val)) {
-      l = val;
-    }
-  }
-  function unitSetter(val) {
-    if (!T.isNullOrUndefined(val)) {
-      u = val;
-    }
-  }
-  Object.defineProperties(this, {
-    length : {
-      enumerable : true,
-      set : lengthSetter,
-      get : function() {
-        return l;
-      }
-    },
-    unit : {
-      enumerable : true,
-      set : unitSetter,
-      get : function() {
-        return u;
-      }
-    }
-  });
-}
+        l = undefined;
+        u = undefined;
+    }
+    function lengthSetter(val) {
+        if (!T.isNullOrUndefined(val)) {
+            l = val;
+        }
+    }
+    function unitSetter(val) {
+        if (!T.isNullOrUndefined(val)) {
+            u = val;
+        }
+    }
+    Object.defineProperties(this, {
+        length: {
+            enumerable: true,
+            set: lengthSetter,
+            get: function() {
+                return l;
+            }
+        },
+        unit: {
+            enumerable: true,
+            set: unitSetter,
+            get: function() {
+                return u;
+            }
+        }
+    });
+};
 
 tizen.TimeDuration.prototype.difference = function() {
-  utils_.log('Entered TimeDuration.difference');
+    utils_.log('Entered TimeDuration.difference');
 
-  var args = validator_.validateMethod(arguments, [
-                                                   {
-                                                     name : 'other',
-                                                     type : validator_.Types.PLATFORM_OBJECT,
-                                                     values : tizen.TimeDuration
-                                                   }
-                                                   ]);
+    var args = validator_.validateMethod(arguments, [
+        {
+            name: 'other',
+            type: validator_.Types.PLATFORM_OBJECT,
+            values: tizen.TimeDuration
+        }
+    ]);
 
-  if (this.unit === args.other.unit) {
-    return new tizen.TimeDuration(this.length - args.other.length, this.unit);
-  } else {
-    var l1 = _getLengthInMsecsUnit(this.length, this.unit);
-    var l2 = _getLengthInMsecsUnit(args.other.length, args.other.unit);
-    return _convertMsecsToBiggestPossibleUnit(l1 - l2);
-  }
+    if (this.unit === args.other.unit) {
+        return new tizen.TimeDuration(this.length - args.other.length, this.unit);
+    } else {
+        var l1 = _getLengthInMsecsUnit(this.length, this.unit);
+        var l2 = _getLengthInMsecsUnit(args.other.length, args.other.unit);
+        return _convertMsecsToBiggestPossibleUnit(l1 - l2);
+    }
 };
 
 tizen.TimeDuration.prototype.equalsTo = function() {
-  utils_.log('Entered TimeDuration.equalsTo');
+    utils_.log('Entered TimeDuration.equalsTo');
 
-  var args = validator_.validateMethod(arguments, [
-                                                   {
-                                                     name : 'other',
-                                                     type : validator_.Types.PLATFORM_OBJECT,
-                                                     values : tizen.TimeDuration
-                                                   }
-                                                   ]);
+    var args = validator_.validateMethod(arguments, [
+        {
+            name: 'other',
+            type: validator_.Types.PLATFORM_OBJECT,
+            values: tizen.TimeDuration
+        }
+    ]);
 
-  if (this.unit === args.other.unit) {
-    return (this.length === args.other.length) ? true : false;
-  } else {
-    var l1 = _getLengthInMsecsUnit(this.length, this.unit);
-    var l2 = _getLengthInMsecsUnit(args.other.length, args.other.unit);
-    return (l1 === l2) ? true : false;
-  }
+    if (this.unit === args.other.unit) {
+        return this.length === args.other.length ? true : false;
+    } else {
+        var l1 = _getLengthInMsecsUnit(this.length, this.unit);
+        var l2 = _getLengthInMsecsUnit(args.other.length, args.other.unit);
+        return l1 === l2 ? true : false;
+    }
 };
 
 tizen.TimeDuration.prototype.lessThan = function() {
-  utils_.log('Entered TimeDuration.lessThan');
+    utils_.log('Entered TimeDuration.lessThan');
 
-  var args = validator_.validateMethod(arguments, [
-                                                   {
-                                                     name : 'other',
-                                                     type : validator_.Types.PLATFORM_OBJECT,
-                                                     values : tizen.TimeDuration
-                                                   }
-                                                   ]);
+    var args = validator_.validateMethod(arguments, [
+        {
+            name: 'other',
+            type: validator_.Types.PLATFORM_OBJECT,
+            values: tizen.TimeDuration
+        }
+    ]);
 
-  if (this.unit === args.other.unit) {
-    return (this.length < args.other.length) ? true : false;
-  } else {
-    var l1 = _getLengthInMsecsUnit(this.length, this.unit);
-    var l2 = _getLengthInMsecsUnit(args.other.length, args.other.unit);
-    return (l1 < l2) ? true : false;
-  }
+    if (this.unit === args.other.unit) {
+        return this.length < args.other.length ? true : false;
+    } else {
+        var l1 = _getLengthInMsecsUnit(this.length, this.unit);
+        var l2 = _getLengthInMsecsUnit(args.other.length, args.other.unit);
+        return l1 < l2 ? true : false;
+    }
 };
 
 tizen.TimeDuration.prototype.greaterThan = function() {
-  utils_.log('Entered TimeDuration.greaterThan');
+    utils_.log('Entered TimeDuration.greaterThan');
 
-  var args = validator_.validateMethod(arguments, [
-                                                   {
-                                                     name : 'other',
-                                                     type : validator_.Types.PLATFORM_OBJECT,
-                                                     values : tizen.TimeDuration
-                                                   }
-                                                   ]);
+    var args = validator_.validateMethod(arguments, [
+        {
+            name: 'other',
+            type: validator_.Types.PLATFORM_OBJECT,
+            values: tizen.TimeDuration
+        }
+    ]);
 
-  if (this.unit === args.other.unit) {
-    return (this.length > args.other.length) ? true : false;
-  } else {
-    var l1 = _getLengthInMsecsUnit(this.length, this.unit);
-    var l2 = _getLengthInMsecsUnit(args.other.length, args.other.unit);
-    return (l1 > l2) ? true : false;
-  }
+    if (this.unit === args.other.unit) {
+        return this.length > args.other.length ? true : false;
+    } else {
+        var l1 = _getLengthInMsecsUnit(this.length, this.unit);
+        var l2 = _getLengthInMsecsUnit(args.other.length, args.other.unit);
+        return l1 > l2 ? true : false;
+    }
 };
 
-
 //class TimeUtil ////////////////////////////////////////////////////
 exports.getCurrentDateTime = function() {
-  utils_.log('Entered TimeUtil.getCurrentDateTime');
-  return new tizen.TZDate();
+    utils_.log('Entered TimeUtil.getCurrentDateTime');
+    return new tizen.TZDate();
 };
 
 exports.getLocalTimezone = function() {
-  utils_.log('Entered TimeUtil.getLocalTimezone');
-  var result = native_.callSync('TZDate_getLocalTimezone', {});
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-  return native_.getResultObject(result).timezoneId;
+    utils_.log('Entered TimeUtil.getLocalTimezone');
+    var result = native_.callSync('TZDate_getLocalTimezone', {});
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+    return native_.getResultObject(result).timezoneId;
 };
 
-var _availableTimezones = [];       //an array for holding available timezones
+var _availableTimezones = []; //an array for holding available timezones
 
 exports.getAvailableTimezones = function() {
-  utils_.log('Entered TimeUtil.getAvailableTimezones');
-  if (_availableTimezones.length === 0) {
-    var result = native_.callSync('TimeUtil_getAvailableTimezones', {});
-    if (native_.isFailure(result)) {
-      throw native_.getErrorObject(result);
+    utils_.log('Entered TimeUtil.getAvailableTimezones');
+    if (_availableTimezones.length === 0) {
+        var result = native_.callSync('TimeUtil_getAvailableTimezones', {});
+        if (native_.isFailure(result)) {
+            throw native_.getErrorObject(result);
+        }
+        _availableTimezones = native_.getResultObject(result).availableTimezones;
     }
-    _availableTimezones = native_.getResultObject(result).availableTimezones;
-  }
 
-  return _availableTimezones.slice(0);
+    return _availableTimezones.slice(0);
 };
 
 exports.getDateFormat = function() {
-  utils_.log('Entered TimeUtil.getDateFormat');
-
-  var args = validator_.validateMethod(arguments, [
-                                                   {
-                                                     name : 'shortformat',
-                                                     type : validator_.Types.BOOLEAN,
-                                                     optional : true,
-                                                     nullable : true
-                                                   }
-                                                   ]);
+    utils_.log('Entered TimeUtil.getDateFormat');
+
+    var args = validator_.validateMethod(arguments, [
+        {
+            name: 'shortformat',
+            type: validator_.Types.BOOLEAN,
+            optional: true,
+            nullable: true
+        }
+    ]);
 
-  if (!args.has.shortformat || T.isNull(args.shortformat)) {
-    args.shortformat = false;
-  }
+    if (!args.has.shortformat || T.isNull(args.shortformat)) {
+        args.shortformat = false;
+    }
 
-  var result = native_.callSync('TimeUtil_getDateFormat', {shortformat: args.shortformat});
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-  return native_.getResultObject(result).format;
+    var result = native_.callSync('TimeUtil_getDateFormat', {
+        shortformat: args.shortformat
+    });
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+    return native_.getResultObject(result).format;
 };
 
 exports.getTimeFormat = function() {
-  utils_.log('Entered TimeUtil.getTimeFormat');
-  var result = native_.callSync('TimeUtil_getTimeFormat', {});
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-  return native_.getResultObject(result).format;
+    utils_.log('Entered TimeUtil.getTimeFormat');
+    var result = native_.callSync('TimeUtil_getTimeFormat', {});
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+    return native_.getResultObject(result).format;
 };
 
 exports.isLeapYear = function() {
-  utils_.log('Entered TimeUtil.isLeapYear');
+    utils_.log('Entered TimeUtil.isLeapYear');
 
-  var args = validator_.validateMethod(arguments, [
-                                                   {
-                                                     name : 'year',
-                                                     type : validator_.Types.LONG
-                                                   }
-                                                   ]);
+    var args = validator_.validateMethod(arguments, [
+        {
+            name: 'year',
+            type: validator_.Types.LONG
+        }
+    ]);
 
-  // new Date(year, 1, 29).getMonth() === 1 <-- does not work for years 0-99
-  return ((args.year % 4 === 0) && (args.year % 100 !== 0)) || (args.year % 400 === 0);
+    // new Date(year, 1, 29).getMonth() === 1 <-- does not work for years 0-99
+    return (args.year % 4 === 0 && args.year % 100 !== 0) || args.year % 400 === 0;
 };
 
-
 var _timeUtilDateTimeChangeListener;
 function _timeChangedListenerCallback(eventObj) {
-  utils_.log("_timeChangedListenerCallback");
-  native_.callIfPossible(_timeUtilDateTimeChangeListener);
+    utils_.log('_timeChangedListenerCallback');
+    native_.callIfPossible(_timeUtilDateTimeChangeListener);
 }
 
 exports.setDateTimeChangeListener = function() {
-  utils_.log('Entered TimeUtil.setDateTimeChangeListener');
-  var args = validator_.validateMethod(arguments, [
-                                                   {
-                                                     name : 'changeCallback',
-                                                     type : validator_.Types.FUNCTION
-                                                   }
-                                                   ]);
-  var result = native_.callSync('TimeUtil_setDateTimeChangeListener', {});
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-  _timeUtilDateTimeChangeListener = args.changeCallback;
-  native_.addListener("DateTimeChangeListener", _timeChangedListenerCallback);
+    utils_.log('Entered TimeUtil.setDateTimeChangeListener');
+    var args = validator_.validateMethod(arguments, [
+        {
+            name: 'changeCallback',
+            type: validator_.Types.FUNCTION
+        }
+    ]);
+    var result = native_.callSync('TimeUtil_setDateTimeChangeListener', {});
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+    _timeUtilDateTimeChangeListener = args.changeCallback;
+    native_.addListener('DateTimeChangeListener', _timeChangedListenerCallback);
 };
 
 exports.unsetDateTimeChangeListener = function() {
-  utils_.log('Entered TimeUtil.unsetDateTimeChangeListener');
-  var result = native_.callSync('TimeUtil_unsetDateTimeChangeListener', {});
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-  native_.removeListener('DateTimeChangeListener');
-  _timeUtilDateTimeChangeListener = undefined;
+    utils_.log('Entered TimeUtil.unsetDateTimeChangeListener');
+    var result = native_.callSync('TimeUtil_unsetDateTimeChangeListener', {});
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+    native_.removeListener('DateTimeChangeListener');
+    _timeUtilDateTimeChangeListener = undefined;
 };
 
 var _timeUtilTimezoneChangeListener;
 function _timezoneListenerCallback(eventObj) {
-  utils_.log("_timezoneListenerCallback");
-  native_.callIfPossible(_timeUtilTimezoneChangeListener);
+    utils_.log('_timezoneListenerCallback');
+    native_.callIfPossible(_timeUtilTimezoneChangeListener);
 }
 
 exports.setTimezoneChangeListener = function() {
-  utils_.log('Entered TimeUtil.setTimezoneChangeListener');
-  var args = validator_.validateMethod(arguments, [
-                                                   {
-                                                     name : 'changeCallback',
-                                                     type : validator_.Types.FUNCTION
-                                                   }
-                                                   ]);
-  var result = native_.callSync('TimeUtil_setTimezoneChangeListener', {});
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-  _timeUtilTimezoneChangeListener = args.changeCallback;
-  native_.addListener('TimezoneChangeListener',
-      _timezoneListenerCallback);
-
+    utils_.log('Entered TimeUtil.setTimezoneChangeListener');
+    var args = validator_.validateMethod(arguments, [
+        {
+            name: 'changeCallback',
+            type: validator_.Types.FUNCTION
+        }
+    ]);
+    var result = native_.callSync('TimeUtil_setTimezoneChangeListener', {});
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+    _timeUtilTimezoneChangeListener = args.changeCallback;
+    native_.addListener('TimezoneChangeListener', _timezoneListenerCallback);
 };
 
 exports.unsetTimezoneChangeListener = function() {
-  utils_.log('Entered TimeUtil.unsetTimezoneChangeListener');
-  native_.removeListener('TimezoneChangeListener');
-  var result = native_.callSync('TimeUtil_unsetTimezoneChangeListener', {});
-  _timeUtilTimezoneChangeListener = undefined;
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-};
\ No newline at end of file
+    utils_.log('Entered TimeUtil.unsetTimezoneChangeListener');
+    native_.removeListener('TimezoneChangeListener');
+    var result = native_.callSync('TimeUtil_unsetTimezoneChangeListener', {});
+    _timeUtilTimezoneChangeListener = undefined;
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+};
index eaa502b34b52643e0573ac9e2285127b8732fc69..ee9870715d8a4487f1dcc30dcbf05905544366a2 100644 (file)
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+/* eslint-disable */
 // Tizen API Specification:
-// https://developer.tizen.org/dev-guide/2.3.0/org.tizen.mobile.web.device.apireference/tizen/tizen.html
-
+// https://developer.tizen.org/dev-guide/2.3.0/org.tizen.web.apireference/org.tizen.mobile.web.device.apireference/index.html
+/* eslint-enable */
 
 // WebAPIException and WebAPIError definition moved to src/utils/utils_api.js
 // for compliance reasons. You can find more info there.
 
-
 /**
  * Filter match flags.
  * @enum {string}
  */
 var FilterMatchFlag = {
-  EXACTLY: 'EXACTLY',
-  FULLSTRING: 'FULLSTRING',
-  CONTAINS: 'CONTAINS',
-  STARTSWITH: 'STARTSWITH',
-  ENDSWITH: 'ENDSWITH',
-  EXISTS: 'EXISTS'
+    EXACTLY: 'EXACTLY',
+    FULLSTRING: 'FULLSTRING',
+    CONTAINS: 'CONTAINS',
+    STARTSWITH: 'STARTSWITH',
+    ENDSWITH: 'ENDSWITH',
+    EXISTS: 'EXISTS'
 };
 
-
 /**
  * An enumerator that indicates the sorting order.
  * @enum {string}
  */
 var SortModeOrder = {
-  ASC: 'ASC',
-  DESC: 'DESC'
+    ASC: 'ASC',
+    DESC: 'DESC'
 };
 
-
 /**
  * An enumerator that indicates the type of composite filter.
  * @enum {string}
  */
 var CompositeFilterType = {
-  UNION: 'UNION',
-  INTERSECTION: 'INTERSECTION'
+    UNION: 'UNION',
+    INTERSECTION: 'INTERSECTION'
 };
 
 // Tizen Filters
 // either AttributeFilter, AttributeRangeFilter, or CompositeFilter
 function is_tizen_filter(f) {
-  return (f instanceof tizen.AttributeFilter) ||
-         (f instanceof tizen.AttributeRangeFilter) ||
-         (f instanceof tizen.CompositeFilter);
+    return (
+        f instanceof tizen.AttributeFilter ||
+        f instanceof tizen.AttributeRangeFilter ||
+        f instanceof tizen.CompositeFilter
+    );
 }
 
 //Extract property by string
 function _extractProperty(obj, attributeName) {
-  var props = attributeName.split('.');
-  for (var i = 0; i < props.length; ++i) {
-    if (obj instanceof Array) {
-      var ret = [];
-      for (var j = 0; j < obj.length; ++j)
-      {
-        ret.push(_extractProperty(obj[j], props.slice(i).join('.')));
-      }
-      return ret;
-    }
-    if (!obj.hasOwnProperty(props[i])) {
-      if (i === props.length - 1) {
-        throw new WebAPIException('InvalidValuesError', 'Property "' + attributeName +
-                '" is not valid');
-      }
-      return null;
+    var props = attributeName.split('.');
+    for (var i = 0; i < props.length; ++i) {
+        if (obj instanceof Array) {
+            var ret = [];
+            for (var j = 0; j < obj.length; ++j) {
+                ret.push(_extractProperty(obj[j], props.slice(i).join('.')));
+            }
+            return ret;
+        }
+        if (!obj.hasOwnProperty(props[i])) {
+            if (i === props.length - 1) {
+                throw new WebAPIException(
+                    'InvalidValuesError',
+                    'Property "' + attributeName + '" is not valid'
+                );
+            }
+            return null;
+        }
+        obj = obj[props[i]];
     }
-    obj = obj[props[i]];
-  }
-  return obj;
+    return obj;
 }
 
-
 /**
  * This is a common interface used by different types of object filters.
  */
 var AbstractFilter = function() {};
 
-
 /**
  * Represents a set of filters.
  */
 exports.AttributeFilter = function(attrName, matchFlag, matchValue) {
+    xwalk.utils.validator.isConstructorCall(this, exports.AttributeFilter);
+
+    var name_ = '';
+    var flag_ = 'EXACTLY';
+    var value_ = null;
+
+    function attributeNameSetter(name) {
+        name_ = String(name);
+    }
+
+    if (arguments.length > 0) attributeNameSetter(attrName);
+
+    function matchFlagSetter(flag) {
+        if (Object.keys(FilterMatchFlag).indexOf(flag) >= 0) flag_ = flag;
+    }
+
+    function matchValueSetter(value) {
+        value_ = value;
+    }
 
-  xwalk.utils.validator.isConstructorCall(this, exports.AttributeFilter);
-
-  var name_ = '';
-  var flag_ = 'EXACTLY';
-  var value_ = null;
-
-  function attributeNameSetter(name) {
-    name_ = String(name);
-  }
-
-  if (arguments.length > 0)
-    attributeNameSetter(attrName);
-
-  function matchFlagSetter(flag) {
-    if (Object.keys(FilterMatchFlag).indexOf(flag) >= 0)
-      flag_ = flag;
-  }
-
-  function matchValueSetter(value) {
-    value_ = value;
-  }
-
-  if (arguments.length > 2) {
-    matchFlagSetter(matchFlag);
-    matchValueSetter(matchValue);
-  } else if (arguments.length > 1) {
-    // if matchValue is not used then matchFlag is set to 'EXISTS'.
-    matchFlagSetter('EXISTS');
-  }
-
-  Object.defineProperties(this, {
-    attributeName: {
-      enumerable: true,
-      set: attributeNameSetter,
-      get: function() {
-        return name_;
-      }
-    },
-    matchFlag: {
-      enumerable: true,
-      set: matchFlagSetter,
-      get: function() {
-        return flag_;
-      }
-    },
-    matchValue: {
-      enumerable: true,
-      set: matchValueSetter,
-      get: function() {
-        return value_;
-      }
+    if (arguments.length > 2) {
+        matchFlagSetter(matchFlag);
+        matchValueSetter(matchValue);
+    } else if (arguments.length > 1) {
+        // if matchValue is not used then matchFlag is set to 'EXISTS'.
+        matchFlagSetter('EXISTS');
     }
-  });
+
+    Object.defineProperties(this, {
+        attributeName: {
+            enumerable: true,
+            set: attributeNameSetter,
+            get: function() {
+                return name_;
+            }
+        },
+        matchFlag: {
+            enumerable: true,
+            set: matchFlagSetter,
+            get: function() {
+                return flag_;
+            }
+        },
+        matchValue: {
+            enumerable: true,
+            set: matchValueSetter,
+            get: function() {
+                return value_;
+            }
+        }
+    });
 };
 exports.AttributeFilter.prototype = new AbstractFilter();
 
 //TODO: Move filtering to native code
 exports.AttributeFilter.prototype._filter = function(element) {
-  var elemValue = _extractProperty(element, this.attributeName);
-
-  if (!(elemValue instanceof Array)) {
-    elemValue = [elemValue];
-  }
-
-  var ret = false;
-  for (var i = 0; i < elemValue.length; ++i) {
-    var elemValueStr = String(elemValue[i]);
-    var elemValueStrU = elemValueStr.toUpperCase();
-    var matchValueStr = String(this.matchValue);
-    var matchValueStrU = matchValueStr.toUpperCase();
-
-    switch (this.matchFlag) {
-      case 'EXACTLY':
-        ret = elemValue[i] === this.matchValue;
-        break;
-      case 'FULLSTRING':
-        ret = elemValueStrU === matchValueStrU;
-        break;
-      case 'CONTAINS':
-        ret = elemValueStrU.indexOf(matchValueStrU) > -1;
-        break;
-      case 'STARTSWITH':
-        ret = elemValueStrU.indexOf(matchValueStrU) === 0;
-        break;
-      case 'ENDSWITH':
-        ret = elemValueStrU.lastIndexOf(matchValueStrU) +
-                matchValueStrU.length === elemValueStrU.length;
-        break;
-      case 'EXISTS':
-        ret = elemValue[i] !== undefined;
-        break;
+    var elemValue = _extractProperty(element, this.attributeName);
+
+    if (!(elemValue instanceof Array)) {
+        elemValue = [elemValue];
     }
-    if (ret) {
-      return ret;
+
+    var ret = false;
+    for (var i = 0; i < elemValue.length; ++i) {
+        var elemValueStr = String(elemValue[i]);
+        var elemValueStrU = elemValueStr.toUpperCase();
+        var matchValueStr = String(this.matchValue);
+        var matchValueStrU = matchValueStr.toUpperCase();
+
+        switch (this.matchFlag) {
+        case 'EXACTLY':
+            ret = elemValue[i] === this.matchValue;
+            break;
+        case 'FULLSTRING':
+            ret = elemValueStrU === matchValueStrU;
+            break;
+        case 'CONTAINS':
+            ret = elemValueStrU.indexOf(matchValueStrU) > -1;
+            break;
+        case 'STARTSWITH':
+            ret = elemValueStrU.indexOf(matchValueStrU) === 0;
+            break;
+        case 'ENDSWITH':
+            ret =
+                    elemValueStrU.lastIndexOf(matchValueStrU) + matchValueStrU.length ===
+                    elemValueStrU.length;
+            break;
+        case 'EXISTS':
+            ret = elemValue[i] !== undefined;
+            break;
+        }
+        if (ret) {
+            return ret;
+        }
     }
-  }
-  return ret;
+    return ret;
 };
 exports.AttributeFilter.prototype.constructor = exports.AttributeFilter;
 
-
 /**
  * Represents a filter based on an object attribute which has values that are
  * within a particular range.
  */
 exports.AttributeRangeFilter = function(attrName, start, end) {
+    xwalk.utils.validator.isConstructorCall(this, exports.AttributeRangeFilter);
+
+    var name_ = '';
+    var start_ = null;
+    var end_ = null;
 
-  xwalk.utils.validator.isConstructorCall(this, exports.AttributeRangeFilter);
-
-  var name_ = '';
-  var start_ = null;
-  var end_ = null;
-
-  function attributeNameSetter(name) {
-    name_ = String(name);
-  }
-
-  if (arguments.length > 0)
-    attributeNameSetter(attrName);
-
-  function initSetter(init) {
-    start_ = init;
-  }
-
-  if (arguments.length > 1)
-    initSetter(start);
-
-  function endSetter(end) {
-    end_ = end;
-  }
-
-  if (arguments.length > 2)
-    endSetter(end);
-
-  Object.defineProperties(this, {
-    attributeName: {
-      enumerable: true,
-      set: attributeNameSetter,
-      get: function() {
-        return name_;
-      }
-    },
-    initialValue: {
-      enumerable: true,
-      set: initSetter,
-      get: function() {
-        return start_;
-      }
-    },
-    endValue: {
-      enumerable: true,
-      set: endSetter,
-      get: function() {
-        return end_;
-      }
+    function attributeNameSetter(name) {
+        name_ = String(name);
     }
-  });
+
+    if (arguments.length > 0) attributeNameSetter(attrName);
+
+    function initSetter(init) {
+        start_ = init;
+    }
+
+    if (arguments.length > 1) initSetter(start);
+
+    function endSetter(end) {
+        end_ = end;
+    }
+
+    if (arguments.length > 2) endSetter(end);
+
+    Object.defineProperties(this, {
+        attributeName: {
+            enumerable: true,
+            set: attributeNameSetter,
+            get: function() {
+                return name_;
+            }
+        },
+        initialValue: {
+            enumerable: true,
+            set: initSetter,
+            get: function() {
+                return start_;
+            }
+        },
+        endValue: {
+            enumerable: true,
+            set: endSetter,
+            get: function() {
+                return end_;
+            }
+        }
+    });
 };
 
 exports.AttributeRangeFilter.prototype = new AbstractFilter();
 
 //TODO: Move filtering to native code
 exports.AttributeRangeFilter.prototype._filter = function(element) {
-  var elemValue = _extractProperty(element, this.attributeName);
+    var elemValue = _extractProperty(element, this.attributeName);
 
-  if (!(elemValue instanceof Array)) {
-    elemValue = [elemValue];
-  }
-
-  for (var i = 0; i < elemValue.length; ++i) {
-    var value = elemValue[i];
+    if (!(elemValue instanceof Array)) {
+        elemValue = [elemValue];
+    }
 
-    if ((this.initialValue !== undefined && this.initialValue !== null) &&
-            (this.endValue !== undefined && this.endValue !== null)) {
-      if (value instanceof tizen.TZDate) {
-        if (this.initialValue.earlierThan(value) && this.endValue.laterThan(value)) {
-          return true;
-        }
-      } else {
-        if (this.initialValue <= value && this.endValue > value) {
-          return true;
-        }
-      }
-    } else if ((this.initialValue !== undefined && this.initialValue !== null) &&
-            (this.endValue === undefined || this.endValue === null)) {
-      if (value instanceof tizen.TZDate) {
-        if (this.initialValue.earlierThan(value)) {
-          return true;
-        }
-      } else {
-        if (this.initialValue <= value) {
-          return true;
+    for (var i = 0; i < elemValue.length; ++i) {
+        var value = elemValue[i];
+
+        if (
+            this.initialValue !== undefined &&
+            this.initialValue !== null &&
+            (this.endValue !== undefined && this.endValue !== null)
+        ) {
+            if (value instanceof tizen.TZDate) {
+                if (
+                    this.initialValue.earlierThan(value) &&
+                    this.endValue.laterThan(value)
+                ) {
+                    return true;
+                }
+            } else {
+                if (this.initialValue <= value && this.endValue > value) {
+                    return true;
+                }
+            }
+        } else if (
+            this.initialValue !== undefined &&
+            this.initialValue !== null &&
+            (this.endValue === undefined || this.endValue === null)
+        ) {
+            if (value instanceof tizen.TZDate) {
+                if (this.initialValue.earlierThan(value)) {
+                    return true;
+                }
+            } else {
+                if (this.initialValue <= value) {
+                    return true;
+                }
+            }
+        } else if (
+            (this.initialValue === undefined || this.initialValue === null) &&
+            (this.endValue !== undefined && this.endValue !== null)
+        ) {
+            if (value instanceof tizen.TZDate) {
+                if (this.endValue.laterThan(value)) {
+                    return true;
+                }
+            } else {
+                if (this.endValue > value) {
+                    return true;
+                }
+            }
         }
-      }
-    } else if ((this.initialValue === undefined || this.initialValue === null) &&
-            (this.endValue !== undefined && this.endValue !== null)) {
-      if (value instanceof tizen.TZDate) {
-        if (this.endValue.laterThan(value)) {
-          return true;
-        }
-      } else {
-        if (this.endValue > value) {
-          return true;
-        }
-      }
     }
-  }
-  return false;
+    return false;
 };
 
 exports.AttributeRangeFilter.prototype.constructor = exports.AttributeRangeFilter;
 
-
 /**
  * Represents a set of filters.
  */
 exports.CompositeFilter = function(type, filters) {
+    xwalk.utils.validator.isConstructorCall(this, exports.CompositeFilter);
 
-  xwalk.utils.validator.isConstructorCall(this, exports.CompositeFilter);
+    var filterTypes = Object.keys(CompositeFilterType);
 
-  var filterTypes = Object.keys(CompositeFilterType);
+    var type_ = filterTypes[0];
+    var filters_ = [];
 
-  var type_ = filterTypes[0];
-  var filters_ = [];
+    function typeSetter(filterType) {
+        if (filterTypes.indexOf(filterType) >= 0) type_ = filterType;
+    }
 
-  function typeSetter(filterType) {
-    if (filterTypes.indexOf(filterType) >= 0)
-      type_ = filterType;
-  }
+    if (arguments.length > 0) typeSetter(type);
 
-  if (arguments.length > 0)
-    typeSetter(type);
+    function filtersSetter(filterList) {
+        if (!(filterList instanceof Array)) return;
 
-  function filtersSetter(filterList) {
-    if (!(filterList instanceof Array))
-      return;
+        for (var i in filterList) {
+            var valid = filterList[i] instanceof AbstractFilter;
+            if (!valid) return;
+        }
 
-    for (var i in filterList) {
-      var valid = (filterList[i] instanceof AbstractFilter);
-      if (!valid)
-        return;
+        filters_ = filterList.slice(0);
     }
 
-    filters_ = filterList.slice(0);
-  }
-
-  if (arguments.length > 1)
-    filtersSetter(filters);
-
-  Object.defineProperties(this, {
-    type: {
-      enumerable: true,
-      set: typeSetter,
-      get: function() {
-        return type_;
-      }
-    },
-    filters: {
-      enumerable: true,
-      set: filtersSetter,
-      get: function() {
-        return filters_;
-      }
-    }
-  });
+    if (arguments.length > 1) filtersSetter(filters);
+
+    Object.defineProperties(this, {
+        type: {
+            enumerable: true,
+            set: typeSetter,
+            get: function() {
+                return type_;
+            }
+        },
+        filters: {
+            enumerable: true,
+            set: filtersSetter,
+            get: function() {
+                return filters_;
+            }
+        }
+    });
 };
 
 exports.CompositeFilter.prototype = new AbstractFilter();
 
 //TODO: Move filtering to native code
 exports.CompositeFilter.prototype._filter = function(element) {
-  var filters = this.filters;
-  if (this.type === 'UNION') {
-    for (var i = 0; i < filters.length; ++i) {
-      if (filters[i]._filter(element)) {
-        return true;
-      }
-    }
-    return false;
-  } else if (this.type === 'INTERSECTION') {
-    if (filters.length === 0)
-      return false;
-    for (var i = 0; i < filters.length; ++i) {
-      if (!filters[i]._filter(element)) {
+    var filters = this.filters;
+    if (this.type === 'UNION') {
+        for (var i = 0; i < filters.length; ++i) {
+            if (filters[i]._filter(element)) {
+                return true;
+            }
+        }
         return false;
-      }
+    } else if (this.type === 'INTERSECTION') {
+        if (filters.length === 0) return false;
+        for (var i = 0; i < filters.length; ++i) {
+            if (!filters[i]._filter(element)) {
+                return false;
+            }
+        }
+        return true;
     }
-    return true;
-  }
 };
 
 exports.CompositeFilter.prototype.constructor = exports.CompositeFilter;
 
-
 /**
  * SortMode is a common interface used for sorting of queried data.
  */
 exports.SortMode = function(attrName, order) {
+    xwalk.utils.validator.isConstructorCall(this, exports.SortMode);
 
-  xwalk.utils.validator.isConstructorCall(this, exports.SortMode);
-
-  var sortModeOrder = Object.keys(SortModeOrder);
+    var sortModeOrder = Object.keys(SortModeOrder);
 
-  var attributeName_ = '';
-  var order_ = 'ASC';
+    var attributeName_ = '';
+    var order_ = 'ASC';
 
-  function nameSetter(name) {
-    attributeName_ = String(name);
-  }
-
-  if (arguments.length > 0)
-    nameSetter(attrName);
-
-  function orderSetter(sortOrder) {
-    if (sortModeOrder.indexOf(sortOrder) >= 0)
-      order_ = sortOrder;
-  }
+    function nameSetter(name) {
+        attributeName_ = String(name);
+    }
 
-  if (arguments.length > 1)
-    orderSetter(order);
+    if (arguments.length > 0) nameSetter(attrName);
 
-  Object.defineProperties(this, {
-    attributeName: {
-      enumerable: true, set: nameSetter, get: function() {
-        return attributeName_;
-      }
-    },
-    order: {
-      enumerable: true, set: orderSetter, get: function() {
-        return order_;
-      }
+    function orderSetter(sortOrder) {
+        if (sortModeOrder.indexOf(sortOrder) >= 0) order_ = sortOrder;
     }
-  });
+
+    if (arguments.length > 1) orderSetter(order);
+
+    Object.defineProperties(this, {
+        attributeName: {
+            enumerable: true,
+            set: nameSetter,
+            get: function() {
+                return attributeName_;
+            }
+        },
+        order: {
+            enumerable: true,
+            set: orderSetter,
+            get: function() {
+                return order_;
+            }
+        }
+    });
 };
 exports.SortMode.prototype.constructor = exports.SortMode;
 
-
 /**
  * Represents a point (latitude and longitude) in the map coordinate system.
  */
 exports.SimpleCoordinates = function(lat, lng) {
+    xwalk.utils.validator.isConstructorCall(this, exports.SimpleCoordinates);
 
-  xwalk.utils.validator.isConstructorCall(this, exports.SimpleCoordinates);
+    var latitude = 0;
+    var longitude = 0;
 
-  var latitude = 0;
-  var longitude = 0;
+    function latSetter(lat) {
+        var tmp = Number(lat);
+        if (!isNaN(tmp)) {
+            if (tmp > 90) tmp = 90;
+            else if (tmp < -90) tmp = -90;
 
-  function latSetter(lat) {
-    var tmp = Number(lat);
-    if (!isNaN(tmp)) {
-      if (tmp > 90) tmp = 90;
-      else if (tmp < -90) tmp = -90;
-
-      latitude = tmp;
+            latitude = tmp;
+        }
     }
-  }
 
-  latSetter(lat);
+    latSetter(lat);
 
-  function lonSetter(lon) {
-    var tmp = Number(lon);
-    if (!isNaN(tmp)) {
-      if (tmp > 180) tmp = 180;
-      else if (tmp < -180) tmp = -180;
+    function lonSetter(lon) {
+        var tmp = Number(lon);
+        if (!isNaN(tmp)) {
+            if (tmp > 180) tmp = 180;
+            else if (tmp < -180) tmp = -180;
 
-      longitude = tmp;
-    }
-  }
-
-  lonSetter(lng);
-
-  Object.defineProperties(this, {
-    latitude: {
-      enumerable: true, set: latSetter, get: function() {
-        return latitude;
-      }
-    },
-    longitude: {
-      enumerable: true, set: lonSetter, get: function() {
-        return longitude;
-      }
+            longitude = tmp;
+        }
     }
-  });
+
+    lonSetter(lng);
+
+    Object.defineProperties(this, {
+        latitude: {
+            enumerable: true,
+            set: latSetter,
+            get: function() {
+                return latitude;
+            }
+        },
+        longitude: {
+            enumerable: true,
+            set: lonSetter,
+            get: function() {
+                return longitude;
+            }
+        }
+    });
 };
 exports.SimpleCoordinates.prototype.constructor = exports.SimpleCoordinates;
index b2f34f1b73349d25561730ae0aa65fe881766819..00576b1872118a9c24a72e70f2aa39be34985e67 100755 (executable)
@@ -18,240 +18,239 @@ var native = new xwalk.utils.NativeManager(extension);
 var validator = xwalk.utils.validator;
 var types = validator.Types;
 var mandatoryMap = {
-  "ArrowLeft" : {
-    keyName : "Left",
-    keyCode : 37
-  },
-  "ArrowUp" : {
-    keyName : "Up",
-    keyCode : 38
-  },
-  "ArrowRight" : {
-    keyName : "Right",
-    keyCode : 39
-  },
-  "ArrowDown" : {
-    keyName : "Down",
-    keyCode : 40
-  },
-  "Enter" : {
-    keyName : "Return",
-    keyCode : 13
-  },
-  "Back" : {
-    keyName : "XF86Back",
-    keyCode : 10009
-  },
+    ArrowLeft: {
+        keyName: 'Left',
+        keyCode: 37
+    },
+    ArrowUp: {
+        keyName: 'Up',
+        keyCode: 38
+    },
+    ArrowRight: {
+        keyName: 'Right',
+        keyCode: 39
+    },
+    ArrowDown: {
+        keyName: 'Down',
+        keyCode: 40
+    },
+    Enter: {
+        keyName: 'Return',
+        keyCode: 13
+    },
+    Back: {
+        keyName: 'XF86Back',
+        keyCode: 10009
+    }
 };
 var map = {
-  "VolumeUp": {
-    keyName: "XF86AudioRaiseVolume",
-    keyCode: 447
-  },
-  "VolumeDown": {
-    keyName: "XF86AudioLowerVolume",
-    keyCode: 448
-  },
-  "VolumeMute": {
-    keyName: "XF86AudioMute",
-    keyCode: 449
-  },
-  "ChannelUp": {
-    keyName: "XF86RaiseChannel",
-    keyCode: 427
-  },
-  "ChannelDown": {
-    keyName: "XF86LowerChannel",
-    keyCode: 428
-  },
-  "ColorF0Red": {
-    keyName: "XF86Red",
-    keyCode: 403
-  },
-  "ColorF1Green": {
-    keyName: "XF86Green",
-    keyCode: 404
-  },
-  "ColorF2Yellow": {
-    keyName: "XF86Yellow",
-    keyCode: 405
-  },
-  "ColorF3Blue": {
-    keyName: "XF86Blue",
-    keyCode: 406
-  },
-  "Menu": {
-    keyName: "XF86SysMenu",
-    keyCode: 10133
-  },
-  "Tools": {
-    keyName: "XF86SimpleMenu",
-    keyCode: 10135
-  },
-  "Info": {
-    keyName: "XF86Info",
-    keyCode: 457
-  },
-  "Exit": {
-    keyName: "XF86Exit",
-    keyCode: 10182
-  },
-  "Search": {
-    keyName: "XF86Search",
-    keyCode: 10225
-  },
-  "Guide": {
-    keyName: "XF86ChannelGuide",
-    keyCode: 458
-  },
-  "MediaRewind": {
-    keyName: "XF86AudioRewind",
-    keyCode: 412
-  },
-  "MediaPause": {
-    keyName: "XF86AudioPause",
-    keyCode: 19
-  },
-  "MediaFastForward": {
-    keyName: "XF86AudioNext",
-    keyCode: 417
-  },
-  "MediaRecord": {
-    keyName: "XF86AudioRecord",
-    keyCode: 416
-  },
-  "MediaPlay": {
-    keyName: "XF86AudioPlay",
-    keyCode: 415
-  },
-  "MediaStop": {
-    keyName: "XF86AudioStop",
-    keyCode: 413
-  },
-  "MediaPlayPause": {
-    keyName: "XF86PlayBack",
-    keyCode: 10252
-  },
-  "MediaTrackPrevious": {
-    keyName: "XF86PreviousChapter",
-    keyCode: 10232
-  },
-  "MediaTrackNext": {
-    keyName: "XF86NextChapter",
-    keyCode: 10233
-  },
-  "Source": {
-    keyName: "XF86Display",
-    keyCode: 10072
-  },
-  "PictureSize": {
-    keyName: "XF86PictureSize",
-    keyCode: 10140
-  },
-  "PreviousChannel": {
-    keyName: "XF86PreviousChannel",
-    keyCode: 10190
-  },
-  "ChannelList": {
-    keyName: "XF86ChannelList",
-    keyCode: 10073
-  },
-  "E-Manual": {
-    keyName: "XF86EManual",
-    keyCode: 10146
-  },
-  "MTS": {
-    keyName: "XF86MTS",
-    keyCode: 10195
-  },
-  "3D": {
-    keyName: "XF863D",
-    keyCode: 10199
-  },
-  "Soccer": {
-    keyName: "XF86SoccerMode",
-    keyCode: 10228
-  },
-  "Caption": {
-    keyName: "XF86Caption",
-    keyCode: 10221
-  },
-  "Teletext": {
-    keyName: "XF86TTXMIX",
-    keyCode: 10200
-  },
-  "Extra": {
-    keyName: "XF86ExtraApp",
-    keyCode: 10253
-  },
-  "0": {
-    keyName: "0",
-    keyCode: 48
-  },
-  "1": {
-    keyName: "1",
-    keyCode: 49
-  },
-  "2": {
-    keyName: "2",
-    keyCode: 50
-  },
-  "3": {
-    keyName: "3",
-    keyCode: 51
-  },
-  "4": {
-    keyName: "4",
-    keyCode: 52
-  },
-  "5": {
-    keyName: "5",
-    keyCode: 53
-  },
-  "6": {
-    keyName: "6",
-    keyCode: 54
-  },
-  "7": {
-    keyName: "7",
-    keyCode: 55
-  },
-  "8": {
-    keyName: "8",
-    keyCode: 56
-  },
-  "9": {
-    keyName: "9",
-    keyCode: 57
-  },
-  "Minus": {
-    keyName: "minus",
-    keyCode: 189
-  },
+    VolumeUp: {
+        keyName: 'XF86AudioRaiseVolume',
+        keyCode: 447
+    },
+    VolumeDown: {
+        keyName: 'XF86AudioLowerVolume',
+        keyCode: 448
+    },
+    VolumeMute: {
+        keyName: 'XF86AudioMute',
+        keyCode: 449
+    },
+    ChannelUp: {
+        keyName: 'XF86RaiseChannel',
+        keyCode: 427
+    },
+    ChannelDown: {
+        keyName: 'XF86LowerChannel',
+        keyCode: 428
+    },
+    ColorF0Red: {
+        keyName: 'XF86Red',
+        keyCode: 403
+    },
+    ColorF1Green: {
+        keyName: 'XF86Green',
+        keyCode: 404
+    },
+    ColorF2Yellow: {
+        keyName: 'XF86Yellow',
+        keyCode: 405
+    },
+    ColorF3Blue: {
+        keyName: 'XF86Blue',
+        keyCode: 406
+    },
+    Menu: {
+        keyName: 'XF86SysMenu',
+        keyCode: 10133
+    },
+    Tools: {
+        keyName: 'XF86SimpleMenu',
+        keyCode: 10135
+    },
+    Info: {
+        keyName: 'XF86Info',
+        keyCode: 457
+    },
+    Exit: {
+        keyName: 'XF86Exit',
+        keyCode: 10182
+    },
+    Search: {
+        keyName: 'XF86Search',
+        keyCode: 10225
+    },
+    Guide: {
+        keyName: 'XF86ChannelGuide',
+        keyCode: 458
+    },
+    MediaRewind: {
+        keyName: 'XF86AudioRewind',
+        keyCode: 412
+    },
+    MediaPause: {
+        keyName: 'XF86AudioPause',
+        keyCode: 19
+    },
+    MediaFastForward: {
+        keyName: 'XF86AudioNext',
+        keyCode: 417
+    },
+    MediaRecord: {
+        keyName: 'XF86AudioRecord',
+        keyCode: 416
+    },
+    MediaPlay: {
+        keyName: 'XF86AudioPlay',
+        keyCode: 415
+    },
+    MediaStop: {
+        keyName: 'XF86AudioStop',
+        keyCode: 413
+    },
+    MediaPlayPause: {
+        keyName: 'XF86PlayBack',
+        keyCode: 10252
+    },
+    MediaTrackPrevious: {
+        keyName: 'XF86PreviousChapter',
+        keyCode: 10232
+    },
+    MediaTrackNext: {
+        keyName: 'XF86NextChapter',
+        keyCode: 10233
+    },
+    Source: {
+        keyName: 'XF86Display',
+        keyCode: 10072
+    },
+    PictureSize: {
+        keyName: 'XF86PictureSize',
+        keyCode: 10140
+    },
+    PreviousChannel: {
+        keyName: 'XF86PreviousChannel',
+        keyCode: 10190
+    },
+    ChannelList: {
+        keyName: 'XF86ChannelList',
+        keyCode: 10073
+    },
+    'E-Manual': {
+        keyName: 'XF86EManual',
+        keyCode: 10146
+    },
+    MTS: {
+        keyName: 'XF86MTS',
+        keyCode: 10195
+    },
+    '3D': {
+        keyName: 'XF863D',
+        keyCode: 10199
+    },
+    Soccer: {
+        keyName: 'XF86SoccerMode',
+        keyCode: 10228
+    },
+    Caption: {
+        keyName: 'XF86Caption',
+        keyCode: 10221
+    },
+    Teletext: {
+        keyName: 'XF86TTXMIX',
+        keyCode: 10200
+    },
+    Extra: {
+        keyName: 'XF86ExtraApp',
+        keyCode: 10253
+    },
+    '0': {
+        keyName: '0',
+        keyCode: 48
+    },
+    '1': {
+        keyName: '1',
+        keyCode: 49
+    },
+    '2': {
+        keyName: '2',
+        keyCode: 50
+    },
+    '3': {
+        keyName: '3',
+        keyCode: 51
+    },
+    '4': {
+        keyName: '4',
+        keyCode: 52
+    },
+    '5': {
+        keyName: '5',
+        keyCode: 53
+    },
+    '6': {
+        keyName: '6',
+        keyCode: 54
+    },
+    '7': {
+        keyName: '7',
+        keyCode: 55
+    },
+    '8': {
+        keyName: '8',
+        keyCode: 56
+    },
+    '9': {
+        keyName: '9',
+        keyCode: 57
+    },
+    Minus: {
+        keyName: 'minus',
+        keyCode: 189
+    }
 };
 
-
 function TVInputDeviceKey(dict) {
-  for (var key in dict) {
-    if (dict.hasOwnProperty(key)) {
-      Object.defineProperty(this, key, {
-        value: dict[key],
-        enumerable: true
-      });
+    for (var key in dict) {
+        if (dict.hasOwnProperty(key)) {
+            Object.defineProperty(this, key, {
+                value: dict[key],
+                enumerable: true
+            });
+        }
     }
-  }
-  Object.freeze(this);
+    Object.freeze(this);
 }
 
-
 /**
- * This class provides access to the API functionalities through the tizen.tvinputdevice interface.
+ * This class provides access to the API functionalities
+ * through the tizen.tvinputdevice interface.
  * @constructor
  */
 function TVInputDeviceManager() {
-  if (!(this instanceof TVInputDeviceManager)) {
-    throw new TypeError;
-  }
+    if (!(this instanceof TVInputDeviceManager)) {
+        throw new TypeError();
+    }
 }
 
 /**
@@ -259,166 +258,209 @@ function TVInputDeviceManager() {
  * @return {array} Array of keys
  */
 TVInputDeviceManager.prototype.getSupportedKeys = function() {
-  xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.TV_INPUT_DEVICE);
-  var re = [];
-  for (var key in map) {
-    if (map.hasOwnProperty(key)) {
-      re.push(new TVInputDeviceKey({name: key, code: map[key].keyCode}));
+    xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.TV_INPUT_DEVICE);
+    var re = [];
+    for (var key in map) {
+        if (map.hasOwnProperty(key)) {
+            re.push(new TVInputDeviceKey({ name: key, code: map[key].keyCode }));
+        }
     }
-  }
 
-  return re;
+    return re;
 };
 
-
 /**
  * Returns information about the key which has the given name.
  * @param {!string} keyName  The key name
  * @return {object} Key object
  */
 TVInputDeviceManager.prototype.getKey = function(keyName) {
-  xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.TV_INPUT_DEVICE);
-  var args = validator.validateArgs(arguments, [
-    {name: 'keyName', type: types.STRING}
-  ]);
-
-  if (map[args.keyName]) {
-    return new TVInputDeviceKey( { name: args.keyName, code: map[args.keyName].keyCode } );
-  } else if (mandatoryMap[args.keyName]) {
-    return new TVInputDeviceKey( { name: args.keyName, code: mandatoryMap[args.keyName].keyCode } );
-  } else {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-    'Parameter "keyName" is invalid.');
-  }
+    xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.TV_INPUT_DEVICE);
+    var args = validator.validateArgs(arguments, [
+        { name: 'keyName', type: types.STRING }
+    ]);
 
+    if (map[args.keyName]) {
+        return new TVInputDeviceKey({
+            name: args.keyName,
+            code: map[args.keyName].keyCode
+        });
+    } else if (mandatoryMap[args.keyName]) {
+        return new TVInputDeviceKey({
+            name: args.keyName,
+            code: mandatoryMap[args.keyName].keyCode
+        });
+    } else {
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'Parameter "keyName" is invalid.'
+        );
+    }
 };
 
-
 /**
- * Registers an input device key to receive DOM keyboard event when it is pressed or released.
+ * Registers an input device key to receive DOM keyboard event
+ * when it is pressed or released.
  * @param {!string} keyName  The key name
  */
 TVInputDeviceManager.prototype.registerKey = function(keyName) {
-  xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.TV_INPUT_DEVICE);
-  var args = validator.validateArgs(arguments, [
-    {name: 'keyName', type: types.STRING}
-  ]);
-  if (!map[args.keyName]) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-    'Parameter "keyName" is invalid.');
-  }
+    xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.TV_INPUT_DEVICE);
+    var args = validator.validateArgs(arguments, [
+        { name: 'keyName', type: types.STRING }
+    ]);
+    if (!map[args.keyName]) {
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'Parameter "keyName" is invalid.'
+        );
+    }
 
-  var ret = native.sendRuntimeSyncMessage('tizen://api/inputdevice/registerKey', map[args.keyName].keyName);
-  if (ret === 'error') {
-    throw new WebAPIException(WebAPIException.UNKNOWN_ERR, 'UnknownError');
-  }
+    var ret = native.sendRuntimeSyncMessage(
+        'tizen://api/inputdevice/registerKey',
+        map[args.keyName].keyName
+    );
+    if (ret === 'error') {
+        throw new WebAPIException(WebAPIException.UNKNOWN_ERR, 'UnknownError');
+    }
 };
 
-
 /**
  * Unregisters an input device key.
  * @param {!string} keyName  The key name
  */
 TVInputDeviceManager.prototype.unregisterKey = function(keyName) {
-  xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.TV_INPUT_DEVICE);
-  var args = validator.validateArgs(arguments, [
-    {name: 'keyName', type: types.STRING}
-  ]);
+    xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.TV_INPUT_DEVICE);
+    var args = validator.validateArgs(arguments, [
+        { name: 'keyName', type: types.STRING }
+    ]);
 
-  if (!map[args.keyName]) {
-    throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-    'Parameter "keyName" is invalid.');
-  }
+    if (!map[args.keyName]) {
+        throw new WebAPIException(
+            WebAPIException.INVALID_VALUES_ERR,
+            'Parameter "keyName" is invalid.'
+        );
+    }
 
-  var ret = native.sendRuntimeSyncMessage('tizen://api/inputdevice/unregisterKey', map[args.keyName].keyName);
-  if (ret === 'error') {
-    throw new WebAPIException(WebAPIException.UNKNOWN_ERR, 'UnknownError');
-  }
+    var ret = native.sendRuntimeSyncMessage(
+        'tizen://api/inputdevice/unregisterKey',
+        map[args.keyName].keyName
+    );
+    if (ret === 'error') {
+        throw new WebAPIException(WebAPIException.UNKNOWN_ERR, 'UnknownError');
+    }
 };
 
 TVInputDeviceManager.prototype.registerKeyBatch = function() {
     xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.TV_INPUT_DEVICE);
     var args = validator.validateMethod(arguments, [
-      {
-        name: 'keyNames',
-        type: types.ARRAY,
-        values: types.STRING
-      },
-      {
-        name: 'successCallback',
-        type: types.FUNCTION,
-        optional: true,
-        nullable: true
-      },
-      {
-        name: 'errorCallback',
-        type: types.FUNCTION,
-        optional: true,
-        nullable: true
-      }
+        {
+            name: 'keyNames',
+            type: types.ARRAY,
+            values: types.STRING
+        },
+        {
+            name: 'successCallback',
+            type: types.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
     ]);
 
-    var keysList = "";
+    var keysList = '';
     for (var i = 0; i < args.keyNames.length; ++i) {
-      if (!map[args.keyNames[i]]) {
-        throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-                                  'Invalid key name: "' + args.keyNames[i] + '"');
-      }
-      keysList += map[args.keyNames[i]].keyName + ((i < args.keyNames.length - 1) ? "," : "");
+        if (!map[args.keyNames[i]]) {
+            throw new WebAPIException(
+                WebAPIException.INVALID_VALUES_ERR,
+                'Invalid key name: "' + args.keyNames[i] + '"'
+            );
+        }
+        keysList +=
+            map[args.keyNames[i]].keyName + (i < args.keyNames.length - 1 ? ',' : '');
     }
 
-    setTimeout(function() {
-      var ret = native.sendRuntimeSyncMessage('tizen://api/inputdevice/registerKeyBatch', keysList);
-      if (ret === 'error') {
-        native.callIfPossible(args.errorCallback, new WebAPIException(
-            WebAPIException.UNKNOWN_ERR, 'Failed to register keys.'));
-      } else {
-        native.callIfPossible(args.successCallback);
-      }
-    }.bind(this), 0);
-  };
+    setTimeout(
+        function() {
+            var ret = native.sendRuntimeSyncMessage(
+                'tizen://api/inputdevice/registerKeyBatch',
+                keysList
+            );
+            if (ret === 'error') {
+                native.callIfPossible(
+                    args.errorCallback,
+                    new WebAPIException(
+                        WebAPIException.UNKNOWN_ERR,
+                        'Failed to register keys.'
+                    )
+                );
+            } else {
+                native.callIfPossible(args.successCallback);
+            }
+        }.bind(this),
+        0
+    );
+};
 
-  TVInputDeviceManager.prototype.unregisterKeyBatch = function() {
+TVInputDeviceManager.prototype.unregisterKeyBatch = function() {
     xwalk.utils.checkPrivilegeAccess(xwalk.utils.privilege.TV_INPUT_DEVICE);
     var args = validator.validateMethod(arguments, [
-      {
-        name: 'keyNames',
-        type: types.ARRAY,
-        values: types.STRING
-      },
-      {
-        name: 'successCallback',
-        type: types.FUNCTION,
-        optional: true,
-        nullable: true
-      },
-      {
-        name: 'errorCallback',
-        type: types.FUNCTION,
-        optional: true,
-        nullable: true
-      }
+        {
+            name: 'keyNames',
+            type: types.ARRAY,
+            values: types.STRING
+        },
+        {
+            name: 'successCallback',
+            type: types.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
     ]);
 
-    var keysList = "";
+    var keysList = '';
     for (var i = 0; i < args.keyNames.length; ++i) {
-      if (!map[args.keyNames[i]]) {
-        throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR,
-                                  'Invalid key name: "' + args.keyNames[i] + '"');
-      }
-      keysList += map[args.keyNames[i]].keyName + ((i < args.keyNames.length - 1) ? "," : "");
+        if (!map[args.keyNames[i]]) {
+            throw new WebAPIException(
+                WebAPIException.INVALID_VALUES_ERR,
+                'Invalid key name: "' + args.keyNames[i] + '"'
+            );
+        }
+        keysList +=
+            map[args.keyNames[i]].keyName + (i < args.keyNames.length - 1 ? ',' : '');
     }
 
-    setTimeout(function() {
-      var ret = native.sendRuntimeSyncMessage('tizen://api/inputdevice/unregisterKeyBatch', keysList);
-      if (ret === 'error') {
-        native.callIfPossible(args.errorCallback, new WebAPIException(
-            WebAPIException.UNKNOWN_ERR, 'Failed to unregister keys.'));
-      } else {
-        native.callIfPossible(args.successCallback);
-      }
-    }.bind(this), 0);
-  };
+    setTimeout(
+        function() {
+            var ret = native.sendRuntimeSyncMessage(
+                'tizen://api/inputdevice/unregisterKeyBatch',
+                keysList
+            );
+            if (ret === 'error') {
+                native.callIfPossible(
+                    args.errorCallback,
+                    new WebAPIException(
+                        WebAPIException.UNKNOWN_ERR,
+                        'Failed to unregister keys.'
+                    )
+                );
+            } else {
+                native.callIfPossible(args.successCallback);
+            }
+        }.bind(this),
+        0
+    );
+};
 
 // Exports
 exports = new TVInputDeviceManager();
index f99b4e47967d177a69d72d84b3205c62aa2e93d8..bed11fcd4d00434d80d2df1ad8f8591fb33206db 100644 (file)
@@ -4,7 +4,7 @@
 // found in the LICENSE file.
 
 //Object xwalk.JSON - guaranteed to not being modified by the application programmer
-var JSON_ = {stringify: JSON.stringify, parse: JSON.parse};
+var JSON_ = { stringify: JSON.stringify, parse: JSON.parse };
 Object.freeze(JSON_);
 exports.JSON = JSON_;
 
@@ -12,277 +12,293 @@ var _enableJsLogs = false;
 
 var _global = {};
 if (typeof window != 'undefined') {
-  _global = window;
-}
-else if (typeof global != 'undefined') {
-  _global = global;
+    _global = window;
+} else if (typeof global != 'undefined') {
+    _global = global;
 }
 
 /**
  * @deprecated Used only by validateArguments()
  */
 var signature_to_type = {
-  'n': 'number',
-  'f': 'function',
-  'b': 'boolean',
-  's': 'string',
-  'o': 'object'
+    n: 'number',
+    f: 'function',
+    b: 'boolean',
+    s: 'string',
+    o: 'object'
 };
 
 var DateConverter = function() {};
 
 DateConverter.prototype.toTZDate = function(v, isAllDay) {
-  if (typeof v === 'number') {
-    v = {
-        UTCTimestamp: v
-    };
-    isAllDay = false;
-  }
+    if (typeof v === 'number') {
+        v = {
+            UTCTimestamp: v
+        };
+        isAllDay = false;
+    }
 
-  if (!(v instanceof _global.Object)) {
-    return v;
-  }
+    if (!(v instanceof _global.Object)) {
+        return v;
+    }
 
-  if (isAllDay) {
-    return new tizen.TZDate(v.year, v.month - 1, v.day,
-        null, null, null, null, v.timezone || null);
-  } else {
-    return new tizen.TZDate(new Date(v.UTCTimestamp * 1000));
-  }
+    if (isAllDay) {
+        return new tizen.TZDate(
+            v.year,
+            v.month - 1,
+            v.day,
+            null,
+            null,
+            null,
+            null,
+            v.timezone || null
+        );
+    } else {
+        return new tizen.TZDate(new Date(v.UTCTimestamp * 1000));
+    }
 };
 
 DateConverter.prototype.fromTZDate = function(v) {
-  if (!tizen.TZDate || !(v instanceof tizen.TZDate)) {
-    return v;
-  }
-
-  return {
-    year: v.getFullYear(),
-    month: v.getMonth(),
-    day: v.getDate(),
-    timezone: v.getTimezone(),
-    UTCTimestamp: v._utcTimestamp / 1000
-  };
+    if (!tizen.TZDate || !(v instanceof tizen.TZDate)) {
+        return v;
+    }
 
+    return {
+        year: v.getFullYear(),
+        month: v.getMonth(),
+        day: v.getDate(),
+        timezone: v.getTimezone(),
+        UTCTimestamp: v._utcTimestamp / 1000
+    };
 };
 
 var _dateConverter = new DateConverter();
 
 /** @constructor */
 function Utils() {
-   
-  /**
-   * Cynara(since tizen 3.0) only support native privilege. 
-   * simply web privilege convert native privilege for checking access. 
-   */
-  var privilege = {
-    ACCOUNT_READ: 'http://tizen.org/privilege/account.read',
-    ACCOUNT_WRITE: 'http://tizen.org/privilege/account.write',
-    ALARM: 'http://tizen.org/privilege/alarm.get',
-    APPLICATION_INFO: 'http://tizen.org/privilege/application.info',
-    APPLICATION_LAUNCH: 'http://tizen.org/privilege/application.launch',
-    APPMANAGER_CERTIFICATE: 'http://tizen.org/privilege/appmanager.certificate',
-    APPMANAGER_KILL: 'http://tizen.org/privilege/appmanager.kill',
-    BLUETOOTH_ADMIN: 'http://tizen.org/privilege/bluetooth.admin',
-    BLUETOOTH_GAP: 'http://tizen.org/privilege/bluetooth.gap',
-    BLUETOOTH_HEALTH: 'http://tizen.org/privilege/bluetooth.health',
-    BLUETOOTH_SPP: 'http://tizen.org/privilege/bluetooth.spp',
-    BLUETOOTHMANAGER: 'http://tizen.org/privilege/bluetoothmanager',
-    BLUETOOTH: 'http://tizen.org/privilege/bluetooth',
-    BOOKMARK_READ: 'http://tizen.org/privilege/bookmark.read',
-    BOOKMARK_WRITE: 'http://tizen.org/privilege/bookmark.write',
-    CALENDAR_READ: 'http://tizen.org/privilege/calendar.read',
-    CALENDAR_WRITE: 'http://tizen.org/privilege/calendar.write',
-    CALLHISTORY_READ: 'http://tizen.org/privilege/callhistory.read',
-    CALLHISTORY_WRITE: 'http://tizen.org/privilege/callhistory.write',
-    CONTACT_READ: 'http://tizen.org/privilege/contact.read',
-    CONTACT_WRITE: 'http://tizen.org/privilege/contact.write',
-    CONTENT_READ: 'http://tizen.org/privilege/content.write',
-    CONTENT_WRITE: 'http://tizen.org/privilege/content.write',
-    DATACONTROL_CONSUMER: 'http://tizen.org/privilege/datacontrol.consumer',
-    DATASYNC: 'http://tizen.org/privilege/datasync',
-    DOWNLOAD: 'http://tizen.org/privilege/download',
-    FILESYSTEM_READ: 'http://tizen.org/privilege/filesystem.read',
-    FILESYSTEM_WRITE: 'http://tizen.org/privilege/filesystem.write',
-    HAPTIC: 'http://tizen.org/privilege/haptic',
-    HEALTHINFO: 'http://tizen.org/privilege/healthinfo',
-    INTERNET: 'http://tizen.org/privilege/internet',
-    LED: 'http://tizen.org/privilege/led',
-    LOCATION: 'http://tizen.org/privilege/location',
-    MEDIACONTROLLER_SERVER: 'http://tizen.org/privilege/mediacontroller.server',
-    MEDIACONTROLLER_CLIENT: 'http://tizen.org/privilege/mediacontroller.client',
-    MESSAGING_READ: 'http://tizen.org/privilege/messaging.read',
-    MESSAGING_WRITE: 'http://tizen.org/privilege/messaging.write',
-    NETWORKBEARERSELECTION: 'http://tizen.org/privilege/networkbearerselection',
-    NFC_ADMIN: 'http://tizen.org/privilege/nfc.admin',
-    NFC_CARDEMULATION: 'http://tizen.org/privilege/nfc.cardemulation',
-    NFC_COMMON: 'http://tizen.org/privilege/nfc.common',
-    NFC_P2P: 'http://tizen.org/privilege/nfc.p2p',
-    NFC_TAG: 'http://tizen.org/privilege/nfc.tag',
-    NOTIFICATION: 'http://tizen.org/privilege/notification',
-    PACKAGE_INFO: 'http://tizen.org/privilege/packagemanager.info',
-    PACKAGEMANAGER_INSTALL: 'http://tizen.org/privilege/packagemanager.install',
-    POWER: 'http://tizen.org/privilege/power',
-    PUSH: 'http://tizen.org/privilege/push',
-    SECUREELEMENT: 'http://tizen.org/privilege/secureelement',
-    SETTING_ADMIN: 'http://tizen.org/privilege/systemsettings.admin',
-    SETTING: 'http://tizen.org/privilege/setting',
-    SYSTEM: 'http://tizen.org/privilege/system',
-    SYSTEMMANAGER: 'http://tizen.org/privilege/systemmanager',
-    TELEPHONY: 'http://tizen.org/privilege/telephony',
-    VOLUME_SET: 'http://tizen.org/privilege/volume.set',
-    WEBSETTING: 'http://tizen.org/privilege/websetting',
-    TV_INPUT_DEVICE: 'http://tizen.org/privilege/tv.inputdevice'
-  };
-
-  Object.freeze(privilege);
-
-  Object.defineProperty(this, 'privilege', {
-    value: privilege,
-    writable: false,
-    enumerable: true,
-    configurable: false
-  });
+    /**
+     * Cynara(since tizen 3.0) only support native privilege.
+     * simply web privilege convert native privilege for checking access.
+     */
+    var privilege = {
+        ACCOUNT_READ: 'http://tizen.org/privilege/account.read',
+        ACCOUNT_WRITE: 'http://tizen.org/privilege/account.write',
+        ALARM: 'http://tizen.org/privilege/alarm.get',
+        APPLICATION_INFO: 'http://tizen.org/privilege/application.info',
+        APPLICATION_LAUNCH: 'http://tizen.org/privilege/application.launch',
+        APPMANAGER_CERTIFICATE: 'http://tizen.org/privilege/appmanager.certificate',
+        APPMANAGER_KILL: 'http://tizen.org/privilege/appmanager.kill',
+        BLUETOOTH_ADMIN: 'http://tizen.org/privilege/bluetooth.admin',
+        BLUETOOTH_GAP: 'http://tizen.org/privilege/bluetooth.gap',
+        BLUETOOTH_HEALTH: 'http://tizen.org/privilege/bluetooth.health',
+        BLUETOOTH_SPP: 'http://tizen.org/privilege/bluetooth.spp',
+        BLUETOOTHMANAGER: 'http://tizen.org/privilege/bluetoothmanager',
+        BLUETOOTH: 'http://tizen.org/privilege/bluetooth',
+        BOOKMARK_READ: 'http://tizen.org/privilege/bookmark.read',
+        BOOKMARK_WRITE: 'http://tizen.org/privilege/bookmark.write',
+        CALENDAR_READ: 'http://tizen.org/privilege/calendar.read',
+        CALENDAR_WRITE: 'http://tizen.org/privilege/calendar.write',
+        CALLHISTORY_READ: 'http://tizen.org/privilege/callhistory.read',
+        CALLHISTORY_WRITE: 'http://tizen.org/privilege/callhistory.write',
+        CONTACT_READ: 'http://tizen.org/privilege/contact.read',
+        CONTACT_WRITE: 'http://tizen.org/privilege/contact.write',
+        CONTENT_READ: 'http://tizen.org/privilege/content.write',
+        CONTENT_WRITE: 'http://tizen.org/privilege/content.write',
+        DATACONTROL_CONSUMER: 'http://tizen.org/privilege/datacontrol.consumer',
+        DATASYNC: 'http://tizen.org/privilege/datasync',
+        DOWNLOAD: 'http://tizen.org/privilege/download',
+        FILESYSTEM_READ: 'http://tizen.org/privilege/filesystem.read',
+        FILESYSTEM_WRITE: 'http://tizen.org/privilege/filesystem.write',
+        HAPTIC: 'http://tizen.org/privilege/haptic',
+        HEALTHINFO: 'http://tizen.org/privilege/healthinfo',
+        INTERNET: 'http://tizen.org/privilege/internet',
+        LED: 'http://tizen.org/privilege/led',
+        LOCATION: 'http://tizen.org/privilege/location',
+        MEDIACONTROLLER_SERVER: 'http://tizen.org/privilege/mediacontroller.server',
+        MEDIACONTROLLER_CLIENT: 'http://tizen.org/privilege/mediacontroller.client',
+        MESSAGING_READ: 'http://tizen.org/privilege/messaging.read',
+        MESSAGING_WRITE: 'http://tizen.org/privilege/messaging.write',
+        NETWORKBEARERSELECTION: 'http://tizen.org/privilege/networkbearerselection',
+        NFC_ADMIN: 'http://tizen.org/privilege/nfc.admin',
+        NFC_CARDEMULATION: 'http://tizen.org/privilege/nfc.cardemulation',
+        NFC_COMMON: 'http://tizen.org/privilege/nfc.common',
+        NFC_P2P: 'http://tizen.org/privilege/nfc.p2p',
+        NFC_TAG: 'http://tizen.org/privilege/nfc.tag',
+        NOTIFICATION: 'http://tizen.org/privilege/notification',
+        PACKAGE_INFO: 'http://tizen.org/privilege/packagemanager.info',
+        PACKAGEMANAGER_INSTALL: 'http://tizen.org/privilege/packagemanager.install',
+        POWER: 'http://tizen.org/privilege/power',
+        PUSH: 'http://tizen.org/privilege/push',
+        SECUREELEMENT: 'http://tizen.org/privilege/secureelement',
+        SETTING_ADMIN: 'http://tizen.org/privilege/systemsettings.admin',
+        SETTING: 'http://tizen.org/privilege/setting',
+        SYSTEM: 'http://tizen.org/privilege/system',
+        SYSTEMMANAGER: 'http://tizen.org/privilege/systemmanager',
+        TELEPHONY: 'http://tizen.org/privilege/telephony',
+        VOLUME_SET: 'http://tizen.org/privilege/volume.set',
+        WEBSETTING: 'http://tizen.org/privilege/websetting',
+        TV_INPUT_DEVICE: 'http://tizen.org/privilege/tv.inputdevice'
+    };
+
+    Object.freeze(privilege);
+
+    Object.defineProperty(this, 'privilege', {
+        value: privilege,
+        writable: false,
+        enumerable: true,
+        configurable: false
+    });
 }
 
 Utils.prototype.error = console.error.bind(console);
 Utils.prototype.warn = console.warn.bind(console);
-Utils.prototype.log = _enableJsLogs ? console.log.bind(console) : function(){};
+Utils.prototype.log = _enableJsLogs ? console.log.bind(console) : function() {};
 
 Utils.prototype.repackFilter = function(filter) {
-  if (filter instanceof tizen.AttributeFilter) {
-    return {
-      filterType: 'AttributeFilter',
-      attributeName: filter.attributeName,
-      matchFlag: filter.matchFlag,
-      matchValue: _dateConverter.fromTZDate(filter.matchValue)
-    };
-  }
-  if (filter instanceof tizen.AttributeRangeFilter) {
-    return {
-      filterType: 'AttributeRangeFilter',
-      attributeName: filter.attributeName,
-      initialValue: _dateConverter.fromTZDate(filter.initialValue),
-      endValue: _dateConverter.fromTZDate(filter.endValue)
-    };
-  }
-  if (filter instanceof tizen.CompositeFilter) {
-    var _f = [];
-    var filters = filter.filters;
-
-    for (var i = 0; i < filters.length; ++i) {
-      _f.push(this.repackFilter(filters[i]));
+    if (filter instanceof tizen.AttributeFilter) {
+        return {
+            filterType: 'AttributeFilter',
+            attributeName: filter.attributeName,
+            matchFlag: filter.matchFlag,
+            matchValue: _dateConverter.fromTZDate(filter.matchValue)
+        };
     }
+    if (filter instanceof tizen.AttributeRangeFilter) {
+        return {
+            filterType: 'AttributeRangeFilter',
+            attributeName: filter.attributeName,
+            initialValue: _dateConverter.fromTZDate(filter.initialValue),
+            endValue: _dateConverter.fromTZDate(filter.endValue)
+        };
+    }
+    if (filter instanceof tizen.CompositeFilter) {
+        var _f = [];
+        var filters = filter.filters;
 
-    return {
-      filterType: 'CompositeFilter',
-      type: filter.type,
-      filters: _f
-    };
-  }
+        for (var i = 0; i < filters.length; ++i) {
+            _f.push(this.repackFilter(filters[i]));
+        }
 
-  return null;
+        return {
+            filterType: 'CompositeFilter',
+            type: filter.type,
+            filters: _f
+        };
+    }
+
+    return null;
 };
 
 /**
  * @deprecated You should use xwalk.utils.validator.validateMethod() instead.
  */
 Utils.prototype.validateArguments = function(signature, args) {
-  var full_args = Array.prototype.slice.call(args);
+    var full_args = Array.prototype.slice.call(args);
 
-  // After '?' everything is optional.
-  var mandatory_len = signature.indexOf('?') === -1 ? signature.length : signature.indexOf('?');
+    // After '?' everything is optional.
+    var mandatory_len =
+        signature.indexOf('?') === -1 ? signature.length : signature.indexOf('?');
 
-  if (full_args.length < mandatory_len)
-    return false;
+    if (full_args.length < mandatory_len) return false;
 
-  // Mandatory arguments.
-  for (var i = 0; i < mandatory_len; i++) {
-    if (typeof full_args[i] !== signature_to_type[signature[i]] || full_args[i] === null)
-      return false;
-  }
+    // Mandatory arguments.
+    for (var i = 0; i < mandatory_len; i++) {
+        if (
+            typeof full_args[i] !== signature_to_type[signature[i]] ||
+            full_args[i] === null
+        )
+            return false;
+    }
 
-  // Optional args may be null.
-  for (var i = mandatory_len; i < full_args.length && i < signature.length - 1; i++) {
-    if (full_args[i] !== null && typeof full_args[i] !== signature_to_type[signature[i + 1]])
-      return false;
-  }
+    // Optional args may be null.
+    for (var i = mandatory_len; i < full_args.length && i < signature.length - 1; i++) {
+        if (
+            full_args[i] !== null &&
+            typeof full_args[i] !== signature_to_type[signature[i + 1]]
+        )
+            return false;
+    }
 
-  return true;
+    return true;
 };
 
 Utils.prototype.validateObject = function(object, signature, attributes) {
-  for (var i = 0; i < signature.length; i++) {
-    if (object.hasOwnProperty(attributes[i]) &&
-        typeof object[attributes[i]] !== signature_to_type[signature[i]]) {
-      return false;
+    for (var i = 0; i < signature.length; i++) {
+        if (
+            object.hasOwnProperty(attributes[i]) &&
+            typeof object[attributes[i]] !== signature_to_type[signature[i]]
+        ) {
+            return false;
+        }
     }
-  }
 
-  return true;
+    return true;
 };
 
 Utils.prototype.getPkgApiVersion = function() {
-  var result = native_.callSync('Utils_getPkgApiVersion');
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-  return native_.getResultObject(result);
+    var result = native_.callSync('Utils_getPkgApiVersion');
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
+    return native_.getResultObject(result);
 };
 
 Utils.prototype.checkPrivilegeAccess = function(privilege) {
-  var result = native_.callSync('Utils_checkPrivilegeAccess', {
-    privilege : _toString(privilege),
-  });
-
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
-};
-
-Utils.prototype.isAppVersionEarlierThan= function(ver) {
-  var app_ver = this.getPkgApiVersion();
-
-  var arr_ver = ver.split(".");   // reference version
-  var arr_app_ver = app_ver.split(".");  // application version
-  var num_ver;
-  var num_app;
-
-  var i;
-  var length = Math.min(arr_ver.length, arr_app_ver.length);
-  for (i = 0; i < length; i++) {
-    num_ver = parseInt(arr_ver[i]);
-    num_app = parseInt(arr_app_ver[i]);
-    if (num_app < num_ver) {
-      return true;
-    } else if (num_app > num_ver) {
-      return false;
+    var result = native_.callSync('Utils_checkPrivilegeAccess', {
+        privilege: _toString(privilege)
+    });
+
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
     }
-  }
+};
 
-  if (arr_ver.length > arr_app_ver.length) {
-    return true;
-  }
-  return false;
-}
+Utils.prototype.isAppVersionEarlierThan = function(ver) {
+    var app_ver = this.getPkgApiVersion();
+
+    var arr_ver = ver.split('.'); // reference version
+    var arr_app_ver = app_ver.split('.'); // application version
+    var num_ver;
+    var num_app;
+
+    var i;
+    var length = Math.min(arr_ver.length, arr_app_ver.length);
+    for (i = 0; i < length; i++) {
+        num_ver = parseInt(arr_ver[i]);
+        num_app = parseInt(arr_app_ver[i]);
+        if (num_app < num_ver) {
+            return true;
+        } else if (num_app > num_ver) {
+            return false;
+        }
+    }
+
+    if (arr_ver.length > arr_app_ver.length) {
+        return true;
+    }
+    return false;
+};
 
 Utils.prototype.checkPrivilegeAccess4Ver = function(new_ver, new_priv, old_priv) {
-  if (!this.isAppVersionEarlierThan(new_ver)) {
-    this.checkPrivilegeAccess(new_priv);
-  } else if (old_priv != undefined) {
-    this.checkPrivilegeAccess(old_priv);
-  }
-}
+    if (!this.isAppVersionEarlierThan(new_ver)) {
+        this.checkPrivilegeAccess(new_priv);
+    } else if (old_priv != undefined) {
+        this.checkPrivilegeAccess(old_priv);
+    }
+};
 
-Utils.prototype.checkBackwardCompabilityPrivilegeAccess = function(current_privilege, previous_privilege) {
-  var result = native_.callSync('Utils_checkBackwardCompabilityPrivilegeAccess', {
-    current_privilege : _toString(current_privilege),
-    previous_privilege : _toString(previous_privilege),
-  });
+Utils.prototype.checkBackwardCompabilityPrivilegeAccess = function(
+    current_privilege,
+    previous_privilege
+) {
+    var result = native_.callSync('Utils_checkBackwardCompabilityPrivilegeAccess', {
+        current_privilege: _toString(current_privilege),
+        previous_privilege: _toString(previous_privilege)
+    });
 
-  if (native_.isFailure(result)) {
-    throw native_.getErrorObject(result);
-  }
+    if (native_.isFailure(result)) {
+        throw native_.getErrorObject(result);
+    }
 };
 
 /////////////////////////////////////////////////////////////////////////////
@@ -290,280 +306,294 @@ Utils.prototype.checkBackwardCompabilityPrivilegeAccess = function(current_privi
 var Type = function() {};
 
 Type.prototype.isBoolean = function(obj) {
-  return typeof obj === 'boolean';
+    return typeof obj === 'boolean';
 };
 
 Type.prototype.isObject = function(obj) {
-  return (null !== obj && typeof obj === 'object' && !this.isArray(obj));
+    return null !== obj && typeof obj === 'object' && !this.isArray(obj);
 };
 
 Type.prototype.isArray = function(obj) {
-  return Array.isArray(obj);
+    return Array.isArray(obj);
 };
 
 Type.prototype.isFunction = function(obj) {
-  return typeof obj === 'function';
+    return typeof obj === 'function';
 };
 
 Type.prototype.isNumber = function(obj) {
-  return typeof obj === 'number';
+    return typeof obj === 'number';
 };
 
 Type.prototype.isString = function(obj) {
-  return typeof obj === 'string';
+    return typeof obj === 'string';
 };
 
 Type.prototype.isDate = function(obj) {
-  return obj instanceof Date;
+    return obj instanceof Date;
 };
 
 Type.prototype.isNull = function(obj) {
-  return obj === null;
+    return obj === null;
 };
 
 Type.prototype.isNullOrUndefined = function(obj) {
-  return (obj === null || obj === undefined);
+    return obj === null || obj === undefined;
 };
 
 Type.prototype.isUndefined = function(obj) {
-  return obj === void 0;
+    return obj === void 0;
 };
 
 Type.prototype.isA = function(obj, type) {
-  var clas = Object.prototype.toString.call(obj).slice(8, -1);
-  return (obj !== undefined) && (obj !== null) && (clas === type);
+    var clas = Object.prototype.toString.call(obj).slice(8, -1);
+    return obj !== undefined && obj !== null && clas === type;
 };
 
 Type.prototype.isEmptyObject = function(obj) {
-  for (var property in obj) {
-    if (obj.hasOwnProperty(property)) {
-      return false;
+    for (var property in obj) {
+        if (obj.hasOwnProperty(property)) {
+            return false;
+        }
     }
-  }
-  return true;
+    return true;
 };
 
 Type.prototype.hasProperty = function(obj, prop) {
-  return prop in obj;
+    return prop in obj;
 };
 
 Type.prototype.arrayContains = function(arr, value) {
-  return (arr.indexOf(value) > -1);
+    return arr.indexOf(value) > -1;
 };
 
 Type.prototype.getValues = function(obj) {
-  var ret = [];
-  for (var key in obj) {
-    if (obj.hasOwnProperty(key)) {
-      ret.push(obj[key]);
+    var ret = [];
+    for (var key in obj) {
+        if (obj.hasOwnProperty(key)) {
+            ret.push(obj[key]);
+        }
     }
-  }
-  return ret;
+    return ret;
 };
 
 var _type = new Type();
 
-
-
 /////////////////////////////////////////////////////////////////////////////
 /** @constructor */
 var Converter = function() {};
 
 function _nullableGeneric(func, nullable, val) {
-  if (_type.isNull(val) && nullable === true) {
-    return val;
-  } else {
-    return func.apply(null, [].slice.call(arguments, 2));
-  }
+    if (_type.isNull(val) && nullable === true) {
+        return val;
+    } else {
+        return func.apply(null, [].slice.call(arguments, 2));
+    }
 }
 
 function _toBoolean(val) {
-  return Boolean(val);
+    return Boolean(val);
 }
 
 Converter.prototype.toBoolean = function(val, nullable) {
-  return _nullableGeneric(_toBoolean, nullable, val);
+    return _nullableGeneric(_toBoolean, nullable, val);
 };
 
 function _toLong(val) {
-  var ret = parseInt(val);
-  return isNaN(ret) ? (val === true ? 1 : 0) : ret;
+    var ret = parseInt(val);
+    return isNaN(ret) ? (val === true ? 1 : 0) : ret;
 }
 
 Converter.prototype.toLong = function(val, nullable) {
-  return _nullableGeneric(_toLong, nullable, val);
+    return _nullableGeneric(_toLong, nullable, val);
 };
 
 function _toLongLong(val) {
-  // According to WebIDL specification this will not be a precise representation
-  // of requested val. We're converting the val to signed long and then pass it
-  // to C++ to get the value in required range.
-  return native_.getResultObject(native_.callSync('Utils_toLongLong', {
-    n : _toLong(val)
-  }));
+    // According to WebIDL specification this will not be a precise representation
+    // of requested val. We're converting the val to signed long and then pass it
+    // to C++ to get the value in required range.
+    return native_.getResultObject(
+        native_.callSync('Utils_toLongLong', {
+            n: _toLong(val)
+        })
+    );
 }
 
 Converter.prototype.toLongLong = function(val, nullable) {
-  return _nullableGeneric(_toLongLong, nullable, val);
+    return _nullableGeneric(_toLongLong, nullable, val);
 };
 
 function _toUnsignedLong(val) {
-  return _toLong(val) >>> 0;
+    return _toLong(val) >>> 0;
 }
 
 Converter.prototype.toUnsignedLong = function(val, nullable) {
-  return _nullableGeneric(_toUnsignedLong, nullable, val);
+    return _nullableGeneric(_toUnsignedLong, nullable, val);
 };
 
 function _toUnsignedLongLong(val) {
-  // According to WebIDL specification this will not be a precise representation
-  // of requested val. We're converting the val to signed long and then pass it
-  // to C++ to get the value in required range.
-  return native_.getResultObject(native_.callSync('Utils_toUnsignedLongLong', {
-    n : _toLong(val)
-  }));
+    // According to WebIDL specification this will not be a precise representation
+    // of requested val. We're converting the val to signed long and then pass it
+    // to C++ to get the value in required range.
+    return native_.getResultObject(
+        native_.callSync('Utils_toUnsignedLongLong', {
+            n: _toLong(val)
+        })
+    );
 }
 
 Converter.prototype.toUnsignedLongLong = function(val, nullable) {
-  return _nullableGeneric(_toUnsignedLongLong, nullable, val);
+    return _nullableGeneric(_toUnsignedLongLong, nullable, val);
 };
 
 function _toShort(val) {
-  return ((_toLong(val) + 32768) & 0xFFFF) - 32768;
+    return ((_toLong(val) + 32768) & 0xffff) - 32768;
 }
 
 Converter.prototype.toShort = function(val, nullable) {
-  return _nullableGeneric(_toShort, nullable, val);
+    return _nullableGeneric(_toShort, nullable, val);
 };
 
 function _toUnsignedShort(val) {
-  return (Math.abs(_toLong(val)) & 0xFFFF);
+    return Math.abs(_toLong(val)) & 0xffff;
 }
 
 Converter.prototype.toUnsignedShort = function(val, nullable) {
-  return _nullableGeneric(_toUnsignedShort, nullable, val);
+    return _nullableGeneric(_toUnsignedShort, nullable, val);
 };
 
 function _toByte(val) {
-  return ((_toLong(val) + 128) & 0xFF) - 128;
+    return ((_toLong(val) + 128) & 0xff) - 128;
 }
 
 Converter.prototype.toByte = function(val, nullable) {
-  return _nullableGeneric(_toByte, nullable, val);
+    return _nullableGeneric(_toByte, nullable, val);
 };
 
 function _toOctet(val) {
-  return _toLong(val) & 0xFF;
+    return _toLong(val) & 0xff;
 }
 
 Converter.prototype.toOctet = function(val, nullable) {
-  return _nullableGeneric(_toOctet, nullable, val);
+    return _nullableGeneric(_toOctet, nullable, val);
 };
 
 function _toDouble(val) {
-  var ret = Number(val);
-  if (isNaN(ret) || !isFinite(ret)) {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-        'Cannot convert ' + String(val) + ' to double.');
-  }
-  return ret;
+    var ret = Number(val);
+    if (isNaN(ret) || !isFinite(ret)) {
+        throw new WebAPIException(
+            WebAPIException.TYPE_MISMATCH_ERR,
+            'Cannot convert ' + String(val) + ' to double.'
+        );
+    }
+    return ret;
 }
 
 Converter.prototype.toDouble = function(val, nullable) {
-  return _nullableGeneric(_toDouble, nullable, val);
+    return _nullableGeneric(_toDouble, nullable, val);
 };
 
 function _toString(val) {
-  return String(val);
+    return String(val);
 }
 
 Converter.prototype.toString = function(val, nullable) {
-  return _nullableGeneric(_toString, nullable, val);
+    return _nullableGeneric(_toString, nullable, val);
 };
 
 function _toPlatformObject(val, types) {
-  var v;
-  var t;
-  if (_type.isArray(val)) {
-    v = val;
-  } else {
-    v = [val];
-  }
-
-  if (_type.isArray(types)) {
-    t = types;
-  } else {
-    t = [types];
-  }
-  var match = false;
-  for (var i = 0; i < t.length; ++i) {
-    for (var j = 0; j < v.length; ++j) {
-      match = match || (v[j] instanceof t[i]);
+    var v;
+    var t;
+    if (_type.isArray(val)) {
+        v = val;
+    } else {
+        v = [val];
     }
-  }
-  if (match) {
-    return val;
-  }
 
-  throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-      'Cannot convert ' + String(val) + ' to ' + String(t[0].name) + '.');
+    if (_type.isArray(types)) {
+        t = types;
+    } else {
+        t = [types];
+    }
+    var match = false;
+    for (var i = 0; i < t.length; ++i) {
+        for (var j = 0; j < v.length; ++j) {
+            match = match || v[j] instanceof t[i];
+        }
+    }
+    if (match) {
+        return val;
+    }
+
+    throw new WebAPIException(
+        WebAPIException.TYPE_MISMATCH_ERR,
+        'Cannot convert ' + String(val) + ' to ' + String(t[0].name) + '.'
+    );
 }
 
 Converter.prototype.toPlatformObject = function(val, types, nullable) {
-  return _nullableGeneric(_toPlatformObject, nullable, val, types);
+    return _nullableGeneric(_toPlatformObject, nullable, val, types);
 };
 
 function _toFunction(val) {
-  if (_type.isFunction(val)) {
-    return val;
-  }
+    if (_type.isFunction(val)) {
+        return val;
+    }
 
-  throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-      'Cannot convert ' + String(val) + ' to function.');
+    throw new WebAPIException(
+        WebAPIException.TYPE_MISMATCH_ERR,
+        'Cannot convert ' + String(val) + ' to function.'
+    );
 }
 
 Converter.prototype.toFunction = function(val, nullable) {
-  return _nullableGeneric(_toFunction, nullable, val);
+    return _nullableGeneric(_toFunction, nullable, val);
 };
 
 function _toArray(val) {
-  if (_type.isArray(val)) {
-    return val;
-  }
+    if (_type.isArray(val)) {
+        return val;
+    }
 
-  throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-      'Cannot convert ' + String(val) + ' to array.');
+    throw new WebAPIException(
+        WebAPIException.TYPE_MISMATCH_ERR,
+        'Cannot convert ' + String(val) + ' to array.'
+    );
 }
 
 Converter.prototype.toArray = function(val, nullable) {
-  return _nullableGeneric(_toArray, nullable, val);
+    return _nullableGeneric(_toArray, nullable, val);
 };
 
 function _toDictionary(val) {
-  if (_type.isObject(val) || _type.isFunction(val)) {
-    return val;
-  }
+    if (_type.isObject(val) || _type.isFunction(val)) {
+        return val;
+    }
 
-  throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-      'Cannot convert ' + String(val) + ' to dictionary.');
+    throw new WebAPIException(
+        WebAPIException.TYPE_MISMATCH_ERR,
+        'Cannot convert ' + String(val) + ' to dictionary.'
+    );
 }
 
 Converter.prototype.toDictionary = function(val, nullable) {
-  return _nullableGeneric(_toDictionary, nullable, val);
+    return _nullableGeneric(_toDictionary, nullable, val);
 };
 
 function _toEnum(val, e) {
-  var v = _toString(val);
-  if (_type.arrayContains(e, v)) {
-    return v;
-  }
+    var v = _toString(val);
+    if (_type.arrayContains(e, v)) {
+        return v;
+    }
 
-  throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-      'Cannot convert ' + v + ' to enum.');
+    throw new WebAPIException(
+        WebAPIException.TYPE_MISMATCH_ERR,
+        'Cannot convert ' + v + ' to enum.'
+    );
 }
 
 Converter.prototype.toEnum = function(val, e, nullable) {
-  return _nullableGeneric(_toEnum, nullable, val, e);
+    return _nullableGeneric(_toEnum, nullable, val, e);
 };
 
 var _converter = new Converter();
@@ -571,28 +601,27 @@ var _converter = new Converter();
 /////////////////////////////////////////////////////////////////////////////
 /** @constructor */
 var Validator = function() {
-  this.Types = {
-    BOOLEAN: 'BOOLEAN',
-    LONG: 'LONG',
-    LONG_LONG: 'LONG_LONG',
-    UNSIGNED_LONG: 'UNSIGNED_LONG',
-    UNSIGNED_LONG_LONG: 'UNSIGNED_LONG_LONG',
-    BYTE: 'BYTE',
-    OCTET: 'OCTET',
-    DOUBLE: 'DOUBLE',
-    STRING: 'STRING',
-    FUNCTION: 'FUNCTION',
-    DICTIONARY: 'DICTIONARY',
-    PLATFORM_OBJECT: 'PLATFORM_OBJECT',
-    LISTENER: 'LISTENER',
-    ARRAY: 'ARRAY',
-    ENUM: 'ENUM',
-    FILE_REFERENCE: 'FILE_REFERENCE',
-    SIMPLE_TYPE: 'SIMPLE_TYPE'    // Boolean, Number or String
-  };
+    this.Types = {
+        BOOLEAN: 'BOOLEAN',
+        LONG: 'LONG',
+        LONG_LONG: 'LONG_LONG',
+        UNSIGNED_LONG: 'UNSIGNED_LONG',
+        UNSIGNED_LONG_LONG: 'UNSIGNED_LONG_LONG',
+        BYTE: 'BYTE',
+        OCTET: 'OCTET',
+        DOUBLE: 'DOUBLE',
+        STRING: 'STRING',
+        FUNCTION: 'FUNCTION',
+        DICTIONARY: 'DICTIONARY',
+        PLATFORM_OBJECT: 'PLATFORM_OBJECT',
+        LISTENER: 'LISTENER',
+        ARRAY: 'ARRAY',
+        ENUM: 'ENUM',
+        FILE_REFERENCE: 'FILE_REFERENCE',
+        SIMPLE_TYPE: 'SIMPLE_TYPE' // Boolean, Number or String
+    };
 };
 
-
 /**
  * Verifies if arguments passed to function are valid.
  *
@@ -609,7 +638,8 @@ var Validator = function() {
  *   - values - required in case of some objects, value depends on type
  *   - validator - function which accepts a single parameter and returns true or false;
  *                 if this property is present, this function will be executed,
- *                 argument converted to expected type is going to be passed to this function
+ *                 argument converted to expected type is going to be passed
+ *                 to this function
  *
  * @param {Array} a - arguments of a method
  * @param {Array} d - description of expected arguments
@@ -686,7 +716,8 @@ var Validator = function() {
  *   {
  *     name: 'first',
  *     type: Validator.Types.ARRAY,
- *     values: Validator.Types.DOUBLE // converts elements, only primitive types are supported
+ *     values: Validator.Types.DOUBLE // converts elements,
+ *                                    // only primitive types are supported
  *   }
  * ]
  * @code
@@ -699,198 +730,223 @@ var Validator = function() {
  * ]
  */
 Validator.prototype.validateArgs = function(a, d) {
-  var args = {has: {}};
-
-  for (var i = 0; i < d.length; ++i) {
-    var name = d[i].name;
-    args.has[name] = (i < a.length);
-
-    var optional = d[i].optional;
-    var nullable = d[i].nullable;
-    var val = a[i];
-
-    if (args.has[name] || !optional) {
-      var type = d[i].type;
-      var values = d[i].values;
-
-      switch (type) {
-        case this.Types.BOOLEAN:
-          val = _converter.toBoolean(val, nullable);
-          break;
-
-        case this.Types.LONG:
-          val = _converter.toLong(val, nullable);
-          break;
-
-        case this.Types.LONG_LONG:
-          val = _converter.toLongLong(val, nullable);
-          break;
-
-        case this.Types.UNSIGNED_LONG:
-          val = _converter.toUnsignedLong(val, nullable);
-          break;
-
-        case this.Types.UNSIGNED_LONG_LONG:
-          val = _converter.toUnsignedLongLong(val, nullable);
-          break;
-
-        case this.Types.BYTE:
-          val = _converter.toByte(val, nullable);
-          break;
-
-        case this.Types.OCTET:
-          val = _converter.toOctet(val, nullable);
-          break;
-
-        case this.Types.DOUBLE:
-          val = _converter.toDouble(val, nullable);
-          break;
-
-        case this.Types.STRING:
-          val = _converter.toString(val, nullable);
-          break;
-
-        case this.Types.FUNCTION:
-          val = _converter.toFunction(val, nullable);
-          break;
-
-        case this.Types.DICTIONARY:
-          val = _converter.toDictionary(val, nullable);
-          break;
-
-        case this.Types.PLATFORM_OBJECT:
-          val = _converter.toPlatformObject(val, values, nullable);
-          break;
-
-        case this.Types.LISTENER:
-          if (_type.isNull(val)) {
-            if (!nullable) {
-              throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-                  'Argument "' + name + '" cannot be null.');
-            }
-          } else {
-            if (!_type.isObject(val)) {
-              throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-                  'Argument "' + name + '" should be an object.');
-            }
-            for (var ii = 0; ii < values.length; ++ii) {
-              if (_type.hasProperty(val, values[ii])) {
-                val[values[ii]] = _converter.toFunction(val[values[ii]], false);
-              }
-            }
-          }
-          break;
+    var args = { has: {} };
+
+    for (var i = 0; i < d.length; ++i) {
+        var name = d[i].name;
+        args.has[name] = i < a.length;
+
+        var optional = d[i].optional;
+        var nullable = d[i].nullable;
+        var val = a[i];
+
+        if (args.has[name] || !optional) {
+            var type = d[i].type;
+            var values = d[i].values;
 
-        case this.Types.ARRAY:
-          val = _converter.toArray(val, nullable);
-          if (!_type.isNull(val) && values) {
-            var func;
+            switch (type) {
+            case this.Types.BOOLEAN:
+                val = _converter.toBoolean(val, nullable);
+                break;
+
+            case this.Types.LONG:
+                val = _converter.toLong(val, nullable);
+                break;
 
-            switch (values) {
-              case this.Types.BOOLEAN:
-                func = _converter.toBoolean;
+            case this.Types.LONG_LONG:
+                val = _converter.toLongLong(val, nullable);
                 break;
 
-              case this.Types.LONG:
-                func = _converter.toLong;
+            case this.Types.UNSIGNED_LONG:
+                val = _converter.toUnsignedLong(val, nullable);
                 break;
 
-              case this.Types.LONG_LONG:
-                func = _converter.toLongLong;
+            case this.Types.UNSIGNED_LONG_LONG:
+                val = _converter.toUnsignedLongLong(val, nullable);
                 break;
 
-              case this.Types.UNSIGNED_LONG:
-                func = _converter.toUnsignedLong;
+            case this.Types.BYTE:
+                val = _converter.toByte(val, nullable);
                 break;
 
-              case this.Types.UNSIGNED_LONG_LONG:
-                func = _converter.toUnsignedLongLong;
+            case this.Types.OCTET:
+                val = _converter.toOctet(val, nullable);
                 break;
 
-              case this.Types.BYTE:
-                func = _converter.toByte;
+            case this.Types.DOUBLE:
+                val = _converter.toDouble(val, nullable);
                 break;
 
-              case this.Types.OCTET:
-                func = _converter.toOctet;
+            case this.Types.STRING:
+                val = _converter.toString(val, nullable);
                 break;
 
-              case this.Types.DOUBLE:
-                func = _converter.toDouble;
+            case this.Types.FUNCTION:
+                val = _converter.toFunction(val, nullable);
                 break;
 
-              case this.Types.STRING:
-                func = _converter.toString;
+            case this.Types.DICTIONARY:
+                val = _converter.toDictionary(val, nullable);
                 break;
 
-              default:
-                func = function(val) {
-                  if (!(val instanceof values)) {
-                    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-                        'Items of array "' + name + '" should be of type: ' + values + '.');
-                  }
-                  return val;
-                };
+            case this.Types.PLATFORM_OBJECT:
+                val = _converter.toPlatformObject(val, values, nullable);
+                break;
+
+            case this.Types.LISTENER:
+                if (_type.isNull(val)) {
+                    if (!nullable) {
+                        throw new WebAPIException(
+                            WebAPIException.TYPE_MISMATCH_ERR,
+                            'Argument "' + name + '" cannot be null.'
+                        );
+                    }
+                } else {
+                    if (!_type.isObject(val)) {
+                        throw new WebAPIException(
+                            WebAPIException.TYPE_MISMATCH_ERR,
+                            'Argument "' + name + '" should be an object.'
+                        );
+                    }
+                    for (var ii = 0; ii < values.length; ++ii) {
+                        if (_type.hasProperty(val, values[ii])) {
+                            val[values[ii]] = _converter.toFunction(
+                                val[values[ii]],
+                                false
+                            );
+                        }
+                    }
+                }
+                break;
+
+            case this.Types.ARRAY:
+                val = _converter.toArray(val, nullable);
+                if (!_type.isNull(val) && values) {
+                    var func;
+
+                    switch (values) {
+                    case this.Types.BOOLEAN:
+                        func = _converter.toBoolean;
+                        break;
+
+                    case this.Types.LONG:
+                        func = _converter.toLong;
+                        break;
+
+                    case this.Types.LONG_LONG:
+                        func = _converter.toLongLong;
+                        break;
+
+                    case this.Types.UNSIGNED_LONG:
+                        func = _converter.toUnsignedLong;
+                        break;
+
+                    case this.Types.UNSIGNED_LONG_LONG:
+                        func = _converter.toUnsignedLongLong;
+                        break;
+
+                    case this.Types.BYTE:
+                        func = _converter.toByte;
+                        break;
+
+                    case this.Types.OCTET:
+                        func = _converter.toOctet;
+                        break;
+
+                    case this.Types.DOUBLE:
+                        func = _converter.toDouble;
+                        break;
+
+                    case this.Types.STRING:
+                        func = _converter.toString;
+                        break;
+
+                    default:
+                        func = function(val) {
+                            if (!(val instanceof values)) {
+                                throw new WebAPIException(
+                                    WebAPIException.TYPE_MISMATCH_ERR,
+                                    'Items of array "' +
+                                                name +
+                                                '" should be of type: ' +
+                                                values +
+                                                '.'
+                                );
+                            }
+                            return val;
+                        };
+                    }
+
+                    for (var j = 0; j < val.length; ++j) {
+                        val[j] = func(val[j]);
+                    }
+                }
+                break;
+
+            case this.Types.ENUM:
+                val = _converter.toEnum(val, values, nullable);
+                break;
+
+            case this.Types.FILE_REFERENCE:
+                if (
+                    _type.isObject(val) &&
+                        'File' === val.constructor.name &&
+                        val.fullPath
+                ) {
+                    val = val.fullPath;
+                }
+                val = _converter.toString(val, nullable);
+                break;
+
+            case this.Types.SIMPLE_TYPE:
+                if (optional && _type.isUndefined(val)) {
+                    break;
+                }
+                if (nullable && _type.isNull(val)) {
+                    break;
+                }
+                if (
+                    !_type.isBoolean(val) &&
+                        !_type.isNumber(val) &&
+                        !_type.isString(val)
+                ) {
+                    throw new WebAPIException(
+                        WebAPIException.TYPE_MISMATCH_ERR,
+                        'Argument "' + name + '" should be boolean, number or string.'
+                    );
+                }
+                break;
+
+            default:
+                throw new WebAPIException(
+                    WebAPIException.TYPE_MISMATCH_ERR,
+                    'Unknown type: "' + type + '".'
+                );
             }
 
-            for (var j = 0; j < val.length; ++j) {
-              val[j] = func(val[j]);
+            var _validator = d[i].validator;
+
+            if (_type.isFunction(_validator) && !_validator(val)) {
+                throw new WebAPIException(
+                    WebAPIException.TYPE_MISMATCH_ERR,
+                    'Argument "' + name + '" did not pass additional validation.'
+                );
             }
-          }
-          break;
-
-        case this.Types.ENUM:
-          val = _converter.toEnum(val, values, nullable);
-          break;
-
-        case this.Types.FILE_REFERENCE:
-          if (_type.isObject(val) && 'File' === val.constructor.name && val.fullPath) {
-            val = val.fullPath;
-          }
-          val = _converter.toString(val, nullable);
-          break;
-
-        case this.Types.SIMPLE_TYPE:
-          if (optional && _type.isUndefined(val)) {
-            break;
-          }
-          if (nullable && _type.isNull(val)) {
-            break;
-          }
-          if (!_type.isBoolean(val) && !_type.isNumber(val) && !_type.isString(val)) {
-            throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-                'Argument "' + name + '" should be boolean, number or string.');
-          }
-          break;
-
-        default:
-          throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-              'Unknown type: "' + type + '".');
-      }
-
-      var _validator = d[i].validator;
-
-      if (_type.isFunction(_validator) && !_validator(val)) {
-        throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-            'Argument "' + name + '" did not pass additional validation.');
-      }
-
-      args[name] = val;
+
+            args[name] = val;
+        }
     }
-  }
 
-  return args;
+    return args;
 };
 
-
 /**
  * @deprecated Use validateArgs() instead.
  */
 Validator.prototype.validateMethod = function(a, d) {
-  return this.validateArgs(a, d);
+    return this.validateArgs(a, d);
 };
 
-
 /**
  * Use this helper to ensure that constructor is invoked by "new" operator.
  *
@@ -898,270 +954,296 @@ Validator.prototype.validateMethod = function(a, d) {
  * @param {Function} instance
  */
 Validator.prototype.isConstructorCall = function(obj, instance) {
-  if (!(obj instanceof instance) || obj._previouslyConstructed) {
-    // There is no TypeError exception in Tizen 2.3.0 API spec but it's required by current TCTs.
-    // For Tizen compliance it's wrapped into WebAPIException.
-    throw new WebAPIException('TypeError', 'Constructor cannot be called as function.');
-  }
+    if (!(obj instanceof instance) || obj._previouslyConstructed) {
+        // There is no TypeError exception in Tizen 2.3.0 API spec
+        // but it's required by current TCTs.
+        // For Tizen compliance it's wrapped into WebAPIException.
+        throw new WebAPIException(
+            'TypeError',
+            'Constructor cannot be called as function.'
+        );
+    }
 
-  Object.defineProperty(obj, '_previouslyConstructed', {
-    value: true,
-    writable: false,
-    enumerable: false
-  });
+    Object.defineProperty(obj, '_previouslyConstructed', {
+        value: true,
+        writable: false,
+        enumerable: false
+    });
 };
 
-
 /**
  * @deprecated Use isConstructorCall() instead.
  */
 Validator.prototype.validateConstructorCall = function(obj, instance) {
-  this.isConstructorCall(obj, instance);
+    this.isConstructorCall(obj, instance);
 };
 
 var _validator = new Validator();
 
-
-
 /////////////////////////////////////////////////////////////////////////////
 /** @constructor */
 var NativeManager = function(extension) {
+    /**
+     * @type {string}
+     * @const
+     */
+    this.CALLBACK_ID_KEY = 'callbackId';
+
+    /**
+     * @type {string}
+     * @const
+     */
+    this.LISTENER_ID_KEY = 'listenerId';
+
+    /**
+     * @type {Object}
+     * @private
+     */
+    var extension_ = extension;
+
+    /**
+     * @type {number}
+     * @private
+     */
+    var replyId_ = 0;
+
+    /**
+     * Map of async reply callbacks.
+     *
+     * @type {Object.<number, function>}
+     * @protected
+     */
+    this.callbacks_ = {};
+
+    /**
+     * Map of registered listeners.
+     *
+     * @type {Object.<string, function>}
+     * @protected
+     */
+    this.listeners_ = {};
+
+    _validator.isConstructorCall(this, NativeManager);
+
+    // TODO: Remove mockup if WRT implements sendRuntimeMessage
+    // This is temporary mockup!
+    extension.sendRuntimeMessage =
+        extension.sendRuntimeMessage ||
+        function() {
+            xwalk.utils.error('Runtime did not implement extension.sendRuntimeMessage!');
+            throw new WebAPIException(
+                WebAPIException.UNKNOWN_ERR,
+                'Runtime did not implement extension.sendRuntimeMessage!'
+            );
+        };
 
-  /**
-   * @type {string}
-   * @const
-   */
-  this.CALLBACK_ID_KEY = 'callbackId';
-
-  /**
-   * @type {string}
-   * @const
-   */
-  this.LISTENER_ID_KEY = 'listenerId';
-
-  /**
-   * @type {Object}
-   * @private
-   */
-  var extension_ = extension;
-
-  /**
-   * @type {number}
-   * @private
-   */
-  var replyId_ = 0;
-
-  /**
-   * Map of async reply callbacks.
-   *
-   * @type {Object.<number, function>}
-   * @protected
-   */
-  this.callbacks_ = {};
-
-  /**
-   * Map of registered listeners.
-   *
-   * @type {Object.<string, function>}
-   * @protected
-   */
-  this.listeners_ = {};
-
-  _validator.isConstructorCall(this, NativeManager);
-
-  // TODO: Remove mockup if WRT implements sendRuntimeMessage
-  // This is temporary mockup!
-  extension.sendRuntimeMessage = extension.sendRuntimeMessage || function() {
-    xwalk.utils.error('Runtime did not implement extension.sendRuntimeMessage!');
-    throw new WebAPIException(WebAPIException.UNKNOWN_ERR,
-        'Runtime did not implement extension.sendRuntimeMessage!');
-  };
-
-  extension.sendRuntimeAsyncMessage = extension.sendRuntimeAsyncMessage || function() {
-    xwalk.utils.error('Runtime did not implement extension.sendRuntimeAsyncMessage!');
-    throw new WebAPIException(WebAPIException.UNKNOWN_ERR,
-        'Runtime did not implement extension.sendRuntimeAsyncMessage!');
-  };
-
-  extension.sendRuntimeSyncMessage = extension.sendRuntimeSyncMessage || function() {
-    xwalk.utils.error('Runtime did not implement extension.sendRuntimeSyncMessage!');
-    throw new WebAPIException(WebAPIException.UNKNOWN_ERR,
-        'Runtime did not implement extension.sendRuntimeSyncMessage!');
-  };
-
-  // check extension prototype
-  if (!extension || !extension.internal ||
-      !_type.isFunction(extension.postMessage) ||
-      !_type.isFunction(extension.internal.sendSyncMessage) ||
-      !_type.isFunction(extension.sendRuntimeMessage) ||
-      !_type.isFunction(extension.sendRuntimeAsyncMessage) ||
-      !_type.isFunction(extension.sendRuntimeSyncMessage) ||
-      !_type.isFunction(extension.setMessageListener)) {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR,
-                              'Wrong extension object passed');
-  }
-
-  Object.defineProperties(this, {
-    nextReplyId: {
-      get: function() {
-        return ++replyId_;
-      },
-      enumerable: false
-    },
-    extension: {
-      get: function() {
-        return extension_;
-      },
-      enumerable: true
-    }
-  });
-
-  extension_.setMessageListener(function(json) {
-    try {
-      var msg = JSON_.parse(json);
-    } catch (error) {
-      xwalk.utils.error('Ignoring message - Invalid JSON received: ' + json);
-      return;
-    }
-    var id;
+    extension.sendRuntimeAsyncMessage =
+        extension.sendRuntimeAsyncMessage ||
+        function() {
+            xwalk.utils.error(
+                'Runtime did not implement extension.sendRuntimeAsyncMessage!'
+            );
+            throw new WebAPIException(
+                WebAPIException.UNKNOWN_ERR,
+                'Runtime did not implement extension.sendRuntimeAsyncMessage!'
+            );
+        };
+
+    extension.sendRuntimeSyncMessage =
+        extension.sendRuntimeSyncMessage ||
+        function() {
+            xwalk.utils.error(
+                'Runtime did not implement extension.sendRuntimeSyncMessage!'
+            );
+            throw new WebAPIException(
+                WebAPIException.UNKNOWN_ERR,
+                'Runtime did not implement extension.sendRuntimeSyncMessage!'
+            );
+        };
 
-    if (msg.hasOwnProperty(this.CALLBACK_ID_KEY)) {
-      id = msg[this.CALLBACK_ID_KEY];
-      delete msg[this.CALLBACK_ID_KEY];
+    // check extension prototype
+    if (
+        !extension ||
+        !extension.internal ||
+        !_type.isFunction(extension.postMessage) ||
+        !_type.isFunction(extension.internal.sendSyncMessage) ||
+        !_type.isFunction(extension.sendRuntimeMessage) ||
+        !_type.isFunction(extension.sendRuntimeAsyncMessage) ||
+        !_type.isFunction(extension.sendRuntimeSyncMessage) ||
+        !_type.isFunction(extension.setMessageListener)
+    ) {
+        throw new WebAPIException(
+            WebAPIException.TYPE_MISMATCH_ERR,
+            'Wrong extension object passed'
+        );
+    }
 
-      if (!_type.isFunction(this.callbacks_[id])) {
-        xwalk.utils.error('Wrong callback identifier. Ignoring message.');
-        return;
-      }
-
-      var f = this.callbacks_[id];
-      setTimeout(function() {
-        try {
-          f(msg);
-        } catch (e) {
-          xwalk.utils.error('########## exception');
-          xwalk.utils.error(e);
+    Object.defineProperties(this, {
+        nextReplyId: {
+            get: function() {
+                return ++replyId_;
+            },
+            enumerable: false
+        },
+        extension: {
+            get: function() {
+                return extension_;
+            },
+            enumerable: true
         }
-      }, 0);
-      delete this.callbacks_[id];
+    });
 
-      return;
-    }
+    extension_.setMessageListener(
+        function(json) {
+            try {
+                var msg = JSON_.parse(json);
+            } catch (error) {
+                xwalk.utils.error('Ignoring message - Invalid JSON received: ' + json);
+                return;
+            }
+            var id;
 
-    if (msg.hasOwnProperty(this.LISTENER_ID_KEY)) {
-      id = msg[this.LISTENER_ID_KEY];
-      delete msg[this.LISTENER_ID_KEY];
+            if (msg.hasOwnProperty(this.CALLBACK_ID_KEY)) {
+                id = msg[this.CALLBACK_ID_KEY];
+                delete msg[this.CALLBACK_ID_KEY];
 
-      if (!_type.isFunction(this.listeners_[id])) {
-        xwalk.utils.error('Wrong listener identifier. Ignoring message.');
-        return;
-      }
-
-      var f = this.listeners_[id];
-      setTimeout(function() {
-        try {
-          f(msg);
-        } catch (e) {
-          xwalk.utils.error('########## exception');
-          xwalk.utils.error(e);
-        }
-      }, 0);
+                if (!_type.isFunction(this.callbacks_[id])) {
+                    xwalk.utils.error('Wrong callback identifier. Ignoring message.');
+                    return;
+                }
 
-      return;
-    }
+                var f = this.callbacks_[id];
+                setTimeout(function() {
+                    try {
+                        f(msg);
+                    } catch (e) {
+                        xwalk.utils.error('########## exception');
+                        xwalk.utils.error(e);
+                    }
+                }, 0);
+                delete this.callbacks_[id];
+
+                return;
+            }
+
+            if (msg.hasOwnProperty(this.LISTENER_ID_KEY)) {
+                id = msg[this.LISTENER_ID_KEY];
+                delete msg[this.LISTENER_ID_KEY];
 
-    xwalk.utils.error('Missing callback or listener identifier. Ignoring message.');
+                if (!_type.isFunction(this.listeners_[id])) {
+                    xwalk.utils.error('Wrong listener identifier. Ignoring message.');
+                    return;
+                }
+
+                var f = this.listeners_[id];
+                setTimeout(function() {
+                    try {
+                        f(msg);
+                    } catch (e) {
+                        xwalk.utils.error('########## exception');
+                        xwalk.utils.error(e);
+                    }
+                }, 0);
+
+                return;
+            }
 
-  }.bind(this));
+            xwalk.utils.error(
+                'Missing callback or listener identifier. Ignoring message.'
+            );
+        }.bind(this)
+    );
 };
 
 NativeManager.prototype.call = function(cmd, args, callback) {
-  args = args || {};
+    args = args || {};
 
-  var replyId = this.nextReplyId;
-  args[this.CALLBACK_ID_KEY] = replyId;
-  this.callbacks_[replyId] = callback;
+    var replyId = this.nextReplyId;
+    args[this.CALLBACK_ID_KEY] = replyId;
+    this.callbacks_[replyId] = callback;
 
-  return this.callSync(cmd, args);
+    return this.callSync(cmd, args);
 };
 
 NativeManager.prototype.callSync = function(cmd, args) {
-  var request = JSON_.stringify({
-    cmd: cmd,
-    args: args || {}
-  });
+    var request = JSON_.stringify({
+        cmd: cmd,
+        args: args || {}
+    });
 
-  var response = this.extension.internal.sendSyncMessage(request);
-  if( response === undefined ) {
-    /* C++ extension didn't set sync response using Instance::SendSyncReply */
-    throw new WebAPIException(WebAPIException.ABORT_ERR, "Internal error");
-  }
-  return JSON_.parse(response);
+    var response = this.extension.internal.sendSyncMessage(request);
+    if (response === undefined) {
+        /* C++ extension didn't set sync response using Instance::SendSyncReply */
+        throw new WebAPIException(WebAPIException.ABORT_ERR, 'Internal error');
+    }
+    return JSON_.parse(response);
 };
 
 NativeManager.prototype.sendRuntimeMessage = function(msg, body) {
-  return this.extension.sendRuntimeMessage(msg, body || '');
+    return this.extension.sendRuntimeMessage(msg, body || '');
 };
 
 NativeManager.prototype.sendRuntimeAsyncMessage = function(msg, body, callback) {
-  var handler = function(response) {
-    if (_type.isFunction(callback)) {
-      var result = {};
-      if ('success' === response.toLowerCase()) {
-        result.status = 'success';
-      } else {
-        result.status = 'error';
-        result.error = new WebAPIException(WebAPIException.UNKNOWN_ERR,
-                                           'Runtime message failure');
-      }
-      callback(result);
-    }
-  };
-  return this.extension.sendRuntimeAsyncMessage(msg, body || '', handler);
+    var handler = function(response) {
+        if (_type.isFunction(callback)) {
+            var result = {};
+            if ('success' === response.toLowerCase()) {
+                result.status = 'success';
+            } else {
+                result.status = 'error';
+                result.error = new WebAPIException(
+                    WebAPIException.UNKNOWN_ERR,
+                    'Runtime message failure'
+                );
+            }
+            callback(result);
+        }
+    };
+    return this.extension.sendRuntimeAsyncMessage(msg, body || '', handler);
 };
 
 NativeManager.prototype.sendRuntimeSyncMessage = function(msg, body) {
-  return this.extension.sendRuntimeSyncMessage(msg, body || '');
+    return this.extension.sendRuntimeSyncMessage(msg, body || '');
 };
 
 NativeManager.prototype.addListener = function(name, callback) {
-  if (!_type.isString(name) || !name.length) {
-    throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
-  }
+    if (!_type.isString(name) || !name.length) {
+        throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
+    }
 
-  this.listeners_[name] = callback;
+    this.listeners_[name] = callback;
 };
 
 NativeManager.prototype.removeListener = function(name) {
-  if (this.listeners_.hasOwnProperty(name)) {
-    delete this.listeners_[name];
-  }
+    if (this.listeners_.hasOwnProperty(name)) {
+        delete this.listeners_[name];
+    }
 };
 
 NativeManager.prototype.isListenerSet = function(name) {
-  return this.listeners_.hasOwnProperty(name);
+    return this.listeners_.hasOwnProperty(name);
 };
 
 NativeManager.prototype.isSuccess = function(result) {
-  return (result.status !== 'error');
+    return result.status !== 'error';
 };
 
 NativeManager.prototype.isFailure = function(result) {
-  return !this.isSuccess(result);
+    return !this.isSuccess(result);
 };
 
 NativeManager.prototype.getResultObject = function(result) {
-  return result.result;
+    return result.result;
 };
 
 NativeManager.prototype.getErrorObject = function(result) {
-  return new WebAPIException(result.error);
+    return new WebAPIException(result.error);
 };
 
 NativeManager.prototype.callIfPossible = function(callback) {
-  if (!_type.isNullOrUndefined(callback)) {
-    callback.apply(callback, [].slice.call(arguments, 1));
-  }
+    if (!_type.isNullOrUndefined(callback)) {
+        callback.apply(callback, [].slice.call(arguments, 1));
+    }
 };
 
 /*
@@ -1218,19 +1300,19 @@ NativeManager.prototype.callIfPossible = function(callback) {
  *        }
  *    }
  */
-var NativeBridge = (function (extension, debug) {
+var NativeBridge = function(extension, debug) {
     debug = !!debug;
-    var Callbacks = (function () {
+    var Callbacks = (function() {
         var _collection = {};
         var _cid = 0;
-        var _next = function () {
+        var _next = function() {
             return (_cid += 1);
         };
 
-        var CallbackManager = function () {};
+        var CallbackManager = function() {};
 
         CallbackManager.prototype = {
-            add: function (/*callbacks, cid?*/) {
+            add: function(/*callbacks, cid?*/) {
                 if (debug) xwalk.utils.log('bridge.CallbackManager.add');
                 var args = Array.prototype.slice.call(arguments);
                 var c = args.shift();
@@ -1247,50 +1329,61 @@ var NativeBridge = (function (extension, debug) {
                 }
                 return cid;
             },
-            remove: function (cid) {
-                if (debug)  xwalk.utils.log('bridge.CallbackManager.remove, cid: ' + cid);
+            remove: function(cid) {
+                if (debug) {
+                    xwalk.utils.log('bridge.CallbackManager.remove, cid: ' + cid);
+                }
                 if (_collection[cid]) delete _collection[cid];
             },
-            call: function (cid, key, args, keep) {
-                if (debug) xwalk.utils.log('bridge.CallbackManager.call, cid: '+ cid + ', key: ' + key);
+            call: function(cid, key, args, keep) {
+                if (debug) {
+                    xwalk.utils.log(
+                        'bridge.CallbackManager.call, cid: ' + cid + ', key: ' + key
+                    );
+                }
                 var callbacks = _collection[cid];
                 keep = !!keep;
                 if (callbacks) {
                     var fn = callbacks[key];
                     if (fn) {
                         fn.apply(null, args);
-                        if (!keep) this.remove(cid)
+                        if (!keep) this.remove(cid);
                     }
                 }
             }
         };
 
         return {
-            getInstance: function () {
-                return this.instance || (this.instance = new CallbackManager);
+            getInstance: function() {
+                return this.instance || (this.instance = new CallbackManager());
             }
         };
     })();
 
-
-    var Listeners = (function () {
+    var Listeners = (function() {
         var _listeners = {};
         var _id = 0;
-        var _next = function () {
+        var _next = function() {
             return (_id += 1);
         };
 
-        var ListenerManager = function () {};
+        var ListenerManager = function() {};
 
         ListenerManager.prototype = {
-            add: function (l) {
+            add: function(l) {
                 if (debug) xwalk.utils.log('bridge.ListenerManager.add');
                 var id = _next();
                 _listeners[id] = l;
                 return id;
             },
-            resolve: function (id, action, data, keep) {
-                if (debug) xwalk.utils.log('bridge.ListenerManager.resolve, id: ' + id + ', action: ' + action);
+            resolve: function(id, action, data, keep) {
+                if (debug)
+                    xwalk.utils.log(
+                        'bridge.ListenerManager.resolve, id: ' +
+                            id +
+                            ', action: ' +
+                            action
+                    );
                 keep = !!keep;
                 var l = _listeners[id];
                 if (l) {
@@ -1299,7 +1392,7 @@ var NativeBridge = (function (extension, debug) {
                 }
                 return l;
             },
-            remove: function (id) {
+            remove: function(id) {
                 if (debug) xwalk.utils.log('bridge.ListenerManager.remove, id: ' + id);
                 var l = _listeners[id];
                 if (l) {
@@ -1308,38 +1401,38 @@ var NativeBridge = (function (extension, debug) {
                     delete _listeners[id];
                 }
             },
-            attach: function (id, key, value) {
+            attach: function(id, key, value) {
                 if (_listeners[id]) {
                     _listeners[id][key] = value;
                     return true;
                 }
                 return false;
             },
-            find: function (key, value) {
+            find: function(key, value) {
                 var result = [];
                 for (var p in _listeners) {
                     if (_listeners.hasOwnProperty(p)) {
                         var l = _listeners[p];
-                        if (l[key] === value) result.push({id: p, listener: l});
+                        if (l[key] === value) result.push({ id: p, listener: l });
                     }
                 }
                 return result;
             }
-        }
+        };
 
         return {
-            getInstance: function () {
-                return this.instance || (this.instance = new ListenerManager);
+            getInstance: function() {
+                return this.instance || (this.instance = new ListenerManager());
             }
         };
     })();
 
-    var Listener = function () {
+    var Listener = function() {
         if (debug) xwalk.utils.log('bridge: Listener constructor');
         this.cid = null;
     };
     Listener.prototype = {
-        then: function (c) {
+        then: function(c) {
             if (debug) xwalk.utils.log('bridge.Listener.then');
             var cm = Callbacks.getInstance();
             this.cid = cm.add(c, this.cid);
@@ -1347,21 +1440,20 @@ var NativeBridge = (function (extension, debug) {
         }
     };
 
-    var Bridge = function () {};
+    var Bridge = function() {};
     Bridge.prototype = {
-        sync: function (data) {
+        sync: function(data) {
             var json = JSON_.stringify({
-              cmd: data.cmd,
-              args: data
+                cmd: data.cmd,
+                args: data
             });
             if (debug) xwalk.utilss.log('bridge.sync, json: ' + json);
             var result = extension.internal.sendSyncMessage(json);
             var obj = JSON_.parse(result);
-            if (obj.error)
-                throw new WebAPIException(obj.code, obj.name, obj.message);
+            if (obj.error) throw new WebAPIException(obj.code, obj.name, obj.message);
             return obj.result;
         },
-        async: function (data) {
+        async: function(data) {
             var l = new Listener();
             data.cid = Listeners.getInstance().add(l);
             var json = JSON_.stringify({
@@ -1369,28 +1461,28 @@ var NativeBridge = (function (extension, debug) {
                 args: data
             });
             if (debug) xwalk.utils.log('bridge.async, json: ' + json);
-            setTimeout(function () {
+            setTimeout(function() {
                 extension.postMessage(json);
             });
             return l;
         },
-        listener: function (c) {
-            var l = (new Listener()).then(c);
+        listener: function(c) {
+            var l = new Listener().then(c);
             var cid = Listeners.getInstance().add(l);
             return cid;
         },
-        attach: function (id, key, value) {
+        attach: function(id, key, value) {
             return Listeners.getInstance().attach(id, key, value);
         },
-        find: function (key, value) {
+        find: function(key, value) {
             return Listeners.getInstance().find(key, value);
         },
-        remove: function (id) {
+        remove: function(id) {
             Listeners.getInstance().remove(id);
         }
     };
 
-    extension.setMessageListener(function (json) {
+    extension.setMessageListener(function(json) {
         /*
          *Expected response:
          *{
@@ -1405,72 +1497,78 @@ var NativeBridge = (function (extension, debug) {
         var data = JSON_.parse(json);
         if (data.cid && data.action) {
             setTimeout(function() {
-                Listeners.getInstance().resolve(data.cid, data.action, data.args, data.keep);
+                Listeners.getInstance().resolve(
+                    data.cid,
+                    data.action,
+                    data.args,
+                    data.keep
+                );
             }, 0);
         }
     });
 
-    return new Bridge;
-});
+    return new Bridge();
+};
 
 // WebAPIException and WebAPIError definition moved to Utils for compliance
 // reasons with blink-wrt environment.
-// In blink-wrt the original Tizen module is loaded, which is not providing exception constructor.
+// In blink-wrt the original Tizen module is loaded,
+// which is not providing exception constructor.
 // As modules needs exceptions internally so they are loaded here for now.
 // See http://168.219.209.56/gerrit/#/c/23472/ for more details.
 // In future exception definition could be moved back to Tizen module.
 function __isObject(object) {
-  return object instanceof _global.Object;
+    return object instanceof _global.Object;
 }
 
 function __isUndefined(object) {
-  return object === void 0;
+    return object === void 0;
 }
 
 function __isNumber(object) {
-  return typeof object === 'number';
+    return typeof object === 'number';
 }
 
 // WARNING! This list should be in sync with the equivalent enum
 // located at tizen.h. Remember to update tizen.h if you change
 // something here.
 var errors = {
-  NO_ERROR: 0,
-  UNKNOWN_ERR: -1,
-
-  INDEX_SIZE_ERR: 1,
-  DOMSTRING_SIZE_ERR: 2,
-  HIERARCHY_REQUEST_ERR: 3,
-  WRONG_DOCUMENT_ERR: 4,
-  INVALID_CHARACTER_ERR: 5,
-  NO_DATA_ALLOWED_ERR: 6,
-  NO_MODIFICATION_ALLOWED_ERR: 7,
-  NOT_FOUND_ERR: 8,
-  NOT_SUPPORTED_ERR: 9,
-  INUSE_ATTRIBUTE_ERR: 10,
-  INVALID_STATE_ERR: 11,
-  SYNTAX_ERR: 12,
-  INVALID_MODIFICATION_ERR: 13,
-  NAMESPACE_ERR: 14,
-  INVALID_ACCESS_ERR: 15,
-  VALIDATION_ERR: 16,
-  TYPE_MISMATCH_ERR: 17,
-  SECURITY_ERR: 18,
-  NETWORK_ERR: 19,
-  ABORT_ERR: 20,
-  URL_MISMATCH_ERR: 21,
-  QUOTA_EXCEEDED_ERR: 22,
-  TIMEOUT_ERR: 23,
-  INVALID_NODE_TYPE_ERR: 24,
-  DATA_CLONE_ERR: 25,
-
-  // Error codes for these errors are not really defined anywhere.
-  INVALID_VALUES_ERR: 100,
-  IO_ERR: 101,
-  PERMISSION_DENIED_ERR: 102,
-  SERVICE_NOT_AVAILABLE_ERR: 103,
-  DATABASE_ERR: 104,
-  VERIFICATION_ERR: 105
+    NO_ERROR: 0,
+    UNKNOWN_ERR: -1,
+
+    INDEX_SIZE_ERR: 1,
+    DOMSTRING_SIZE_ERR: 2,
+    HIERARCHY_REQUEST_ERR: 3,
+    WRONG_DOCUMENT_ERR: 4,
+    INVALID_CHARACTER_ERR: 5,
+    NO_DATA_ALLOWED_ERR: 6,
+    NO_MODIFICATION_ALLOWED_ERR: 7,
+    NOT_FOUND_ERR: 8,
+    NOT_SUPPORTED_ERR: 9,
+    INUSE_ATTRIBUTE_ERR: 10,
+    INVALID_STATE_ERR: 11,
+    SYNTAX_ERR: 12,
+    INVALID_MODIFICATION_ERR: 13,
+    NAMESPACE_ERR: 14,
+    INVALID_ACCESS_ERR: 15,
+    VALIDATION_ERR: 16,
+    TYPE_MISMATCH_ERR: 17,
+    SECURITY_ERR: 18,
+    NETWORK_ERR: 19,
+    ABORT_ERR: 20,
+    URL_MISMATCH_ERR: 21,
+    QUOTA_EXCEEDED_ERR: 22,
+    TIMEOUT_ERR: 23,
+    INVALID_NODE_TYPE_ERR: 24,
+    DATA_CLONE_ERR: 25,
+
+    // Error codes for these errors are not really defined anywhere.
+    INVALID_VALUES_ERR: 100,
+    IO_ERR: 101,
+    PERMISSION_DENIED_ERR: 102,
+    SERVICE_NOT_AVAILABLE_ERR: 103,
+    DATABASE_ERR: 104,
+    VERIFICATION_ERR: 105
 };
 
 var code_to_name = {};
@@ -1511,100 +1609,99 @@ code_to_name[errors['VERIFICATION_ERR']] = 'VerificationError';
 
 var name_to_code = {};
 Object.keys(errors).forEach(function(key) {
-  name_to_code[code_to_name[errors[key]]] = errors[key];
+    name_to_code[code_to_name[errors[key]]] = errors[key];
 });
 
-
 /**
  * Generic exception interface.
  *
  * @param {number} code 16-bit error code.
- * @param {string} message An error message that describes the details of an encountered error.
+ * @param {string} message An error message that describes the details
+ *                          of an encountered error.
  * @param {string} name An error type.
  */
 var WebAPIException = function(code, message, name) {
-  var code_ = 0;
-  var name_ = code_to_name[code];
-  var message_ = 'Unknown error';
+    var code_ = 0;
+    var name_ = code_to_name[code];
+    var message_ = 'Unknown error';
 
-  switch (arguments.length) {
+    switch (arguments.length) {
     case 1:
-      var error = arguments[0];
-      if (__isObject(error)) {
-        code_ = error.code;
-        name_ = error.name;
-        message_ = error.message;
-        if (__isUndefined(code_) && !__isUndefined(name_))
-          code_ = name_to_code[name_];
-        if (__isUndefined(name_) && !__isUndefined(code_))
-          name_ = code_to_name[code_];
-      } else if (__isNumber(error)) {
-        // backward compatibility with crosswalk implementation
-        code_ = error;
-        name_ = code_to_name[code];
-        message_ = name_;
-      }
-      break;
-    case 2:
-      if (__isNumber(arguments[0])) {
-        code_ = arguments[0];
-        if (!__isUndefined(code_to_name[code_])) {
-          name_ = code_to_name[code_];
+        var error = arguments[0];
+        if (__isObject(error)) {
+            code_ = error.code;
+            name_ = error.name;
+            message_ = error.message;
+            if (__isUndefined(code_) && !__isUndefined(name_))
+                code_ = name_to_code[name_];
+            if (__isUndefined(name_) && !__isUndefined(code_))
+                name_ = code_to_name[code_];
+        } else if (__isNumber(error)) {
+            // backward compatibility with crosswalk implementation
+            code_ = error;
+            name_ = code_to_name[code];
+            message_ = name_;
         }
-      } else {
-        name_ = String(arguments[0]);
-        if (!__isUndefined(name_to_code[name_])) {
-          code_ = name_to_code[name_];
+        break;
+    case 2:
+        if (__isNumber(arguments[0])) {
+            code_ = arguments[0];
+            if (!__isUndefined(code_to_name[code_])) {
+                name_ = code_to_name[code_];
+            }
+        } else {
+            name_ = String(arguments[0]);
+            if (!__isUndefined(name_to_code[name_])) {
+                code_ = name_to_code[name_];
+            }
         }
-      }
-      message_ = String(arguments[1]);
-      break;
+        message_ = String(arguments[1]);
+        break;
     case 3:
-      // backward compatibility with crosswalk implementation
-      code_ = Number(arguments[0]);
-      message_ = String(arguments[1]);
-      name_ = String(arguments[2]);
-      break;
+        // backward compatibility with crosswalk implementation
+        code_ = Number(arguments[0]);
+        message_ = String(arguments[1]);
+        name_ = String(arguments[2]);
+        break;
     default:
-      return;
-  }
+        return;
+    }
 
-  if (code_ > errors.DATA_CLONE_ERR) {
-    code_ = 0;
-  }
+    if (code_ > errors.DATA_CLONE_ERR) {
+        code_ = 0;
+    }
 
-  // attributes
-  Object.defineProperties(this, {
-    code: {value: code_, writable: false, enumerable: true},
-    name: {value: name_, writable: false, enumerable: true},
-    message: {value: message_, writable: false, enumerable: true}
-  });
+    // attributes
+    Object.defineProperties(this, {
+        code: { value: code_, writable: false, enumerable: true },
+        name: { value: name_, writable: false, enumerable: true },
+        message: { value: message_, writable: false, enumerable: true }
+    });
 
-  this.constructor.prototype.__proto__ = Error.prototype;
-  Error.captureStackTrace && Error.captureStackTrace(this, this.constructor); // V8-specific code
+    this.constructor.prototype.__proto__ = Error.prototype;
+    // V8-specific code
+    Error.captureStackTrace && Error.captureStackTrace(this, this.constructor);
 };
 
 WebAPIException.prototype.toString = function() {
-  return this.name + ': ' + this.message;
+    return this.name + ': ' + this.message;
 };
 
-
 var error_constants = {};
 for (var prop in errors) {
-  error_constants[prop] = {value: errors[prop], writable: false, enumerable: true};
+    error_constants[prop] = { value: errors[prop], writable: false, enumerable: true };
 }
 Object.defineProperties(WebAPIException, error_constants);
 Object.defineProperties(WebAPIException.prototype, error_constants);
 
-
 // Export WebAPIException and WebAPIError into global scope.
 // For compliance reasons their constructors should not be exported in tizen namespace,
 // but should be available internally to allow throwing exceptions from modules.
 var scope;
 if (typeof window !== 'undefined') {
-  scope = window;
-} else if(typeof global !== 'undefined') {
-  scope = global;
+    scope = window;
+} else if (typeof global !== 'undefined') {
+    scope = global;
 }
 scope = scope || {};
 scope.WebAPIException = WebAPIException;
@@ -1626,4 +1723,3 @@ Object.freeze(exports.utils);
 Object.freeze(Utils.prototype);
 Object.freeze(NativeManager.prototype);
 Object.freeze(NativeBridge.prototype);
-
index 017c1735358e12726011de3abcd5f46952746341..c1c9a1e36fd017b672726e9d08d33e0a20da7684 100644 (file)
@@ -18,61 +18,61 @@ var validator_ = xwalk.utils.validator;
 var native_ = new xwalk.utils.NativeManager(extension);
 
 exports.setUserAgentString = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'userAgent',
-      type: validator_.Types.STRING,
-      optional: false,
-      nullable: false
-    },
-    {
-      name: 'successCallback',
-      type: validator_.Types.FUNCTION,
-      optional: true,
-      nullable: true
-    },
-    {
-      name: 'errorCallback',
-      type: validator_.Types.FUNCTION,
-      optional: true,
-      nullable: true
-    }
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'userAgent',
+            type: validator_.Types.STRING,
+            optional: false,
+            nullable: false
+        },
+        {
+            name: 'successCallback',
+            type: validator_.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: validator_.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
 
-  var callback = function(result) {
-    if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-    } else {
-      native_.callIfPossible(args.successCallback);
-    }
-  };
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+        } else {
+            native_.callIfPossible(args.successCallback);
+        }
+    };
 
-  native_.sendRuntimeAsyncMessage('tizen://changeUA', args.userAgent, callback);
+    native_.sendRuntimeAsyncMessage('tizen://changeUA', args.userAgent, callback);
 };
 
 exports.removeAllCookies = function() {
-  var args = validator_.validateArgs(arguments, [
-    {
-      name: 'successCallback',
-      type: validator_.Types.FUNCTION,
-      optional: true,
-      nullable: true
-    },
-    {
-      name: 'errorCallback',
-      type: validator_.Types.FUNCTION,
-      optional: true,
-      nullable: true
-    }
-  ]);
+    var args = validator_.validateArgs(arguments, [
+        {
+            name: 'successCallback',
+            type: validator_.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'errorCallback',
+            type: validator_.Types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
 
-  var callback = function(result) {
-    if (native_.isFailure(result)) {
-      native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
-    } else {
-      native_.callIfPossible(args.successCallback);
-    }
-  };
+    var callback = function(result) {
+        if (native_.isFailure(result)) {
+            native_.callIfPossible(args.errorCallback, native_.getErrorObject(result));
+        } else {
+            native_.callIfPossible(args.successCallback);
+        }
+    };
 
-  native_.sendRuntimeAsyncMessage('tizen://deleteAllCookies', '', callback);
+    native_.sendRuntimeAsyncMessage('tizen://deleteAllCookies', '', callback);
 };
index 0ec0275d509bc0c74b221950bad66c7c357fb727..74b1f82eff0c59b154d35ce8f0f4edcddedf6360 100644 (file)
@@ -21,467 +21,500 @@ var T = xwalk.utils.type;
 var native = new xwalk.utils.NativeManager(extension);
 
 var WidgetSizeType = {
-  S_1x1 : '1x1',
-  S_2x1 : '2x1',
-  S_2x2 : '2x2',
-  S_4x1 : '4x1',
-  S_4x2 : '4x2',
-  S_4x3 : '4x3',
-  S_4x4 : '4x4',
-  S_4x5 : '4x5',
-  S_4x6 : '4x6',
-  EASY_1x1 : 'EASY_1x1',
-  EASY_3x1 : 'EASY_3x1',
-  EASY_3x3 : 'EASY_3x3',
-  FULL : 'FULL',
+    S_1x1: '1x1',
+    S_2x1: '2x1',
+    S_2x2: '2x2',
+    S_4x1: '4x1',
+    S_4x2: '4x2',
+    S_4x3: '4x3',
+    S_4x4: '4x4',
+    S_4x5: '4x5',
+    S_4x6: '4x6',
+    EASY_1x1: 'EASY_1x1',
+    EASY_3x1: 'EASY_3x1',
+    EASY_3x3: 'EASY_3x3',
+    FULL: 'FULL'
 };
 
 function createObjects(data, func, widget) {
-  var array = [];
-  var objects = native.getResultObject(data);
+    var array = [];
+    var objects = native.getResultObject(data);
 
-  objects.forEach(function (d) {
-    array.push(new func(d, widget));
-  });
+    objects.forEach(function(d) {
+        array.push(new func(d, widget));
+    });
 
-  return array;
-};
+    return array;
+}
 
 function WidgetSize(data) {
-  Object.defineProperties(this, {
-    width: {
-      value: data.width,
-      writable: false,
-      enumerable: true
-    },
-    height: {
-      value: data.height,
-      writable: false,
-      enumerable: true
-    },
-  });
-};
+    Object.defineProperties(this, {
+        width: {
+            value: data.width,
+            writable: false,
+            enumerable: true
+        },
+        height: {
+            value: data.height,
+            writable: false,
+            enumerable: true
+        }
+    });
+}
 
 function WidgetVariant(data) {
-  Object.defineProperties(this, {
-    sizeType: {
-      value: data.sizeType,
-      writable: false,
-      enumerable: true
-    },
-    width: {
-      value: data.width,
-      writable: false,
-      enumerable: true
-    },
-    height: {
-      value: data.height,
-      writable: false,
-      enumerable: true
-    },
-    previewImagePath: {
-      value: data.previewImagePath,
-      writable: false,
-      enumerable: true
-    },
-    needsMouseEvents: {
-      value: data.needsMouseEvents,
-      writable: false,
-      enumerable: true
-    },
-    needsTouchEffect: {
-      value: data.needsTouchEffect,
-      writable: false,
-      enumerable: true
-    },
-    needsFrame: {
-      value: data.needsFrame,
-      writable: false,
-      enumerable: true
-    },
-  });
-};
+    Object.defineProperties(this, {
+        sizeType: {
+            value: data.sizeType,
+            writable: false,
+            enumerable: true
+        },
+        width: {
+            value: data.width,
+            writable: false,
+            enumerable: true
+        },
+        height: {
+            value: data.height,
+            writable: false,
+            enumerable: true
+        },
+        previewImagePath: {
+            value: data.previewImagePath,
+            writable: false,
+            enumerable: true
+        },
+        needsMouseEvents: {
+            value: data.needsMouseEvents,
+            writable: false,
+            enumerable: true
+        },
+        needsTouchEffect: {
+            value: data.needsTouchEffect,
+            writable: false,
+            enumerable: true
+        },
+        needsFrame: {
+            value: data.needsFrame,
+            writable: false,
+            enumerable: true
+        }
+    });
+}
 
 function WidgetInstance(data, widget) {
-  Object.defineProperties(this, {
-    widget: {
-      value: widget,
-      writable: false,
-      enumerable: true
-    },
-    id: {
-      value: data.id,
-      writable: false,
-      enumerable: true
-    },
-  });
-};
+    Object.defineProperties(this, {
+        widget: {
+            value: widget,
+            writable: false,
+            enumerable: true
+        },
+        id: {
+            value: data.id,
+            writable: false,
+            enumerable: true
+        }
+    });
+}
 
 WidgetInstance.prototype.changeUpdatePeriod = function() {
-  var args = validator.validateMethod(arguments, [{
-    name : 'seconds',
-    type : types.DOUBLE,
-  }]);
-
-  var callArgs = {};
-  callArgs.widgetId = this.widget.id;
-  callArgs.instanceId = this.id;
-  callArgs.seconds = args.seconds;
-
-  var ret = native.callSync('WidgetInstance_changeUpdatePeriod', callArgs);
-
-  if (native.isFailure(ret)) {
-    throw native.getErrorObject(ret);
-  }
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'seconds',
+            type: types.DOUBLE
+        }
+    ]);
+
+    var callArgs = {};
+    callArgs.widgetId = this.widget.id;
+    callArgs.instanceId = this.id;
+    callArgs.seconds = args.seconds;
+
+    var ret = native.callSync('WidgetInstance_changeUpdatePeriod', callArgs);
+
+    if (native.isFailure(ret)) {
+        throw native.getErrorObject(ret);
+    }
 };
 
 WidgetInstance.prototype.sendContent = function() {
-  var args = validator.validateMethod(arguments, [{
-    name : 'data',
-    type: types.DICTIONARY,
-  }, {
-    name : 'updateIfPaused',
-    type : types.BOOLEAN,
-  }]);
-
-  var callArgs = {};
-  callArgs.widgetId = this.widget.id;
-  callArgs.instanceId = this.id;
-  callArgs.data = args.data;
-  callArgs.updateIfPaused = args.updateIfPaused;
-
-  var ret = native.callSync('WidgetInstance_sendContent', callArgs);
-
-  if (native.isFailure(ret)) {
-    throw native.getErrorObject(ret);
-  }
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'data',
+            type: types.DICTIONARY
+        },
+        {
+            name: 'updateIfPaused',
+            type: types.BOOLEAN
+        }
+    ]);
+
+    var callArgs = {};
+    callArgs.widgetId = this.widget.id;
+    callArgs.instanceId = this.id;
+    callArgs.data = args.data;
+    callArgs.updateIfPaused = args.updateIfPaused;
+
+    var ret = native.callSync('WidgetInstance_sendContent', callArgs);
+
+    if (native.isFailure(ret)) {
+        throw native.getErrorObject(ret);
+    }
 };
 
 WidgetInstance.prototype.getContent = function() {
-  var args = validator.validateMethod(arguments, [{
-    name : 'successCallback',
-    type : types.FUNCTION,
-  }, {
-    name : 'errorCallback',
-    type : types.FUNCTION,
-  }]);
-
-  var callArgs = {};
-  callArgs.widgetId = this.widget.id;
-  callArgs.instanceId = this.id;
-
-  var callback = function(result) {
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'successCallback',
+            type: types.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: types.FUNCTION
+        }
+    ]);
+
+    var callArgs = {};
+    callArgs.widgetId = this.widget.id;
+    callArgs.instanceId = this.id;
+
+    var callback = function(result) {
+        if (native.isFailure(result)) {
+            args.errorCallback(native.getErrorObject(result));
+        } else {
+            args.successCallback(native.getResultObject(result));
+        }
+    };
+
+    var result = native.call('WidgetInstance_getContent', callArgs, callback);
     if (native.isFailure(result)) {
-      args.errorCallback(native.getErrorObject(result));
-    } else {
-      args.successCallback(native.getResultObject(result));
+        throw native.getErrorObject(result);
     }
-  };
-
-  var result = native.call('WidgetInstance_getContent', callArgs, callback);
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
 };
 
 function Widget(data) {
-  Object.defineProperties(this, {
-    id: {
-      value: data.id,
-      writable: false,
-      enumerable: true
-    },
-    applicationId: {
-      value: data.applicationId,
-      writable: false,
-      enumerable: true
-    },
-    setupApplicationId: {
-      value: data.setupApplicationId ? data.setupApplicationId : null,
-      writable: false,
-      enumerable: true
-    },
-    packageId: {
-      value: data.packageId,
-      writable: false,
-      enumerable: true
-    },
-    noDisplay: {
-      value: data.noDisplay,
-      writable: false,
-      enumerable: true
-    },
-  });
-};
+    Object.defineProperties(this, {
+        id: {
+            value: data.id,
+            writable: false,
+            enumerable: true
+        },
+        applicationId: {
+            value: data.applicationId,
+            writable: false,
+            enumerable: true
+        },
+        setupApplicationId: {
+            value: data.setupApplicationId ? data.setupApplicationId : null,
+            writable: false,
+            enumerable: true
+        },
+        packageId: {
+            value: data.packageId,
+            writable: false,
+            enumerable: true
+        },
+        noDisplay: {
+            value: data.noDisplay,
+            writable: false,
+            enumerable: true
+        }
+    });
+}
 
 Widget.prototype.getName = function() {
-  var args = validator.validateMethod(arguments, [{
-    name : 'locale',
-    type : types.STRING,
-    optional : true,
-    nullable : true
-  }]);
-
-  var callArgs = {};
-  callArgs.widgetId = this.id;
-
-  if (args.locale) {
-    callArgs.locale = args.locale;
-  }
-
-  var ret = native.callSync('Widget_getName', callArgs);
-
-  if (native.isFailure(ret)) {
-    throw native.getErrorObject(ret);
-  } else {
-    return native.getResultObject(ret);
-  }
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'locale',
+            type: types.STRING,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var callArgs = {};
+    callArgs.widgetId = this.id;
+
+    if (args.locale) {
+        callArgs.locale = args.locale;
+    }
+
+    var ret = native.callSync('Widget_getName', callArgs);
+
+    if (native.isFailure(ret)) {
+        throw native.getErrorObject(ret);
+    } else {
+        return native.getResultObject(ret);
+    }
 };
 
 Widget.prototype.getInstances = function() {
-  var args = validator.validateMethod(arguments, [{
-    name : 'successCallback',
-    type : types.FUNCTION,
-  }, {
-    name : 'errorCallback',
-    type : types.FUNCTION,
-    optional : true,
-    nullable : true
-  }]);
-
-  var callback = function(result) {
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'successCallback',
+            type: types.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var callback = function(result) {
+        if (native.isFailure(result)) {
+            native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        } else {
+            var instances = createObjects(result, WidgetInstance, this);
+            args.successCallback(instances);
+        }
+    }.bind(this);
+
+    var callArgs = {};
+    callArgs.widgetId = this.id;
+
+    var result = native.call('Widget_getInstances', callArgs, callback);
     if (native.isFailure(result)) {
-      native.callIfPossible(args.errorCallback, native.getErrorObject(result));
-    } else {
-      var instances = createObjects(result, WidgetInstance, this);
-      args.successCallback(instances);
+        throw native.getErrorObject(result);
     }
-  }.bind(this);
-
-  var callArgs = {};
-  callArgs.widgetId = this.id;
-
-  var result = native.call('Widget_getInstances', callArgs, callback);
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
 };
 
 Widget.prototype.getVariant = function() {
-  var args = validator.validateMethod(arguments, [{
-    name : 'sizeType',
-    type: types.ENUM,
-    values: T.getValues(WidgetSizeType)
-  }]);
-
-  var callArgs = {};
-  callArgs.widgetId = this.id;
-  callArgs.sizeType = args.sizeType;
-
-  var ret = native.callSync('Widget_getVariant', callArgs);
-
-  if (native.isFailure(ret)) {
-    throw native.getErrorObject(ret);
-  } else {
-    return new WidgetVariant(native.getResultObject(ret));
-  }
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'sizeType',
+            type: types.ENUM,
+            values: T.getValues(WidgetSizeType)
+        }
+    ]);
+
+    var callArgs = {};
+    callArgs.widgetId = this.id;
+    callArgs.sizeType = args.sizeType;
+
+    var ret = native.callSync('Widget_getVariant', callArgs);
+
+    if (native.isFailure(ret)) {
+        throw native.getErrorObject(ret);
+    } else {
+        return new WidgetVariant(native.getResultObject(ret));
+    }
 };
 
 Widget.prototype.getVariants = function() {
-  var args = validator.validateMethod(arguments, [{
-    name : 'successCallback',
-    type : types.FUNCTION,
-  }, {
-    name : 'errorCallback',
-    type : types.FUNCTION,
-    optional : true,
-    nullable : true
-  }]);
-
-  var callback = function(result) {
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'successCallback',
+            type: types.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: types.FUNCTION,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var callback = function(result) {
+        if (native.isFailure(result)) {
+            native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        } else {
+            var variants = createObjects(result, WidgetVariant);
+            args.successCallback(variants);
+        }
+    };
+
+    var callArgs = {};
+    callArgs.widgetId = this.id;
+
+    var result = native.call('Widget_getVariants', callArgs, callback);
     if (native.isFailure(result)) {
-      native.callIfPossible(args.errorCallback, native.getErrorObject(result));
-    } else {
-      var variants = createObjects(result, WidgetVariant);
-      args.successCallback(variants);
+        throw native.getErrorObject(result);
     }
-  };
-
-  var callArgs = {};
-  callArgs.widgetId = this.id;
-
-  var result = native.call('Widget_getVariants', callArgs, callback);
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
 };
 
 function ListenerManager(native, listenerName) {
-  this.listeners = {};
-  this.nextId = 1;
-  this.nativeSet = false;
-  this.native = native;
-  this.listenerName = listenerName;
-};
+    this.listeners = {};
+    this.nextId = 1;
+    this.nativeSet = false;
+    this.native = native;
+    this.listenerName = listenerName;
+}
 
 ListenerManager.prototype.onListenerCalled = function(msg) {
-  for (var watchId in this.listeners) {
-    if (this.listeners.hasOwnProperty(watchId) ) {
-      this.listeners[watchId](this.native.getResultObject(msg));
+    for (var watchId in this.listeners) {
+        if (this.listeners.hasOwnProperty(watchId)) {
+            this.listeners[watchId](this.native.getResultObject(msg));
+        }
     }
-  }
 };
 
 ListenerManager.prototype.addListener = function(callback) {
-  var id = this.nextId;
-  if (!this.nativeSet) {
-    this.native.addListener(this.listenerName, this.onListenerCalled.bind(this));
-    this.nativeSet = true;
-  }
-  this.listeners[id] = callback;
-  ++this.nextId;
-  return id;
+    var id = this.nextId;
+    if (!this.nativeSet) {
+        this.native.addListener(this.listenerName, this.onListenerCalled.bind(this));
+        this.nativeSet = true;
+    }
+    this.listeners[id] = callback;
+    ++this.nextId;
+    return id;
 };
 
 ListenerManager.prototype.removeListener = function(watchId) {
-  if (this.listeners[watchId] === null || this.listeners[watchId] === undefined) {
-    throw new WebAPIException(0, 'Watch id not found.', 'NotFoundError');
-  }
+    if (this.listeners[watchId] === null || this.listeners[watchId] === undefined) {
+        throw new WebAPIException(0, 'Watch id not found.', 'NotFoundError');
+    }
 
-  if (this.listeners.hasOwnProperty(watchId)) {
-    delete this.listeners[watchId];
-  }
+    if (this.listeners.hasOwnProperty(watchId)) {
+        delete this.listeners[watchId];
+    }
 };
 
 var WIDGET_STATE_CHANGE_LISTENER = 'WidgetStateChangeCallback';
 var widgetStateChangeListener = new ListenerManager(native, WIDGET_STATE_CHANGE_LISTENER);
 
 Widget.prototype.addStateChangeListener = function() {
-  var args = validator.validateMethod(arguments, [{
-    name : 'eventCallback',
-    type : types.FUNCTION,
-  }]);
-
-  var result = native.callSync('Widget_addStateChangeListener', {widgetId : this.id});
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
-
-  var func = function(msg) {
-    if (msg.widgetId === this.id) {
-      args.eventCallback(new WidgetInstance(msg, this), msg.event);
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'eventCallback',
+            type: types.FUNCTION
+        }
+    ]);
+
+    var result = native.callSync('Widget_addStateChangeListener', { widgetId: this.id });
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
     }
-  }.bind(this);
 
-  return widgetStateChangeListener.addListener(func);
+    var func = function(msg) {
+        if (msg.widgetId === this.id) {
+            args.eventCallback(new WidgetInstance(msg, this), msg.event);
+        }
+    }.bind(this);
+
+    return widgetStateChangeListener.addListener(func);
 };
 
 Widget.prototype.removeStateChangeListener = function() {
-  var args = validator.validateMethod(arguments, [{
-    name : 'watchId',
-    type : types.LONG,
-  }]);
-
-  widgetStateChangeListener.removeListener(args.watchId);
-
-  var result = native.callSync('Widget_removeStateChangeListener', {widgetId : this.id});
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'watchId',
+            type: types.LONG
+        }
+    ]);
+
+    widgetStateChangeListener.removeListener(args.watchId);
+
+    var result = native.callSync('Widget_removeStateChangeListener', {
+        widgetId: this.id
+    });
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    }
 };
 
-function WidgetServiceManager() {
-};
+function WidgetServiceManager() {}
 
 WidgetServiceManager.prototype.getWidget = function() {
-  var args = validator.validateMethod(arguments, [{
-    name : 'widgetId',
-    type : types.STRING,
-  }]);
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'widgetId',
+            type: types.STRING
+        }
+    ]);
 
-  var callArgs = {};
-  callArgs.widgetId = args.widgetId;
+    var callArgs = {};
+    callArgs.widgetId = args.widgetId;
 
-  var ret = native.callSync('WidgetServiceManager_getWidget', callArgs);
+    var ret = native.callSync('WidgetServiceManager_getWidget', callArgs);
 
-  if (native.isFailure(ret)) {
-    throw native.getErrorObject(ret);
-  } else {
-    return new Widget(native.getResultObject(ret));
-  }
+    if (native.isFailure(ret)) {
+        throw native.getErrorObject(ret);
+    } else {
+        return new Widget(native.getResultObject(ret));
+    }
 };
 
 WidgetServiceManager.prototype.getWidgets = function() {
-  var args = validator.validateMethod(arguments, [{
-    name : 'successCallback',
-    type : types.FUNCTION,
-  }, {
-    name : 'errorCallback',
-    type : types.FUNCTION,
-    optional : true,
-    nullable : true
-  }, {
-    name : 'packageId',
-    type : types.STRING,
-    optional : true,
-    nullable : true
-  }]);
-
-  var callback = function(result) {
-    if (native.isFailure(result)) {
-      native.callIfPossible(args.errorCallback, native.getErrorObject(result));
-    } else {
-      var widgets = createObjects(result, Widget);
-      args.successCallback(widgets);
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'successCallback',
+            type: types.FUNCTION
+        },
+        {
+            name: 'errorCallback',
+            type: types.FUNCTION,
+            optional: true,
+            nullable: true
+        },
+        {
+            name: 'packageId',
+            type: types.STRING,
+            optional: true,
+            nullable: true
+        }
+    ]);
+
+    var callback = function(result) {
+        if (native.isFailure(result)) {
+            native.callIfPossible(args.errorCallback, native.getErrorObject(result));
+        } else {
+            var widgets = createObjects(result, Widget);
+            args.successCallback(widgets);
+        }
+    };
+
+    var callArgs = {};
+    if (args.packageId) {
+        callArgs.packageId = args.packageId;
     }
-  };
-
-  var callArgs = {};
-  if (args.packageId) {
-    callArgs.packageId = args.packageId;
-  }
 
-  var result = native.call('WidgetServiceManager_getWidgets', callArgs, callback);
-  if (native.isFailure(result)) {
-    throw native.getErrorObject(result);
-  }
+    var result = native.call('WidgetServiceManager_getWidgets', callArgs, callback);
+    if (native.isFailure(result)) {
+        throw native.getErrorObject(result);
+    }
 };
 
 WidgetServiceManager.prototype.getPrimaryWidgetId = function() {
-  var args = validator.validateMethod(arguments, [{
-    name : 'id',
-    type : types.STRING,
-  }]);
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'id',
+            type: types.STRING
+        }
+    ]);
 
-  var callArgs = {};
-  callArgs.id = args.id;
+    var callArgs = {};
+    callArgs.id = args.id;
 
-  var ret = native.callSync('WidgetServiceManager_getPrimaryWidgetId', callArgs);
+    var ret = native.callSync('WidgetServiceManager_getPrimaryWidgetId', callArgs);
 
-  if (native.isFailure(ret)) {
-    throw native.getErrorObject(ret);
-  } else {
-    return native.getResultObject(ret);
-  }
+    if (native.isFailure(ret)) {
+        throw native.getErrorObject(ret);
+    } else {
+        return native.getResultObject(ret);
+    }
 };
 
 WidgetServiceManager.prototype.getSize = function() {
-  var args = validator.validateMethod(arguments, [{
-    name : 'sizeType',
-    type: types.ENUM,
-    values: T.getValues(WidgetSizeType)
-  }]);
-
-  var callArgs = {};
-  callArgs.sizeType = args.sizeType;
-
-  var ret = native.callSync('WidgetServiceManager_getSize', callArgs);
-
-  if (native.isFailure(ret)) {
-    throw native.getErrorObject(ret);
-  } else {
-    return new WidgetSize(native.getResultObject(ret));
-  }
+    var args = validator.validateMethod(arguments, [
+        {
+            name: 'sizeType',
+            type: types.ENUM,
+            values: T.getValues(WidgetSizeType)
+        }
+    ]);
+
+    var callArgs = {};
+    callArgs.sizeType = args.sizeType;
+
+    var ret = native.callSync('WidgetServiceManager_getSize', callArgs);
+
+    if (native.isFailure(ret)) {
+        throw native.getErrorObject(ret);
+    } else {
+        return new WidgetSize(native.getResultObject(ret));
+    }
 };
 
 //Exports