Merge "Modified an api call flow" into tizen_2.1
authorJooHyun Kim <joohyune.kim@samsung.com>
Wed, 17 Apr 2013 05:31:41 +0000 (14:31 +0900)
committerGerrit Code Review <gerrit2@kim11>
Wed, 17 Apr 2013 05:31:41 +0000 (14:31 +0900)
21 files changed:
inc/FAppAppManager.h
inc/FAppAppResource.h
inc/FAppAppSetting.h
inc/FBaseDouble.h
inc/FBaseFloat.h
res/arm/usr/etc/media-capability.xml
res/x86/usr/etc/media-capability.xml
src/app/CMakeLists.txt [changed mode: 0755->0644]
src/app/FApp_AppControlRegistry.cpp
src/app/FApp_AppControlResponseEvent.cpp [changed mode: 0755->0644]
src/app/FApp_AppManagerImpl.cpp [changed mode: 0644->0755]
src/base/FBaseSys.cpp
src/base/runtime/FBaseRt_EventDispatcher.cpp
src/base/runtime/FBaseRt_MainLoop.cpp
src/io/FIo_IpcClient.cpp
src/io/inc/FIo_IIpcClientEventListener.h
src/io/inc/FIo_IIpcServerEventListener.h
src/io/inc/FIo_IpcClient.h
src/io/inc/FIo_IpcMessageStart.h
src/security/inc/FSec_AccessControlTypes.h
src/server/io/FIo_IpcServer.cpp

index 09ab0ab..e2794b6 100755 (executable)
@@ -134,7 +134,6 @@ public:
         * @exception   E_SYSTEM                A system error has occurred. @n
         *                                                              Either the file operation or the DB operation has failed.
         * @remarks     The specific error code can be accessed using the GetLastResult() method.
-        * @remarks     For the delivered launch arguments, see App::GetAppArgumentListN().
         */
        static Tizen::Base::Collection::IList* FindAppControlsN(const Tizen::Base::String* pOperationId, const Tizen::Base::String* pCategory, const Tizen::Base::String* pDataType, const Tizen::Base::String* pUriPattern);
 
@@ -375,6 +374,7 @@ public:
         * @since       2.0
         * @privlevel   public
         * @privilege   %http://tizen.org/privilege/application.launch
+        * @feature     %http://tizen.org/feature/network.nfc for L¡±NFC=¡¯command¡¯¡± or %http://tzen.org/feature/usb.accessory for L¡±Serial=¡¯command¡¯¡± in the value of @c condition
         *
         * @return              An error code
         * @param[in]   condition         The launch condition for the application @n
@@ -406,6 +406,7 @@ public:
         * @exception   E_MAX_EXCEEDED          The size of @c pArguments has exceeded the maximum limit.
         * @exception   E_SYSTEM                                A system error has occurred.
         * @exception   E_PRIVILEGE_DENIED      The application does not have the privilege to call this method.
+        * @exception   E_UNSUPPORTED_OPERATION   The Emulator or target device does not support the required feature. For more information, see <a href=¡±../org.tizen.gettingstarted/html/tizen_overview/application_filtering.htm¡±>Application Filtering</a>. @b Since: @b 2.1
         *
         * @remarks             When the registered application is about to be launched, the registered launch condition and arguments are given as parameters to IAppLaunchConditionEventListener::OnAppLaunchConditionMetN().
         * @remarks             The newly introduced launch condition does not work on the previous SDK version and the E_INVALID_CONDITION exception is returned.
@@ -413,9 +414,10 @@ public:
         * @remarks             The launch period requires more consideration because an inappropriate short period value may lead
         *                              to an adverse effect on the device battery.
         * @remarks             For the NFC launch condition, the detected NDEF message can be acquired using the @c pExtraData parameter of the %IAppLaunchConditionEventListener::OnAppLaunchConditionMetN() method.
+        * @remarks     Before calling this method, check whether the feature is supported by %Tizen::System::SystemInfo::GetValue() methods.
         * @see                 UnregisterAppLaunch()
         * @see                 IsAppLaunchRegistered()
