Update change log and spec for wrt-plugins-tizen_0.4.28
authorDongjin Choi <milkelf.choi@samsung.com>
Tue, 7 May 2013 07:56:11 +0000 (16:56 +0900)
committerDongjin Choi <milkelf.choi@samsung.com>
Tue, 7 May 2013 07:56:11 +0000 (16:56 +0900)
[model] REDWOOD
[binary_type] PDA
[customer] OPEN

[Issue] N/A
[Problem] listener invalid filter check bug fix
[Cause] listener invalid filter check bug fix
[Solution] listener invalid filter check bug fix

[Issue#] N/A
[Problem] When getter api is called, get virual path.
[Cause] N/A
[Solution] modification.

[Issue] N/A
[Problem] sortMode checkroutine bug fix
[Cause] sortMode checkroutine bug fix
[Solution] sortMode checkroutine bug fix

[Issue#] N/A
[Problem] When destructing Reader Object, its sessions were closed. But real reader was alive. So its sessions also has to be alive.
[Cause] When destructing Reader Object, its sessions were closed
[Solution] Removed the code for closing sessions.

[Issue#] N/A
[Problem] DS listener manager unneeded.
[Cause] Introduction of global context manager.
[Solution] Use global context manager instead of listener manager.

[Issue] N/A
[Problem] remove assert on DBus connection
[Cause] remove assert on DBus connection
[Solution] remove assert on DBus connection

[Issue] N/A
[Problem] Crash when callback message is null.
[Cause] Push FW throw null message in unknown error
[Solution] Add a null checker

[Issue] N/A
[Problem] body_download_status is not set for draft email message
[Cause] add attachment after add message reset the body_download_status field
[Solution] retry set body_download_status

[Issue] N/A
[Problem] setScreenState API was not guarantee sync operation
[Cause] platform API was not sync operation
[Solution] wait until state was changing

[Issue#] N/A
[Problem] plugin loading time
[Cause] Symbol visibility
[Solution] Rearranged symbol visibility

[Issue#] N/A
[Problem] warning while compile
[Cause] visibility syntax were inserted wrong place
[Solution] move the visibility syntax before &

[team] WebAPI
[request] N/A
[horizontal_expansion] N/A

110 files changed:
packaging/wrt-plugins-tizen.spec
src/Alarm/CMakeLists.txt
src/Alarm/JSAlarmAbsolute.cpp
src/Alarm/JSAlarmManager.cpp
src/Alarm/JSAlarmRelative.cpp
src/Alarm/plugin_config.cpp
src/Application/AppManagerWrapper.cpp
src/Application/AppManagerWrapper.h
src/Application/ApplicationAsyncCallbackManager.cpp
src/Application/ApplicationAsyncCallbackManager.h
src/Application/ApplicationControl.h
src/Application/ApplicationControlData.h
src/Application/ApplicationConverter.h
src/Application/ApplicationListenerManager.cpp
src/Application/ApplicationListenerManager.h
src/Application/CMakeLists.txt
src/Application/JSApplication.cpp
src/Application/JSApplicationCert.cpp
src/Application/JSApplicationContext.cpp
src/Application/JSApplicationControl.cpp
src/Application/JSApplicationControlData.cpp
src/Application/JSApplicationInformation.cpp
src/Application/JSApplicationManager.cpp
src/Application/JSRequestedApplicationControl.cpp
src/Application/plugin_config.cpp
src/Bluetooth/plugin_config.cpp
src/Bookmark/plugin_config.cpp
src/Calendar/CMakeLists.txt
src/Calendar/CalendarAsyncCallbackManager.cpp
src/Calendar/CalendarAsyncCallbackManager.h
src/Calendar/CalendarListenerManager.cpp
src/Calendar/CalendarListenerManager.h
src/Calendar/JSCalendar.cpp
src/Calendar/JSCalendarAlarm.cpp
src/Calendar/JSCalendarAttendee.cpp
src/Calendar/JSCalendarEvent.cpp
src/Calendar/JSCalendarEventId.cpp
src/Calendar/JSCalendarManager.cpp
src/Calendar/JSCalendarRecurrenceRule.cpp
src/Calendar/JSCalendarTask.cpp
src/Calendar/plugin_config.cpp
src/Callhistory/plugin_config.cpp
src/Common/AsyncCallbackManager.h
src/Common/Export.h [moved from src/DataSync/DataSyncListenerManager.cpp with 61% similarity, mode: 0644]
src/Common/IListenerManager.h
src/Common/Singleton.h [new file with mode: 0644]
src/Common/StandaloneConsole/StandaloneConsole.cpp
src/Contact/CMakeLists.txt
src/Contact/ContactAsyncCallbackManager.cpp
src/Contact/ContactAsyncCallbackManager.h
src/Contact/ContactConverter.h
src/Contact/ContactListenerManager.cpp
src/Contact/ContactListenerManager.h
src/Contact/ContactRef.h
src/Contact/JSContact.cpp
src/Contact/JSContactAddress.cpp
src/Contact/JSContactAnniversary.cpp
src/Contact/JSContactEmailAddress.cpp
src/Contact/JSContactGroup.cpp
src/Contact/JSContactManager.cpp
src/Contact/JSContactName.cpp
src/Contact/JSContactOrganization.cpp
src/Contact/JSContactPhoneNumber.cpp
src/Contact/JSContactRef.cpp
src/Contact/JSContactWebSite.cpp
src/Contact/JSPerson.cpp
src/Contact/plugin_config.cpp
src/Content/plugin_config.cpp
src/DataControl/plugin_config.cpp
src/DataSync/CMakeLists.txt
src/DataSync/DataSyncListenerManager.h [deleted file]
src/DataSync/DataSyncResponseDispatcher.cpp [changed mode: 0644->0755]
src/DataSync/JSDataSyncManager.cpp
src/DataSync/plugin_config.cpp
src/DataSync/plugin_initializer.cpp
src/Download/plugin_config.cpp
src/Filesystem/CMakeLists.txt
src/Filesystem/FilesystemAsyncCallbackManager.cpp
src/Filesystem/FilesystemAsyncCallbackManager.h
src/Filesystem/FilesystemListenerManager.cpp
src/Filesystem/FilesystemListenerManager.h
src/Filesystem/FilesystemUtils.cpp
src/Filesystem/JSFile.cpp
src/Filesystem/JSFilestream.cpp
src/Filesystem/JSFilesystemManager.cpp
src/Filesystem/JSStorage.cpp
src/Filesystem/plugin_config.cpp
src/Messaging/DBus/Connection.cpp
src/Messaging/DBus/Message.cpp
src/Messaging/Email.cpp
src/Messaging/EmailConverter.cpp
src/Messaging/EmailConverter.h
src/Messaging/JSMessagingStorage.cpp
src/Messaging/MailSync.cpp
src/Messaging/MessageListenerManager.h
src/NFC/plugin_config.cpp
src/NetworkBearerSelection/JSNetworkBearerSelectionCallbackManager.cpp [changed mode: 0644->0755]
src/NetworkBearerSelection/plugin_initializer.cpp [changed mode: 0644->0755]
src/Notification/plugin_config.cpp
src/Package/plugin_config.cpp
src/Power/PowerManager.cpp [changed mode: 0644->0755]
src/Power/plugin_config.cpp
src/Push/PushManager.cpp
src/Push/plugin_config.cpp
src/SecureElement/SEReader.cpp [changed mode: 0644->0755]
src/SecureElement/plugin_config.cpp
src/SecureStorage/plugin_config.cpp
src/SystemSetting/SystemSettingResponseDispatcher.cpp [changed mode: 0644->0755]
src/SystemSetting/plugin_config.cpp
src/Systeminfo/plugin_config.cpp

index ed2aad9..ecce18d 100755 (executable)
@@ -1,6 +1,6 @@
 Name:       wrt-plugins-tizen
 Summary:    JavaScript plugins for WebRuntime
-Version:    0.4.27
+Version:    0.4.28
 Release:    0
 Group:      Development/Libraries
 License:    Apache License, Version 2.0
index d7d0c3e..e3ce625 100644 (file)
@@ -4,6 +4,8 @@ SET(TARGET_IMPL_NAME ${alarm_impl})
 
 PKG_CHECK_MODULES(platform_pkgs_alarm REQUIRED capi-appfw-application)
 
+ADD_DEFINITIONS("-fvisibility=hidden")
+
 INCLUDE_DIRECTORIES(
        ${platform_pkgs_alarm_INCLUDE_DIRS}
        ${INCLUDE_COMMON}
index e5618bd..6964b24 100644 (file)
@@ -37,6 +37,7 @@
 #include "plugin_config.h"
 #include "JSAlarmAbsolute.h"
 #include "JSAlarmManager.h"
+#include <Export.h>
 #include <Logger.h>
 
 namespace DeviceAPI {
@@ -81,7 +82,7 @@ JSStaticValue JSAlarmAbsolute::m_property[] = {
        { 0, 0, 0, 0 }                                                                                            
 };
 
-const JSClassRef JSAlarmAbsolute::getClassRef() 
+const JSClassRef DLL_EXPORT JSAlarmAbsolute::getClassRef()
 {
        if (!m_jsClassRef) {
                m_jsClassRef = JSClassCreate(&m_jsClassInfo);
@@ -112,7 +113,7 @@ bool JSAlarmAbsolute::hasInstance(JSContextRef context, JSObjectRef constructor,
     return JSValueIsObjectOfClass(context, possibleInstance, getClassRef());
 }
 
-JSObjectRef JSAlarmAbsolute::constructor(JSContextRef ctx, JSObjectRef constructor, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
+JSObjectRef DLL_EXPORT JSAlarmAbsolute::constructor(JSContextRef ctx, JSObjectRef constructor, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
 {
     try {
         AlarmAbsolutePtr priv = AlarmAbsolutePtr(new AlarmAbsolute());
index 61c6b59..eec7706 100644 (file)
@@ -50,6 +50,7 @@
 #include "JSAlarmManager.h"
 
 #include <TimeTracer.h>
+#include <Export.h>
 #include <Logger.h>
 
 namespace DeviceAPI {
@@ -106,7 +107,7 @@ JSStaticValue JSAlarmManager::m_property[] = {
                { 0, 0, 0, 0 }
 };
 
-const JSClassRef JSAlarmManager::getClassRef() 
+const JSClassRef DLL_EXPORT JSAlarmManager::getClassRef()
 {
     if (!m_jsClassRef) {
         m_jsClassRef = JSClassCreate(&m_jsClassInfo);
index 5fe1e25..8c24ae2 100644 (file)
@@ -39,6 +39,7 @@
 
 #include <app.h>
 #include <time.h>
+#include <Export.h>
 #include <Logger.h>
 
 namespace DeviceAPI {
@@ -82,7 +83,7 @@ JSStaticValue JSAlarmRelative::m_property[] = {
        { 0, 0, 0, 0 }                                                                                            
 };
 
-const JSClassRef JSAlarmRelative::getClassRef() 
+const JSClassRef DLL_EXPORT JSAlarmRelative::getClassRef()
 {
        if (!m_jsClassRef) {
                m_jsClassRef = JSClassCreate(&m_jsClassInfo);
@@ -112,7 +113,7 @@ bool JSAlarmRelative::hasInstance(JSContextRef context, JSObjectRef constructor,
     return JSValueIsObjectOfClass(context, possibleInstance, getClassRef());
 }
 
-JSObjectRef JSAlarmRelative::constructor(JSContextRef ctx, JSObjectRef constructor, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
+JSObjectRef DLL_EXPORT JSAlarmRelative::constructor(JSContextRef ctx, JSObjectRef constructor, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
 {
        try {
            ArgumentValidator validator(ctx, argumentCount, arguments);
index 3f92932..856b58a 100755 (executable)
@@ -39,8 +39,12 @@ static FunctionMapping createAlarmFunctions();
 static FunctionMapping AlarmFunctions =
     createAlarmFunctions();
 
+#pragma GCC visibility push(default)
+
 DEFINE_FUNCTION_GETTER(Alarm, AlarmFunctions);
 
+#pragma GCC visibility pop
+
 static FunctionMapping createAlarmFunctions()
 {
     /**
index 44f9763..b42af96 100644 (file)
@@ -16,7 +16,6 @@
 //
 
 #include "AppManagerWrapper.h"
-#include <dpl/singleton_impl.h>
 #include <Commons/Exception.h>
 #include <Commons/Regex.h>
 
@@ -25,8 +24,6 @@
 
 #include <Logger.h>
 
-IMPLEMENT_SINGLETON(DeviceAPI::Application::AppManagerWrapper)
-
 namespace DeviceAPI {
 namespace Application {
 
@@ -373,7 +370,7 @@ bool AppManagerWrapper::initializeAppInfo(ApplicationInformationPtr &appInfo)
        return true;
 }
 
-
+SINGLETON_IMPLEMENTATION(AppManagerWrapper)
        
 } // Application
 } // DeviceAPI
index 2feb9f6..cb0ea83 100644 (file)
@@ -22,7 +22,6 @@
 #include <map>
 #include <set>
 #include <dpl/shared_ptr.h>
-#include <dpl/singleton.h>
 
 #include <app_manager.h>
 #include <package-manager.h>
@@ -34,6 +33,8 @@
 // To get app size and installed time
 #include <pkgmgr-info.h>
 
+#include <Singleton.h>
+
 namespace DeviceAPI {
 namespace Application {
 
@@ -52,7 +53,7 @@ protected:
        virtual void onAppManagerEventUpdated(const char *appId) = 0;
 };
 
-class AppManagerWrapper
+class DLL_EXPORT AppManagerWrapper
 {
 public:
        AppManagerWrapper();
@@ -95,10 +96,11 @@ public:
        std::vector<std::string> applist;
 
 public:
-       friend class DPL::Singleton<AppManagerWrapper>;
+       friend class AppManagerWrapperSingleton;
 };
 
-typedef DPL::Singleton<AppManagerWrapper> AppManagerWrapperSingleton;
+SINGLETON_DEFINITION(AppManagerWrapper)
+
 
 } // Application
 } // DeviceAPI
index 0e3f98c..f48124a 100755 (executable)
 
 
 #include "ApplicationAsyncCallbackManager.h"
-#include <dpl/singleton_impl.h>
-
-using namespace DPL;
-
-IMPLEMENT_SINGLETON(DeviceAPI::Application::ApplicationAsyncCallbackManager)
 
 namespace DeviceAPI {
 namespace Application {
 
+SINGLETON_IMPLEMENTATION(ApplicationAsyncCallbackManager)
+
 } // Application
 } // DeviceAPI
index e2cbc7a..6e69991 100644 (file)
@@ -18,7 +18,6 @@
 #ifndef _TIZEN_APPLICATION_ASYNC_CALLBACK_MANAGER_H_
 #define _TIZEN_APPLICATION_ASYNC_CALLBACK_MANAGER_H_
 
-#include <dpl/singleton.h>
 #include <AsyncCallbackManager.h>
 
 namespace DeviceAPI {
@@ -26,19 +25,20 @@ namespace Application {
 
 class ApplicationAsyncCallbackManager : public DeviceAPI::Common::AsyncCallbackManager
 {
-public:
+private:
        ApplicationAsyncCallbackManager()
        {
        }
 
+public:
        virtual ~ApplicationAsyncCallbackManager()
        {
        }
 
-       friend class DPL::Singleton<ApplicationAsyncCallbackManager>;
+       friend class ApplicationAsyncCallbackManagerSingleton;
 };
 
-typedef DPL::Singleton<ApplicationAsyncCallbackManager> ApplicationAsyncCallbackManagerSingleton;
+SINGLETON_DEFINITION(ApplicationAsyncCallbackManager)
 
 } // Application
 } // DeviceAPI
index 4834877..54d3e34 100755 (executable)
@@ -23,6 +23,7 @@
 #include <dpl/shared_ptr.h>
 #include <app_service.h>
 #include "ApplicationControlData.h"
+#include <Export.h>
 
 namespace DeviceAPI {
 namespace Application {
@@ -31,7 +32,7 @@ class ApplicationControl;
 typedef DPL::SharedPtr<ApplicationControl> ApplicationControlPtr;
 
 /* This object represents a single extra data for service request and reply */
-class ApplicationControl
+class DLL_EXPORT ApplicationControl
 {
   public:
     ApplicationControl();
index c0c8256..a91d024 100755 (executable)
@@ -21,6 +21,7 @@
 #include <string>
 #include <vector>
 #include <dpl/shared_ptr.h>
+#include <Export.h>
 
 namespace DeviceAPI {
 namespace Application {
@@ -32,7 +33,7 @@ typedef std::vector<ApplicationControlDataPtr> ApplicationControlDataArray;
 typedef DPL::SharedPtr<ApplicationControlDataArray> ApplicationControlDataArrayPtr;
 
 /* This object represents a single extra data for app control request and reply */
-class ApplicationControlData
+class DLL_EXPORT ApplicationControlData
 {
   public:
     ApplicationControlData();
index d707f69..86c7982 100755 (executable)
 #include "ApplicationControlData.h"
 #include "ApplicationControl.h"
 #include "ApplicationCert.h"
+#include <Export.h>
 
 
 namespace DeviceAPI {
 namespace Application {
-class ApplicationConverter : public WrtDeviceApis::CommonsJavaScript::Converter
+class DLL_EXPORT ApplicationConverter : public WrtDeviceApis::CommonsJavaScript::Converter
 {
 public:
        using WrtDeviceApis::CommonsJavaScript::Converter::toJSValueRef;
index 2b082ca..6f703a0 100755 (executable)
 //
 
 #include "ApplicationListenerManager.h"
-#include <dpl/singleton_impl.h>
-
-using namespace DPL;
-
-IMPLEMENT_SINGLETON(DeviceAPI::Application::ApplicationListenerManager)
 
 namespace DeviceAPI {
 namespace Application {
 
+SINGLETON_IMPLEMENTATION(ApplicationListenerManager)
+
 } // Application
 } // DeviceAPI
index 4d70acd..fe71371 100644 (file)
@@ -21,7 +21,6 @@
 #include <map>
 #include <JavaScriptCore/JavaScript.h>
 #include <dpl/shared_ptr.h>
-#include <dpl/singleton.h>
 #include <IListenerManager.h>
 #include "JSApplicationManager.h"
 #include "ApplicationController.h"
@@ -32,16 +31,20 @@ namespace Application {
 
 class ApplicationListenerManager : public DeviceAPI::Common::IListenerController
 {
-public:
+private:
        ApplicationListenerManager()
        {
        }
 
+public:
        virtual ~ApplicationListenerManager()
        {
        }
+
+       friend class ApplicationListenerManagerSingleton;
 };
-typedef DPL::Singleton<ApplicationListenerManager> ApplicationListenerManagerSingleton;
+
+SINGLETON_DEFINITION(ApplicationListenerManager)
 
 class ApplicationListenerCanceller : public DeviceAPI::Common::IListenerItem
 {
index 982d930..43712aa 100644 (file)
@@ -11,6 +11,8 @@ PKG_CHECK_MODULES(platform_pkgs_application REQUIRED
        pkgmgr-info
 )
 
+ADD_DEFINITIONS("-fvisibility=hidden")
+
 INCLUDE_DIRECTORIES(
        ${INCLUDE_COMMON}
        ${TOP}/Application
index d5a55e6..5f4c214 100644 (file)
@@ -38,6 +38,7 @@
 #include "JSApplication.h"
 
 #include <TimeTracer.h>
+#include <Export.h>
 #include <Logger.h>
 
 namespace DeviceAPI {
@@ -86,7 +87,7 @@ JSStaticFunction JSApplication::m_function[] = {
 };
 
 
-JSClassRef JSApplication::getClassRef() {
+JSClassRef DLL_EXPORT JSApplication::getClassRef() {
        if (!m_classRef) {
                m_classRef = JSClassCreate(&m_classInfo);
        }
index 736c9a7..2dd3da8 100644 (file)
@@ -29,6 +29,7 @@
 
 #include "ApplicationCert.h"
 #include "JSApplicationCert.h"
+#include <Export.h>
 #include <Logger.h>
 
 namespace DeviceAPI {
@@ -66,7 +67,7 @@ JSStaticValue JSApplicationCert::m_property[] = {
     { 0, 0, 0, 0 }
 };
 
-JSClassRef JSApplicationCert::getClassRef() {
+JSClassRef DLL_EXPORT JSApplicationCert::getClassRef() {
        if (!m_classRef) {
                m_classRef = JSClassCreate(&m_classInfo);
        }
index 33829f6..d8dbe89 100644 (file)
@@ -25,6 +25,7 @@
 //#include <JSTizenException.h>
 #include "ApplicationContext.h"
 #include "JSApplicationContext.h"
+#include <Export.h>
 #include <Logger.h>
 
 namespace DeviceAPI {
@@ -61,7 +62,7 @@ JSStaticValue JSApplicationContext::m_property[] = {
     { 0, 0, 0, 0 }
 };
 
-JSClassRef JSApplicationContext::getClassRef() {
+JSClassRef DLL_EXPORT JSApplicationContext::getClassRef() {
        if (!m_classRef) {
                m_classRef = JSClassCreate(&m_classInfo);
        }
index 6c8f96a..f851e38 100644 (file)
@@ -24,6 +24,7 @@
 #include <SecurityExceptions.h>
 #include <JSWebAPIException.h>
 #include <ArgumentValidator.h>
+#include <Export.h>
 
 //#include <Commons/Exception.h>
 //#include <JSTizenExceptionFactory.h>
@@ -78,7 +79,7 @@ const JSClassDefinition* JSApplicationControl::getClassInfo()
     return &m_classInfo;
 }
 
-const JSClassRef JSApplicationControl::getClassRef()
+const JSClassRef DLL_EXPORT JSApplicationControl::getClassRef()
 {
     if (!m_jsClassRef) {
         m_jsClassRef = JSClassCreate(&m_classInfo);
@@ -99,7 +100,7 @@ JSObjectRef JSApplicationControl::createJSObject(JSContextRef context, const App
 }
 
 
-ApplicationControlPtr JSApplicationControl::getApplicationControl(JSContextRef context, JSValueRef value)
+ApplicationControlPtr DLL_EXPORT JSApplicationControl::getApplicationControl(JSContextRef context, JSValueRef value)
 {
        if (!isObjectOfClass(context, value)) {
                throw TypeMismatchException("is not a object class");
@@ -140,7 +141,7 @@ void JSApplicationControl::finalize(JSObjectRef object)
     delete priv;
 }
 
-JSObjectRef JSApplicationControl::constructor(JSContextRef context, 
+JSObjectRef DLL_EXPORT JSApplicationControl::constructor(JSContextRef context,
        JSObjectRef constructor, 
        size_t argumentCount, 
        const JSValueRef arguments[], 
index 287e91b..f7110b5 100644 (file)
@@ -24,6 +24,7 @@
 //#include <JSTizenExceptionFactory.h>
 //#include <JSTizenException.h>
 #include <JSUtil.h>
+#include <Export.h>
 #include "JSApplicationControlData.h"
 #include "ApplicationConverter.h"
 #include "ApplicationUtil.h"
@@ -69,7 +70,7 @@ JSStaticFunction JSApplicationControlData::m_functions[] =
        { 0, 0, 0 }
 };
 
-JSClassRef JSApplicationControlData::getClassRef() {
+JSClassRef DLL_EXPORT JSApplicationControlData::getClassRef() {
        if (!m_classRef) {
                m_classRef = JSClassCreate(&m_classInfo);
        }
@@ -87,7 +88,7 @@ JSObjectRef JSApplicationControlData::createJSObject(JSContextRef context, const
        return JSObjectMake(context, getClassRef(), priv);
 }
 
-JSObjectRef JSApplicationControlData::constructor(JSContextRef context, JSObjectRef constructor, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
+JSObjectRef DLL_EXPORT JSApplicationControlData::constructor(JSContextRef context, JSObjectRef constructor, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
 {
        try {
                ArgumentValidator validator(context, argumentCount, arguments);
index 62db8e8..ef51ae3 100644 (file)
@@ -26,6 +26,7 @@
 #include "ApplicationInformation.h"
 #include "JSApplicationInformation.h"
 #include "AppManagerWrapper.h"
+#include <Export.h>
 #include <Logger.h>
 
 namespace DeviceAPI {
@@ -70,7 +71,7 @@ JSStaticValue JSApplicationInformation::m_property[] = {
     { 0, 0, 0, 0 }
 };
 
-JSClassRef JSApplicationInformation::getClassRef() {
+JSClassRef DLL_EXPORT JSApplicationInformation::getClassRef() {
        if (!m_classRef) {
                m_classRef = JSClassCreate(&m_classInfo);
        }
index cc94d6c..a3764e0 100644 (file)
@@ -50,6 +50,7 @@
 #include "JSApplication.h"
 
 #include <TimeTracer.h>
+#include <Export.h>
 #include <Logger.h>
 
 namespace DeviceAPI {
@@ -100,7 +101,7 @@ JSStaticFunction JSApplicationManager::m_function[] = {
                { 0, 0, 0 }
 };
 
-const JSClassRef JSApplicationManager::getClassRef() 
+const JSClassRef DLL_EXPORT JSApplicationManager::getClassRef()
 {
        if (!m_jsClassRef) {
                m_jsClassRef = JSClassCreate(&m_classInfo);
index 48c6b1d..f232efd 100644 (file)
@@ -30,6 +30,7 @@
 #include "ApplicationConverter.h"
 #include "ApplicationUtil.h"
 #include "JSRequestedApplicationControl.h"
+#include <Export.h>
 #include <Logger.h>
 
 using namespace WrtDeviceApis::Commons;
@@ -78,7 +79,7 @@ const JSClassDefinition* JSRequestedApplicationControl::getClassInfo()
     return &m_classInfo;
 }
 
-JSClassRef JSRequestedApplicationControl::getClassRef()
+JSClassRef DLL_EXPORT JSRequestedApplicationControl::getClassRef()
 {
     if (!m_jsClassRef) {
         m_jsClassRef = JSClassCreate(&m_classInfo);
index e2a4acb..291d57b 100755 (executable)
@@ -51,8 +51,12 @@ static FunctionMapping createApplicationFunctions();
 static FunctionMapping ApplicationFunctions =
     createApplicationFunctions();
 
+#pragma GCC visibility push(default)
+
 DEFINE_FUNCTION_GETTER(Application, ApplicationFunctions);
 
+#pragma GCC visibility pop
+
 static FunctionMapping createApplicationFunctions()
 {
     /**
index e8e9ec1..05fb079 100644 (file)
@@ -40,8 +40,12 @@ namespace Bluetooth {
 static FunctionMapping createBluetoothFunctions();
 static FunctionMapping BluetoothFunctions = createBluetoothFunctions();
 
+#pragma GCC visibility push(default)
+
 DEFINE_FUNCTION_GETTER(Bluetooth, BluetoothFunctions);
 
+#pragma GCC visibility pop
+
 static FunctionMapping createBluetoothFunctions()
 {
     /**
index a9f3c00..4806636 100755 (executable)
@@ -38,8 +38,12 @@ static WrtDeviceApis::Commons::FunctionMapping createBookmarkFunctions();
 static WrtDeviceApis::Commons::FunctionMapping bookmarkFunctions =
     createBookmarkFunctions();
 
+#pragma GCC visibility push(default)
+
 DEFINE_FUNCTION_GETTER(Bookmark, bookmarkFunctions);
 
+#pragma GCC visibility pop
+
 static WrtDeviceApis::Commons::FunctionMapping createBookmarkFunctions()
 {
     using namespace WrtDeviceApis::Commons;
index 205d9d7..4e28e92 100755 (executable)
@@ -4,6 +4,8 @@ SET(TARGET_IMPL_NAME ${calendar_impl})
 
 PKG_CHECK_MODULES(platform_pkgs_calendar REQUIRED calendar-service2 icu-i18n)
 
+ADD_DEFINITIONS("-fvisibility=hidden")
+
 INCLUDE_DIRECTORIES(
        ${TOP}/Tizen
        ${TOP}/TimeUtil
index d215fa4..02b5f4d 100755 (executable)
 
 
 #include "CalendarAsyncCallbackManager.h"
-#include <dpl/singleton_impl.h>
 
-IMPLEMENT_SINGLETON(DeviceAPI::Calendar::CalendarAsyncCallbackManager)
+namespace DeviceAPI {
+namespace Calendar {
 
+SINGLETON_IMPLEMENTATION(CalendarAsyncCallbackManager)
+
+} // Calendar
+} // DeviceAPI
index de060eb..de3b6bd 100755 (executable)
@@ -19,7 +19,6 @@
 #ifndef _TIZEN_CALENDAR_ASYNC_CALLBACK_MANAGER_H_
 #define _TIZEN_CALENDAR_ASYNC_CALLBACK_MANAGER_H_
 
-#include <dpl/singleton.h>
 #include <AsyncCallbackManager.h>
 
 namespace DeviceAPI {
@@ -27,21 +26,22 @@ namespace Calendar {
 
 class CalendarAsyncCallbackManager : public DeviceAPI::Common::AsyncCallbackManager
 {
-public:
+private:
        CalendarAsyncCallbackManager()
        {
        }
 
+public:
        virtual ~CalendarAsyncCallbackManager()
        {
        }
 
-       friend class DPL::Singleton<CalendarAsyncCallbackManager>;
+       friend class CalendarAsyncCallbackManagerSingleton;
 };
 
-typedef DPL::Singleton<CalendarAsyncCallbackManager> CalendarAsyncCallbackManagerSingleton;
+SINGLETON_DEFINITION(CalendarAsyncCallbackManager)
 
 } // Calendar
 } // DeviceAPI
 
-#endif // _TIZEN_CALENDAR_ASYNC_CALLBACK_MANAGER_H_
\ No newline at end of file
+#endif // _TIZEN_CALENDAR_ASYNC_CALLBACK_MANAGER_H_
index 9c32655..612eb96 100755 (executable)
 
 
 #include "CalendarListenerManager.h"
-#include <dpl/singleton_impl.h>
 
-IMPLEMENT_SINGLETON(DeviceAPI::Calendar::CalendarListenerManager)
+namespace DeviceAPI {
+namespace Calendar {
 
+SINGLETON_IMPLEMENTATION(CalendarListenerManager)
+
+} // Calendar
+} // DeviceAPI
index 5509a62..dc7e87e 100644 (file)
@@ -22,7 +22,6 @@
 #include <map>
 #include <JavaScriptCore/JavaScript.h>
 #include <dpl/shared_ptr.h>
-#include <dpl/singleton.h>
 #include <IListenerManager.h>
 #include "CalendarResponseDispatcher.h"
 #include "JSCalendar.h"
 namespace DeviceAPI {
 namespace Calendar {
 
-
-
 class CalendarListenerManager : public DeviceAPI::Common::IListenerController
 {
-public:
+private:
        CalendarListenerManager()
        {
        }
 
+public:
        virtual ~CalendarListenerManager()
        {
        }
+
+       friend class CalendarListenerManagerSingleton;
 };
-typedef DPL::Singleton<CalendarListenerManager> CalendarListenerManagerSingleton;
+
+SINGLETON_DEFINITION(CalendarListenerManager)
 
 class CalendarListenerCanceller : public DeviceAPI::Common::IListenerItem
 {
index 35e7651..10e7875 100644 (file)
@@ -30,6 +30,8 @@
 #include <SecurityExceptions.h>
 #include <TimeUtilConverter.h>
 #include <TimeTracer.h>
+#include <Logger.h>
+#include <Export.h>
 
 #include "JSCalendarManager.h"
 #include "CalendarConverter.h"
@@ -45,7 +47,6 @@
 
 #include "CalendarAsyncCallbackManager.h"
 #include "CalendarListenerManager.h"
-#include <Logger.h>
 
 using namespace WrtDeviceApis::Commons;
 using namespace WrtDeviceApis::CommonsJavaScript;
@@ -123,7 +124,7 @@ void JSCalendar::finalize(JSObjectRef object)
     }
 }
 
-const JSClassRef JSCalendar::getClassRef()
+const JSClassRef DLL_EXPORT JSCalendar::getClassRef()
 {
     if (!m_jsClassRef) {
         m_jsClassRef = JSClassCreate(&m_classInfo);
index 7933f32..41110c5 100755 (executable)
@@ -25,6 +25,7 @@
 #include <JSTZDate.h>
 #include <JSTimeDuration.h>
 #include <Logger.h>
+#include <Export.h>
 
 
 using namespace WrtDeviceApis::Commons;
@@ -72,7 +73,7 @@ const JSClassDefinition* JSCalendarAlarm::getClassInfo()
     return &(m_classInfo);
 }
 
-JSClassRef JSCalendarAlarm::getClassRef()
+JSClassRef DLL_EXPORT JSCalendarAlarm::getClassRef()
 {
     if (!m_jsClassRef) {
         m_jsClassRef = JSClassCreate(&m_classInfo);
@@ -120,7 +121,7 @@ void JSCalendarAlarm::setPrivateObject(const EventAlarmPtr &alarm,
     }
 }
 
-JSObjectRef JSCalendarAlarm::constructor(JSContextRef context,
+JSObjectRef DLL_EXPORT JSCalendarAlarm::constructor(JSContextRef context,
     JSObjectRef constructor,
     size_t argumentCount,
     const JSValueRef arguments[],
index 5cf83d9..d2c1862 100755 (executable)
@@ -26,6 +26,7 @@
 #include <DurationProperties.h>
 #include <ContactRef.h>
 #include <Logger.h>
+#include <Export.h>
 
 using namespace WrtDeviceApis::Commons;
 using namespace WrtDeviceApis::CommonsJavaScript;
@@ -77,7 +78,7 @@ const JSClassDefinition* JSCalendarAttendee::getClassInfo()
     return &(m_classInfo);
 }
 
-JSClassRef JSCalendarAttendee::getClassRef()
+JSClassRef DLL_EXPORT JSCalendarAttendee::getClassRef()
 {
     if (!m_jsClassRef) {
         m_jsClassRef = JSClassCreate(&m_classInfo);
@@ -149,7 +150,7 @@ void JSCalendarAttendee::setPrivateObject(const EventAttendeePtr &attendee,
     }
 }
 
-JSObjectRef JSCalendarAttendee::constructor(JSContextRef context,
+JSObjectRef DLL_EXPORT JSCalendarAttendee::constructor(JSContextRef context,
     JSObjectRef constructor,
     size_t argumentCount,
     const JSValueRef arguments[],
index 02557e8..dd52fb3 100755 (executable)
@@ -39,6 +39,7 @@
 #include <GlobalContextManager.h>
 #include <TimeTracer.h>
 #include <Logger.h>
+#include <Export.h>
 
 using namespace WrtDeviceApis::Commons;
 using namespace WrtDeviceApis::CommonsJavaScript;
@@ -115,7 +116,7 @@ void JSCalendarEvent::finalize(JSObjectRef object)
     }
 }
 
-JSObjectRef JSCalendarEvent::constructor(JSContextRef context,
+JSObjectRef DLL_EXPORT JSCalendarEvent::constructor(JSContextRef context,
     JSObjectRef constructor,
     size_t argumentCount,
     const JSValueRef arguments[],
@@ -208,7 +209,7 @@ JSObjectRef JSCalendarEvent::createJSCalendarEvent(JSContextRef context, Calenda
     return JSObjectMake(context, getClassRef(), priv);
 }
 
-const JSClassRef JSCalendarEvent::getClassRef()
+const JSClassRef DLL_EXPORT JSCalendarEvent::getClassRef()
 {
     if (!m_jsClassRef) {
         m_jsClassRef = JSClassCreate(&m_classInfo);
index 6fbbfbf..16e49c0 100755 (executable)
@@ -24,6 +24,7 @@
 #include <JSTZDate.h>
 #include <sstream>
 #include <Logger.h>
+#include <Export.h>
 
 using namespace WrtDeviceApis::Commons;
 using namespace WrtDeviceApis::CommonsJavaScript;
@@ -66,7 +67,7 @@ const JSClassDefinition* JSCalendarEventId::getClassInfo()
     return &(m_classInfo);
 }
 
-JSClassRef JSCalendarEventId::getClassRef()
+JSClassRef DLL_EXPORT JSCalendarEventId::getClassRef()
 {
     if (!m_jsClassRef) {
         m_jsClassRef = JSClassCreate(&m_classInfo);
@@ -138,7 +139,7 @@ void JSCalendarEventId::finalize(JSObjectRef object)
     }
 }
 
-JSObjectRef JSCalendarEventId::constructor(JSContextRef context,
+JSObjectRef DLL_EXPORT JSCalendarEventId::constructor(JSContextRef context,
     JSObjectRef constructor,
     size_t argumentCount,
     const JSValueRef arguments[],
index 29189ef..4e96599 100755 (executable)
@@ -28,6 +28,7 @@
 #include <JSTizenExceptionFactory.h>
 #include <SecurityExceptions.h>
 #include <TimeTracer.h>
+#include <Export.h>
 
 #include "JSCalendarManager.h"
 #include "JSCalendar.h"
@@ -410,7 +411,7 @@ JSValueRef JSCalendarManager::getCalendar(JSContextRef context,
     }
 }
 
-const JSClassRef JSCalendarManager::getClassRef()
+const JSClassRef DLL_EXPORT JSCalendarManager::getClassRef()
 {
     if (!m_jsClassRef) {
         m_jsClassRef = JSClassCreate(&m_classInfo);
index 16fb4e5..2fe383c 100755 (executable)
@@ -24,6 +24,7 @@
 #include <JSTZDate.h>
 #include <GlobalContextManager.h>
 #include <Logger.h>
+#include <Export.h>
 
 using namespace WrtDeviceApis::Commons;
 using namespace WrtDeviceApis::CommonsJavaScript;
@@ -76,7 +77,7 @@ const JSClassDefinition* JSCalendarRecurrenceRule::getClassInfo()
     return &(m_classInfo);
 }
 
-JSClassRef JSCalendarRecurrenceRule::getClassRef()
+JSClassRef DLL_EXPORT JSCalendarRecurrenceRule::getClassRef()
 {
     if (!m_jsClassRef) {
         m_jsClassRef = JSClassCreate(&m_classInfo);
@@ -147,7 +148,7 @@ void JSCalendarRecurrenceRule::setPrivateObject(const EventRecurrenceRulePtr &rr
     }
 }
 
-JSObjectRef JSCalendarRecurrenceRule::constructor(JSContextRef context,
+JSObjectRef DLL_EXPORT JSCalendarRecurrenceRule::constructor(JSContextRef context,
     JSObjectRef constructor,
     size_t argumentCount,
     const JSValueRef arguments[],
index b07872c..221548e 100755 (executable)
@@ -33,6 +33,7 @@
 #include <JSTizenExceptionFactory.h>
 #include <GlobalContextManager.h>
 #include <Logger.h>
+#include <Export.h>
 
 using namespace WrtDeviceApis::Commons;
 using namespace WrtDeviceApis::CommonsJavaScript;
@@ -102,7 +103,7 @@ void JSCalendarTask::finalize(JSObjectRef object)
     }
 }
 
-JSObjectRef JSCalendarTask::constructor(JSContextRef context,
+JSObjectRef DLL_EXPORT JSCalendarTask::constructor(JSContextRef context,
     JSObjectRef constructor,
     size_t argumentCount,
     const JSValueRef arguments[],
@@ -195,7 +196,7 @@ JSObjectRef JSCalendarTask::createJSCalendarTask(JSContextRef context, CalendarE
     return JSObjectMake(context, getClassRef(), priv);
 }
 
-const JSClassRef JSCalendarTask::getClassRef()
+const JSClassRef DLL_EXPORT JSCalendarTask::getClassRef()
 {
     if (!m_jsClassRef) {
         m_jsClassRef = JSClassCreate(&m_classInfo);
index 2a89106..f6518fe 100755 (executable)
@@ -40,8 +40,12 @@ static FunctionMapping createCalendarFunctions();
 
 static FunctionMapping CalendarFunctions = createCalendarFunctions();
 
+#pragma GCC visibility push(default)
+
 DEFINE_FUNCTION_GETTER(Calendar, CalendarFunctions);
 
+#pragma GCC visibility pop
+
 static FunctionMapping createCalendarFunctions()
 {
     /**
index 55ff988..ca0128b 100755 (executable)
@@ -45,8 +45,12 @@ static WrtDeviceApis::Commons::FunctionMapping createCallHistoryFunctions();
 
 static WrtDeviceApis::Commons::FunctionMapping CallHistoryFunctions = createCallHistoryFunctions();
 
+#pragma GCC visibility push(default)
+
 DEFINE_FUNCTION_GETTER(CallHistory, CallHistoryFunctions);
 
+#pragma GCC visibility pop
+
 static WrtDeviceApis::Commons::FunctionMapping createCallHistoryFunctions()
 {
        using namespace WrtDeviceApis::Commons;
index ab1b036..e2427f5 100644 (file)
@@ -28,6 +28,8 @@
 #include <dpl/shared_ptr.h>
 #include <dpl/type_list.h>
 #include <CommonsJavaScript/JSCallbackManager.h>
+#include "Singleton.h"
+#include "Export.h"
 #include "Logger.h"
 
 namespace DeviceAPI {
@@ -91,6 +93,6 @@ private:
 };
 
 } // Common
-}// DeviceAPI
+} // DeviceAPI
 
 #endif // _TIZEN_COMMONS_ASYNC_CALLBACK_MANAGER_H_
old mode 100755 (executable)
new mode 100644 (file)
similarity index 61%
rename from src/DataSync/DataSyncListenerManager.cpp
rename to src/Common/Export.h
index 3ed3048..44afafc
@@ -1,6 +1,6 @@
 //
 // Tizen Web Device API
-// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+// Copyright (c) 2013 Samsung Electronics Co., Ltd.
 //
 // Licensed under the Apache License, Version 2.0 (the License);
 // you may not use this file except in compliance with the License.
 // limitations under the License.
 //
 
+#ifndef __TIZEN_EXPORT_H__
+#define __TIZEN_EXPORT_H__
 
-#include "DataSyncListenerManager.h"
-#include <dpl/singleton_impl.h>
-
-IMPLEMENT_SINGLETON(DeviceAPI::DataSync::DataSyncListenerManager)
+#if defined(__GNUC__) && __GNUC__ >= 4
+    #define DLL_EXPORT      __attribute__((visibility("default")))
+    #define DLL_LOCAL       __attribute__((visibility("hidden")))
+#else
+    #define DLL_EXPORT
+    #define DLL_LOCAL
+#endif
 
+#endif // __TIZEN_EXPORT_H__
index c32aac3..bf8aad6 100644 (file)
@@ -28,6 +28,8 @@
 #include <map>
 #include <JavaScriptCore/JavaScript.h>
 #include <dpl/shared_ptr.h>
+#include "Singleton.h"
+#include "Export.h"
 #include "Logger.h"
 
 namespace DeviceAPI {
@@ -150,6 +152,6 @@ private:
 };
 
 } // Common
-}// DeviceAPI
+} // DeviceAPI
 
 #endif // _TIZEN_COMMONS_ILISTENER_MANAGER_H_
diff --git a/src/Common/Singleton.h b/src/Common/Singleton.h
new file mode 100644 (file)
index 0000000..89d65b4
--- /dev/null
@@ -0,0 +1,50 @@
+//
+// Tizen Web Device API
+// Copyright (c) 2012 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Apache License, Version 2.0 (the License);
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+/**
+ * @file        Singleton.h
+ * @author      Kisub Song (kisubs.song@samsung.com)
+ * @version     0.1
+ * @brief
+ */
+
+#include <Export.h>
+
+#ifndef _TIZEN_COMMONS_SINGLETON_H_
+#define _TIZEN_COMMONS_SINGLETON_H_
+
+#define SINGLETON_DEFINITION(CLASSNAME) \
+               class DLL_EXPORT CLASSNAME##Singleton : private CLASSNAME { \
+               private: \
+                       CLASSNAME##Singleton() {} \
+                       static CLASSNAME##Singleton &InternalInstance(); \
+               public: \
+                       virtual ~CLASSNAME##Singleton() {} \
+                       static CLASSNAME &Instance(); \
+               };
+
+#define SINGLETON_IMPLEMENTATION(CLASSNAME) \
+               CLASSNAME##Singleton& CLASSNAME##Singleton::InternalInstance() { \
+                       static CLASSNAME##Singleton instance; \
+                       return instance; \
+               } \
+               CLASSNAME& CLASSNAME##Singleton::Instance() { \
+                       CLASSNAME##Singleton& instance = CLASSNAME##Singleton::InternalInstance(); \
+                       return instance; \
+               }
+
+#endif // _TIZEN_COMMONS_SINGLETON_H_
index c5e76c2..937dc07 100755 (executable)
@@ -26,6 +26,7 @@
 #include <vector>
 #include <iostream>
 #include <termios.h>
+#include <JSUtil.h>
 
 #undef LOG_TAG
 #define LOG_TAG "TIZEN_DEVICEAPI"
@@ -291,6 +292,10 @@ JSContextRef StandaloneConsole::getGlobalContext(){
 
 JSValueRef StandaloneConsole::RunLineEx(const char* line, JSValueRef *exception){
     JSStringRef jsScript = JSStringCreateWithUTF8CString(line);
+    int size = strlen(line);
+    if( size != JSStringGetLength(jsScript) ){
+        cout <<"error - fail to converting JSStringRef"<<endl;
+    }
     JSValueRef ret = JSEvaluateScript(mGlobalContext, jsScript, NULL, NULL, 0, exception);
     JSStringRelease(jsScript);
     return ret;
@@ -309,8 +314,8 @@ JSValueRef StandaloneConsole::RunScriptEx(const char* path, JSValueRef *exceptio
 
     if( length > 0 )
     {
-        char buff[length];
-        memset(buff, 0, length);
+        char buff[length+1];
+        memset(buff, 0, length+1);
         int r = fread(buff, 1, length, f);
         fclose(f);
 
index b269027..5dc9cae 100755 (executable)
@@ -5,6 +5,8 @@ SET(TARGET_CONFIG_NAME ${contact_config})
 
 PKG_CHECK_MODULES(platform_pkgs_contact REQUIRED contacts-service2 libpcrecpp)
 
+ADD_DEFINITIONS("-fvisibility=hidden")
+
 INCLUDE_DIRECTORIES(
        ${TOP}/Tizen
        ${INCLUDE_COMMON}
index 94e01bc..edad9cc 100755 (executable)
  */
 
 #include "ContactAsyncCallbackManager.h"
-#include <dpl/singleton_impl.h>
-
-using namespace DPL;
-
-IMPLEMENT_SINGLETON(DeviceAPI::Contact::ContactAsyncCallbackManager)
 
 namespace DeviceAPI {
 namespace Contact {
 
+SINGLETON_IMPLEMENTATION(ContactAsyncCallbackManager)
+
 } // Contact
 } // DeviceAPI
index b9476f5..e2489d0 100755 (executable)
@@ -25,7 +25,6 @@
 #ifndef _TIZEN_CONTACT_ASYNC_CALLBACK_MANAGER_H_
 #define _TIZEN_CONTACT_ASYNC_CALLBACK_MANAGER_H_
 
-#include <dpl/singleton.h>
 #include <AsyncCallbackManager.h>
 
 namespace DeviceAPI {
@@ -33,19 +32,20 @@ namespace Contact {
 
 class ContactAsyncCallbackManager : public DeviceAPI::Common::AsyncCallbackManager
 {
-public:
+private:
        ContactAsyncCallbackManager()
        {
        }
 
+public:
        virtual ~ContactAsyncCallbackManager()
        {
        }
 
-       friend class DPL::Singleton<ContactAsyncCallbackManager>;
+       friend class ContactAsyncCallbackManagerSingleton;
 };
 
-typedef DPL::Singleton<ContactAsyncCallbackManager> ContactAsyncCallbackManagerSingleton;
+SINGLETON_DEFINITION(ContactAsyncCallbackManager)
 
 } // Contact
 } // DeviceAPI
index c2d441e..926e53f 100755 (executable)
 #include <ArgumentValidator.h>
 #include <JSWebAPIError.h>
 #include <JSUtil.h>
+#include <Export.h>
 
 namespace DeviceAPI {
 namespace Contact {
 
-class ContactConverter : public WrtDeviceApis::CommonsJavaScript::Converter
+class DLL_EXPORT ContactConverter : public WrtDeviceApis::CommonsJavaScript::Converter
 {
 public:
        using WrtDeviceApis::CommonsJavaScript::Converter::toJSValueRef;
index 4c0e86a..b4d8ecc 100755 (executable)
  */
 
 #include "ContactListenerManager.h"
-#include <dpl/singleton_impl.h>
-
-using namespace DPL;
-
-IMPLEMENT_SINGLETON(DeviceAPI::Contact::ContactListenerManager)
 
 namespace DeviceAPI {
 namespace Contact {
 
+SINGLETON_IMPLEMENTATION(ContactListenerManager)
+
 } // Contact
 } // DeviceAPI
index 62883a9..d97e361 100644 (file)
@@ -28,7 +28,6 @@
 #include <map>
 #include <JavaScriptCore/JavaScript.h>
 #include <dpl/shared_ptr.h>
-#include <dpl/singleton.h>
 #include <IListenerManager.h>
 #include "AddressBookController.h"
 #include "ContactManagerController.h"
 namespace DeviceAPI {
 namespace Contact {
 
-
 class ContactListenerManager : public DeviceAPI::Common::IListenerController
 {
-public:
+private:
        ContactListenerManager()
        {
        }
 
+public:
        virtual ~ContactListenerManager()
        {
        }
+
+       friend class ContactListenerManagerSingleton;
 };
-typedef DPL::Singleton<ContactListenerManager> ContactListenerManagerSingleton;
+
+SINGLETON_DEFINITION(ContactListenerManager)
+
 
 class ContactsChangeListenerCanceller : public DeviceAPI::Common::IListenerItem
 {
index 833c2cc..e561ae7 100755 (executable)
 #include <string>
 #include <vector>
 #include <dpl/shared_ptr.h>
+#include <Export.h>
 
 namespace DeviceAPI {
 namespace Contact {
 
-class ContactRef;
+class DLL_EXPORT ContactRef;
 typedef DPL::SharedPtr<ContactRef> ContactRefPtr;
 
 typedef std::vector<ContactRefPtr> ContactRefArray;
 typedef DPL::SharedPtr<ContactRefArray> ContactRefArrayPtr;
 
-class ContactRef
+class DLL_EXPORT ContactRef
 {
 public:
        ContactRef();
index 64ea5b9..9e5edbd 100644 (file)
@@ -36,6 +36,7 @@
 #include <JSWebAPIError.h>
 #include <TimeTracer.h>
 #include <Logger.h>
+#include <Export.h>
 
 #define FILTER_CLASS_NAME "Contact"
 
@@ -118,7 +119,7 @@ JSStaticFunction JSContact::m_functions[] =
 
 JSClassRef JSContact::m_classRef = JSClassCreate(&m_classInfo);
 
-JSClassRef JSContact::getClassRef() {
+JSClassRef DLL_EXPORT JSContact::getClassRef() {
        if (!m_classRef) {
                m_classRef = JSClassCreate(&m_classInfo);
        }
index 65e4d14..479d4a7 100755 (executable)
@@ -29,6 +29,7 @@
 #include "ContactConverter.h"
 #include "JSContactAddress.h"
 #include <Logger.h>
+#include <Export.h>
 
 #define CONTACT_CLASS_NAME "ContactAddress"
 
@@ -88,7 +89,7 @@ JSStaticFunction JSContactAddress::m_functions[] =
 
 JSClassRef JSContactAddress::m_classRef = JSClassCreate(&m_classInfo);
 
-JSClassRef JSContactAddress::getClassRef() {
+JSClassRef DLL_EXPORT JSContactAddress::getClassRef() {
        if (!m_classRef) {
                m_classRef = JSClassCreate(&m_classInfo);
        }
index bb6ec4f..66c4c1f 100644 (file)
@@ -29,6 +29,7 @@
 #include "ContactConverter.h"
 #include "JSContactAnniversary.h"
 #include <Logger.h>
+#include <Export.h>
 
 #define FILTER_CLASS_NAME "Anniversary"
 #define CONTACT_ATTR_DATE "date"
@@ -75,7 +76,7 @@ JSStaticFunction JSContactAnniversary::m_functions[] =
 
 JSClassRef JSContactAnniversary::m_classRef = JSClassCreate(&m_classInfo);
 
-JSClassRef JSContactAnniversary::getClassRef() {
+JSClassRef DLL_EXPORT JSContactAnniversary::getClassRef() {
        if (!m_classRef) {
                m_classRef = JSClassCreate(&m_classInfo);
        }
index a08a8d2..51ec327 100755 (executable)
@@ -29,6 +29,7 @@
 #include "ContactConverter.h"
 #include "JSContactEmailAddress.h"
 #include <Logger.h>
+#include <Export.h>
 
 #define CONTACT_CLASS_NAME "EmailAddress"
 
@@ -78,7 +79,7 @@ JSStaticFunction JSContactEmailAddress::m_functions[] =
 
 JSClassRef JSContactEmailAddress::m_classRef = JSClassCreate(&m_classInfo);
 
-JSClassRef JSContactEmailAddress::getClassRef() {
+JSClassRef DLL_EXPORT JSContactEmailAddress::getClassRef() {
        if (!m_classRef) {
                m_classRef = JSClassCreate(&m_classInfo);
        }
index fa1479a..b248e5b 100644 (file)
@@ -29,6 +29,7 @@
 #include <JSTizenException.h>
 #include "ContactConverter.h"
 #include <Logger.h>
+#include <Export.h>
 
 #define CONTACT_CLASS_NAME                  "ContactGroup"
 #define CONTACT_PROP_ATTR_ID                "id"
@@ -83,7 +84,7 @@ JSStaticFunction JSContactGroup::m_functions[] =
 
 JSClassRef JSContactGroup::m_classRef = JSClassCreate(&m_classInfo);
 
-JSClassRef JSContactGroup::getClassRef()
+JSClassRef DLL_EXPORT JSContactGroup::getClassRef()
 {
        if (!m_classRef) {
                m_classRef = JSClassCreate(&m_classInfo);
index 8e1555e..5e527ae 100644 (file)
@@ -48,6 +48,7 @@
 #include <JSWebAPIError.h>
 #include <TimeTracer.h>
 #include <Logger.h>
+#include <Export.h>
 
 namespace DeviceAPI {
 namespace Contact {
@@ -102,7 +103,7 @@ JSStaticFunction JSContactManager::m_function[] = {
        { 0, 0, 0 }
 };
 
-JSClassRef JSContactManager::getClassRef()
+JSClassRef DLL_EXPORT JSContactManager::getClassRef()
 {
        if (!m_classRef) {
                m_classRef = JSClassCreate(&m_classInfo);
index 7f33a0d..1744911 100644 (file)
@@ -29,6 +29,7 @@
 #include "ContactConverter.h"
 #include "JSContactName.h"
 #include <Logger.h>
+#include <Export.h>
 
 #define CONTACT_CLASS_NAME                                             "ContactName"
 #define CONTACT_PROP_ATTR_PREFIX                               "prefix"
@@ -91,7 +92,7 @@ JSStaticFunction JSContactName::m_functions[] =
 
 JSClassRef JSContactName::m_classRef = JSClassCreate(&m_classInfo);
 
-JSClassRef JSContactName::getClassRef()
+JSClassRef DLL_EXPORT JSContactName::getClassRef()
 {
        if (!m_classRef) {
                m_classRef = JSClassCreate(&m_classInfo);
index 457a7be..517b105 100644 (file)
@@ -29,6 +29,7 @@
 #include <JSTizenException.h>
 #include "ContactConverter.h"
 #include <Logger.h>
+#include <Export.h>
 
 #define ORGANIZATION_CLASS_NAME "ContactOrganization"
 
@@ -84,7 +85,7 @@ JSStaticFunction JSContactOrganization::m_functions[] =
 
 JSClassRef JSContactOrganization::m_classRef = JSClassCreate(&m_classInfo);
 
-JSClassRef JSContactOrganization::getClassRef() {
+JSClassRef DLL_EXPORT JSContactOrganization::getClassRef() {
        if (!m_classRef) {
                m_classRef = JSClassCreate(&m_classInfo);
        }
index d28ceab..a1fa441 100755 (executable)
@@ -29,6 +29,7 @@
 #include "ContactConverter.h"
 #include "JSContactPhoneNumber.h"
 #include <Logger.h>
+#include <Export.h>
 
 #define FILTER_CLASS_NAME "ContactPhoneNumber"
 
@@ -78,7 +79,7 @@ JSStaticFunction JSContactPhoneNumber::m_functions[] =
 
 JSClassRef JSContactPhoneNumber::m_classRef = JSClassCreate(&m_classInfo);
 
-JSClassRef JSContactPhoneNumber::getClassRef() {
+JSClassRef DLL_EXPORT JSContactPhoneNumber::getClassRef() {
        if (!m_classRef) {
                m_classRef = JSClassCreate(&m_classInfo);
        }
index 0a8c775..7329649 100644 (file)
@@ -29,6 +29,7 @@
 #include "ContactConverter.h"
 #include "JSContactRef.h"
 #include <Logger.h>
+#include <Export.h>
 
 #define CONTACT_CLASS_NAME                                     "ContactRef"
 #define CONTACT_PROP_ATTR_ADDRESS_BOOK_ID                      "addressBookId"
@@ -75,7 +76,7 @@ JSStaticFunction JSContactRef::m_functions[] =
 
 JSClassRef JSContactRef::m_classRef = JSClassCreate(&m_classInfo);
 
-JSClassRef JSContactRef::getClassRef()
+JSClassRef DLL_EXPORT JSContactRef::getClassRef()
 {
        if (!m_classRef) {
                m_classRef = JSClassCreate(&m_classInfo);
index 36b49f3..92eada9 100644 (file)
@@ -29,6 +29,7 @@
 #include "ContactConverter.h"
 #include "JSContactWebSite.h"
 #include <Logger.h>
+#include <Export.h>
 
 #define CONTACT_CLASS_NAME "ContactWebSite"
 
@@ -76,7 +77,7 @@ JSStaticFunction JSContactWebSite::m_functions[] =
 
 JSClassRef JSContactWebSite::m_classRef = JSClassCreate(&m_classInfo);
 
-JSClassRef JSContactWebSite::getClassRef() {
+JSClassRef DLL_EXPORT JSContactWebSite::getClassRef() {
        if (!m_classRef) {
                m_classRef = JSClassCreate(&m_classInfo);
        }
index bd171cd..8b5a0c2 100644 (file)
@@ -35,6 +35,7 @@
 #include <JSWebAPIError.h>
 #include <TimeTracer.h>
 #include <Logger.h>
+#include <Export.h>
 
 #define FILTER_CLASS_NAME               "Person"
 
@@ -100,7 +101,7 @@ JSStaticFunction JSPerson::m_functions[] =
 
 JSClassRef JSPerson::m_classRef = JSClassCreate(&m_classInfo);
 
-JSClassRef JSPerson::getClassRef() {
+JSClassRef DLL_EXPORT JSPerson::getClassRef() {
        if (!m_classRef) {
                m_classRef = JSClassCreate(&m_classInfo);
        }
index 83b46a6..c2aaeac 100755 (executable)
@@ -41,8 +41,12 @@ static FunctionMapping createContactFunctions();
 static FunctionMapping ContactFunctions =
     createContactFunctions();
 
+#pragma GCC visibility push(default)
+
 DEFINE_FUNCTION_GETTER(Contact, ContactFunctions);
 
+#pragma GCC visibility pop
+
 static FunctionMapping createContactFunctions()
 {
     /**
index 90f0756..fd7c673 100755 (executable)
@@ -41,8 +41,12 @@ static FunctionMapping createContentFunctions();
 
 static FunctionMapping ContentFunctions = createContentFunctions();
 
+#pragma GCC visibility push(default)
+
 DEFINE_FUNCTION_GETTER(Content, ContentFunctions);
 
+#pragma GCC visibility pop
+
 static FunctionMapping createContentFunctions()
 {
     /**
index 4201c1e..b9b1cd3 100755 (executable)
@@ -35,8 +35,12 @@ static WrtDeviceApis::Commons::FunctionMapping DataConrolFunctions = createDataC
 
 
 
+#pragma GCC visibility push(default)
+
 DEFINE_FUNCTION_GETTER(DataControl, DataConrolFunctions);
 
+#pragma GCC visibility pop
+
 
 static WrtDeviceApis::Commons::FunctionMapping createDataConrolFunctions()
 {
index 21c3076..2b60847 100755 (executable)
@@ -24,7 +24,6 @@ SET(SRCS_IMPL
        DataSyncManager.cpp
        DataSyncConverter.cpp
        DataSyncResponseDispatcher.cpp
-       DataSyncListenerManager.cpp
        JSSyncInfo.cpp
        JSSyncStatistics.cpp
        JSSyncProfileInfo.cpp
diff --git a/src/DataSync/DataSyncListenerManager.h b/src/DataSync/DataSyncListenerManager.h
deleted file mode 100755 (executable)
index a3f8cfb..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-//
-// Tizen Web Device API
-// Copyright (c) 2012 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Apache License, Version 2.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-
-
-#ifndef _TIZEN_DATASYNC_LISTENER_MANAGER_H_
-#define _TIZEN_DATASYNC_LISTENER_MANAGER_H_
-
-#include <JavaScriptCore/JavaScript.h>
-#include <dpl/shared_ptr.h>
-#include <dpl/singleton.h>
-#include <IListenerManager.h>
-#include "DataSyncResponseDispatcher.h"
-#include "JSDataSyncManager.h"
-#include "IDataSyncManager.h"
-#include <sstream>
-#include <Logger.h>
-
-namespace DeviceAPI {
-namespace DataSync {
-
-class DataSyncListenerManager : public DeviceAPI::Common::IListenerController
-{
-       public:
-       DataSyncListenerManager()
-       {
-       }
-
-       virtual ~DataSyncListenerManager()
-       {
-       }
-};
-typedef DPL::Singleton<DataSyncListenerManager> DataSyncListenerManagerSingleton;
-
-class DataSyncListenerCanceller : public DeviceAPI::Common::IListenerItem
-{
-       public:
-       DataSyncListenerCanceller(JSContextRef context, JSObjectRef object, long watchId) :
-               DeviceAPI::Common::IListenerItem(context, object, watchId)
-       {
-       }
-
-       virtual ~DataSyncListenerCanceller()
-       {
-       }
-
-       virtual void cancelListener()
-       {
-               DataSyncManagerPrivObject *privateObject = static_cast<DataSyncManagerPrivObject*>(JSObjectGetPrivate(m_object));
-               if (!privateObject) {
-                       LoggerW("Object is null.");
-                       return;
-               }
-
-               IDataSyncManagerPtr datasyncManager = privateObject->getObject();
-
-               Try {
-                       LoggerD("Remove change listeners for datasync operation with id: "<<m_watchId);
-                       IEventStopSyncPtr dplEvent(new IEventStopSync());
-                       std::stringstream ss;
-                       ss<<m_watchId;
-                       dplEvent->setProfileId(std::string(ss.str()));
-                       dplEvent->setForSynchronousCall();
-                       datasyncManager->stopSync(dplEvent);
-               } Catch(WrtDeviceApis::Commons::Exception) {
-                       LoggerE("Error on platform : " << _rethrown_exception.GetMessage());
-               }
-       }
-};
-typedef DPL::SharedPtr<DataSyncListenerCanceller> DataSyncListenerCancellerPtr;
-
-}
-}
-
-#endif // _TIZEN_DATASYNC_LISTENER_MANAGER_H_
\ No newline at end of file
old mode 100644 (file)
new mode 100755 (executable)
index 1c12839..2a7256b
@@ -15,6 +15,7 @@
 // limitations under the License.
 //
 
+
 #include "DataSyncResponseDispatcher.h"
 #include "DataSyncConverter.h"
 #include "DataSyncMultiCallback.h"
@@ -23,6 +24,7 @@
 #include <JSTizenException.h>
 #include <JSTizenExceptionFactory.h>
 #include <Logger.h>
+#include <GlobalContextManager.h>
 
 using namespace WrtDeviceApis::Commons;
 using namespace WrtDeviceApis::CommonsJavaScript;
@@ -56,8 +58,13 @@ void DataSyncResponseDispatcher::onAnswerReceived(const OnDataSyncStateChangedPt
     }
 
     Try
-    {   
+       {
         JSContextRef context = multiCallbacks->getOnProgress()->getContext();
+           if( !GlobalContextManager::getInstance()->isAliveGlobalContext(context)){
+               LoggerW("Global context invalidated.");
+           return;
+           }
+
         if (event->getResult()) {
             DataSyncConverter converter(context);
             JSValueRef profileId = converter.toJSValueRef(event->getProfileId());
index d5f7050..0417b57 100755 (executable)
@@ -15,6 +15,7 @@
 // limitations under the License.
 //
 
+
 #include <string>
 #include <CommonsJavaScript/PrivateObject.h>
 #include <CommonsJavaScript/Converter.h>
@@ -36,8 +37,8 @@
 #include "plugin_config.h"
 #include "DataSyncResponseDispatcher.h"
 #include "DataSyncMultiCallback.h"
-#include "DataSyncListenerManager.h"
 #include <Logger.h>
+#include <GlobalContextManager.h>
 
 using namespace WrtDeviceApis::Commons;
 using namespace WrtDeviceApis::CommonsJavaScript;
@@ -617,7 +618,7 @@ JSValueRef JSDataSyncManager::startSync(JSContextRef context,
 
         IDataSyncManagerPtr datasyncManager = privateObject->getObject();
 
-        JSContextRef globalContext = privateObject->getContext();
+        JSContextRef globalContext = GlobalContextManager::getInstance()->getGlobalContext(context);
 
         DataSyncConverter converter(context);
 
@@ -699,9 +700,6 @@ JSValueRef JSDataSyncManager::startSync(JSContextRef context,
         if (dplEvent->getResult()) {
                        if(dplEvent->getEmitter()) {
                                LoggerD("watcherId: "<<profileId.at(0));
-                   DataSyncListenerCancellerPtr canceller = DataSyncListenerCancellerPtr(new DataSyncListenerCanceller(globalContext, thisObject, profileId.at(0)));
-                   IListenerItemPtr listenerItem = DPL::StaticPointerCast<IListenerItem>(canceller);
-                   DataSyncListenerManagerSingleton::Instance().registerListener(listenerItem, globalContext);
                        }
 
             LoggerD("Starting the sync succeeded.");
index 108c23c..e17acb3 100755 (executable)
@@ -37,8 +37,12 @@ static FunctionMapping createDataSyncFunctions();
 
 static FunctionMapping DataSyncFunctions = createDataSyncFunctions();
 
+#pragma GCC visibility push(default)
+
 DEFINE_FUNCTION_GETTER(DataSync, DataSyncFunctions);
 
+#pragma GCC visibility pop
+
 static FunctionMapping createDataSyncFunctions()
 {
     /**
index dc28744..bc4e333 100755 (executable)
@@ -15,6 +15,7 @@
 // limitations under the License.
 //
 
+
 #include <Commons/plugin_initializer_def.h>
 #include <Commons/WrtAccess/WrtAccess.h>
 #include <Commons/Exception.h>
@@ -23,8 +24,8 @@
 #include "JSSyncInfo.h"
 #include "JSSyncServiceInfo.h"
 #include "JSSyncProfileInfo.h"
-#include "DataSyncListenerManager.h"
 #include <Logger.h>
+#include <GlobalContextManager.h>
 
 namespace Options{
 class_definition_options_t DataSyncOptions =
@@ -79,13 +80,13 @@ void on_widget_stop_callback(int widgetId)
 void on_frame_load_callback(const void * context)
 {
     LoggerD("[Tizen\\DataSync] on_frame_load_callback (" << context << ")");
+       DeviceAPI::Common::GlobalContextManager::getInstance()->addGlobalContext(static_cast<JSContextRef>(context));
 }
 
 void on_frame_unload_callback(const void * context)
 {
     LoggerD("[Tizen\\DataSync] on_frame_unload_callback (" << context << ")");
-
-       DataSyncListenerManagerSingleton::Instance().unregisterContext(static_cast<JSContextRef>(context));
+       DeviceAPI::Common::GlobalContextManager::getInstance()->removeGlobalContext(static_cast<JSContextRef>(context));
 }
 
 PLUGIN_ON_WIDGET_START(on_widget_start_callback)
index 1bc9add..d2ed815 100755 (executable)
@@ -37,8 +37,12 @@ static FunctionMapping createDownloadFunctions();
 static FunctionMapping DownloadFunctions =
     createDownloadFunctions();
 
+#pragma GCC visibility push(default)
+
 DEFINE_FUNCTION_GETTER(Download, DownloadFunctions);
 
+#pragma GCC visibility pop
+
 static FunctionMapping createDownloadFunctions()
 {
     /**
index 65157d8..3b67e79 100755 (executable)
@@ -5,6 +5,8 @@ SET(TARGET_CONFIG_NAME ${filesystem_config})
 
 PKG_CHECK_MODULES(platform_pkgs_filesystem REQUIRED capi-appfw-application libpcrecpp ecore)
 
+ADD_DEFINITIONS("-fvisibility=hidden")
+
 INCLUDE_DIRECTORIES(
        ${INCLUDE_COMMON}
        ${platform_pkgs_filesystem_INCLUDE_DIRS}
index a601927..9df7077 100755 (executable)
 //
 
 #include "FilesystemAsyncCallbackManager.h"
-#include <dpl/singleton_impl.h>
 
-using namespace DPL;
+namespace DeviceAPI {
+namespace Filesystem {
 
-IMPLEMENT_SINGLETON(DeviceAPI::Filesystem::FilesystemAsyncCallbackManager)
+SINGLETON_IMPLEMENTATION(FilesystemAsyncCallbackManager)
+
+}
+}
index 174d795..276cf93 100755 (executable)
@@ -18,7 +18,6 @@
 #ifndef _TIZEN_FILESYSTEM_ASYNC_CALLBACK_MANAGER_H_
 #define _TIZEN_FILESYSTEM_ASYNC_CALLBACK_MANAGER_H_
 
-#include <dpl/singleton.h>
 #include <AsyncCallbackManager.h>
 
 namespace DeviceAPI {
@@ -26,19 +25,20 @@ namespace Filesystem {
 
 class FilesystemAsyncCallbackManager : public DeviceAPI::Common::AsyncCallbackManager
 {
-public:
+private:
        FilesystemAsyncCallbackManager()
        {
        }
 
+public:
        virtual ~FilesystemAsyncCallbackManager()
        {
        }
 
-       friend class DPL::Singleton<FilesystemAsyncCallbackManager>;
+       friend class FilesystemAsyncCallbackManagerSingleton;
 };
 
-typedef DPL::Singleton<FilesystemAsyncCallbackManager> FilesystemAsyncCallbackManagerSingleton;
+SINGLETON_DEFINITION(FilesystemAsyncCallbackManager)
 
 } // Tizen1_0
 } // TizenApis
index 0be7414..95e6f03 100755 (executable)
 //
 
 #include "FilesystemListenerManager.h"
-#include <dpl/singleton_impl.h>
 
-using namespace DPL;
+namespace DeviceAPI {
+namespace Filesystem {
 
-IMPLEMENT_SINGLETON(DeviceAPI::Filesystem::FilesystemListenerManager)
+SINGLETON_IMPLEMENTATION(FilesystemListenerManager)
+
+}
+}
index 5860ed8..5a9e76d 100644 (file)
@@ -21,7 +21,6 @@
 #include <map>
 #include <JavaScriptCore/JavaScript.h>
 #include <dpl/shared_ptr.h>
-#include <dpl/singleton.h>
 #include <IListenerManager.h>
 #include "IManager.h"
 #include "StorageStaticController.h"
@@ -32,17 +31,20 @@ namespace Filesystem {
 
 class FilesystemListenerManager : public DeviceAPI::Common::IListenerController
 {
-public:
+private:
        FilesystemListenerManager()
        {
        }
 
+public:
        virtual ~FilesystemListenerManager()
        {
        }
+
+       friend class FilesystemListenerManagerSingleton;
 };
 
-typedef DPL::Singleton<FilesystemListenerManager> FilesystemListenerManagerSingleton;
+SINGLETON_DEFINITION(FilesystemListenerManager)
 
 class FilesystemListenerCanceller : public DeviceAPI::Common::IListenerItem
 {
index 2835ecd..f4b0b35 100644 (file)
@@ -25,6 +25,7 @@
 #include <WidgetDB/WidgetDBMgr.h>
 #include <iconv.h>
 #include "FilesystemUtils.h"
+#include <Export.h>
 #include <Logger.h>
 
 using namespace WrtDeviceApis;
@@ -43,7 +44,7 @@ typedef PathToRootMap::const_iterator PathToRootMapIterator;
 namespace DeviceAPI {
 namespace Filesystem {
 namespace Utils{
-const RootToPathMap& getRootToPathMap()
+const RootToPathMap DLL_EXPORT & getRootToPathMap()
 {
        static RootToPathMap result;
        if (result.empty()) {
@@ -59,7 +60,7 @@ const RootToPathMap& getRootToPathMap()
        return result;
 }
 
-const PathToRootMap& getPathToRootMap()
+const PathToRootMap DLL_EXPORT & getPathToRootMap()
 {
        static PathToRootMap result;
        if (result.empty()) {
@@ -75,7 +76,7 @@ const PathToRootMap& getPathToRootMap()
        return result;
 }
 
-IPathPtr fromVirtualPath(JSContextRef context,
+IPathPtr DLL_EXPORT fromVirtualPath(JSContextRef context,
                          const std::string& arg)
 {
        LoggerD("arg:[" << arg << "]");
@@ -128,7 +129,7 @@ IPathPtr fromVirtualPath(JSContextRef context,
        return result;
 }
 
-std::string toVirtualPath(JSContextRef context, const std::string& arg) {
+std::string DLL_EXPORT toVirtualPath(JSContextRef context, const std::string& arg) {
 
     int widgetId = WrtAccessSingleton::Instance().getWidgetId();
     WidgetDB::Api::IWidgetDBPtr widgetDB =
@@ -155,7 +156,7 @@ std::string toVirtualPath(JSContextRef context, const std::string& arg) {
 //     ThrowMsg(Commons::ConversionException, "Path doesn't contain a valid location type.");
 }
 
-bool isUriPath(const std::string& path) {
+bool DLL_EXPORT isUriPath(const std::string& path) {
                const char* uriPrefix = "file://";
                const char* stringFromPath = path.c_str();
 
@@ -166,7 +167,7 @@ bool isUriPath(const std::string& path) {
                return false;
 }
 
-bool isPathValid(const std::string& path) {
+bool DLL_EXPORT isPathValid(const std::string& path) {
        static const std::string currentDirBegin(PATH_INVALID_COMPONENT_CURRENT_DIR + IPath::getSeparator());
        static const std::string parentDirBegin(PATH_INVALID_COMPONENT_PARENT_DIR +
                IPath::getSeparator());
@@ -185,7 +186,7 @@ bool isPathValid(const std::string& path) {
        return true;
 }
 
-void toUTF8String(std::string fromEncoding, const char* from, const size_t fromLength, std::string &outputString) 
+void DLL_EXPORT toUTF8String(std::string fromEncoding, const char* from, const size_t fromLength, std::string &outputString)
 {
        const char *fromEncodingSet = fromEncoding.c_str();
        char *outputBuf = NULL;
index 476dcae..e408437 100644 (file)
@@ -42,6 +42,7 @@
 #include <JSWebAPIError.h>
 #include <JSWebAPIException.h>
 #include <JSUtil.h>
+#include <Export.h>
 
 #include <TimeTracer.h>
 #include "FilesystemUtils.h"
@@ -162,7 +163,7 @@ void JSFile::finalize(JSObjectRef object)
        }
 }
 
-const JSClassRef JSFile::getClassRef()
+const JSClassRef DLL_EXPORT JSFile::getClassRef()
 {
        if (!m_classRef) {
                m_classRef = JSClassCreate(&m_classInfo);
index 49a76b9..134879e 100644 (file)
@@ -26,6 +26,7 @@
 #include <JSTizenException.h>
 #include <SecurityExceptions.h>
 #include <TimeTracer.h>
+#include <Export.h>
 
 #include "Converter.h"
 #include "Encodings.h"
@@ -97,7 +98,7 @@ void JSFilestream::finalize(JSObjectRef object)
        delete privateObject;
 }
 
-const JSClassRef JSFilestream::getClassRef()
+const JSClassRef DLL_EXPORT JSFilestream::getClassRef()
 {
        if (!m_classRef) {
                m_classRef = JSClassCreate(&m_classInfo);
index 83f4906..92acfc7 100644 (file)
@@ -39,6 +39,7 @@
 #include <JSWebAPIError.h>
 #include <JSWebAPIException.h>
 #include <JSUtil.h>
+#include <Export.h>
 #include "JSFile.h"
 #include "FilesystemUtils.h"
 #include "Converter.h"
@@ -124,7 +125,7 @@ JSStaticFunction JSFilesystemManager::m_functions[] = {
        { 0, 0, 0 }
 };
 
-const JSClassRef JSFilesystemManager::getClassRef()
+const JSClassRef DLL_EXPORT JSFilesystemManager::getClassRef()
 {
        if (!m_classRef) {
                m_classRef = JSClassCreate(&m_classInfo);
index 6cc105c..25027ef 100644 (file)
@@ -21,6 +21,7 @@
 #include <CommonsJavaScript/JSUtils.h>
 //#include <CommonsJavaScript/Converter.h>
 #include <CommonsJavaScript/JSDOMExceptionFactory.h>
+#include <Export.h>
 #include "StorageProperties.h"
 #include "JSStorage.h"
 #include "Converter.h"
@@ -76,7 +77,7 @@ JSStaticValue JSStorage::m_property[] = {
        { 0, 0, 0, 0 }
 };
 
-const JSClassRef JSStorage::getClassRef()
+const JSClassRef DLL_EXPORT JSStorage::getClassRef()
 {
        if (!m_jsClassRef) {
                m_jsClassRef = JSClassCreate(&m_classInfo);
index 48ae00b..40ec29c 100755 (executable)
@@ -31,6 +31,8 @@
 namespace DeviceAPI {
 namespace Filesystem {
 
+#pragma GCC visibility push(default)
+
 const char* FILESYSTEM_PARAM_LOCATION = "param:location";
 const char* FILESYSTEM_DEVICE_CAP_READ = "filesystem.read";
 const char* FILESYSTEM_DEVICE_CAP_WRITE = "filesystem.write";
@@ -433,5 +435,8 @@ void setFilesystemAccessModeDevCaps(int accessMode,
     }
     outFunction->deviceCapabilities = devCaps;
 }
+
+#pragma GCC visibility pop
+
 }
 }
index e2745de..f07305f 100755 (executable)
@@ -36,7 +36,10 @@ Connection::Connection() :
 
 Connection::~Connection()
 {
-    assert(!m_connected && "DBus connection has not been closed.");
+    if(m_connected)
+    {
+        LoggerE("DBus connection has not been closed.");
+    }
     delete m_messageDispatcher;
     if (dbus_error_is_set(&m_error)) {
         dbus_error_free(&m_error);
@@ -130,13 +133,21 @@ void Connection::removeFilter(const std::string& rule)
 
 void Connection::setWorkerThread(DPL::Thread* thread)
 {
-    assert(!m_connected && "Connection has already been established.");
+    if(m_connected)
+    {
+        LoggerE("Connection has already been established.");
+        ThrowMsg(WrtDeviceApis::Commons::PlatformException,    "Connection has already been established.");
+    }
     m_messageDispatcher->SwitchToThread(thread);
 }
 
 void Connection::addFilterInternal(const std::string& rule)
 {
-    assert(m_connection && "Connection has to be established first.");
+    if(!m_connection)
+    {
+        LoggerE("Connection has to be established first.");
+        ThrowMsg(WrtDeviceApis::Commons::PlatformException, "Connection has to be established first.");
+    }
     dbus_bus_add_match(m_connection, rule.c_str(), &m_error);
     if (dbus_error_is_set(&m_error)) {
         std::string message = m_error.message;
@@ -147,21 +158,30 @@ void Connection::addFilterInternal(const std::string& rule)
 
 void Connection::removeFilterInternal(const std::string& rule)
 {
-    assert(m_connection && "Connection has to be established first.");
-    dbus_bus_remove_match(m_connection, rule.c_str(), &m_error);
-    if (dbus_error_is_set(&m_error)) {
-        std::string message = m_error.message;
-        dbus_error_free(&m_error);
-        LoggerD("removeFilterInternal error : " << message);
-//        ThrowMsg(WrtDeviceApis::Commons::InvalidArgumentException, "Invalid rule: " << message);
+    if(!m_connection)
+    {
+        LoggerE("Connection has to be established first.");
     }
+    else
+    {
+        dbus_bus_remove_match(m_connection, rule.c_str(), &m_error);
+        if (dbus_error_is_set(&m_error)) {
+            std::string message = m_error.message;
+            dbus_error_free(&m_error);
+            LoggerD("removeFilterInternal error : " << message);
+        }
+       }
 }
 
 dbus_bool_t Connection::addWatch(DBusWatch* watch,
         void* data)
 {
     LoggerD("ENTER");
-    assert(data && "Connection should be passed as user data.");
+    if(!data)
+    {
+        LoggerE("Connection should be passed as user data.");
+        ThrowMsg(WrtDeviceApis::Commons::PlatformException,    "Connection should be passed as user data.");
+    }
     Connection* this_ = static_cast<Connection*>(data);
     WatchPtr wrapper(new Watch(watch));
     if (wrapper->isEnabled()) {
@@ -177,7 +197,11 @@ void Connection::removeWatch(DBusWatch* watch,
         void* data)
 {
     LoggerD("ENTER");
-    assert(data && "Connection should be passed as user data.");
+    if(!data)
+    {
+        LoggerE("Connection should be passed as user data.");
+        ThrowMsg(WrtDeviceApis::Commons::PlatformException,    "Connection should be passed as user data.");
+    }
     Connection* this_ = static_cast<Connection*>(data);
     Watch wrapper(watch);
     if (wrapper.isEnabled()) {
@@ -192,7 +216,11 @@ void Connection::toggleWatch(DBusWatch* watch,
         void* data)
 {
     LoggerD("ENTER");
-    assert(data && "Connection should be passed as user data.");
+    if(!data)
+    {
+        LoggerE("Connection should be passed as user data.");
+        ThrowMsg(WrtDeviceApis::Commons::PlatformException,    "Connection should be passed as user data.");           
+    }
     Connection* this_ = static_cast<Connection*>(data);
     Watch wrapper(watch);
     if (wrapper.isEnabled()) {
@@ -240,7 +268,11 @@ DBusHandlerResult Connection::filterMessage(DBusConnection* connection,
 Connection::MessageDispatcher::MessageDispatcher(Connection* connection) :
     m_connection(connection)
 {
-    assert(m_connection && "Connection cannot be NULL.");
+    if(!m_connection)
+    {
+        LoggerE("Connection cannot be NULL.");
+        ThrowMsg(WrtDeviceApis::Commons::PlatformException,    "Connection cannot be NULL.");
+    }
     DPL::Event::ControllerEventHandler<AddDescriptorSyncEvent>::Touch();
     DPL::Event::ControllerEventHandler<RemoveDescriptorSyncEvent>::Touch();
 }
@@ -318,7 +350,10 @@ void Connection::MessageDispatcher::OnWaitableHandleEvent(
 
 Connection::Watch::Watch(DBusWatch* watch) : m_watch(watch)
 {
-    assert(m_watch && "Watch cannot be NULL.");
+    if(!m_watch)
+    {
+        LoggerE("Watch cannot be NULL.");
+    }
 }
 
 DPL::WaitableHandle Connection::Watch::getHandle() const
index 4a07642..a053218 100755 (executable)
 //
 
 #include "Message.h"
-#include <cassert>
 #include <Commons/Exception.h>
+#include <Logger.h>
 
 namespace DeviceAPI  {
 namespace Messaging {
 namespace DBus {
 Message::Message(DBusMessage* message) : m_message(message)
 {
-    assert(m_message && "Message cannot be NULL.");
+    if(!m_message)
+    {
+        LoggerE("Message cannot be NULL.");
+        ThrowMsg(WrtDeviceApis::Commons::PlatformException, "Message cannot be NULL.");
+    }
     addRef();
 }
 
@@ -84,7 +88,11 @@ void Message::unref()
 
 Message::ReadIterator_::ReadIterator_(DBusMessage* message)
 {
-    assert(message && "Message cannot be NULL.");
+    if(!message)
+    {
+        LoggerE("Message cannot be NULL.");
+        ThrowMsg(WrtDeviceApis::Commons::PlatformException, "Message cannot be NULL.");
+    }
     m_valid = dbus_message_iter_init(message, &m_iterator);
 }
 
index da3ad43..a250d30 100644 (file)
@@ -87,7 +87,6 @@ Email::Email(const std::string& id, int accountId) :
                LoggerD("Account ID = " << accountId);
                m_accountId = accountId;
                reload();
-               setMessageStatus(MESSAGE_STATUS_LOADED);
                
        } catch (const WrtDeviceApis::Commons::PlatformException& ex) {
                LoggerE("Exception: " << ex.DumpToString());
@@ -429,6 +428,7 @@ void Email::reload()
     //setFolderType(EmailConverter::toFolderType(m_mailbox->mailbox_type));
     
     setFolderType(EmailConverter::toFolderType(m_mail->mailbox_type));
+    setMessageStatus(EmailConverter::toMessageStatus(m_mail->mailbox_type));
 
     LOG_EXIT
 }
@@ -758,7 +758,7 @@ void Email::updateBody()
                ThrowMsg(WrtDeviceApis::Commons::PlatformException, "html Body File Open Error");
        }
 
-       m_mail->body_download_status = true;
+       m_mail->body_download_status = 1;
 
        setBodyValidity(true);
 
@@ -1030,6 +1030,24 @@ void Email::addMessageToDraft()
                             "Couldn't find message " << m_mail->mail_id << ". [" << error << "]");
                }
 
+               if(result->body_download_status != 1)
+               {
+                       LoggerD("result->body_download_status " << result->body_download_status);
+                       int mail_id_count = 1;
+                       int mail_id_array[1];
+                       email_mail_attribute_type attribute_type;
+                       email_mail_attribute_value_t attribute_value;
+               
+                       mail_id_array[0] = m_mail->mail_id;
+                       attribute_type = EMAIL_MAIL_ATTRIBUTE_BODY_DOWNLOAD_STATUS;
+                       attribute_value.integer_type_value = 1;
+                       
+                       email_update_mail_attribute(m_accountId, mail_id_array, 1, EMAIL_MAIL_ATTRIBUTE_BODY_DOWNLOAD_STATUS, attribute_value);
+               }
+
+               readHeader();
+               readInfo();
+
                if (m_mail->file_path_plain)
                        free(m_mail->file_path_plain);
                m_mail->file_path_plain = strdup(result->file_path_plain);
index 0125370..7ce8e6b 100644 (file)
@@ -131,6 +131,19 @@ FolderType toFolderType(int mailboxType)
     }
 }
 
+MessageStatus toMessageStatus(email_mailbox_type_e mailboxType)
+{
+    LOG_ENTER
+    switch (mailboxType) {
+       case EMAIL_MAILBOX_TYPE_INBOX: return MESSAGE_STATUS_LOADED;
+       case EMAIL_MAILBOX_TYPE_OUTBOX: return MESSAGE_STATUS_SENDING;
+       case EMAIL_MAILBOX_TYPE_SENTBOX: return MESSAGE_STATUS_SENT;
+       case EMAIL_MAILBOX_TYPE_DRAFT: return MESSAGE_STATUS_DRAFT;
+    default:
+               return MESSAGE_STATUS_LOADED;
+    }
+}
+
 
 }
 }
index 30b4ad9..a75af27 100644 (file)
@@ -37,6 +37,7 @@ const char* toMailboxName(FolderType folder);
 
 FolderType toFolderType(email_mailbox_type_e mailboxType);
 FolderType toFolderType(int mailboxType);
+MessageStatus toMessageStatus(email_mailbox_type_e mailboxType);
 
 }
 }
index 9daeffd..db31995 100644 (file)
@@ -334,12 +334,15 @@ JSValueRef JSMessagingStorage::findMessages(JSContextRef context, JSObjectRef ob
 
         // argu 4. Sorting mode (optional & nullable)
         JSValueRef param4 = validator.toJSValueRef(3, true);
-        if ((argumentCount >= 4)
-            && (!JSValueIsNull(context, param4))
-            && (!JSValueIsUndefined(context, param4)))
+        if((argumentCount >= 4) && (!JSValueIsNull(context, param4)))
         {
             DeviceAPI::Tizen::SortModePtr sortMode = filterConverter->toSortMode(param4);
-            event->setSortMode(sortMode);
+
+            if(sortMode) 
+            {
+                LoggerD("sortMode is set");
+                event->setSortMode(sortMode);
+            }
         }
 
         // argu 5. limit (optional & nullable)
@@ -663,12 +666,15 @@ JSValueRef JSMessagingStorage::findConversations(JSContextRef context, JSObjectR
 
         // argu 4. Sorting mode (optional & nullable)
         JSValueRef param4 = validator.toJSValueRef(3, true);
-        if ((argumentCount >= 4)
-            && (!JSValueIsNull(context, param4))
-            && (!JSValueIsUndefined(context, param4)))
+        if((argumentCount >= 4) && (!JSValueIsNull(context, param4)))
         {
             DeviceAPI::Tizen::SortModePtr sortMode = filterConverter->toSortMode(param4);
-            event->setSortMode(sortMode);
+
+            if(sortMode) 
+            {
+                LoggerD("sortMode is set");
+                event->setSortMode(sortMode);
+            }
         }
 
         // argu 5. limit (optional & nullable)
@@ -999,12 +1005,21 @@ JSValueRef JSMessagingStorage::addMessagesChangeListener(JSContextRef context, J
             throw DeviceAPI::Common::TypeMismatchException("serviceId is not defined.");
         }
 
-        // argu 2. filter ( optional )
+        // argu 2. filter ( optional  && nullable)
         DeviceAPI::Tizen::FilterPtr filter = filterConverter->toFilter(validator.toJSValueRef(1));
+
         if (filter) {
-            DeviceAPI::Tizen::FilterPtr filter = filterConverter->toFilter(validator.toJSValueRef(1));
+               LoggerE("filter is set");
             privData->setFilter(filter);
         }
+        else
+        {
+            if(!validator.isNull(1) && !validator.isOmitted(1))
+            {
+                LoggerE("wrong filter");
+                throw DeviceAPI::Common::TypeMismatchException("Invalid filter.");
+            }
+        }
 
         if(callbackManager)
         {
@@ -1123,12 +1138,22 @@ JSValueRef JSMessagingStorage::addConversationsChangeListener(JSContextRef conte
             throw DeviceAPI::Common::TypeMismatchException("serviceId is not defined.");
         }
 
-        // argu 2. filter ( optional )
+        // argu 2. filter ( optional  && nullable)
         DeviceAPI::Tizen::FilterPtr filter = filterConverter->toFilter(validator.toJSValueRef(1));
+
         if (filter) {
-            DeviceAPI::Tizen::FilterPtr filter = filterConverter->toFilter(validator.toJSValueRef(1));
+               LoggerE("filter is set");
             privData->setFilter(filter);
         }
+        else
+        {
+            if(!validator.isNull(1) && !validator.isOmitted(1))
+            {
+                LoggerE("wrong filter");
+                throw DeviceAPI::Common::TypeMismatchException("Invalid filter.");
+            }
+        }
+
 
         if(callbackManager)
         {
@@ -1248,12 +1273,22 @@ JSValueRef JSMessagingStorage::addFoldersChangeListener(JSContextRef context, JS
             throw DeviceAPI::Common::TypeMismatchException("serviceId is not defined.");
         }
 
-        // argu 2. filter ( optional )
+        // argu 2. filter ( optional  && nullable)
         DeviceAPI::Tizen::FilterPtr filter = filterConverter->toFilter(validator.toJSValueRef(1));
+
         if (filter) {
-            DeviceAPI::Tizen::FilterPtr filter = filterConverter->toFilter(validator.toJSValueRef(1));
+               LoggerE("filter is set");
             privData->setFilter(filter);
         }
+        else
+        {
+            if(!validator.isNull(1) && !validator.isOmitted(1))
+            {
+                LoggerE("wrong filter");
+                throw DeviceAPI::Common::TypeMismatchException("Invalid filter.");
+            }
+        }
+
 
         if(callbackManager)
         {
index 0a25b04..8caafe0 100644 (file)
@@ -486,7 +486,13 @@ void MailSync::OnEventReceived(const DBus::MessageEvent& event)
                                                        if (err == EMAIL_ERROR_NONE) {
                                                                LoggerD("attachment Name : " << attachment_data->attachment_name);
                                                                LoggerD("attachment ID : " << attachment_data->attachment_id);
+                                                               LoggerD("attachment attachment_mime_type : " << attachment_data->attachment_mime_type);
                                                                attachment->init(attachment_data->attachment_path, false);
+                                                               if(attachment_data->attachment_mime_type)
+                                                               {
+                                                                       attachment->setMimeType(attachment_data->attachment_mime_type);
+                                                               }
+                                                               LoggerD("attachment getMimeTypes : " << attachment->getMimeType());
                                                        }
                                                        else
                                                        {
index 843561d..1d41879 100644 (file)
@@ -86,7 +86,11 @@ public:
                }Catch(WrtDeviceApis::Commons::NotFoundException) {
                        LoggerE("Try to deregister by unmatched service");
                        return;
+               }Catch(WrtDeviceApis::Commons::PlatformException) {
+                       LoggerE("Try to deregister by unmatched service");
+                       return;
                }
+
        }
 
 };
index dcd4da3..31d1ca2 100755 (executable)
@@ -50,8 +50,12 @@ static WrtDeviceApis::Commons::FunctionMapping createNFCFunctions();
 static WrtDeviceApis::Commons::FunctionMapping NFCFunctions =
     createNFCFunctions();
 
+#pragma GCC visibility push(default)
+
 DEFINE_FUNCTION_GETTER(NFC, NFCFunctions);
 
+#pragma GCC visibility pop
+
 static WrtDeviceApis::Commons::FunctionMapping createNFCFunctions()
 {
     using namespace WrtDeviceApis::Commons;
index c2ac383..4f5eb5f 100755 (executable)
@@ -35,8 +35,12 @@ namespace Notification {
 static FunctionMapping createNotificationFunctions();
 static FunctionMapping NotificationFunctions = createNotificationFunctions();
 
+#pragma GCC visibility push(default)
+
 DEFINE_FUNCTION_GETTER(Notification, NotificationFunctions);
 
+#pragma GCC visibility pop
+
 static FunctionMapping createNotificationFunctions()
 {
     FunctionMapping pushMapping;
index a051b27..d240fad 100644 (file)
@@ -40,8 +40,12 @@ static FunctionMapping createPackageFunctions();
 static FunctionMapping PackageFunctions =
     createPackageFunctions();
 
+#pragma GCC visibility push(default)
+
 DEFINE_FUNCTION_GETTER(Package, PackageFunctions);
 
+#pragma GCC visibility pop
+
 static FunctionMapping createPackageFunctions()
 {
     /**
old mode 100644 (file)
new mode 100755 (executable)
index 26610af..568d9a0
@@ -225,6 +225,14 @@ void PowerManager::setScreenState(bool onoff){
         LoggerE("Platform error while changing screen state %d", ret);
         throw UnknownException("Platform error while changing screen state");
     }
+
+    int timeout=100;
+    while(timeout--){
+        if( isScreenOn() == onoff )
+            break;
+        usleep(100000);
+    }
+
 }
 
 void PowerManager::restoreScreenBrightness(){
index 96cf25c..fb97251 100755 (executable)
@@ -35,8 +35,12 @@ static FunctionMapping createPowerFunctions();
 static FunctionMapping PowerFunctions =
     createPowerFunctions();
 
+#pragma GCC visibility push(default)
+
 DEFINE_FUNCTION_GETTER(Power, PowerFunctions);
 
+#pragma GCC visibility pop
+
 static FunctionMapping createPowerFunctions()
 {
     /**
index 7f6b231..bc4c457 100644 (file)
@@ -256,7 +256,7 @@ static void push_registration_result_cb(push_result_e result, const char *msg, v
                 free(tmp);
             }
         } else {
-            UnknownException error(msg);
+            UnknownException error(msg == NULL ? "Unknown" : msg);
             JSObjectRef errorObj = JSWebAPIError::makeJSWebAPIError(callback->getContext(), error);
             callback->invokeCallback("onerror", errorObj);
         }
@@ -283,7 +283,7 @@ static void push_unregistration_result_cb(push_result_e result, const char *msg,
         if (result == PUSH_RESULT_SUCCESS) {
             callback->invokeCallback("onsuccess");
         } else {
-            UnknownException error(msg);
+            UnknownException error(msg == NULL ? "Unknown" : msg);
             JSObjectRef errorObj = JSWebAPIError::makeJSWebAPIError(callback->getContext(), error);
             callback->invokeCallback("onerror", errorObj);
         }
index b40a0bd..1c3c0cd 100644 (file)
@@ -35,8 +35,12 @@ namespace Push {
 static FunctionMapping createPushFunctions();
 static FunctionMapping PushFunctions = createPushFunctions();
 
+#pragma GCC visibility push(default)
+
 DEFINE_FUNCTION_GETTER(Push, PushFunctions);
 
+#pragma GCC visibility pop
+
 static FunctionMapping createPushFunctions()
 {
     /**
old mode 100644 (file)
new mode 100755 (executable)
index 209ba75..266cae6
@@ -56,7 +56,6 @@ SEReader::SEReader(void *reader)
 SEReader::~SEReader()
 {
        LoggerD("entered");
-       m_reader->closeSessions();
        m_reader = NULL;
 }
 
index aee0428..e1c234e 100755 (executable)
@@ -38,8 +38,12 @@ static WrtDeviceApis::Commons::FunctionMapping createSecureElementFunctions();
 static WrtDeviceApis::Commons::FunctionMapping SecureElementFunctions =
     createSecureElementFunctions();
 
+#pragma GCC visibility push(default)
+
 DEFINE_FUNCTION_GETTER(SecureElement, SecureElementFunctions);
 
+#pragma GCC visibility pop
+
 static WrtDeviceApis::Commons::FunctionMapping createSecureElementFunctions()
 {
     using namespace WrtDeviceApis::Commons;
@@ -88,4 +92,4 @@ static WrtDeviceApis::Commons::FunctionMapping createSecureElementFunctions()
 #undef SECUREELEMENT_FEATURE_API_SE
 #undef SECUREELEMENT_FEATURE_API_SECUREELEMENT
 #undef SECUREELEMENT_DEVICE_CAP_SE
-#undef SECUREELEMENT_DEVICE_CAP_SECUREELEMENT
\ No newline at end of file
+#undef SECUREELEMENT_DEVICE_CAP_SECUREELEMENT
index 85c1438..3265456 100644 (file)
@@ -40,8 +40,12 @@ static WrtDeviceApis::Commons::FunctionMapping createSecureStorageFunctions();
 static WrtDeviceApis::Commons::FunctionMapping SecureStorageFunctions =
     createSecureStorageFunctions();
 
+#pragma GCC visibility push(default)
+
 DEFINE_FUNCTION_GETTER(SecureStorage, SecureStorageFunctions);
 
+#pragma GCC visibility pop
+
 static WrtDeviceApis::Commons::FunctionMapping createSecureStorageFunctions()
 {
        using namespace WrtDeviceApis::Commons;
old mode 100644 (file)
new mode 100755 (executable)
index ab68770..2d16e5a
@@ -218,23 +218,13 @@ void SystemSettingResponseDispatcher::OnAnswerReceived(const EventGetSettingPtr
        std::string settingPath = event->getSettingValue();
        LoggerD("RealSettingPath : " << settingPath);
 
-       Try
-       {
-               settingPath = DeviceAPI::Filesystem::Utils::toVirtualPath(gContext, settingPath);
-               LoggerD("VirtualSettingPath : " << settingPath);
-       }
-       Catch(WrtDeviceApis::Commons::ConversionException) {
-               LoggerD("not the virtual path");
-               LoggerD("RealSettingSettingPath : " << settingPath);
-       }
-
        if (settingPath.size() == 0)
        {
                error = JSTizenExceptionFactory::makeErrorObject(gContext, JSTizenException::UNKNOWN_ERROR, "Unknown error");
                callbackManager->callOnError(error);
                return;
        }
-//     return converter.toJSValueRef(iconPath);
+
        callbackManager->callOnSuccess(converter.toJSValueRef(settingPath));
 }
 
index b84fd6a..d2e3b62 100755 (executable)
@@ -42,8 +42,12 @@ static WrtDeviceApis::Commons::FunctionMapping createSystemSettingFunctions();
 static WrtDeviceApis::Commons::FunctionMapping SystemSettingFunctions =
     createSystemSettingFunctions();
 
+#pragma GCC visibility push(default)
+
 DEFINE_FUNCTION_GETTER(SystemSetting, SystemSettingFunctions);
 
+#pragma GCC visibility pop
+
 static WrtDeviceApis::Commons::FunctionMapping createSystemSettingFunctions()
 {
     using namespace WrtDeviceApis::Commons;
index 1524bc1..a705d8b 100755 (executable)
@@ -41,8 +41,12 @@ static WrtDeviceApis::Commons::FunctionMapping createSysteminfoFunctions();
 static WrtDeviceApis::Commons::FunctionMapping SysteminfoFunctions =
     createSysteminfoFunctions();
 
+#pragma GCC visibility push(default)
+
 DEFINE_FUNCTION_GETTER(Systeminfo, SysteminfoFunctions);
 
+#pragma GCC visibility pop
+
 static WrtDeviceApis::Commons::FunctionMapping createSysteminfoFunctions()
 {
     /**