Update change log and spec for wrt-plugins-tizen_0.2.71
authorKisub Song <kisubs.song@samsung.com>
Fri, 24 Aug 2012 14:42:43 +0000 (23:42 +0900)
committerKisub Song <kisubs.song@samsung.com>
Fri, 24 Aug 2012 14:43:18 +0000 (23:43 +0900)
Changed Modules : Messaging, Calendar, Notification, Download,
                  Contact, Filesystem and Application

[Version] 0.2.71
[Project] GT-I8800, Public
[Title] SEL Verification
[Team] WebAPI
[BinType] PDA
[Customer] Open

[Issue#] N/A
[Problem] Messaging - Crash on sending sms
[Cause] check exception on sending sms
[Solution] check exception on sending sms

[Issue#] N/A
[Problem] Systeminfo - SLP Flaw logger issues
[Cause] this code causes SLP Flaw Logger issue
[Solution] remove code

[Issue#] TC fail due to platform bug.
[Problem] TC fail due to platform bug.
[Cause] platform returns abnormal pointer address to web api.
[Solution] test file addition to prevent tc fail.

[Issue#] N/A
[Problem] N/A
[Cause] Callback timing issue between pause and resume.
[Solution] Use aysnc callback handler in TC.

[Issue#] WEB-1652 WEB-1653
[Problem] Contact - TC failed and new contact could not been saved
[Cause] new contacts-service API has not been applied totally.
[Solution] Applied new contacts-service API and DB schema

[Issue#] WEB-1701
[Problem] Application TC Failed
[Cause] App ID policy has been changed
[Solution] Applied it to TC

[SCMRequest] N/A

31 files changed:
debian/changelog
packaging/wrt-plugins-tizen.spec
src/platform/API/Calendar/IEventGetCalendar.h
src/platform/API/Calendar/IEventGetCalendars.h
src/platform/API/Calendar/IEventGetDefaultCalendar.h
src/platform/API/Mediacontent/IEventBrowseFolder.h
src/platform/API/Mediacontent/MediacontentImage.cpp
src/platform/Tizen/Application/Application.cpp
src/platform/Tizen/Application/config.cmake
src/platform/Tizen/Application/wgt-crypto-private.h [deleted file]
src/platform/Tizen/Application/wgt-crypto.cpp [deleted file]
src/platform/Tizen/Application/wgt-crypto.h [deleted file]
src/platform/Tizen/Calendar/CalendarManager.cpp
src/platform/Tizen/Contact/ContactObjectA2PConverter.cpp
src/platform/Tizen/Contact/ContactObjectA2PConverter.h
src/platform/Tizen/Contact/ContactObjectP2AConverter.cpp
src/platform/Tizen/Contact/ContactObjectP2AConverter.h
src/platform/Tizen/Contact/query-svc/query-service.h
src/platform/Tizen/Contact/query-svc/query-svc.c
src/platform/Tizen/Contact/query-svc/query-type.h
src/platform/Tizen/Contact/query-svc/query-utility.c
src/platform/Tizen/Contact/query-svc/query-utility.h
src/platform/Tizen/Mediacontent/MediaSearchVisitor.cpp
src/platform/Tizen/Mediacontent/Mediacontent.cpp
src/platform/Tizen/Messaging/Sms.cpp
src/platform/Tizen/Systeminfo/Systeminfo.cpp
src/standards/Tizen/Calendar/CalendarResponseDispatcher.cpp
src/standards/Tizen/Calendar/JSCalendarManager.cpp
src/standards/Tizen/Filesystem/FilesystemUtils.cpp
src/standards/Tizen/Mediacontent/JSMedia.cpp
src/standards/Tizen/Mediacontent/JSMediacontent.cpp

index f904e23..b7b0447 100644 (file)
@@ -1,3 +1,11 @@
+wrt-plugins-tizen (0.2.71) unstable; urgency=low
+
+  * Bug fix on Messaging, Calendar, Notification, Download, Contact, Filesystem and Application
+  * Git : slp/pkgs/w/wrt-plugins-tizen
+  * Tag : wrt-plugins-tizen_0.2.71
+
+ -- Kisub Song <kisubs.song@samsung.com>  Fri, 24 Aug 2012 23:17:34 +0900
+
 wrt-plugins-tizen (0.2.70) unstable; urgency=low
 
   * Bug fix on MediaContent, Application, Device and SystemInfo
index a814cd7..a1ec4ae 100755 (executable)
@@ -1,6 +1,6 @@
 Name:       wrt-plugins-tizen
 Summary:    JavaScript plugins for WebRuntime
-Version:    0.2.70
+Version:    0.2.71
 Release:    0
 Group:      TO_BE_FILLED
 License:    TO_BE_FILLED
index b185f72..437104d 100755 (executable)
@@ -30,9 +30,9 @@ namespace Calendar {
 
 class IEventGetCalendar : public WrtDeviceApis::Commons::IEvent<IEventGetCalendar>
 {
-    ICalendarPtr     m_calendar; // output parameter
+    ICalendarPtr m_calendar;
     bool m_result;
-    std::string m_id; // input parameter
+    std::string m_id;
     CalendarEvent::CalendarType m_type;
 
   public:
@@ -72,7 +72,10 @@ class IEventGetCalendar : public WrtDeviceApis::Commons::IEvent<IEventGetCalenda
         return m_calendar;
     }
 
-    IEventGetCalendar() : m_result(false)
+    IEventGetCalendar() : m_calendar(NULL),
+        m_result(false),
+        m_id(""),
+        m_type(CalendarEvent::EVENT_TYPE)
     {
     }
     ~IEventGetCalendar()
index d1f2fe9..3c4ba21 100755 (executable)
@@ -27,49 +27,46 @@ namespace TizenApis {
 namespace Api {
 namespace Calendar {
 
-class IEventGetCalendars : public WrtDeviceApis::Commons::IEvent<
-        IEventGetCalendars>
+class IEventGetCalendars : public WrtDeviceApis::Commons::IEvent<IEventGetCalendars>
 {
-    std::vector<ICalendarPtr>     m_calendars;
+    std::vector<ICalendarPtr> m_calendars;
     bool m_result;
     CalendarEvent::CalendarType m_type;
 
   public:
-    void                        setResult(bool value)
+    void setResult(bool value)
     {
         m_result = value;
     }
-    bool                        getResult() const
+    bool getResult() const
     {
         return m_result;
     }
 
-    void                        setType(CalendarEvent::CalendarType value)
+    void setType(CalendarEvent::CalendarType value)
     {
         m_type = value;
     }
-    CalendarEvent::CalendarType     getType() const
+    CalendarEvent::CalendarType getType() const
     {
         return m_type;
     }
 
-    void                        addCalendar(ICalendarPtr value)
+    void addCalendar(ICalendarPtr value)
     {
         m_calendars.push_back(value);
     }
-    std::vector<ICalendarPtr>     getCalendars() const
+    std::vector<ICalendarPtr> getCalendars() const
     {
         return m_calendars;
     }
-    IEventGetCalendars() : m_result(false)
+    IEventGetCalendars() : m_result(false),
+        m_type(CalendarEvent::EVENT_TYPE)
     {
     }
     ~IEventGetCalendars()
     {
     }
-    virtual void clearOnCancel()
-    {
-    }
 };
 
 typedef DPL::SharedPtr<IEventGetCalendars> IEventGetCalendarsPtr;
@@ -77,4 +74,4 @@ typedef DPL::SharedPtr<IEventGetCalendars> IEventGetCalendarsPtr;
 }
 }
 }
-#endif /* _ABSTRACT_LAYER_IEVENT_UPDATE_EVENT_H_ */
+#endif /* _ABSTRACT_LAYER_IEVENT_GET_CALENDARS_H_ */
index 862e1ce..43ed17b 100755 (executable)
@@ -27,51 +27,48 @@ namespace TizenApis {
 namespace Api {
 namespace Calendar {
 
-class IEventGetDefaultCalendar : public WrtDeviceApis::Commons::IEvent<
-        IEventGetDefaultCalendar>
+class IEventGetDefaultCalendar : public WrtDeviceApis::Commons::IEvent<IEventGetDefaultCalendar>
 {
-    ICalendarPtr     m_calendar;
+    ICalendarPtr m_calendar;
     bool m_result;
     CalendarEvent::CalendarType m_type;
 
   public:
-    void                        setResult(bool value)
+    void setResult(bool value)
     {
         m_result = value;
     }
-    bool                        getResult() const
+    bool getResult() const
     {
         return m_result;
     }
 
-    void                        setType(CalendarEvent::CalendarType value)
+    void setType(CalendarEvent::CalendarType value)
     {
         m_type = value;
     }
-    CalendarEvent::CalendarType     getType() const
+    CalendarEvent::CalendarType getType() const
     {
         return m_type;
     }
 
-    void                        setCalendar(ICalendarPtr value)
+    void setCalendar(ICalendarPtr value)
     {
         m_calendar = value;
     }
-    ICalendarPtr     getCalendar() const
+    ICalendarPtr getCalendar() const
     {
         return m_calendar;
     }
 
-    IEventGetDefaultCalendar() : m_result(false)
+    IEventGetDefaultCalendar() : m_calendar(NULL),
+        m_result(false),
+        m_type(CalendarEvent::EVENT_TYPE)
     {
     }
     ~IEventGetDefaultCalendar()
     {
     }
-
-    virtual void clearOnCancel()
-    {
-    }
 };
 
 typedef DPL::SharedPtr<IEventGetDefaultCalendar> IEventGetDefaultCalendarPtr;
index 9f26484..4f8c8aa 100755 (executable)
@@ -63,12 +63,12 @@ class IEventBrowseFolder : public WrtDeviceApis::Commons::IEvent<IEventBrowseFol
        }
        
 
-       void setLimit(const long value)
+       void setLimit(const unsigned long value)
        {
                m_limitIsSet = true;
                m_limit = value;
        }
-       void setOffset(const long value)
+       void setOffset(const unsigned long value)
        {
                m_offsetIsSet = true;
                m_offset = value;
@@ -139,12 +139,12 @@ class IEventBrowseFolder : public WrtDeviceApis::Commons::IEvent<IEventBrowseFol
                return m_sortModesIsSet; 
        }
 
-       long getLimit() const
+       unsigned long getLimit() const
        {
                return m_limit;
        }
        
-       long getOffset() const
+       unsigned long getOffset() const
        {
                return m_offset;
        }       
@@ -173,8 +173,8 @@ class IEventBrowseFolder : public WrtDeviceApis::Commons::IEvent<IEventBrowseFol
        bool m_offsetIsSet;
        bool m_folderIdIsSet;
 
-       long m_limit;
-       long m_offset;
+       unsigned long m_limit;
+       unsigned long m_offset;
        FilterPtr m_filter;
        SortModeArrayPtr m_sortModes;
        SortModePtr m_sortMode;
index 5c14a9c..da033cd 100755 (executable)
@@ -29,6 +29,8 @@ MediacontentImage::MediacontentImage()
        LogDebug("enter");
        m_editableAttrList.push_back("rating");
        m_editableAttrList.push_back("description");
+       m_editableAttrList.push_back("geolocation");
+       m_editableAttrList.push_back("orientation");
 }
 
 MediacontentImage::~MediacontentImage()
index 4354023..087a321 100755 (executable)
@@ -35,8 +35,6 @@
 
 #include <package-manager.h>
 
-//#include "wgt-crypto.h"
-
 namespace TizenApis {
 namespace Platform {
 namespace Application {
@@ -1160,13 +1158,6 @@ void Application::OnRequestReceived(const EventApplicationInstallPtr& event)
 
                                std::string decFilePath = filePath.substr(0,filePath.rfind(".wgt")) + "-dec.wgt";
                                LogDebug("App key: " << key << " algo: " << algo << " decpath: " <<decFilePath);
-                /*
-                               if (wgt_crypto_decrypt(filePath.c_str(),decFilePath.c_str(), key.c_str(), 7) != 0) {
-                                       LogError("[ERROR] Decryption of wgt file failed");
-                                       event->setExceptionCode(Commons::ExceptionCodes::PlatformException);
-                                       break;
-                               }
-                               */
                                filePath = decFilePath;
                        }
 
index 7184bb8..05a3c20 100755 (executable)
@@ -5,7 +5,6 @@ pkg_search_module(capi-appfw-application REQUIRED capi-appfw-application)
 pkg_search_module(wrt-deviceapis-commons REQUIRED wrt-deviceapis-commons)
 pkg_search_module(wrt-deviceapis-commons-javascript REQUIRED wrt-deviceapis-commons-javascript)
 pkg_search_module(pkgmgr REQUIRED pkgmgr)
-#pkg_search_module(botan REQUIRED botan-1.10)
  
 set(INCLUDES_PLATFORM_IMPLEMENTATION_APPLICATION
   ${capi-appfw-app-manager_INCLUDE_DIRS}
@@ -13,7 +12,6 @@ set(INCLUDES_PLATFORM_IMPLEMENTATION_APPLICATION
   ${wrt-deviceapis-commons_INCLUDE_DIRS}
   ${wrt-deviceapis-commons-javascript_INCLUDE_DIRS}  
   ${pkgmgr_INCLUDE_DIRS}
-  #${botan_INCLUDE_DIRS}
   PARENT_SCOPE
 )
 
@@ -23,13 +21,11 @@ set(LIBS_PLATFORM_IMPLEMENTATION_APPLICATION
   ${wrt-deviceapis-commons_LIBRARIES}
   ${wrt-deviceapis-commons-javascript_LIBRARIES}  
   ${pkgmgr_LIBRARIES}
-  #${botan_LIBRARIES}
   PARENT_SCOPE
 )
 
 set(SRCS_PLATFORM_IMPLEMENTATION_APPLICATION
   ${CURRENT_PATH}/Application.cpp
   ${CURRENT_PATH}/AppManagerWrapper.cpp
-  #${CURRENT_PATH}/wgt-crypto.cpp
   PARENT_SCOPE
 )
diff --git a/src/platform/Tizen/Application/wgt-crypto-private.h b/src/platform/Tizen/Application/wgt-crypto-private.h
deleted file mode 100755 (executable)
index b63eaca..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Decrypt and re-encrypt WGT packages.
- *
- * Copyright (C) 2012 Intel Corporation. All rights reserved.
- *
- * Author: Jussi Laako <jussi.laako@linux.intel.com>
- */
-
-#ifndef WGT_CRYPTO_PRIVATE_H
-#define WGT_CRYPTO_PRIVATE_H
-
-#include <exception>
-#include <string>
-
-#include <botan/types.h>
-#include <botan/mode_pad.h>
-
-
-class wgtexcept
-{
-        std::string msg;
-
-    public:
-        wgtexcept (const char *emsg) throw () :
-            msg(emsg)
-            { }
-        virtual ~wgtexcept () throw ()
-            { }
-        virtual const char * what() const throw ()
-            { return msg.c_str(); }
-};
-
-
-namespace Botan
-{
-
-class Zero_Padding : public BlockCipherModePaddingMethod
-{
-    public:
-        void pad (byte block[], size_t size, size_t position) const
-            {
-                for (size_t j = 0; j != size; ++j)
-                    block[j] = 0x00;
-            }
-        size_t unpad (const byte block[], size_t size) const
-            {
-                while (size)
-                {
-                    if (block[size - 1] != 0x00)
-                        break;
-                    size--;
-                }
-                if (!size)
-                    throw Decoding_Error(name());
-                return (size - 1);
-            }
-        bool valid_blocksize (size_t size) const
-            { return (size > 0); }
-        std::string name () const
-            { return "Zeros"; }
-};
-
-}
-
-#endif  /* WGT_CRYPTO_PRIVATE_H */
-
diff --git a/src/platform/Tizen/Application/wgt-crypto.cpp b/src/platform/Tizen/Application/wgt-crypto.cpp
deleted file mode 100755 (executable)
index c9b768a..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Decrypt and re-encrypt WGT packages.
- *
- * Copyright (C) 2012 Intel Corporation. All rights reserved.
- *
- * Author: Jussi Laako <jussi.laako@linux.intel.com>
- */
-
-#include <cstdio>
-#include <fstream>
-#include <string>
-#include <exception>
-
-#include <botan/botan.h>
-#include <botan/aes.h>
-#include <botan/base64.h>
-#include <botan/cbc.h>
-
-#include <dpl/log/log.h>
-
-#include "wgt-crypto.h"
-#include "wgt-crypto-private.h"
-
-
-using namespace Botan;
-
-
-static LibraryInitializer *initializer = 0;
-
-
-static void wgt_crypto_init ()
-{
-    if (initializer)
-        return;
-
-    initializer = new LibraryInitializer;
-}
-
-
-int wgt_crypto_decrypt (const char *infile, const char *outfile,
-                        const char *key64, int padding)
-{
-    int res = -1;
-    size_t sizeRead;
-    unsigned char block[16];
-    unsigned char buf[4096];
-    FILE *fileIn = NULL;
-
-    try
-    {
-        wgt_crypto_init();
-
-        fileIn = fopen(infile, "rb");
-        if (fileIn == NULL) {
-               LogError("Error: Invalid file");
-            return -1;
-        }
-        if (fread(block, sizeof(block), 1, fileIn) < 1)
-            throw wgtexcept("fread()");
-
-        InitializationVector iv(block, sizeof(block));
-        SymmetricKey key(base64_decode(std::string(key64)));
-
-        BlockCipherModePaddingMethod *pad = (padding == 7) ?
-            static_cast<BlockCipherModePaddingMethod *> (new PKCS7_Padding) :
-            static_cast<BlockCipherModePaddingMethod *> (new Null_Padding);
-
-        std::ofstream streamOut(outfile, std::ios::binary);
-        Pipe pipeDec(
-            new CBC_Decryption(new AES_256, pad, key, iv),
-            new DataSink_Stream(streamOut));
-
-        pipeDec.start_msg();
-        while ((sizeRead = fread(buf, 1, sizeof(buf), fileIn)) > 0)
-            pipeDec.write(buf, sizeRead);
-        pipeDec.end_msg();
-        res = 0;
-    }
-    catch (std::exception &x)
-    {
-        LogError("Error: wgt_crypto_decrypt(): " << x.what());
-    }
-
-    if (fileIn)
-        fclose(fileIn);
-    return res;
-}
diff --git a/src/platform/Tizen/Application/wgt-crypto.h b/src/platform/Tizen/Application/wgt-crypto.h
deleted file mode 100755 (executable)
index 415add5..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Decrypt and re-encrypt WGT packages.
- *
- * Copyright (C) 2012 Intel Corporation. All rights reserved.
- *
- * Author: Jussi Laako <jussi.laako@linux.intel.com>
- */
-
-#ifndef WGT_CRYPTO_H
-#define WGT_CRYPTO_H
-
-/**
- * Decrypt WGT file with given base-64 encoded key.
- *
- * \param infile Input filename
- * \param outfile Output filename
- * \param key Base-64 encoded null-terminated key string
- * \param padding Type of padding, 0=zeros, 7=pkcs7
- * \return Returns 0 on success
- */
-int wgt_crypto_decrypt (const char *infile, const char *outfile,
-                        const char *key64, int padding);
-
-/**
- * Re-encrypt WGT file.
- *
- * \param infile Input filename
- * \param outfile Output filename
- * \param dekey Base-64 encoded null-terminated decryption key
- * \param rekey Binary re-encryption key
- * \param reksize Size of the re-encryption key
- * \return Returns 0 on success
- */
-int wgt_crypto_reencrypt (const char *infile, const char *outfile,
-                          const char *dekey64,
-                          const unsigned char *rekey, size_t reksize);
-
-#endif  /* WGT_CRYPTO_H */
-
index 98c7ac5..ccb19c6 100755 (executable)
@@ -69,28 +69,17 @@ void CalendarManager::OnRequestReceived(const IEventGetCalendarsPtr &event)
     Try
     {
         cal_iter *iter = NULL;
-        if (CAL_SUCCESS !=
-            calendar_svc_get_all(ALL_ACCOUNT_ID, ALL_CALENDAR_ID, CAL_STRUCT_CALENDAR,
-                                 &iter)) {
+        if (CAL_SUCCESS !=calendar_svc_get_all(ALL_ACCOUNT_ID, ALL_CALENDAR_ID, CAL_STRUCT_CALENDAR, &iter)) {
             event->setResult(false);
             return;
         }
         cal_struct *calendar = NULL;
         while (CAL_SUCCESS == calendar_svc_iter_next(iter)) {
-            if (CAL_SUCCESS ==
-                calendar_svc_iter_get_info(iter, &calendar)) {
-                const char* name = calendar_svc_struct_get_str(
-                        calendar,
-                        CAL_TABLE_TXT_NAME);
-                const int id = calendar_svc_struct_get_int(
-                        calendar,
-                        CAL_TABLE_INT_INDEX);
-                const int accountId = calendar_svc_struct_get_int(
-                        calendar,
-                        CAL_TABLE_INT_ACCOUNT_ID);
-                const int storeType = calendar_svc_struct_get_int(
-                    calendar,
-                    CAL_TABLE_INT_STORE_TYPE);
+            if (CAL_SUCCESS == calendar_svc_iter_get_info(iter, &calendar)) {
+                const char* name = calendar_svc_struct_get_str(calendar, CAL_TABLE_TXT_NAME);
+                const int id = calendar_svc_struct_get_int(calendar, CAL_TABLE_INT_INDEX);
+                const int accountId = calendar_svc_struct_get_int(calendar, CAL_TABLE_INT_ACCOUNT_ID);
+                const int storeType = calendar_svc_struct_get_int(calendar, CAL_TABLE_INT_STORE_TYPE);
 
                 if (name != NULL) {
                     LogDebug("Got calendar, id: "<<id<<", name: "<<name<<", account id: "<<accountId<<", storeType: "<<storeType);
@@ -139,29 +128,18 @@ void CalendarManager::OnRequestReceived(const IEventGetDefaultCalendarPtr &event
     Try
     {
         cal_iter *iter = NULL;
-        // Default calendar means the first of local calendars.
-        if (CAL_SUCCESS !=
-            calendar_svc_get_all(LOCAL_ACCOUNT_ID, DEFAULT_CALENDAR_ID, CAL_STRUCT_CALENDAR,
-                                 &iter)) {
+
+        if (CAL_SUCCESS != calendar_svc_get_all(LOCAL_ACCOUNT_ID, DEFAULT_CALENDAR_ID, CAL_STRUCT_CALENDAR, &iter)) {
             event->setResult(false);
             return;
         }
         cal_struct *calendar = NULL;
         while (CAL_SUCCESS == calendar_svc_iter_next(iter)) {
-            if (CAL_SUCCESS ==
-                calendar_svc_iter_get_info(iter, &calendar)) {
-                const char* name = calendar_svc_struct_get_str(
-                        calendar,
-                        CAL_TABLE_TXT_NAME);
-                const int id = calendar_svc_struct_get_int(
-                        calendar,
-                        CAL_TABLE_INT_INDEX);
-                const int accountId = calendar_svc_struct_get_int(
-                        calendar,
-                        CAL_TABLE_INT_ACCOUNT_ID);
-                const int storeType = calendar_svc_struct_get_int(
-                    calendar,
-                    CAL_TABLE_INT_STORE_TYPE);
+            if (CAL_SUCCESS == calendar_svc_iter_get_info(iter, &calendar)) {
+                const char* name = calendar_svc_struct_get_str(calendar, CAL_TABLE_TXT_NAME);
+                const int id = calendar_svc_struct_get_int(calendar, CAL_TABLE_INT_INDEX);
+                const int accountId = calendar_svc_struct_get_int(calendar, CAL_TABLE_INT_ACCOUNT_ID);
+                const int storeType = calendar_svc_struct_get_int(calendar, CAL_TABLE_INT_STORE_TYPE);
 
                 if (name != NULL) {
                     LogDebug("Got default calendar, id: "<<id<<", name: "<<name<<", account id: "<<accountId<<", storeType: "<<storeType);
@@ -200,48 +178,43 @@ void CalendarManager::OnRequestReceived(const IEventGetDefaultCalendarPtr &event
 
 void CalendarManager::OnRequestReceived(const IEventGetCalendarPtr &event)
 {
-    LogDebug("entered");
     Try
     {
         std::stringstream ss(event->getId());
         int calendarId = -1;
         ss>>calendarId;
 
+        LogInfo("Given id: "<<event->getId()<<", converted id: "<<calendarId);
+
         ICalendarPtr newCalendar(new Calendar());
 
         cal_iter *iter = NULL;
-        if (CAL_SUCCESS !=
-            calendar_svc_get_all(ALL_ACCOUNT_ID, calendarId, CAL_STRUCT_CALENDAR, &iter)) {
+        if (CAL_SUCCESS != calendar_svc_get_all(ALL_ACCOUNT_ID, ALL_CALENDAR_ID, CAL_STRUCT_CALENDAR, &iter)) {
             event->setResult(false);
             return;
         }
+
         cal_struct *calendar = NULL;
         while (CAL_SUCCESS == calendar_svc_iter_next(iter)) {
             if (CAL_SUCCESS == calendar_svc_iter_get_info(iter, &calendar)) {
-                const char* name = calendar_svc_struct_get_str(
-                        calendar,
-                        CAL_TABLE_TXT_NAME);
-                const int id = calendar_svc_struct_get_int(
-                        calendar,
-                        CAL_TABLE_INT_INDEX);
-                const int accountId = calendar_svc_struct_get_int(
-                        calendar,
-                        CAL_TABLE_INT_ACCOUNT_ID);
-                const int storeType = calendar_svc_struct_get_int(
-                    calendar,
-                    CAL_TABLE_INT_STORE_TYPE);
+                const char* name = calendar_svc_struct_get_str(calendar, CAL_TABLE_TXT_NAME);
+                const int id = calendar_svc_struct_get_int(calendar, CAL_TABLE_INT_INDEX);
+                const int accountId = calendar_svc_struct_get_int(calendar, CAL_TABLE_INT_ACCOUNT_ID);
+                const int storeType = calendar_svc_struct_get_int(calendar, CAL_TABLE_INT_STORE_TYPE);
 
                 if (name != NULL) {
                     LogDebug("Got a calendar, id: "<<id<<", name: "<<name<<", account id: "<<accountId<<", storeType: "<<storeType);
 
                     if( (CALS_CALENDAR_TYPE_EVENT==storeType && CalendarEvent::EVENT_TYPE==event->getType()) ||
                         (CALS_CALENDAR_TYPE_TODO==storeType && CalendarEvent::TASK_TYPE==event->getType()) ) {
-                        newCalendar->setName(name);
-                        newCalendar->setId(id);
-                        newCalendar->setAccountId(accountId);
-                        newCalendar->setType(event->getType());
-                        event->setCalendar(newCalendar);
-                        break;
+                        if( id==calendarId) {
+                            newCalendar->setName(name);
+                            newCalendar->setId(id);
+                            newCalendar->setAccountId(accountId);
+                            newCalendar->setType(event->getType());
+                            event->setCalendar(newCalendar);
+                            break;
+                        }
                     } else {
                         LogDebug("Different calendar type.");
                     }
index b7b187a..2d0bf11 100644 (file)
@@ -115,7 +115,7 @@ void ContactObjectA2PConverter::convertToPlatformObject()
        importBaseInfoValue();
        importNameValue();
        importCompanyValue();
-//     importNoteValue();
+       importNoteValue();
        importNumberList();
        importEmailList();
        importGrouprelList();
@@ -159,7 +159,7 @@ void ContactObjectA2PConverter::importBaseInfoValueToExistingValue(CTSvalue *cts
        string abstractValueStr;
 
        // Contact.photoURI
-       oldValueStr = contacts_svc_value_get_str(ctsValue, CTS_BASE_VAL_IMG_PATH_STR);
+       oldValueStr = contacts_svc_value_get_str(ctsValue, CTS_BASE_VAL_IMAGE_PATH_STR);
        abstractValueStr = ContactUtility::convertUriToPath(m_abstractContact->getPhotoURI());
        if(oldValueStr != NULL &&
                        (!m_abstractContact->getPhotoURIIsSet() || m_abstractContact->getPhotoURI().empty()))
@@ -173,7 +173,7 @@ void ContactObjectA2PConverter::importBaseInfoValueToExistingValue(CTSvalue *cts
 
        if(newValueStr != NULL)
        {
-               errorCode = contacts_svc_value_set_str(ctsValue, CTS_BASE_VAL_IMG_PATH_STR, newValueStr);
+               errorCode = contacts_svc_value_set_str(ctsValue, CTS_BASE_VAL_IMAGE_PATH_STR, newValueStr);
                if(errorCode != CTS_SUCCESS)
                {
                        contacts_svc_value_free(ctsValue);
@@ -206,30 +206,6 @@ void ContactObjectA2PConverter::importBaseInfoValueToExistingValue(CTSvalue *cts
                                        errorCode << ", str:" << abstractValueStr << ")");
                }
        }
-
-       // Contact.note
-       newValueStr = NULL;
-       oldValueStr = contacts_svc_value_get_str(ctsValue, CTS_BASE_VAL_NOTE_STR);
-       abstractValueStr = m_abstractContact->getNote();
-       if(oldValueStr != NULL && (!m_abstractContact->getNoteIsSet() || abstractValueStr.empty()) )
-       {
-               newValueStr = EMPTY_STRING;
-       }
-       else if(oldValueStr == NULL || abstractValueStr != oldValueStr)
-       {
-               newValueStr = abstractValueStr.c_str();
-       }
-
-       if(newValueStr != NULL)
-       {
-               errorCode = contacts_svc_value_set_str(ctsValue, CTS_BASE_VAL_NOTE_STR, newValueStr);
-               if(errorCode != CTS_SUCCESS)
-               {
-                       contacts_svc_value_free(ctsValue);
-                       ThrowMsg(PlatformException, "importing note E (err:" <<
-                                       errorCode << ", str:" << newValueStr << ")");
-               }
-       }
 }
 
 void ContactObjectA2PConverter::importBaseInfoValueToNewValue(CTSvalue *ctsValue)
@@ -242,7 +218,7 @@ void ContactObjectA2PConverter::importBaseInfoValueToNewValue(CTSvalue *ctsValue
                string photoURI = ContactUtility::convertUriToPath(m_abstractContact->getPhotoURI());
                if(!photoURI.empty())
                {
-                       errorCode = contacts_svc_value_set_str(ctsValue, CTS_BASE_VAL_IMG_PATH_STR, photoURI.c_str());
+                       errorCode = contacts_svc_value_set_str(ctsValue, CTS_BASE_VAL_IMAGE_PATH_STR, photoURI.c_str());
                        if(errorCode != CTS_SUCCESS)
                        {
                                contacts_svc_value_free(ctsValue);
@@ -267,22 +243,6 @@ void ContactObjectA2PConverter::importBaseInfoValueToNewValue(CTSvalue *ctsValue
                        }
                }
        }
-
-       // Contact.note
-       if(m_abstractContact->getNoteIsSet())
-       {
-               string note = m_abstractContact->getNote();
-               if(note != EMPTY_STRING)
-               {
-                       errorCode = contacts_svc_value_set_str(ctsValue, CTS_BASE_VAL_NOTE_STR, note.c_str());
-                       if(errorCode != CTS_SUCCESS)
-                       {
-                               contacts_svc_value_free(ctsValue);
-                               ThrowMsg(PlatformException, "importing note N (err:" <<
-                                               errorCode << ", str:" << note << ")");
-                       }
-               }
-       }
 }
 
 void ContactObjectA2PConverter::importNameValue()
@@ -295,10 +255,9 @@ void ContactObjectA2PConverter::importNameValue()
                        (( !contactName->getFirstNameIsSet() || contactName->getFirstName().empty() )
                        && ( !contactName->getLastNameIsSet() || contactName->getLastName().empty() )
                        && ( !contactName->getMiddleNameIsSet() || contactName->getMiddleName().empty() )
-//                     && ( !contactName->getPhoneticFirstNameIsSet() || contactName->getPhoneticFirstName().empty() )
-//                     && ( !contactName->getPhoneticLastNameIsSet() || contactName->getPhoneticLastName().empty() )
-                       && ( !contactName->getPrefixIsSet() || contactName->getPrefix().empty() )
-                       && ( !contactName->getDisplayNameIsSet() || contactName->getDisplayName().empty() ) ) )
+                       && ( !contactName->getPhoneticFirstNameIsSet() || contactName->getPhoneticFirstName().empty() )
+                       && ( !contactName->getPhoneticLastNameIsSet() || contactName->getPhoneticLastName().empty() )
+                       && ( !contactName->getPrefixIsSet() || contactName->getPrefix().empty() ) ) )
        {
                ctsValue = contacts_svc_value_new(CTS_VALUE_NAME);
                if(ctsValue == NULL)
@@ -428,59 +387,35 @@ void ContactObjectA2PConverter::importNameValueToExistingValue(CTSvalue *ctsValu
                }
        }
 
-//     // ContactName.phoneticFirstName
-//     newValueStr = NULL;
-//     oldValueStr = contacts_svc_value_get_str(ctsValue, CTS_NAME_VAL_PHONETIC_FIRST_STR);
-//     abstractValueStr = contactName->getPhoneticFirstName();
-//     if(oldValueStr != NULL && (!contactName->getPhoneticFirstNameIsSet() || abstractValueStr.empty()) )
-//     {
-//             newValueStr = EMPTY_STRING;
-//     }
-//     else if(oldValueStr == NULL || abstractValueStr != oldValueStr)
-//     {
-//             newValueStr = abstractValueStr.c_str();
-//     }
-//
-//     if(newValueStr != NULL)
-//     {
-//             errorCode = contacts_svc_value_set_str(ctsValue, CTS_NAME_VAL_PHONETIC_FIRST_STR, newValueStr);
-//             if(errorCode != CTS_SUCCESS)
-//             {
-//                     contacts_svc_value_free(ctsValue);
-//                     ThrowMsg(PlatformException, "importing phoneticFirstName E (err:" <<
-//                                     errorCode << ", str:" << newValueStr << ")");
-//             }
-//     }
-//
-//     // ContactName.phoneticLastName
-//     newValueStr = NULL;
-//     oldValueStr = contacts_svc_value_get_str(ctsValue, CTS_NAME_VAL_PHONETIC_LAST_STR);
-//     abstractValueStr = contactName->getPhoneticLastName();
-//     if(oldValueStr != NULL && (!contactName->getPhoneticLastNameIsSet() || abstractValueStr.empty()) )
-//     {
-//             newValueStr = EMPTY_STRING;
-//     }
-//     else if(oldValueStr == NULL || abstractValueStr != oldValueStr)
-//     {
-//             newValueStr = abstractValueStr.c_str();
-//     }
-//
-//     if(newValueStr != NULL)
-//     {
-//             errorCode = contacts_svc_value_set_str(ctsValue, CTS_NAME_VAL_PHONETIC_LAST_STR, newValueStr);
-//             if(errorCode != CTS_SUCCESS)
-//             {
-//                     contacts_svc_value_free(ctsValue);
-//                     ThrowMsg(PlatformException, "importing phoneticLastName E (err:" <<
-//                                     errorCode << ", str:" << newValueStr << ")");
-//             }
-//     }
-
-       // ContactName.displayName
+       // ContactName.phoneticFirstName
+       newValueStr = NULL;
+       oldValueStr = contacts_svc_value_get_str(ctsValue, CTS_NAME_VAL_PHONETIC_FIRST_STR);
+       abstractValueStr = contactName->getPhoneticFirstName();
+       if(oldValueStr != NULL && (!contactName->getPhoneticFirstNameIsSet() || abstractValueStr.empty()) )
+       {
+               newValueStr = EMPTY_STRING;
+       }
+       else if(oldValueStr == NULL || abstractValueStr != oldValueStr)
+       {
+               newValueStr = abstractValueStr.c_str();
+       }
+
+       if(newValueStr != NULL)
+       {
+               errorCode = contacts_svc_value_set_str(ctsValue, CTS_NAME_VAL_PHONETIC_FIRST_STR, newValueStr);
+               if(errorCode != CTS_SUCCESS)
+               {
+                       contacts_svc_value_free(ctsValue);
+                       ThrowMsg(PlatformException, "importing phoneticFirstName E (err:" <<
+                                       errorCode << ", str:" << newValueStr << ")");
+               }
+       }
+
+       // ContactName.phoneticLastName
        newValueStr = NULL;
-       oldValueStr = contacts_svc_value_get_str(ctsValue, CTS_NAME_VAL_DISPLAY_STR);
-       abstractValueStr = contactName->getDisplayName();
-       if(oldValueStr != NULL && (!contactName->getDisplayNameIsSet() || abstractValueStr.empty()) )
+       oldValueStr = contacts_svc_value_get_str(ctsValue, CTS_NAME_VAL_PHONETIC_LAST_STR);
+       abstractValueStr = contactName->getPhoneticLastName();
+       if(oldValueStr != NULL && (!contactName->getPhoneticLastNameIsSet() || abstractValueStr.empty()) )
        {
                newValueStr = EMPTY_STRING;
        }
@@ -491,11 +426,11 @@ void ContactObjectA2PConverter::importNameValueToExistingValue(CTSvalue *ctsValu
 
        if(newValueStr != NULL)
        {
-               errorCode = contacts_svc_value_set_str(ctsValue, CTS_NAME_VAL_DISPLAY_STR, newValueStr);
+               errorCode = contacts_svc_value_set_str(ctsValue, CTS_NAME_VAL_PHONETIC_LAST_STR, newValueStr);
                if(errorCode != CTS_SUCCESS)
                {
                        contacts_svc_value_free(ctsValue);
-                       ThrowMsg(PlatformException, "importing displayName E (err:" <<
+                       ThrowMsg(PlatformException, "importing phoneticLastName E (err:" <<
                                        errorCode << ", str:" << newValueStr << ")");
                }
        }
@@ -569,50 +504,34 @@ void ContactObjectA2PConverter::importNameValueToNewValue(CTSvalue *ctsValue, Co
                }
        }
 
-//     // ContactName.phoneticFirstName
-//     if(contactName->getPhoneticFirstNameIsSet())
-//     {
-//             string phoneticFirstName = contactName->getPhoneticFirstName();
-//             if(phoneticFirstName != EMPTY_STRING)
-//             {
-//                     errorCode = contacts_svc_value_set_str(ctsValue, CTS_NAME_VAL_PHONETIC_FIRST_STR, phoneticFirstName.c_str());
-//                     if(errorCode != CTS_SUCCESS)
-//                     {
-//                             contacts_svc_value_free(ctsValue);
-//                             ThrowMsg(PlatformException, "importing phoneticFirstName N (err:" <<
-//                                             errorCode << ", str:" << phoneticFirstName << ")");
-//                     }
-//             }
-//     }
-//
-//     // ContactName.phoneticLastName
-//     if(contactName->getPhoneticLastNameIsSet())
-//     {
-//             string phoneticLastName = contactName->getPhoneticLastName();
-//             if(phoneticLastName != EMPTY_STRING)
-//             {
-//                     errorCode = contacts_svc_value_set_str(ctsValue, CTS_NAME_VAL_PHONETIC_LAST_STR, phoneticLastName.c_str());
-//                     if(errorCode != CTS_SUCCESS)
-//                     {
-//                             contacts_svc_value_free(ctsValue);
-//                             ThrowMsg(PlatformException, "importing phoneticLastName N (err:" <<
-//                                             errorCode << ", str:" << phoneticLastName << ")");
-//                     }
-//             }
-//     }
-
-       // ContactName.displayName
-       if(contactName->getDisplayNameIsSet())
-       {
-               string displayName = contactName->getDisplayName();
-               if(displayName != EMPTY_STRING)
-               {
-                       errorCode = contacts_svc_value_set_str(ctsValue, CTS_NAME_VAL_DISPLAY_STR, displayName.c_str());
+       // ContactName.phoneticFirstName
+       if(contactName->getPhoneticFirstNameIsSet())
+       {
+               string phoneticFirstName = contactName->getPhoneticFirstName();
+               if(phoneticFirstName != EMPTY_STRING)
+               {
+                       errorCode = contacts_svc_value_set_str(ctsValue, CTS_NAME_VAL_PHONETIC_FIRST_STR, phoneticFirstName.c_str());
+                       if(errorCode != CTS_SUCCESS)
+                       {
+                               contacts_svc_value_free(ctsValue);
+                               ThrowMsg(PlatformException, "importing phoneticFirstName N (err:" <<
+                                               errorCode << ", str:" << phoneticFirstName << ")");
+                       }
+               }
+       }
+
+       // ContactName.phoneticLastName
+       if(contactName->getPhoneticLastNameIsSet())
+       {
+               string phoneticLastName = contactName->getPhoneticLastName();
+               if(phoneticLastName != EMPTY_STRING)
+               {
+                       errorCode = contacts_svc_value_set_str(ctsValue, CTS_NAME_VAL_PHONETIC_LAST_STR, phoneticLastName.c_str());
                        if(errorCode != CTS_SUCCESS)
                        {
                                contacts_svc_value_free(ctsValue);
-                               ThrowMsg(PlatformException, "importing displayName N (err:" <<
-                                               errorCode << ", str:" << displayName << ")");
+                               ThrowMsg(PlatformException, "importing phoneticLastName N (err:" <<
+                                               errorCode << ", str:" << phoneticLastName << ")");
                        }
                }
        }
@@ -829,79 +748,79 @@ void ContactObjectA2PConverter::importCompanyValueToNewValue(CTSvalue *ctsValue,
        }
 }
 
-//void ContactObjectA2PConverter::importNoteValue()
-//{
-//     int errorCode = 0;
-//     CTSvalue *ctsValue = NULL;
-//
-//     errorCode = contacts_svc_struct_get_value(m_platformContact, CTS_CF_NOTE_VALUE, &ctsValue);
-//     if(errorCode != CTS_SUCCESS || ctsValue == NULL)
-//     {
-//             ctsValue = contacts_svc_value_new(CTS_VALUE_NOTE);
-//             if(ctsValue == NULL)
-//                     ThrowMsg(UnknownException, "creating note value (ctsValue:NULL)");
-//
-//             importNoteValueToNewValue(ctsValue);
-//     }
-//     else
-//     {
-//             importNoteValueToExistingValue(ctsValue);
-//     }
-//
-//     contacts_svc_struct_store_value(m_platformContact, CTS_CF_NOTE_VALUE, ctsValue);
-//     contacts_svc_value_free(ctsValue);
-//}
-//
-//void ContactObjectA2PConverter::importNoteValueToExistingValue(CTSvalue *ctsValue)
-//{
-//     int errorCode = 0;
-//
-//     const char *newValueStr = NULL;
-//     const char *oldValueStr = NULL;
-//
-//     // note
-//     oldValueStr = contacts_svc_value_get_str(ctsValue, CTS_NOTE_VAL_NOTE_STR);
-//     string note = m_abstractContact->getNote();
-//     if(oldValueStr != NULL && (!m_abstractContact->getNoteIsSet() || note.empty()) )
-//     {
-//             newValueStr = EMPTY_STRING;
-//     }
-//     else if(oldValueStr == NULL || note != oldValueStr)
-//     {
-//             newValueStr = note.c_str();
-//     }
-//
-//     if(newValueStr != NULL)
-//     {
-//             errorCode = contacts_svc_value_set_str(ctsValue, CTS_NOTE_VAL_NOTE_STR, newValueStr);
-//             if(errorCode != CTS_SUCCESS)
-//             {
-//                     contacts_svc_value_free(ctsValue);
-//                     ThrowMsg(PlatformException, "importing note E (err:" <<
-//                                     errorCode << ", str:" << newValueStr << ")");
-//             }
-//     }
-//}
-//
-//void ContactObjectA2PConverter::importNoteValueToNewValue(CTSvalue *ctsValue)
-//{
-//     int errorCode = 0;
-//
-//     if(m_abstractContact->getNoteIsSet())
-//     {
-//             string note = m_abstractContact->getNote();
-//             if(!note.empty())
-//             {
-//                     errorCode = contacts_svc_value_set_str(ctsValue, CTS_NOTE_VAL_NOTE_STR, note.c_str());
-//                     if(errorCode != CTS_SUCCESS)
-//                     {
-//                             contacts_svc_value_free(ctsValue);
-//                             ThrowMsg(PlatformException, "importing note N (err:" <<
-//                                             errorCode << ", str:" << note << ")");
-//                     }
-//             }
-//     }
-//}
+void ContactObjectA2PConverter::importNoteValue()
+{
+       int errorCode = 0;
+       CTSvalue *ctsValue = NULL;
+
+       errorCode = contacts_svc_struct_get_value(m_platformContact, CTS_CF_NOTE_VALUE, &ctsValue);
+       if(errorCode != CTS_SUCCESS || ctsValue == NULL)
+       {
+               ctsValue = contacts_svc_value_new(CTS_VALUE_NOTE);
+               if(ctsValue == NULL)
+                       ThrowMsg(UnknownException, "creating note value (ctsValue:NULL)");
+
+               importNoteValueToNewValue(ctsValue);
+       }
+       else
+       {
+               importNoteValueToExistingValue(ctsValue);
+       }
+
+       contacts_svc_struct_store_value(m_platformContact, CTS_CF_NOTE_VALUE, ctsValue);
+       contacts_svc_value_free(ctsValue);
+}
+
+void ContactObjectA2PConverter::importNoteValueToExistingValue(CTSvalue *ctsValue)
+{
+       int errorCode = 0;
+
+       const char *newValueStr = NULL;
+       const char *oldValueStr = NULL;
+
+       // note
+       oldValueStr = contacts_svc_value_get_str(ctsValue, CTS_NOTE_VAL_NOTE_STR);
+       string note = m_abstractContact->getNote();
+       if(oldValueStr != NULL && (!m_abstractContact->getNoteIsSet() || note.empty()) )
+       {
+               newValueStr = EMPTY_STRING;
+       }
+       else if(oldValueStr == NULL || note != oldValueStr)
+       {
+               newValueStr = note.c_str();
+       }
+
+       if(newValueStr != NULL)
+       {
+               errorCode = contacts_svc_value_set_str(ctsValue, CTS_NOTE_VAL_NOTE_STR, newValueStr);
+               if(errorCode != CTS_SUCCESS)
+               {
+                       contacts_svc_value_free(ctsValue);
+                       ThrowMsg(PlatformException, "importing note E (err:" <<
+                                       errorCode << ", str:" << newValueStr << ")");
+               }
+       }
+}
+
+void ContactObjectA2PConverter::importNoteValueToNewValue(CTSvalue *ctsValue)
+{
+       int errorCode = 0;
+
+       if(m_abstractContact->getNoteIsSet())
+       {
+               string note = m_abstractContact->getNote();
+               if(!note.empty())
+               {
+                       errorCode = contacts_svc_value_set_str(ctsValue, CTS_NOTE_VAL_NOTE_STR, note.c_str());
+                       if(errorCode != CTS_SUCCESS)
+                       {
+                               contacts_svc_value_free(ctsValue);
+                               ThrowMsg(PlatformException, "importing note N (err:" <<
+                                               errorCode << ", str:" << note << ")");
+                       }
+               }
+       }
+}
 
 void ContactObjectA2PConverter::importNumberList()
 {
@@ -1021,16 +940,16 @@ void ContactObjectA2PConverter::importNumberList()
                        continue;
                }
 
-//             if(ctsStrCustomType != NULL)
-//             {
-//                     errorCode = contacts_svc_value_set_str(ctsValue, CTS_NUM_VAL_LABEL_STR, ctsStrCustomType);
-//                     if(errorCode != CTS_SUCCESS)
-//                     {
-//                             LogWarning("Fail to set custom value to ctsValue type : " << ctsStrCustomType);
-//                             contacts_svc_value_free(ctsValue);
-//                             continue;
-//                     }
-//             }
+               if(ctsStrCustomType != NULL)
+               {
+                       errorCode = contacts_svc_value_set_str(ctsValue, CTS_NUM_VAL_LABEL_STR, ctsStrCustomType);
+                       if(errorCode != CTS_SUCCESS)
+                       {
+                               LogWarning("Fail to set custom value to ctsValue type : " << ctsStrCustomType);
+                               contacts_svc_value_free(ctsValue);
+                               continue;
+                       }
+               }
 
                gsList = g_slist_append(gsList, ctsValue);
        }
@@ -1139,16 +1058,16 @@ void ContactObjectA2PConverter::importEmailList()
                        continue;
                }
 
-//             if(ctsStrCustomType != NULL)
-//             {
-//                     errorCode = contacts_svc_value_set_str(ctsValue, CTS_EMAIL_VAL_LABEL_STR, ctsStrCustomType);
-//                     if(errorCode != CTS_SUCCESS)
-//                     {
-//                             LogWarning("Fail to set custom value to ctsValue type : " << ctsStrCustomType);
-//                             contacts_svc_value_free(ctsValue);
-//                             continue;
-//                     }
-//             }
+               if(ctsStrCustomType != NULL)
+               {
+                       errorCode = contacts_svc_value_set_str(ctsValue, CTS_EMAIL_VAL_LABEL_STR, ctsStrCustomType);
+                       if(errorCode != CTS_SUCCESS)
+                       {
+                               LogWarning("Fail to set custom value to ctsValue type : " << ctsStrCustomType);
+                               contacts_svc_value_free(ctsValue);
+                               continue;
+                       }
+               }
 
                gsList = g_slist_append(gsList, ctsValue);
        }
@@ -1428,18 +1347,18 @@ GSList * ContactObjectA2PConverter::importEventListAnniversary(GSList *gsList)
                        continue;
                }
 
-//             if(anniversary->getLabelIsSet())
-//             {
-//                     string label = anniversary->getLabel();
-//                     errorCode = contacts_svc_value_set_str(ctsValue, CTS_EVENT_VAL_LABEL_STR, label.c_str());
-//                     if(errorCode != CTS_SUCCESS)
-//                     {
-//                             LogWarning("Fail to set label value to ctsValue type : " << label);
-//                             contacts_svc_value_free(ctsValue);
-//                             continue;
-//                     }
-//
-//             }
+               if(anniversary->getLabelIsSet())
+               {
+                       string label = anniversary->getLabel();
+                       errorCode = contacts_svc_value_set_str(ctsValue, CTS_EVENT_VAL_LABEL_STR, label.c_str());
+                       if(errorCode != CTS_SUCCESS)
+                       {
+                               LogWarning("Fail to set label value to ctsValue type : " << label);
+                               contacts_svc_value_free(ctsValue);
+                               continue;
+                       }
+
+               }
 
                gsList = g_slist_append(gsList, ctsValue);
        }
@@ -1611,16 +1530,16 @@ void ContactObjectA2PConverter::importPostalList()
                        continue;
                }
 
-//             if(ctsStrCustomType != NULL)
-//             {
-//                     errorCode = contacts_svc_value_set_str(ctsValue, CTS_POSTAL_VAL_LABEL_STR, ctsStrCustomType);
-//                     if(errorCode != CTS_SUCCESS)
-//                     {
-//                             LogWarning("Fail to set custom value to ctsValue type : " << ctsStrCustomType);
-//                             contacts_svc_value_free(ctsValue);
-//                             continue;
-//                     }
-//             }
+               if(ctsStrCustomType != NULL)
+               {
+                       errorCode = contacts_svc_value_set_str(ctsValue, CTS_POSTAL_VAL_LABEL_STR, ctsStrCustomType);
+                       if(errorCode != CTS_SUCCESS)
+                       {
+                               LogWarning("Fail to set custom value to ctsValue type : " << ctsStrCustomType);
+                               contacts_svc_value_free(ctsValue);
+                               continue;
+                       }
+               }
 
                gsList = g_slist_append(gsList, ctsValue);
        }
@@ -1712,16 +1631,16 @@ void ContactObjectA2PConverter::importWebAddrList()
                        continue;
                }
 
-//             if(ctsStrCustomType != NULL)
-//             {
-//                     errorCode = contacts_svc_value_set_str(ctsValue, CTS_WEB_VAL_LABEL_STR, ctsStrCustomType);
-//                     if(errorCode != CTS_SUCCESS)
-//                     {
-//                             LogWarning("Fail to set custom value to ctsValue type : " << ctsStrCustomType);
-//                             contacts_svc_value_free(ctsValue);
-//                             continue;
-//                     }
-//             }
+               if(ctsStrCustomType != NULL)
+               {
+                       errorCode = contacts_svc_value_set_str(ctsValue, CTS_WEB_VAL_LABEL_STR, ctsStrCustomType);
+                       if(errorCode != CTS_SUCCESS)
+                       {
+                               LogWarning("Fail to set custom value to ctsValue type : " << ctsStrCustomType);
+                               contacts_svc_value_free(ctsValue);
+                               continue;
+                       }
+               }
 
                gsList = g_slist_append(gsList, ctsValue);
        }
index f4ac741..12eeecd 100644 (file)
@@ -63,9 +63,9 @@ protected:
        void importCompanyValueToNewValue(CTSvalue *ctsValue,
                                          TizenApis::Api::Contact::ContactOrganizationPtr &contactOrganization);
 
-//     void importNoteValue();
-//     void importNoteValueToExistingValue(CTSvalue *ctsValue);
-//     void importNoteValueToNewValue(CTSvalue *ctsValue);
+       void importNoteValue();
+       void importNoteValueToExistingValue(CTSvalue *ctsValue);
+       void importNoteValueToNewValue(CTSvalue *ctsValue);
 
        void importNumberList();
 
index f43d19a..dbdbf4d 100644 (file)
@@ -100,7 +100,7 @@ void ContactObjectP2AConverter::convertToAbstractObject()
        exportBaseInfoValue();
        exportNameValue();
        exportCompanyValue();
-//     exportNoteValue();
+       exportNoteValue();
        exportNumberList();
        exportEmailList();
        exportGrouprelList();
@@ -154,13 +154,21 @@ void ContactObjectP2AConverter::exportBaseInfoValue()
                        m_abstractContact->unsetRingtoneURI();
        }
 
-       charValue = contacts_svc_value_get_str(ctsValue, CTS_BASE_VAL_NOTE_STR);
-       if (charValue)
-               m_abstractContact->setNote(charValue);
-       else
+       if(!m_forScratch)
        {
-               if(m_abstractContact->getNoteIsSet())
-                       m_abstractContact->unsetNote();
+               charValue = contacts_svc_value_get_str(ctsValue, CTS_BASE_VAL_DISPLAY_NAME_STR);
+               if (charValue)
+               {
+                       ContactNamePtr contactName = m_abstractContact->getName();
+                       if(contactName == NULL)
+                       {
+                               contactName = ContactNamePtr(new ContactName());
+                               m_abstractContact->setName(contactName);
+                       }
+                       contactName->setDisplayName(charValue);
+               }
+//             else
+//                     ThrowMsg(UnknownException, "converting base data (no display name)");
        }
 }
 
@@ -196,9 +204,6 @@ void ContactObjectP2AConverter::exportNameValue()
 
                        if(contactName->getPhoneticLastNameIsSet())
                                contactName->unsetPhoneticLastName();
-
-                       if(contactName->getDisplayNameIsSet())
-                               contactName->unsetDisplayName();
                }
                return;
        }
@@ -248,32 +253,23 @@ void ContactObjectP2AConverter::exportNameValue()
                        contactName->unsetPrefix();
        }
 
-       charValue = contacts_svc_value_get_str(ctsValue, CTS_NAME_VAL_DISPLAY_STR);
+       charValue = contacts_svc_value_get_str(ctsValue, CTS_NAME_VAL_PHONETIC_FIRST_STR);
        if (charValue)
-               contactName->setDisplayName(charValue);
+               contactName->setPhoneticFirstName(charValue);
        else
        {
-               if(contactName->getDisplayNameIsSet())
-                       contactName->unsetDisplayName();
+               if(contactName->getPhoneticFirstNameIsSet())
+                       contactName->unsetPhoneticFirstName();
        }
 
-//     charValue = contacts_svc_value_get_str(ctsValue, CTS_NAME_VAL_PHONETIC_NAME_STR);
-//     if (charValue)
-//             contactName->setPhoneticFirstName(charValue);
-//     else
-//     {
-//             if(contactName->getPhoneticFirstNameIsSet())
-//                     contactName->unsetPhoneticFirstName();
-//     }
-//
-//     charValue = contacts_svc_value_get_str(ctsValue, CTS_NAME_VAL_PHONETIC_LAST_STR);
-//     if (charValue)
-//             contactName->setPhoneticLastName(charValue);
-//     else
-//     {
-//             if(contactName->getPhoneticLastNameIsSet())
-//                     contactName->unsetPhoneticLastName();
-//     }
+       charValue = contacts_svc_value_get_str(ctsValue, CTS_NAME_VAL_PHONETIC_LAST_STR);
+       if (charValue)
+               contactName->setPhoneticLastName(charValue);
+       else
+       {
+               if(contactName->getPhoneticLastNameIsSet())
+                       contactName->unsetPhoneticLastName();
+       }
 }
 
 
@@ -352,37 +348,37 @@ void ContactObjectP2AConverter::exportCompanyValue()
                organization->unsetLogoURI();
 }
 
-//void ContactObjectP2AConverter::exportNoteValue()
-//{
-//     int errorCode = 0;
-//     CTSvalue *ctsValue = NULL;
-//
-//     errorCode = contacts_svc_struct_get_value(m_platformContact, CTS_CF_NOTE_VALUE, &ctsValue);
-//     if(errorCode != CTS_SUCCESS && errorCode != CTS_ERR_NO_DATA)
-//             ThrowMsg(UnknownException, "getting note value : (err:" << errorCode << ")");
-//
-//     if(ctsValue == NULL || errorCode == CTS_ERR_NO_DATA)
-//     {
-//             //LogDebug("Platform contact don't have note value");
-//             if(m_abstractContact->getNoteIsSet())
-//                     m_abstractContact->unsetNote();
-//
-//             return;
-//     }
-//
-//     bool boolValue = false;
-//     const char *charValue = NULL;
-//
-//     boolValue = contacts_svc_value_get_bool(ctsValue, CTS_NOTE_VAL_DELETE_BOOL);
-//     charValue = contacts_svc_value_get_str(ctsValue, CTS_COMPANY_VAL_NAME_STR);
-//     if (charValue && boolValue != false)
-//             m_abstractContact->setNote(charValue);
-//     else
-//     {
-//             if(m_abstractContact->getNoteIsSet())
-//                     m_abstractContact->unsetNote();
-//     }
-//}
+void ContactObjectP2AConverter::exportNoteValue()
+{
+       int errorCode = 0;
+       CTSvalue *ctsValue = NULL;
+
+       errorCode = contacts_svc_struct_get_value(m_platformContact, CTS_CF_NOTE_VALUE, &ctsValue);
+       if(errorCode != CTS_SUCCESS && errorCode != CTS_ERR_NO_DATA)
+               ThrowMsg(UnknownException, "getting note value : (err:" << errorCode << ")");
+
+       if(ctsValue == NULL || errorCode == CTS_ERR_NO_DATA)
+       {
+               //LogDebug("Platform contact don't have note value");
+               if(m_abstractContact->getNoteIsSet())
+                       m_abstractContact->unsetNote();
+
+               return;
+       }
+
+       bool boolValue = false;
+       const char *charValue = NULL;
+
+       boolValue = contacts_svc_value_get_bool(ctsValue, CTS_NOTE_VAL_DELETE_BOOL);
+       charValue = contacts_svc_value_get_str(ctsValue, CTS_COMPANY_VAL_NAME_STR);
+       if (charValue && boolValue != false)
+               m_abstractContact->setNote(charValue);
+       else
+       {
+               if(m_abstractContact->getNoteIsSet())
+                       m_abstractContact->unsetNote();
+       }
+}
 
 void ContactObjectP2AConverter::exportNumberList()
 {
index 595c754..baecd0c 100644 (file)
@@ -50,7 +50,7 @@ protected:
        void exportBaseInfoValue();
        void exportNameValue();
        void exportCompanyValue();
-//     void exportNoteValue();
+       void exportNoteValue();
        void exportNumberList();
        void exportEmailList();
        void exportGrouprelList();
index 0937b92..7b862ac 100755 (executable)
@@ -38,10 +38,10 @@ typedef enum
 
        CONTACT_IS_FAVORITE,
        CONTACT_RINGTONE,
-       CONTACT_NOTE,
        CONTACT_PHOTO_URI,
        CONTACT_LAST_UPDATED_TIME_STAMP,
        CONTACT_UID,
+       CONTACT_NOTE,
 
        NAME_FIRST = 40,
        NAME_MIDDLE,
@@ -232,6 +232,12 @@ API void refresh_addressbook_list(void *data);
 
 API int* get_all_addressbook_id(int* total_count);
 
+API int set_pref_to_condition(ADVANCED_HANDLE handle);
+
+API int check_pref_number(int contact_id, char* number);
+
+API int check_pref_email(int contact_id, char* email);
+
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */
index c914e91..c60e2bb 100755 (executable)
@@ -649,7 +649,7 @@ query_error _make_contact_info(advanced_handle_t* q_handle, projection_type type
                                break;
                        case DB_DATATYPE_NUMBER:
                        {
-                               if(strcmp(field_key[FIELD_DATA2], projection) == 0 && q_handle->attribute_list[NUMBER_ADDRESS] == 1)
+                               if(strcmp(field_key[FIELD_DATA3], projection) == 0 && q_handle->attribute_list[NUMBER_ADDRESS] == 1)
                                {
                                        count = _value_to_projection(q_handle->hstmt, &(num_info->number), count);
                                }else if(strcmp(field_key[FIELD_DATA1], projection) == 0 && q_handle->attribute_list[NUMBER_TYPES] == 1)
@@ -660,7 +660,7 @@ query_error _make_contact_info(advanced_handle_t* q_handle, projection_type type
                                break;
                        case DB_DATATYPE_EMAIL:
                        {
-                               if(strcmp(field_key[FIELD_DATA2], projection) == 0 && q_handle->attribute_list[EMAIL_ADDRESS] == 1)
+                               if(strcmp(field_key[FIELD_DATA3], projection) == 0 && q_handle->attribute_list[EMAIL_ADDRESS] == 1)
                                {
                                        count = _value_to_projection(q_handle->hstmt, &(email_info->email_addr), count);
                                }else if(strcmp(field_key[FIELD_DATA1], projection) == 0 && q_handle->attribute_list[EMAIL_TYPE] == 1)
@@ -672,7 +672,7 @@ query_error _make_contact_info(advanced_handle_t* q_handle, projection_type type
                                break;
                        case DB_DATATYPE_URL:
                        {
-                               if(strcmp(field_key[FIELD_DATA2], projection) == 0 && q_handle->attribute_list[URL_ADDRESS] == 1)
+                               if(strcmp(field_key[FIELD_DATA3], projection) == 0 && q_handle->attribute_list[URL_ADDRESS] == 1)
                                {
                                        count = _value_to_projection(q_handle->hstmt, &(url_info->url_addr), count);
                                }else if(strcmp(field_key[FIELD_DATA1], projection) == 0 && q_handle->attribute_list[URL_TYPE] == 1)
@@ -683,7 +683,7 @@ query_error _make_contact_info(advanced_handle_t* q_handle, projection_type type
                                break;
                        case DB_DATATYPE_NICK_NAME:
                        {
-                               if(strcmp(field_key[FIELD_DATA2], projection) == 0 && q_handle->attribute_list[NICKNAME_NAME] == 1)
+                               if(strcmp(field_key[FIELD_DATA3], projection) == 0 && q_handle->attribute_list[NICKNAME_NAME] == 1)
                                {
                                        count = _value_to_projection(q_handle->hstmt, &(nick_info->nick_name), count);
                                }
@@ -691,22 +691,22 @@ query_error _make_contact_info(advanced_handle_t* q_handle, projection_type type
                                break;
                        case DB_DATATYPE_ADDRESS:
                        {
-                               if(strcmp(field_key[FIELD_DATA8], projection) == 0 && q_handle->attribute_list[ADDRESS_COUNTRY] == 1)
+                               if(strcmp(field_key[FIELD_DATA9], projection) == 0 && q_handle->attribute_list[ADDRESS_COUNTRY] == 1)
                                {
                                        count = _value_to_projection(q_handle->hstmt, &(address_info->country), count);
-                               }else if(strcmp(field_key[FIELD_DATA4], projection) == 0 && q_handle->attribute_list[ADDRESS_REGION] == 1)
+                               }else if(strcmp(field_key[FIELD_DATA5], projection) == 0 && q_handle->attribute_list[ADDRESS_REGION] == 1)
                                {
                                        count = _value_to_projection(q_handle->hstmt, &(address_info->region), count);
-                               }else if(strcmp(field_key[FIELD_DATA5], projection) == 0 && q_handle->attribute_list[ADDRESS_CITY] == 1)
+                               }else if(strcmp(field_key[FIELD_DATA6], projection) == 0 && q_handle->attribute_list[ADDRESS_CITY] == 1)
                                {
                                        count = _value_to_projection(q_handle->hstmt, &(address_info->city), count);
-                               }else if(strcmp(field_key[FIELD_DATA6], projection) == 0 && q_handle->attribute_list[ADDRESS_STREET] == 1)
+                               }else if(strcmp(field_key[FIELD_DATA7], projection) == 0 && q_handle->attribute_list[ADDRESS_STREET] == 1)
                                {
                                        count = _value_to_projection(q_handle->hstmt, &(address_info->street), count);
-                               }else if(strcmp(field_key[FIELD_DATA3], projection) == 0 && q_handle->attribute_list[ADDRESS_POSTAL_CODE] == 1)
+                               }else if(strcmp(field_key[FIELD_DATA4], projection) == 0 && q_handle->attribute_list[ADDRESS_POSTAL_CODE] == 1)
                                {
                                        count = _value_to_projection(q_handle->hstmt, &(address_info->postal_code), count);
-                               }else if(strcmp(field_key[FIELD_DATA7], projection) == 0 && q_handle->attribute_list[ADDRESS_ADDITIONAL] == 1)
+                               }else if(strcmp(field_key[FIELD_DATA8], projection) == 0 && q_handle->attribute_list[ADDRESS_ADDITIONAL] == 1)
                                {
                                        count = _value_to_projection(q_handle->hstmt, &(address_info->addtional), count);
                                }else if(strcmp(field_key[FIELD_DATA1], projection) == 0 && q_handle->attribute_list[ADDRESS_TYPE] == 1)
@@ -717,16 +717,16 @@ query_error _make_contact_info(advanced_handle_t* q_handle, projection_type type
                                break;
                        case DB_DATATYPE_ORGANIZATION:
                        {
-                               if(strcmp(field_key[FIELD_DATA2], projection) == 0 && q_handle->attribute_list[ORGANIZATION_NAME] == 1)
+                               if(strcmp(field_key[FIELD_DATA3], projection) == 0 && q_handle->attribute_list[ORGANIZATION_NAME] == 1)
                                {
                                        count = _value_to_projection(q_handle->hstmt, &(organization_info->organization_name), count);
-                               }else if(strcmp(field_key[FIELD_DATA3], projection) == 0 && q_handle->attribute_list[ORGANIZATION_DEPARTMENT] == 1)
+                               }else if(strcmp(field_key[FIELD_DATA4], projection) == 0 && q_handle->attribute_list[ORGANIZATION_DEPARTMENT] == 1)
                                {
                                        count = _value_to_projection(q_handle->hstmt, &(organization_info->department), count);
-                               }else if(strcmp(field_key[FIELD_DATA4], projection) == 0 && q_handle->attribute_list[ORGANIZATION_TITLE] == 1)
+                               }else if(strcmp(field_key[FIELD_DATA5], projection) == 0 && q_handle->attribute_list[ORGANIZATION_TITLE] == 1)
                                {
                                        count = _value_to_projection(q_handle->hstmt, &(organization_info->title), count);
-                               }else if(strcmp(field_key[FIELD_DATA5], projection) == 0 && q_handle->attribute_list[ORGANIZATION_ROLE] == 1)
+                               }else if(strcmp(field_key[FIELD_DATA6], projection) == 0 && q_handle->attribute_list[ORGANIZATION_ROLE] == 1)
                                {
                                        count = _value_to_projection(q_handle->hstmt, &(organization_info->role), count);
                                }
@@ -737,12 +737,20 @@ query_error _make_contact_info(advanced_handle_t* q_handle, projection_type type
                                if(strcmp(field_key[FIELD_DATA1], projection) == 0 && q_handle->attribute_list[EVENT_TYPE] == 1)
                                {
                                        count = _int_value_to_projection(DATA_TABLE, DB_DATATYPE_EVENT, q_handle->hstmt, &(event_info->type), count);
-                               }else if(strcmp(field_key[FIELD_DATA2], projection) == 0 && q_handle->attribute_list[EVENT_DATE] == 1)
+                               }else if(strcmp(field_key[FIELD_DATA3], projection) == 0 && q_handle->attribute_list[EVENT_DATE] == 1)
                                {
                                        count = _event_value_to_projection(q_handle->hstmt, &(event_info->date), count);
                                }
                        }
                                break;
+                       case DB_DATATYPE_NOTE:
+                       {
+                               if(strcmp(field_key[FIELD_DATA3], projection) == 0 && q_handle->attribute_list[CONTACT_NOTE] == 1)
+                               {
+                                       count = _value_to_projection(q_handle->hstmt, &(q_handle->result_set[q_handle->pos].contact_info->raw_contact_info->note), count);
+                               }
+                       }
+                               break;
                        default:
                        {
                                if(datatype_id > DB_DATATYPE_MAX)
@@ -822,9 +830,6 @@ query_error _make_contact_info(advanced_handle_t* q_handle, projection_type type
                                if(strcmp(field_key[FIELD_RINGTONE], projection) == 0)
                                {
                                        count = _value_to_projection(q_handle->hstmt, &(q_handle->result_set[q_handle->pos].contact_info->raw_contact_info->ringtone), count);
-                               }else if(strcmp(field_key[FIELD_NOTE], projection) == 0)
-                               {
-                                       count = _value_to_projection(q_handle->hstmt, &(q_handle->result_set[q_handle->pos].contact_info->raw_contact_info->note), count);
                                }else if(strcmp(field_key[FIELD_IS_FAVORITE], projection) == 0)
                                {
                                        count = _int_value_to_projection(CONTACT_TABLE, DB_DATATYPE_INVALID, q_handle->hstmt,
@@ -1264,6 +1269,36 @@ query_error _make_contact_id_list_by_condition_part(advanced_handle_t* q_handle,
 
        g_string_append_printf (sub_query, " where");
 
+       if(q_handle->set_number_pref == 1)
+       {
+               GList* tmp_table1 = q_handle->condition_table_list;
+               while(tmp_table1)
+               {
+                       condition_table_t* table_info1 = (condition_table_t*)tmp_table1->data;
+                       if(strcmp(table_info1->table, "data") == 0)
+                       {
+                               g_string_append_printf (sub_query, " (%s.is_default = 1 and %s.datatype = 8) and", alias_key[table_info1->alias], alias_key[table_info1->alias]);
+                               break;
+                       }
+                       tmp_table1 = g_list_next(tmp_table1);
+               }
+       }
+
+       if(q_handle->set_email_pref == 1)
+       {
+               GList* tmp_table2 = q_handle->condition_table_list;
+               while(tmp_table2)
+               {
+                       condition_table_t* table_info2 = (condition_table_t*)tmp_table2->data;
+                       if(strcmp(table_info2->table, "data") == 0)
+                       {
+                               g_string_append_printf (sub_query, " (%s.is_default = 1 and %s.datatype = 9) and", alias_key[table_info2->alias], alias_key[table_info2->alias]);
+                               break;
+                       }
+                       tmp_table2 = g_list_next(tmp_table2);
+               }
+       }
+
        if(tmp_query->str[0] != '\0')
                g_string_append_printf (sub_query, " %s", tmp_query->str);
 
@@ -1590,7 +1625,8 @@ int _make_result_contact_list(advanced_handle_t* q_handle, int count, char* cond
                                condition_val_t* tmp_val = (condition_val_t*)tmp_condition_val->data;
                                if(tmp_val->indices_filter == 0)
                                {
-                               ADVANCED_SVC_TRACE("condition_val->value : %s", tmp_val->value);
+                               ADVANCED_SVC_TRACE("condition_val->value_str : %s", tmp_val->value);
+                               ADVANCED_SVC_TRACE("condition_val->value_int : %d", tmp_val->int_value);
 
                                primitive_type type = _convert_check_attribute_primitive_type(tmp_val->attribute);
                                if(tmp_val->x_attribute == 1)
@@ -3597,3 +3633,87 @@ API int get_contact_version()
        return ver;
 }
 
+API int set_number_pref_to_condition(ADVANCED_HANDLE handle)
+{
+       ADVANCED_RETURN_VAL((handle != NULL), {}, QUERY_HANDLE_NONE, ("HANDLE IS NULL"));
+       advanced_handle_t* q_handle = (advanced_handle_t*)handle;
+
+       q_handle->set_number_pref = 1;
+
+       return QUERY_SUCCESS;
+}
+
+API int set_email_pref_to_condition(ADVANCED_HANDLE handle)
+{
+       ADVANCED_RETURN_VAL((handle != NULL), {}, QUERY_HANDLE_NONE, ("HANDLE IS NULL"));
+       advanced_handle_t* q_handle = (advanced_handle_t*)handle;
+
+       q_handle->set_email_pref = 1;
+
+       return QUERY_SUCCESS;
+}
+
+API int check_pref_number(int contact_id, char* number)
+{
+       char query[256 + 1] = {0, };
+       int rc = -1;
+       stmt pStmt = NULL;
+       int pref = 0;
+       query_error error_code = QUERY_SUCCESS;
+
+       error_code = _contact_db_init();
+       ADVANCED_CATCH_SET_ERROR((error_code == QUERY_SUCCESS), {}, QUERY_STATEMENT_FAIL, ("DATABASE INIT FAIL"));
+
+       snprintf(query, 256, "%s", "select is_default from data where contact_id = ? and data3 = ? and datatype = 8");
+
+       pStmt = _contact_query_prepare(query);
+       ADVANCED_CATCH_SET_ERROR((pStmt != NULL), {}, QUERY_STATEMENT_FAIL, ("database prepare fail"));
+
+       _contact_query_bind_int(pStmt, 1, contact_id);
+       _contact_query_bind_text(pStmt, 2, number);
+
+       rc = _contact_query_step(pStmt);
+       ADVANCED_CATCH_SET_ERROR((rc == SQLITE_ROW), {}, QUERY_NO_RECORD, ("No record in database"));
+
+       pref = _ct_query_column_int(pStmt, 0);
+       ADVANCED_SVC_TRACE("pref: %d ", pref);
+
+CATCH:
+       _ct_query_finalize(pStmt);
+       _contact_db_finish();
+
+       return pref;
+}
+
+API int check_pref_email(int contact_id, char* email)
+{
+       char query[256 + 1] = {0, };
+       int rc = -1;
+       stmt pStmt = NULL;
+       int pref = 0;
+       query_error error_code = QUERY_SUCCESS;
+
+       error_code = _contact_db_init();
+       ADVANCED_CATCH_SET_ERROR((error_code == QUERY_SUCCESS), {}, QUERY_STATEMENT_FAIL, ("DATABASE INIT FAIL"));
+
+       snprintf(query, 256, "%s", "select is_default from data where contact_id = ? and data3 = ? and datatype = 9");
+
+       pStmt = _contact_query_prepare(query);
+       ADVANCED_CATCH_SET_ERROR((pStmt != NULL), {}, QUERY_STATEMENT_FAIL, ("database prepare fail"));
+
+       _contact_query_bind_int(pStmt, 1, contact_id);
+       _contact_query_bind_text(pStmt, 2, email);
+
+       rc = _contact_query_step(pStmt);
+       ADVANCED_CATCH_SET_ERROR((rc == SQLITE_ROW), {}, QUERY_NO_RECORD, ("No record in database"));
+
+       pref = _ct_query_column_int(pStmt, 0);
+       ADVANCED_SVC_TRACE("pref: %d ", pref);
+
+CATCH:
+       _ct_query_finalize(pStmt);
+       _contact_db_finish();
+
+       return pref;
+}
+
index ca8c6db..4e7009d 100755 (executable)
@@ -160,7 +160,7 @@ typedef enum
        DATATYPE_BIRTH_DAY = 0x00000080,
        DATATYPE_ANNIVERSARY = 0x0000100,
        DATATYPE_IM_ADDR = 0x0000200,
-//     DATATYPE_LBS_INFO = 0x00000400,
+       DATATYPE_NOTE = 0x00000400,
        DATATYPE_CATEGORY = 0x00000800,
        DATATYPE_X_ATTRIBUTE = 0x80000000,
 }predefine_datatype;
@@ -176,7 +176,8 @@ typedef enum
        DB_DATATYPE_ORGANIZATION,
        DB_DATATYPE_NICK_NAME,
        DB_DATATYPE_NUMBER,
-       DB_DATATYPE_EMAIL,
+       DB_DATATYPE_EMAIL = 9,
+       DB_DATATYPE_NOTE = 12,
 
 //     DB_DATATYPE_LBS_INFO,
 //     DB_DATATYPE_CATEGORY,
@@ -222,8 +223,8 @@ static char* number_type_str[MAX_NUMBER_TYPE] =
 typedef enum
 {
        EMAIL_TYPE_NONE         = 0x00000000,
-       EMAIL_HOME                      = 0x00000001,
-       EMAIL_WORK                      = 0x00000002,
+       EMAIL_HOME                      = 0x00000002,
+       EMAIL_WORK                      = 0x00000004,
 }email_type;
 
 static char* email_type_str[MAX_EMAIL_TYPE] =
@@ -250,7 +251,7 @@ static char* url_type_str[URL_TYPE_MAX] =
 
 typedef enum
 {
-       EVENT_BIRTHDAY = 0,
+       EVENT_BIRTHDAY = 2,
        EVENT_ANNIVERSARY,
        EVENT_TYPE_MAX
 }event_type;
@@ -550,6 +551,8 @@ typedef struct
 {
        query_type_e query_type;
        stmt    hstmt;
+       int set_number_pref;
+       int set_email_pref;
 
 // result set
        int pos;                                //array index of ordering list
index c22db1c..38ae0fb 100755 (executable)
@@ -31,7 +31,7 @@
 #include <unicode/ustring.h>
 
 static int transaction_count = 0;
-static int db_connnect_count = 0;
+static int db_connnect_count = 1;
 
 clock_t
 _get_clock()
@@ -229,7 +229,7 @@ stmt _contact_query_prepare(char *query)
        stmt pStmt = NULL;
 
        ADVANCED_SVC_TRACE("query : %s !!!!\n", query);
-//     printf("\nquery : %s !!!!\n", query);
+       printf("\nquery : %s !!!!\n", query);
 
        rc = sqlite3_prepare_v2(g_hDBCt, query, strlen(query), &pStmt, NULL);
        if(SQLITE_OK != rc)
@@ -324,9 +324,11 @@ predefine_datatype _convert_attribute_to_mimetype_id(contact_attribute_e attribu
 //             case ORGANIZATION_LOGO_URI:
                        data_type = DATATYPE_ORGANIZATION;
                        break;
+               case CONTACT_NOTE:
+                       data_type = DATATYPE_NOTE;
+                       break;
                case CONTACT_IS_FAVORITE:
                case CONTACT_RINGTONE:
-               case CONTACT_NOTE:
 //             case CONTACT_READ_ONLY:
 //             case CONTACT_SEND_TO_VOICE_MAIL:
                case CONTACT_LAST_UPDATED_TIME_STAMP:
@@ -472,7 +474,7 @@ char* _convert_attribute_to_condition_column_name(contact_attribute_e attribute)
                        field_name = condition_field_key[FIELD_RINGTONE];
                        break;
                case CONTACT_NOTE :
-                       field_name = condition_field_key[FIELD_NOTE];
+                       field_name = condition_field_key[FIELD_DATA3];
                        break;
                case CONTACT_ID :
                        field_name = condition_field_key[FIELD_DATA_CONTACT_ID];
@@ -523,46 +525,46 @@ char* _convert_attribute_to_condition_column_name(contact_attribute_e attribute)
                        field_name = condition_field_key[FIELD_DATA7];
                        break;
                case NICKNAME_NAME:
-                       field_name = condition_field_key[FIELD_DATA2];
+                       field_name = condition_field_key[FIELD_DATA3];
                        break;
                case NUMBER_ADDRESS:
-                       field_name = condition_field_key[FIELD_DATA2];
+                       field_name = condition_field_key[FIELD_DATA3];
                        break;
                case NUMBER_TYPES:
                        field_name = condition_field_key[FIELD_DATA1];
                        break;
                case EMAIL_ADDRESS:
-                       field_name = condition_field_key[FIELD_DATA2];
+                       field_name = condition_field_key[FIELD_DATA3];
                        break;
                case EMAIL_TYPE:
                        field_name = condition_field_key[FIELD_DATA1];
                        break;
                case URL_ADDRESS:
-                       field_name = condition_field_key[FIELD_DATA2];
+                       field_name = condition_field_key[FIELD_DATA3];
                        break;
                case URL_TYPE:
                        field_name = condition_field_key[FIELD_DATA1];
                        break;
                case ADDRESS_COUNTRY:
-                       field_name = condition_field_key[FIELD_DATA8];
+                       field_name = condition_field_key[FIELD_DATA9];
                        break;
                case ADDRESS_REGION:
-                       field_name = condition_field_key[FIELD_DATA4];
+                       field_name = condition_field_key[FIELD_DATA5];
                        break;
 //             case ADDRESS_COUNTY:
 //                     field_name = condition_field_key[FIELD_DATA5];
 //                     break;
                case ADDRESS_CITY:
-                       field_name = condition_field_key[FIELD_DATA5];
+                       field_name = condition_field_key[FIELD_DATA6];
                        break;
                case ADDRESS_STREET:
-                       field_name = condition_field_key[FIELD_DATA6];
+                       field_name = condition_field_key[FIELD_DATA7];
                        break;
                case ADDRESS_POSTAL_CODE:
-                       field_name = condition_field_key[FIELD_DATA3];
+                       field_name = condition_field_key[FIELD_DATA4];
                        break;
                case ADDRESS_ADDITIONAL:
-                       field_name = condition_field_key[FIELD_DATA7];
+                       field_name = condition_field_key[FIELD_DATA8];
                        break;
                case ADDRESS_TYPE:
                        field_name = condition_field_key[FIELD_DATA1];
@@ -574,25 +576,25 @@ char* _convert_attribute_to_condition_column_name(contact_attribute_e attribute)
                        field_name = condition_field_key[FIELD_DATA1];
                        break;
                case EVENT_DATE:
-                       field_name = condition_field_key[FIELD_DATA2];
+                       field_name = condition_field_key[FIELD_DATA3];
                        break;
 //             case ANNIVERSARY_LABEL:
 //                     field_name = condition_field_key[FIELD_DATA2];
 //                     break;
                case ORGANIZATION_NAME:
-                       field_name = condition_field_key[FIELD_DATA2];
+                       field_name = condition_field_key[FIELD_DATA3];
                        break;
                case ORGANIZATION_DEPARTMENT:
-                       field_name = condition_field_key[FIELD_DATA3];
+                       field_name = condition_field_key[FIELD_DATA4];
                        break;
 //             case ORGANIZATION_OFFICE:
 //                     field_name = condition_field_key[FIELD_DATA3];
 //                     break;
                case ORGANIZATION_TITLE:
-                       field_name = condition_field_key[FIELD_DATA4];
+                       field_name = condition_field_key[FIELD_DATA5];
                        break;
                case ORGANIZATION_ROLE:
-                       field_name = condition_field_key[FIELD_DATA5];
+                       field_name = condition_field_key[FIELD_DATA6];
                        break;
 //             case ORGANIZATION_LOGO_URI:
 //                     field_name = condition_field_key[FIELD_DATA6];
@@ -722,7 +724,7 @@ char* _convert_attribute_to_column_name(contact_attribute_e attribute)
                        field_name = field_key[FIELD_RINGTONE];
                        break;
                case CONTACT_NOTE :
-                       field_name = field_key[FIELD_NOTE];
+                       field_name = field_key[FIELD_DATA3];
                        break;
                case CONTACT_UID :
                        field_name = field_key[FIELD_UID];
@@ -775,46 +777,46 @@ char* _convert_attribute_to_column_name(contact_attribute_e attribute)
                        field_name = field_key[FIELD_DATA7];
                        break;
                case NICKNAME_NAME:
-                       field_name = field_key[FIELD_DATA2];
+                       field_name = field_key[FIELD_DATA3];
                        break;
                case NUMBER_ADDRESS:
-                       field_name = field_key[FIELD_DATA2];
+                       field_name = field_key[FIELD_DATA3];
                        break;
                case NUMBER_TYPES:
                        field_name = field_key[FIELD_DATA1];
                        break;
                case EMAIL_ADDRESS:
-                       field_name = field_key[FIELD_DATA1];
+                       field_name = field_key[FIELD_DATA3];
                        break;
                case EMAIL_TYPE:
                        field_name = field_key[FIELD_DATA2];
                        break;
                case URL_ADDRESS:
-                       field_name = field_key[FIELD_DATA1];
+                       field_name = field_key[FIELD_DATA3];
                        break;
                case URL_TYPE:
-                       field_name = field_key[FIELD_DATA2];
+                       field_name = field_key[FIELD_DATA1];
                        break;
                case ADDRESS_COUNTRY:
-                       field_name = field_key[FIELD_DATA8];
+                       field_name = field_key[FIELD_DATA9];
                        break;
                case ADDRESS_REGION:
-                       field_name = field_key[FIELD_DATA4];
+                       field_name = field_key[FIELD_DATA5];
                        break;
 //             case ADDRESS_COUNTY:
 //                     field_name = field_key[FIELD_DATA5];
 //                     break;
                case ADDRESS_CITY:
-                       field_name = field_key[FIELD_DATA5];
+                       field_name = field_key[FIELD_DATA6];
                        break;
                case ADDRESS_STREET:
-                       field_name = field_key[FIELD_DATA6];
+                       field_name = field_key[FIELD_DATA7];
                        break;
                case ADDRESS_POSTAL_CODE:
-                       field_name = field_key[FIELD_DATA3];
+                       field_name = field_key[FIELD_DATA4];
                        break;
                case ADDRESS_ADDITIONAL:
-                       field_name = field_key[FIELD_DATA7];
+                       field_name = field_key[FIELD_DATA8];
                        break;
                case ADDRESS_TYPE:
                        field_name = field_key[FIELD_DATA1];
@@ -826,25 +828,25 @@ char* _convert_attribute_to_column_name(contact_attribute_e attribute)
                        field_name = field_key[FIELD_DATA1];
                        break;
                case EVENT_DATE:
-                       field_name = field_key[FIELD_DATA2];
+                       field_name = field_key[FIELD_DATA3];
                        break;
 //             case ANNIVERSARY_LABEL:
 //                     field_name = field_key[FIELD_DATA2];
 //                     break;
                case ORGANIZATION_NAME:
-                       field_name = field_key[FIELD_DATA2];
+                       field_name = field_key[FIELD_DATA3];
                        break;
                case ORGANIZATION_DEPARTMENT:
-                       field_name = field_key[FIELD_DATA3];
+                       field_name = field_key[FIELD_DATA4];
                        break;
 //             case ORGANIZATION_OFFICE:
 //                     field_name = field_key[FIELD_DATA3];
 //                     break;
                case ORGANIZATION_TITLE:
-                       field_name = field_key[FIELD_DATA4];
+                       field_name = field_key[FIELD_DATA5];
                        break;
                case ORGANIZATION_ROLE:
-                       field_name = field_key[FIELD_DATA5];
+                       field_name = field_key[FIELD_DATA6];
                        break;
 //             case ORGANIZATION_LOGO_URI:
 //                     field_name = field_key[FIELD_DATA6];
@@ -957,7 +959,6 @@ char* _convert_attribute_to_table_name(contact_attribute_e attribute)
                case CONTACT_LAST_UPDATED_TIME_STAMP:
                case CONTACT_IS_FAVORITE:
                case CONTACT_RINGTONE :
-               case CONTACT_NOTE :
                case ACCOUNT_ID:
                case CONTACT_UID:
                {
@@ -998,6 +999,7 @@ char* _convert_attribute_to_table_name(contact_attribute_e attribute)
                case ORGANIZATION_TITLE:
                case ORGANIZATION_ROLE:
 //             case ORGANIZATION_LOGO_URI:
+               case CONTACT_NOTE :
                {
                        table_name = table_key[TABLE_DATA];
                }
@@ -1437,10 +1439,10 @@ db_datatype _convert_datatype_to_db_type(predefine_datatype datatype)
                case DATATYPE_ANNIVERSARY:
                        db_datatype_id = DB_DATATYPE_EVENT;
                        break;
-/*
-               case DATATYPE_LBS_INFO:
-                       db_datatype_id = DB_DATATYPE_LBS_INFO;
+               case DATATYPE_NOTE:
+                       db_datatype_id = DB_DATATYPE_NOTE;
                        break;
+/*
                case DATATYPE_CATEGORY:
                        db_datatype_id = DB_DATATYPE_CATEGORY;
                        break;
@@ -1851,10 +1853,10 @@ int _convert_type_string_to_int(contact_attribute_e attribute, const char* value
                        integer_value = (int)strtol(value, &end_ptr, 0);
                        if(errno == ERANGE || end_ptr == value)
                        {
-                               ADVANCED_SVC_TRACE("contact_id is wrong : %s", contact_id);
+//                             ADVANCED_SVC_TRACE("contact_id is wrong : %s", contact_id);
                                return 0;
                        }
-                       ADVANCED_SVC_TRACE("id : %d", id);
+                       ADVANCED_SVC_TRACE("id : %d", integer_value);
                }
                        break;
                case CONTACT_LAST_UPDATED_TIME_STAMP :
@@ -1864,7 +1866,7 @@ int _convert_type_string_to_int(contact_attribute_e attribute, const char* value
                        integer_value = (int)strtol(value, &end_ptr, 0);
                        if(errno == ERANGE || end_ptr == value)
                        {
-                               ADVANCED_SVC_TRACE("contact_id is wrong : %s", contact_id);
+//                             ADVANCED_SVC_TRACE("contact_id is wrong : %s", contact_id);
                                return 0;
                        }
                }
index fb8432b..a25935e 100755 (executable)
@@ -80,7 +80,6 @@ typedef enum
        FIELD_IS_FAVORITE,
        FIELD_PHOTO_URI,
        FIELD_RINGTONE,
-       FIELD_NOTE,
        FIELD_UID,
 
        FIELD_DATA_PERSON_ID,
@@ -128,9 +127,8 @@ static char* field_key[FIELD_MAX] =
        "contacts.addrbook_id",
        "contacts.changed_time",
        "contacts.is_favorite",
-       "contacts.image0",
-       "contacts.ringtone",
-       "contacts.note",
+       "contacts.image_thumbnail_path",
+       "contacts.ringtone_path",
        "contacts.uid",
        "data.person_id",
        "data.contact_id",
@@ -176,9 +174,8 @@ static char* condition_field_key[FIELD_MAX] =
        "addrbook_id",
        "changed_time",
        "is_favorite",
-       "image0",
-       "ringtone",
-       "note",
+       "image_thumbnail_path",
+       "ringtone_path",
        "uid",
        "person_id",
        "contact_id",
@@ -214,7 +211,7 @@ static char* group_field_key[FIELD_GROUP_MAX] =
 {
        "group_id", //0
        "group_name",
-       "ringtone"
+       "ringtone_path"
 };
 
 typedef enum
index ecf6646..3bbc1e7 100755 (executable)
@@ -263,7 +263,7 @@ string MediaSearchVisitor::convertAttribute(string &attrName, AnyPtr& matchValue
        }
        else
        {
-       conditionStr = STR_LEFT_BRACKET + attrName + operatorStr + valueStr + STR_RIGHT_BRACKET;
+               conditionStr = STR_LEFT_BRACKET + attrName + operatorStr + valueStr + STR_RIGHT_BRACKET;
        }
 
        return conditionStr;
index 0e145fe..45ebe57 100755 (executable)
@@ -868,8 +868,8 @@ void Mediacontent::OnRequestReceived(const IEventBrowseFolderPtr &eBrowse)
                                {       
                                        LogDebug("limit or offset");
                                        
-                                       long count = -1;
-                                       long offset = 0;
+                                       int count = -1;
+                                       int offset = 0;
                                        
                                        if ( eBrowse->getLimitIsSet() )
                                        {
index 8e96b64..d31a094 100644 (file)
@@ -199,10 +199,18 @@ void Sms::copyToFolder(const std::string& newFolder)
 int Sms::send()
 {
        LogDebug("sending message, id=" << getIdRef());
-       if(m_messageData == NULL)
+       Try{
+               if(m_messageData == NULL)
+               {
+                       //prepare for sending sms
+                       update();
+               }
+               MsgGetCommonHandle();
+       }
+       Catch(WrtDeviceApis::Commons::PlatformException) 
        {
-               //prepare for sending sms
-               update();
+               LogDebug("getHandle failed");
+               Throw(WrtDeviceApis::Commons::PlatformException);
        }
 
     // split the message
index cacfd99..c54d879 100755 (executable)
@@ -903,11 +903,6 @@ PROPERTY_GET_SYSTEMINFO_DEFINITION(Display) {
     DisplayPropertiesPtr display(new DisplayProperties());
     int brightness=0, dotsPerInchX=0, dotsPerInchY=0, physicalW=0, physicalH=0, resolutionW=0, resolutionH=0;
 
-    FILE* pipe = popen("xdpyinfo", "r");
-    if (pipe == NULL) {
-        return JSValueMakeNull(context);
-    }
-
     if(vconf_get_int(VCONFKEY_SETAPPL_LCD_BRIGHTNESS, &brightness) == 0) {
         display->brightness = (double)(brightness)/24;
         LogDebug("brightness : " << display->brightness);
@@ -938,7 +933,6 @@ PROPERTY_GET_SYSTEMINFO_DEFINITION(Display) {
         LogDebug("physicalWidth : " << display->physicalWidth);
     }
 
-
     return Tizen1_0::JSDisplayInfo::createJSObject(context, display);
 }
 
index ca93ab4..7b638fa 100755 (executable)
@@ -50,20 +50,15 @@ CalendarResponseDispatcher::CalendarResponseDispatcher() :
     CalendarEventsEventAnswerReceiverExpand(ThreadEnum::NULL_THREAD),
     OnEventsChangedListener(ThreadEnum::NULL_THREAD)
 {
-    LogDebug("entered");
 }
 
 CalendarResponseDispatcher::~CalendarResponseDispatcher()
 {
-    LogDebug("entered");
 }
 
-void CalendarResponseDispatcher::OnAnswerReceived(
-        const IEventGetCalendarsPtr &event)
+void CalendarResponseDispatcher::OnAnswerReceived(const IEventGetCalendarsPtr &event)
 {
-    LogDebug("entered");
-    JSCallbackManagerPtr cbm =
-        DPL::StaticPointerCast<JSCallbackManager>(event->getPrivateData());
+    JSCallbackManagerPtr cbm = DPL::StaticPointerCast<JSCallbackManager>(event->getPrivateData());
     if (!cbm) {
         LogError("no callback manager");
         return;
@@ -93,9 +88,7 @@ void CalendarResponseDispatcher::OnAnswerReceived(
 
 void CalendarResponseDispatcher::OnAnswerReceived(const IEventAddEventsPtr &event)
 {
-    LogDebug("entered");
-    JSCallbackManagerPtr cbm =
-        DPL::StaticPointerCast<JSCallbackManager>(event->getPrivateData());
+    JSCallbackManagerPtr cbm = DPL::StaticPointerCast<JSCallbackManager>(event->getPrivateData());
     Try
     {
         if (!cbm) {
@@ -132,8 +125,7 @@ void CalendarResponseDispatcher::OnAnswerReceived(const IEventAddEventsPtr &even
 
 void CalendarResponseDispatcher::OnAnswerReceived(const IEventUpdateEventsPtr &event)
 {
-    JSCallbackManagerPtr cbm =
-        DPL::StaticPointerCast<JSCallbackManager>(event->getPrivateData());
+    JSCallbackManagerPtr cbm = DPL::StaticPointerCast<JSCallbackManager>(event->getPrivateData());
     if (!cbm) {
         LogDebug("no callback manager");
         return;
@@ -152,9 +144,7 @@ void CalendarResponseDispatcher::OnAnswerReceived(const IEventUpdateEventsPtr &e
 
 void CalendarResponseDispatcher::OnAnswerReceived(const IEventDeleteEventsPtr &event)
 {
-    LogDebug("entered");
-    JSCallbackManagerPtr cbm =
-        DPL::StaticPointerCast<JSCallbackManager>(event->getPrivateData());
+    JSCallbackManagerPtr cbm = DPL::StaticPointerCast<JSCallbackManager>(event->getPrivateData());
     if (!cbm) {
         LogDebug("no callback manager");
         return;
@@ -180,9 +170,7 @@ void CalendarResponseDispatcher::OnAnswerReceived(const IEventDeleteEventsPtr &e
 
 void CalendarResponseDispatcher::OnAnswerReceived(const IEventFindEventsPtr &event)
 {
-    LogDebug("entered");
-    JSCallbackManagerPtr cbm =
-        DPL::StaticPointerCast<JSCallbackManager>(event->getPrivateData());
+    JSCallbackManagerPtr cbm = DPL::StaticPointerCast<JSCallbackManager>(event->getPrivateData());
     if (!cbm) {
         LogError("no callback manager");
         return;
@@ -229,9 +217,7 @@ void CalendarResponseDispatcher::OnAnswerReceived(const IEventFindEventsPtr &eve
 
 void CalendarResponseDispatcher::OnAnswerReceived(const IEventExpandEventRecurrencePtr &event)
 {
-    LogDebug("entered");
-    JSCallbackManagerPtr cbm =
-        DPL::StaticPointerCast<JSCallbackManager>(event->getPrivateData());
+    JSCallbackManagerPtr cbm = DPL::StaticPointerCast<JSCallbackManager>(event->getPrivateData());
     Try
     {
         if (!cbm) {
@@ -271,7 +257,6 @@ void CalendarResponseDispatcher::OnAnswerReceived(const IEventExpandEventRecurre
 
 void CalendarResponseDispatcher::onAnswerReceived(const OnEventsChangedPtr& event)
 {
-    LogDebug("entered");
     CalendarChangeCallbackPrivateDataPtr multiCallbacks =
         DPL::StaticPointerCast<CalendarChangeCallbackPrivateData>(event->getPrivateData());
     JSContextRef context = multiCallbacks->getOnAdded()->getContext();
index 92c2f97..b432783 100755 (executable)
@@ -220,7 +220,11 @@ JSValueRef JSCalendarManager::getDefaultCalendar(JSContextRef context,
         privateObject->getObject()->getDefaultCalendar(dplEvent);
 
         if (dplEvent->getResult()) {
-            return converter.toJSValueRefCalendar(dplEvent->getCalendar());
+            if( dplEvent->getCalendar() ) {
+                return converter.toJSValueRefCalendar(dplEvent->getCalendar());
+            } else {
+                LogError("Default calendar not found.");
+            }
         } else {
             ThrowMsg(UnknownException, "Getting default calendar failed by unknown reason.");
         }
@@ -297,7 +301,11 @@ JSValueRef JSCalendarManager::getCalendar(JSContextRef context,
 
         // Process the result.
         if (dplEvent->getResult()) {
-            return converter.toJSValueRefCalendar(dplEvent->getCalendar());
+            if( dplEvent->getCalendar() ) {
+                return converter.toJSValueRefCalendar(dplEvent->getCalendar());
+            } else {
+                ThrowMsg(NotFoundException, "Calendar not found.");
+            }
         } else {
             ThrowMsg(UnknownException, "Getting calendar failed by unknown reason.");
         }
index fc9e888..01f03e3 100755 (executable)
@@ -95,14 +95,13 @@ IPathPtr fromVirtualPath(JSContextRef context,
                root = arg;
        }
 
-/*    int widgetId = WrtAccessSingleton::Instance().getWidgetId();
-      WidgetDB::Api::IWidgetDBPtr widgetDB =
-        WidgetDB::Api::getWidgetDB(widgetId);*/
+       int widgetId = WrtAccessSingleton::Instance().getWidgetId();
+       WidgetDB::Api::IWidgetDBPtr widgetDB = WidgetDB::Api::getWidgetDB(widgetId);
 
        RootToPathMap rootToPath = getRootToPathMap();
-/*     rootToPath["wgt-package"] = widgetDB->getWidgetInstallationPath();
+       rootToPath["wgt-package"] = widgetDB->getWidgetInstallationPath();
        rootToPath["wgt-private"] = widgetDB->getWidgetPersistentStoragePath();
-       rootToPath["wgt-private-tmp"] = widgetDB->getWidgetTemporaryStoragePath();*/
+       rootToPath["wgt-private-tmp"] = widgetDB->getWidgetTemporaryStoragePath();
        RootToPathMapIterator it = rootToPath.find(root);
        if (it == rootToPath.end()) {
                ThrowMsg(Commons::NotFoundException, "Location not found.");
index 180fb4b..6d0131c 100755 (executable)
@@ -456,7 +456,6 @@ bool        JSMedia::setPropertyRating(
                rating = 0;
                LogDebug("Rating value set 0 as inserted value is too small");
        }
-
        
        if ( objMedia->getRating() != rating)
        {
index 3141372..bad5baa 100755 (executable)
@@ -404,13 +404,13 @@ JSValueRef JSMediacontent::findItems(
                {
                        long count = filterConverter->toLong(arguments[5]);
 
-                       if(count > 0)
+                       if(count > 0.0)
                        {
                                dplEvent->setLimit(count);
                        }
-                       else if ( count == 0)
+                       else if ( count == 0.0)
                        {
-                               dplEvent->setLimit(-1); // -1 is all row.
+                               dplEvent->setLimit(-1);
                        }
                        else
                        {
@@ -423,13 +423,13 @@ JSValueRef JSMediacontent::findItems(
                if(argumentCount >= 7)  //optional unsigned long? offset
                {
                        long offset = filterConverter->toLong(arguments[6]);
-                       if(offset != 0)
+                       if(offset != 0.0)
                        {
                                dplEvent->setOffset(offset);
                        }
                        else
                        {
-                               dplEvent->setOffset(0); 
+                               dplEvent->setOffset(-1);
                        }
                }               
         dplEvent->setPrivateData( DPL::StaticPointerCast<IEventPrivateData> (cbm));