-        * @see                 LaunchApplication()
+        * @see                 LaunchApplication(const AppId&, LaunchOption);
         * @see                 Tizen::Base::DateTime::ToString()
         * @see                 Tizen::Io::SerialPort
         *
@@ -498,6 +500,7 @@ public:
         * @since               2.0
         * @privlevel   partner
         * @privilege   %http://tizen.org/privilege/appmanager.launch
+        * @feature     %http://tizen.org/feature/network.nfc for L¡±NFC=¡¯command¡¯¡± or %http://tzen.org/feature/usb.accessory for L¡±Serial=¡¯command¡¯¡± in the value of @c condition
         *
         * @return     An error code
         * @param[in]  appId          The ID of the application registered for launch
@@ -528,6 +531,7 @@ public:
         * @exception  E_MAX_EXCEEDED           The size of @c pArguments has exceeded the maximum limit.
         * @exception  E_SYSTEM                         A system error has occurred.
         * @exception  E_PRIVILEGE_DENIED       The application does not have the privilege to call this method.
+        * @exception    E_UNSUPPORTED_OPERATION   The Emulator or target device does not support the required feature. For more information, see <a href=¡±../org.tizen.gettingstarted/html/tizen_overview/application_filtering.htm¡±>Application Filtering</a>. @b Since: @b 2.1
         *
         * @remarks    When the registered application is about to be launched, the registered launch condition and arguments are given as parameters to IAppLaunchConditionEventListener::OnAppLaunchConditionMetN().
         * @remarks    The newly introduced launch condition does not work on the previous SDK version and the @c E_INVALID_CONDITION exception is returned.
@@ -535,9 +539,10 @@ public:
         * @remarks    The launch period requires more consideration because an inappropriate short period value may lead
         *             to an adverse effect on the device battery.
         * @remarks    For the NFC launch condition, the detected NDEF message can be acquired using the @c pExtraData parameter of the %IAppLaunchConditionEventListener::OnAppLaunchConditionMetN() method.
+        * @remarks     Before calling this method, check whether the feature is supported by %Tizen::System::SystemInfo::GetValue() methods.
         * @see        UnregisterAppLaunch()
         * @see        IsAppLaunchRegistered()
-        * @see        LaunchApplication()
+        * @see        LaunchApplication(const AppId&, LaunchOption);
         * @see        IAppLaunchConditionEventListener::OnAppLaunchConditionMetN()
         * @see        Tizen::Base::DateTime::ToString()
         * @see        Tizen::Io::SerialPort
index 2733816..35edf1e 100644 (file)
@@ -195,7 +195,7 @@ public:
        *
        * @since        2.0
        *
-       * @privlevel    partner
+       * @privlevel    platform
        * @privilege   %http://tizen.org/privilege/appsetting
        *
        * @return       A pointer to the %AppResource instance, @n
@@ -216,7 +216,7 @@ public:
        *
        * @since        2.0
        *
-       * @privlevel    partner
+       * @privlevel    platform
        * @privilege   %http://tizen.org/privilege/appsetting
        *
        * @return       An error code
index d5d38ca..d3832dd 100644 (file)
@@ -144,7 +144,7 @@ public:
         *
         * @since       2.0
         *
-        * @privlevel   partner
+        * @privlevel   platform
         * @privilege   %http://tizen.org/privilege/appsetting
         *
         * @return              A pointer to the %AppSetting instance, @n
@@ -167,7 +167,7 @@ public:
         *
         * @since       2.0
         *
-        * @privlevel   partner
+        * @privlevel   platform
         * @privilege   %http://tizen.org/privilege/appsetting
         *
         * @return              An error code
index 87f873c..d1b7e6f 100644 (file)
@@ -207,6 +207,7 @@ public:
         * @exception   E_SUCCESS               The method is successful.
         * @exception   E_NUM_FORMAT    The specified string does not contain a number that can be parsed.
         * @remarks             This method guarantees that the original value of out-parameter is not changed when the method returns error.
