[NFC] Fixed constuctor calls and undefined symbol
authorPiotr Kosko <p.kosko@samsung.com>
Mon, 2 Feb 2015 13:22:31 +0000 (14:22 +0100)
committerPawel Andruszkiewicz <p.andruszkie@samsung.com>
Mon, 2 Feb 2015 17:24:08 +0000 (02:24 +0900)
Change-Id: I8cb9be150968acbb742f5d8bceee92c745efbe4c
Signed-off-by: Piotr Kosko <p.kosko@samsung.com>
src/nfc/nfc_api.js
src/nfc/nfc_message_utils.cc

index 7503d5f..712aea9 100644 (file)
@@ -879,15 +879,14 @@ var isArrayOfType = function(array, type) {
 //};
 
 tizen.NDEFMessage = function(data) {
+    validator_.isConstructorCall(this, tizen.NDEFMessage);
     var records_ = [];
-    var recordCount_ = 0;
 
     try {
         if (arguments.length >= 1) {
             if (T_.isArray(data)) {
                 if ( isArrayOfType(data, tizen.NDEFRecord) ) {
                     records_ = data;
-                    recordCount_ = data.length;
                 } else {
                     var raw_data_ = toByteArray(data);
                     var result = native_.callSync(
@@ -910,13 +909,11 @@ tizen.NDEFMessage = function(data) {
     } catch (e) {
         //constructor call failed - empty object should be created
         records_ = undefined;
-        recordCount_ = undefined;
     }
 
     var recordsSetter = function(data){
         if (T_.isArray(data)) {
             if ( isArrayOfType(data, tizen.NDEFRecord) ) {
-                recordCount_ = data.length;
                 records_ = data;
             }
         }
@@ -925,7 +922,7 @@ tizen.NDEFMessage = function(data) {
     Object.defineProperties(this, {
         recordCount:   { enumerable: true,
             set : function(){},
-            get : function(){return recordCount_;}},
+            get : function(){ return records_ ? records_.length : undefined}},
         records:   { enumerable: true,
             set : recordsSetter,
             get : function(){return records_;}}
@@ -959,6 +956,7 @@ tizen.NDEFRecord = function(first, type, payload, id) {
     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 (T_.isArray(first)) {
index 4347de1..4f9b539 100644 (file)
@@ -40,7 +40,7 @@ namespace {
 }
 
 /* -------------------------------COMMON FUNCTIONS------------------------------------ */
-void RemoveMessageHandle(nfc_ndef_message_h message_handle)
+void NFCMessageUtils::RemoveMessageHandle(nfc_ndef_message_h message_handle)
 {
     if (message_handle) {
         int result = nfc_ndef_message_destroy(message_handle);
@@ -78,7 +78,7 @@ static short getTnfFromHandle(nfc_ndef_record_h handle,
             removeRecordHandle(handle);
         }
         else {
-            RemoveMessageHandle(message_handle);
+            NFCMessageUtils::RemoveMessageHandle(message_handle);
         }
         NFCUtil::throwNFCException(result, "Can't get record's tnf");
     }
@@ -102,7 +102,7 @@ static UCharVector getTypeNameFromHandle(nfc_ndef_record_h handle,
             removeRecordHandle(handle);
         }
         else {
-            RemoveMessageHandle(message_handle);
+            NFCMessageUtils::RemoveMessageHandle(message_handle);
         }
         NFCUtil::throwNFCException(result, "Can't get record's type");
     }
@@ -125,7 +125,7 @@ static UCharVector getIdFromHandle(nfc_ndef_record_h handle,
             removeRecordHandle(handle);
         }
         else {
-            RemoveMessageHandle(message_handle);
+            NFCMessageUtils::RemoveMessageHandle(message_handle);
         }
         NFCUtil::throwNFCException(result, "Can't get record's id");
     }
@@ -150,7 +150,7 @@ static UCharVector getPayloadFromHandle(nfc_ndef_record_h handle,
             removeRecordHandle(handle);
         }
         else {
-            RemoveMessageHandle(message_handle);
+            NFCMessageUtils::RemoveMessageHandle(message_handle);
         }
         NFCUtil::throwNFCException(result, "Can't get record's payload");
     }
@@ -488,7 +488,7 @@ static std::string getTextFromHandle(nfc_ndef_record_h handle,
     if (NFC_ERROR_NONE != result) {
         LoggerE("Can't get record's text: %d, %s", result,
             NFCUtil::getNFCErrorMessage(result).c_str());
-        RemoveMessageHandle(message_handle);
+        NFCMessageUtils::RemoveMessageHandle(message_handle);
         NFCUtil::throwNFCException(result, "Can't get record's text");
     }
 
@@ -506,7 +506,7 @@ static std::string getLanguageCodeFromHandle(nfc_ndef_record_h handle,
     if (NFC_ERROR_NONE != result) {
         LoggerE("Can't get record's languageCode: %d, %s", result,
             NFCUtil::getNFCErrorMessage(result).c_str());
-        RemoveMessageHandle(message_handle);
+        NFCMessageUtils::RemoveMessageHandle(message_handle);
         NFCUtil::throwNFCException(result, "Can't get record's languageCode");
     }
 
@@ -524,7 +524,7 @@ static nfc_encode_type_e getEncodingFromHandle(nfc_ndef_record_h handle,
     if (NFC_ERROR_NONE != result) {
         LoggerE("Can't get record's encoding: %d, %s", result,
             NFCUtil::getNFCErrorMessage(result).c_str());
-        RemoveMessageHandle(message_handle);
+        NFCMessageUtils::RemoveMessageHandle(message_handle);
         NFCUtil::throwNFCException(result, "Can't get record's encoding");
     }
 
@@ -598,7 +598,7 @@ static std::string getURIFromHandle(nfc_ndef_record_h handle,
     if (NFC_ERROR_NONE != result) {
         LoggerE("Can't get record's uri: %d, %s", result,
             NFCUtil::getNFCErrorMessage(result).c_str());
-        RemoveMessageHandle(message_handle);
+        NFCMessageUtils::RemoveMessageHandle(message_handle);
         NFCUtil::throwNFCException(result, "Can't get record's uri");
     }
 
@@ -664,7 +664,7 @@ static std::string getMimeTypeFromHandle(nfc_ndef_record_h handle,
     if (NFC_ERROR_NONE != result) {
         LoggerE("Can't get record's mime_type: %d, %s", result,
             NFCUtil::getNFCErrorMessage(result).c_str());
-        RemoveMessageHandle(message_handle);
+        NFCMessageUtils::RemoveMessageHandle(message_handle);
         NFCUtil::throwNFCException(result, "Can't get record's mime_type");
     }