+        * @remarks             The behavior of this method is dependent on the system default locale setting.
         */
        static result Parse(const String& s, double& ret);
 
@@ -282,6 +283,7 @@ public:
         * @remarks             If the value of the current instance is Not-a-Number (NaN), the result is the string "NaN". Furthermore, infinity
         *                              produces the result "Infinity". @n
         *                              6 digits are given for the precision of this method. Use String::Format() to set the specific precision.
+        * @remarks             The behavior of this method is dependent on the system default locale setting.
         */
        virtual String ToString(void) const;
 
@@ -295,6 +297,7 @@ public:
         * @remarks             If the input value is Not-a-Number (NaN), the result is the string "NaN". Furthermore, infinity
         *                              produces the result "Infinity". @n
         *                              6 digits are given for the precision of this method. Use String::Format() to set the specific precision.
+        * @remarks             The behavior of this method is dependent on the system default locale setting.
         */
        static String ToString(double value);
 
index 041f5f4..7e2b38c 100644 (file)
@@ -195,6 +195,7 @@ public:
         *      @exception      E_SUCCESS        The method is successful.
         *      @exception      E_NUM_FORMAT The specified string does not contain a number that can be parsed.
         *      @remarks        This method guarantees that the original value of out-parameter is not changed when the method returns error.
+        *      @remarks        The behavior of this method is dependent on the system default locale setting.
         *      @see            Tizen::Base::Double::Parse()
         */
        static result Parse(const String& s, float& ret);
@@ -271,6 +272,7 @@ public:
         * @remarks             If the value is Not-a-Number (NaN), the result is the string "NaN". Furthermore, infinity
         *                              produces the result "Infinity". @n
         *                              6 digits are given for the precision of this method. Use String::Format() to set the specific precision.
+        * @remarks             The behavior of this method is dependent on the system default locale setting.
         */
        virtual String ToString(void) const;
 
@@ -284,6 +286,7 @@ public:
         *  @remarks    If the value is Not-a-Number (NaN), the result is the string "NaN". Furthermore, infinity
         *                              produces the result "Infinity". @n
         *                              6 digits are given for the precision of this method. Use String::Format() to set the specific precision.
+        * @remarks             The behavior of this method is dependent on the system default locale setting.
         */
        static String ToString(float value);
 
index 2ad2ba3..0e9f862 100755 (executable)
@@ -51,6 +51,9 @@
                <value>3GP</value>\r
                <value>MP4</value>\r
        </MediaContainerType>\r
+       <Device>\r
+               <fps>50</fps>\r
+       </Device>\r
   </AudioRecorder>\r
 \r
   <Camera>\r
                <value>3GP</value>\r
                <value>MP4</value>\r
        </MediaContainerType>\r
+       <Device>\r
+               <fps>50</fps>\r
+       </Device>\r
   </VideoRecorder>\r
 \r
 </MediaCapability>\r
index 8a615e0..30cccd9 100755 (executable)
@@ -51,6 +51,9 @@
                <value>3GP</value>\r
                <value>MP4</value>\r
        </MediaContainerType>\r
+       <Device>\r
+               <fps>50</fps>\r
+       </Device>\r
   </AudioRecorder>\r
   \r
   <Camera>\r
                <value>3GP</value>\r
                <value>MP4</value>\r
        </MediaContainerType>\r
+       <Device>\r
+               <fps>50</fps>\r
+       </Device>\r
   </VideoRecorder>\r
 \r
 </MediaCapability>\r
old mode 100755 (executable)
new mode 100644 (file)
index 5c50db4..f43b812 100644 (file)
@@ -347,12 +347,17 @@ _AppControlRegistry::GetTizenAppControlN(const String& aId, const String& oId)
                        _AppControlImpl* pImpl = _AppControlImpl::GetInstance(*pAc);
                        pImpl->SetProperty(_APPCONTROL_PROPERTY_ALIAS);
 
-                       _AppControlAliasEntry* pEntry = new (std::nothrow) _AppControlAliasEntry(aId, oId, *pAppId, *pOperation);
-                       if (pEntry)
+                       const _AppControlAliasEntry* pLookupEntry = GetReverseRuntimeAliasEntry(*pAppId, *pOperation);
+                       if (pLookupEntry == null)
                        {
-                               // may fail
-                               __runtimeAlias.Add(pEntry);
-                               SysLog(NID_APP, "Setting alias appId (%ls -> %ls).", aId.GetPointer(), pAppId->GetPointer());
+                               // no entry found : add new one
+                               _AppControlAliasEntry* pEntry = new (std::nothrow) _AppControlAliasEntry(aId, oId, *pAppId, *pOperation);
+                               if (pEntry)
+                               {
+                                       // may fail
+                                       __runtimeAlias.Add(pEntry);
+                                       SysLog(NID_APP, "Setting alias appId (%ls -> %ls).", aId.GetPointer(), pAppId->GetPointer());
+                               }
                        }
                }
                else
old mode 100755 (executable)
new mode 100644 (file)
old mode 100644 (file)
new mode 100755 (executable)
index cfc7a6a..c3d0137
@@ -67,6 +67,7 @@
 #include "FAppPkg_PackageInfoImpl.h"
 #include "FApp_AppControlManager.h"
 #include "FApp_Aul.h"
+#include "FSys_SystemInfoImpl.h"
 
 using namespace Tizen::App::Package;
 using namespace Tizen::Base;
@@ -727,6 +728,24 @@ _AppManagerImpl::RegisterAppLaunch(const AppId& appId, const String& condition,
        _ConditionManagerProxy* pProxy = GetConditionManagerProxy();
        SysTryReturnResult(NID_APP, null != pProxy, E_INVALID_STATE, "ConditionManager instance must not be null.");
 
+       Tizen::Base::Utility::StringTokenizer strTok(condition, L"=");
+       SysTryReturnResult(NID_APP, strTok.GetTokenCount() > 0, E_INVALID_ARG, "Condition string is invalid.(%ls)", condition.GetPointer());
+
+       String key;
+       result r = strTok.GetNextToken(key);
+       SysTryReturnResult(NID_APP, !IsFailed(r), E_INVALID_ARG, "Condition string is invalid.(%ls)", condition.GetPointer());
+
+       bool ret = true;
+       if (key == L"Serial")
+       {
+               r = Tizen::System::_SystemInfoImpl::GetSysInfo(L"http://tizen.org/feature/usb.accessory", ret);
+       }
+       else if (key == L"NFC")
+       {
+               r = Tizen::System::_SystemInfoImpl::GetSysInfo(L"http://tizen.org/feature/network.nfc", ret);
+       }
+       SysTryReturnResult(NID_APP, ret != false, E_UNSUPPORTED_OPERATION, "Condition(%ls)", condition.GetPointer());
+
        return pProxy->RegisterAppLaunch(appId, condition, pArguments, option);
 }
 
index 477d6b7..8fc56e5 100644 (file)
@@ -440,12 +440,12 @@ AppassertInternal(const char* pFunction, int lineNumber)
        if( (platformDebug == false) && (appDebug == 0) )
        {
                snprintf(logBody, LOG_LEN_MAX, "%s(%d) > App assertion passed due to debug mode off!", pFunction, lineNumber);
-               ALOG(LOG_ERROR, logTag, logBody);
+               ALOG(LOG_ERROR, logTag, "%s", logBody);
                return;
        }
 
        snprintf(logBody, LOG_LEN_MAX, "%s(%d) > AppAssert!", pFunction, lineNumber);
-       ALOG(LOG_ERROR, logTag, logBody);
+       ALOG(LOG_ERROR, logTag, "%s", logBody);
 
        assert(false);
 }
@@ -623,7 +623,7 @@ SysAssertInternal(const char* pFileName, int lineNumber, const char* pFunction)
 
        snprintf(logBody, LOG_LEN_MAX, "%s(%d) > SysAssert!", pFunction, lineNumber);
 
-       ALOG(LOG_ERROR, LOG_TAG_ASSERT, logBody);
+       ALOG(LOG_ERROR, LOG_TAG_ASSERT, "%s", logBody);
 
        assert(false);
 }
@@ -663,7 +663,7 @@ SysPropagateInternal(const char* pFunction, int lineNumber, unsigned long nid, r
        char logTag[LOG_MODULE_NAME_LEN_MAX];
        snprintf(logTag, LOG_MODULE_NAME_LEN_MAX, "%s", __GetModuleName(static_cast<LogID>(nid)));
 
-       ALOG(LOG_ERROR, logTag, logBody);
+       ALOG(LOG_ERROR, logTag, "%s", logBody);
 }
 
 void
index db5bec8..d1bd46d 100644 (file)
@@ -90,6 +90,9 @@ _EventDispatcher::Construct(GMainContext* pGMainContext)
        g_io_channel_set_encoding(__pEventFdIo, null, &pGError);
        g_io_channel_set_flags(__pEventFdIo, G_IO_FLAG_NONBLOCK, &pGError);
 
+       g_io_channel_set_close_on_unref(__pEventFdIo, TRUE);
+       eventFd = -1;
+
        __pEventFdSource = g_io_create_watch(__pEventFdIo, G_IO_IN);
        SysTryCatch(NID_BASE_RT, __pEventFdSource != null, r = E_SYSTEM, E_SYSTEM,
                           "[E_SYSTEM] Failed to create a gsource for a channel.");
@@ -116,6 +119,7 @@ CATCH:
 
        if (__pEventFdSource)
        {
+               g_source_destroy(__pEventFdSource);
                g_source_unref(__pEventFdSource);
                __pEventFdSource = null;
        }
@@ -126,6 +130,11 @@ CATCH:
                __pEventFdIo = null;
        }
 
+       if (eventFd != -1)
+       {
+               close(eventFd);
+       }
+
        return r;
 }
 
index 4133af8..426e52c 100644 (file)
@@ -84,6 +84,7 @@ _MainLoop::~_MainLoop(void)
 
        if (__pSource)
        {
+               g_source_destroy(__pSource);
                g_source_unref(__pSource);
                __pSource = null;
        }
@@ -114,6 +115,9 @@ _MainLoop::Construct(GMainLoop* pGmainLoop, GMainContext* pGmainContext)
        g_io_channel_set_encoding(__pChannel, null, &pGError);
        g_io_channel_set_flags(__pChannel, G_IO_FLAG_NONBLOCK, &pGError);
 
+       g_io_channel_set_close_on_unref(__pChannel, TRUE);
+       eventFd = -1;
+
        __pSource = g_io_create_watch(__pChannel, G_IO_IN);
        SysTryCatch(NID_BASE_RT, __pSource != null, r = E_SYSTEM, E_SYSTEM,
                           "[E_SYSTEM] Failed to create a gsource for a channel.");
@@ -142,6 +146,7 @@ CATCH:
 
        if (__pSource)
        {
+               g_source_destroy(__pSource);
                g_source_unref(__pSource);
                __pSource = null;
        }
@@ -152,6 +157,10 @@ CATCH:
                __pChannel = null;
        }
 
+       if (eventFd != -1)
+       {
+               close(eventFd);
+       }
        return r;
 }
 
index a8ac658..ac6fa91 100644 (file)
@@ -59,7 +59,6 @@ _IpcClient::_IpcClient(void)
        : __pReverseSource(null)
        , __fdCount(0)
        , __pFdLock(null)
-       , __name("")
        , __pListener(null)
 {
        __messageBuffer[0] = '\0';
@@ -117,7 +116,7 @@ _IpcClient::Construct(const String& name, const _IIpcClientEventListener* pListe
        return E_SUCCESS;
 
 CATCH:
-       __name = "";
+       __name.Clear();
        __pListener = null;
        __pFdLock = null;
 
@@ -126,6 +125,12 @@ CATCH:
        return r;
 }
 
+String
+_IpcClient::GetName(void) const
+{
+       return __name;
+}
+
 struct HelloMessage
 {
        int pid;
@@ -220,11 +225,9 @@ _IpcClient::MakeConnection(bool forReverse)
                FD_ZERO(&rset);
                FD_SET(client, &rset);
                wset = rset;
-               timeout.tv_sec = 10; // FIXME: replace 10 with const int
+               timeout.tv_sec = 10;
                timeout.tv_usec = 0;
 
-               // FIXME:
-               // replace select with poll
                while (true)
                {
                        ret = select(client+1, &rset, &wset, NULL, &timeout);
@@ -322,10 +325,17 @@ _IpcClient::HandleReceivedMessage(GIOChannel* source, GIOCondition condition)
 
        if (condition & G_IO_HUP)
        {
+               SysLog(NID_IO, "G_IO_HUP, the connection is closed.");
+
                g_source_destroy(__pReverseSource);
                g_source_unref(__pReverseSource);
                __pReverseSource = null;
 
+               if (__pListener)
+               {
+                       __pListener->OnIpcServerDisconnected(*this);
+               }
+
                return FALSE;
        }
        else if (condition & G_IO_IN)
@@ -339,8 +349,17 @@ _IpcClient::HandleReceivedMessage(GIOChannel* source, GIOCondition condition)
                {
                        pGError = null;
                        status = g_io_channel_read_chars(source, (char*) __messageBuffer, __MAX_MESSAGE_BUFFER_SIZE, &readSize, &pGError);
-                       if (status == G_IO_STATUS_EOF)
+                       if (status == G_IO_STATUS_EOF || status == G_IO_STATUS_ERROR)
                        {
+                               if (status == G_IO_STATUS_EOF)
+                               {
+                                       SysLog(NID_IO, "G_IO_STATUS_EOF, the connection is closed.");
+                               }
+                               else
+                               {
+                                       SysLog(NID_IO, "G_IO_STATUS_ERROR, the connection is closed. ");
+                               }
+
                                pGError = null;
 
                                g_io_channel_shutdown(source, FALSE, &pGError);
@@ -349,6 +368,11 @@ _IpcClient::HandleReceivedMessage(GIOChannel* source, GIOCondition condition)
                                g_source_unref(__pReverseSource);
                                __pReverseSource = null;
 
+                               if (__pListener)
+                               {
+                                       __pListener->OnIpcServerDisconnected(*this);
+                               }
+
                                return FALSE;
                        }
 
index 67ae9ed..0b479d6 100644 (file)
@@ -37,7 +37,6 @@ class _IpcClient;
 /**
  * @interface _IIpcClientEventListener
  * @brief     This interface provides the listener method for the response from IPC server.
- * since      3.0
  */
 class _OSP_EXPORT_ _IIpcClientEventListener
        : Tizen::Base::Runtime::IEventListener
@@ -47,18 +46,23 @@ public:
        /**
         * This is the destructor for this class.
         *
-        * @since 2.1
         */
        virtual ~_IIpcClientEventListener(void);
 
        /**
         * Called when an IPC response message received.
         *
-        * @since 2.1
         * @param[in] client       The IPC client
         * @param[in] message      The response message
         */
        virtual void OnIpcResponseReceived(_IpcClient& client, const IPC::Message& message) = 0;
+
+       /**
+        * Called when an IPC server disconnected.
+        *
+        * @param[in] client            The IPC client
+        */
+       virtual void OnIpcServerDisconnected(_IpcClient& client) {}
 }; // _IIpcClientEventListener
 
 
index 9f88a13..1b09897 100644 (file)
@@ -37,7 +37,6 @@ class _IpcServer;
 /**
  * @interface _IIpcServerEventListener
  * @brief     This interface provides listener method for the request event from an IPC client.
- * since      3.0
  */
 class _OSP_EXPORT_ _IIpcServerEventListener
        : virtual Tizen::Base::Runtime::IEventListener
@@ -45,15 +44,12 @@ class _OSP_EXPORT_ _IIpcServerEventListener
 public:
        /**
         * This is the destructor for this class.
-        *
-        * @since 2.1
         */
        virtual ~_IIpcServerEventListener(void);
 
        /**
         * Called when an IPC server started.
         *
-        * @since 2.1
         * @param[in] server The IPC server
         */
        virtual void OnIpcServerStarted(const _IpcServer& server) = 0;
@@ -61,7 +57,6 @@ public:
        /**
         * Called when an IPC server stopped.
         *
-        * @since 2.1
         * @param[in] server The IPC server
         */
        virtual void OnIpcServerStopped(const _IpcServer& server) = 0;
@@ -69,7 +64,6 @@ public:
        /**
         * Called when an IPC client connected.
         *
-        * @since 2.1
         * @param[in] server The IPC server
         */
        virtual void OnIpcClientConnected(const _IpcServer& server, int clientId) = 0;
@@ -77,7 +71,6 @@ public:
        /**
         * Called when an IPC client disconnected.
         *
-        * @since 2.1
         * @param[in] server The IPC server
         * @param[in] clientId The id of the connected IPC client
         */
@@ -86,7 +79,6 @@ public:
        /**
         * Called when an IPC request message received.
         *
-        * @since 2.1
         * @code
         *
         * bool
index cde5d39..ef48ac5 100644 (file)
@@ -76,6 +76,13 @@ public:
        result Construct(const Tizen::Base::String& serverName, const _IIpcClientEventListener* pListener = null);
 
        /**
+        * Returns the name of the IPC server.
+        *
+        * @return The name of the IPC server.
+        */
+       Tizen::Base::String GetName(void) const;
+
+       /**
         * Sends a request message to an IPC server.
         *
         * @code
index 98db492..4376ebc 100644 (file)
@@ -42,7 +42,8 @@ enum IpcMessageStart {
     ConnectivityNfcServiceMsgStart,
     ConnectivityTelephonyServiceMsgStart,
        UiManagerServiceStart,
-       TrustZoneServiceStart
+       TrustZoneServiceStart,
+       LockManagerServiceStart
        //LastIPCMsgStart      // Must come last.
 };
 
index aeae5c7..6ff62d8 100644 (file)
@@ -290,7 +290,7 @@ const static Tizen::Base::_ApiVisibility visibilityLevelListTable[_MAX_PRIVILEGE
        { Tizen::Base::_API_VISIBILITY_PARTNER },       // application.kill
        { Tizen::Base::_API_VISIBILITY_PUBLIC },        // application.launch
        { Tizen::Base::_API_VISIBILITY_PARTNER },       // appmanager.launch
-       { Tizen::Base::_API_VISIBILITY_PARTNER },       // appsetting
+       { Tizen::Base::_API_VISIBILITY_PLATFORM },      // appsetting
        { Tizen::Base::_API_VISIBILITY_PARTNER },       // appusage
        { Tizen::Base::_API_VISIBILITY_PARTNER },       // audiomanager.route
        { Tizen::Base::_API_VISIBILITY_PARTNER },       // audiomanager.session
index f6f9f83..ca7ab0a 100644 (file)
@@ -99,8 +99,7 @@ _IpcServer::_ClientInfo::~_ClientInfo(void)
 }
 
 _IpcServer::_IpcServer(void)
-       : __name("")
-       , __runOnCallerThread(false)
+       : __runOnCallerThread(false)
        , __pEventDispatcher(null)
        , __pListener(null)
        , __handlerThread(0)
@@ -254,6 +253,8 @@ _IpcServer::Construct(const String& name, const _IIpcServerEventListener& listen
        return E_SUCCESS;
 
 CATCH:
+       __name.Clear();
+
        if (pGIOChannel != null)
        {
                g_io_channel_unref(pGIOChannel);
@@ -462,7 +463,8 @@ _IpcServer::HandleReceivedMessage(GIOChannel* source, GIOCondition condition, gp
 
        if (condition & G_IO_HUP)
        {
-               SysLog(NID_IO, "Connection closed");
+               SysLog(NID_IO, "G_IO_HUP, the connection is closed.");
+
                int clientId = pClientInfo->clientId;
 
                g_io_channel_shutdown(source, FALSE, &pGError);