## Set Assembly Compiler
#SET(CMAKE_ASM_COMPILER "${CMAKE_C_COMPILER}")
-
+
SET(CMAKE_ASM_COMPILER_ARG1 "${CPPFLAGS} -c")
ENABLE_LANGUAGE(ASM)
-
+
## LIBRARY PATH
LINK_DIRECTORIES (${LIBRARY_OUTPUT_PATH})
INSTALL(FILES ${CMAKE_SOURCE_DIR}/osp-appfw.pc DESTINATION lib/pkgconfig)
INSTALL(FILES ${CMAKE_SOURCE_DIR}/osp-appfw-server.pc DESTINATION lib/pkgconfig)
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/osp-system-server.pc DESTINATION lib/pkgconfig)
INSTALL(FILES ${CMAKE_SOURCE_DIR}/res/common/etc/ld.so.conf.d/osp.conf DESTINATION ../etc/ld.so.conf.d)
INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/cmake_build_tmp/output/target/generic/root/usr/share/locale DESTINATION share)
-INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION lib/osp
+INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION lib/osp
FILES_MATCHING PATTERN "libosp-appfw.so*"
- PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
+ PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
GROUP_EXECUTE GROUP_READ
WORLD_EXECUTE WORLD_READ)
-INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION lib/osp-server
- FILES_MATCHING PATTERN "libosp-appfw-server.so*"
- PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
+INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION lib/osp-server
+ FILES_MATCHING PATTERN "libosp-appfw-server.so*"
+ PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
GROUP_EXECUTE GROUP_READ
WORLD_EXECUTE WORLD_READ)
-INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/debug/ DESTINATION lib/osp/debug
- FILES_MATCHING PATTERN "*" PATTERN "libosp-appfw-server.so*" EXCLUDE
- PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
+INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION lib/osp-server
+ FILES_MATCHING PATTERN "libosp-system-server.so*"
+ PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
+ GROUP_EXECUTE GROUP_READ
+ WORLD_EXECUTE WORLD_READ)
+INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/debug/ DESTINATION lib/osp/debug
+ FILES_MATCHING PATTERN "*" PATTERN "libosp-*-server.so*" EXCLUDE
+ PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
GROUP_EXECUTE GROUP_READ
WORLD_EXECUTE WORLD_READ)
-
+
INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/res/common/opt/usr/share/.osp-compat/share DESTINATION ../opt/usr/share/.osp-compat)
INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/res/common/usr/share/osp DESTINATION ../usr/share FILES_MATCHING PATTERN ".privilege-description.db")
INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/res/common/usr/share/osp DESTINATION ../usr/share FILES_MATCHING PATTERN ".external-privilege.ini")
--- /dev/null
+# Package Information for pkg-config
+
+prefix=@PREFIX@
+exec_prefix=/usr
+libdir=/usr/lib/osp-server
+includedir=/usr/include/osp/server
+
+Name: @PC_NAME@
+Description: @PACKAGE_DESCRIPTION@
+Version: @VERSION@
+Requires: @PC_REQUIRED@
+Libs: -L${libdir} @PC_LDFLAGS@ -losp-system-server
+Cflags: -I${includedir}
BuildRequires: pkgconfig(capi-system-power)
BuildRequires: pkgconfig(capi-system-runtime-info)
BuildRequires: pkgconfig(capi-system-system-settings)
+BuildRequires: pkgconfig(capi-system-media-key)
+BuildRequires: pkgconfig(capi-network-bluetooth)
BuildRequires: pkgconfig(tapi)
BuildRequires: pkgconfig(alarm-service)
BuildRequires: pkgconfig(appsvc)
/usr/etc/*
%{_libdir}/osp/libosp-appfw.so*
%{_libdir}/osp-server/libosp-appfw-server.so*
+%{_libdir}/osp-server/libosp-system-server.so*
%files devel
%{_includedir}/osp/*.h
%{_includedir}/osp/text/*
%{_includedir}/osp/server/*
%{_libdir}/pkgconfig/osp-appfw-server.pc
+%{_libdir}/pkgconfig/osp-system-server.pc
%files debug
%{_libdir}/osp/debug/libosp-appfw.so*
%{_libdir}/osp-server/debug/libosp-appfw-server.so*
+%{_libdir}/osp-server/debug/libosp-system-server.so*
capi-system-device
capi-system-power
capi-system-system-settings
+ capi-system-media-key
+ capi-network-bluetooth
security-server
)
ADD_SUBDIRECTORY(appfw)
ADD_SUBDIRECTORY(osp-string)
ADD_SUBDIRECTORY(server osp-appfw-server)
+ADD_SUBDIRECTORY(system-server osp-system-server)
String ver(pVer);
ver.Trim();
- if (ver == L"3.0")
+ if (ver == L"2.2")
+ {
+ return _API_VERSION_2_2;
+ }
+ else if (ver == L"2.1")
{
return _API_VERSION_2_1;
}
}
else
{
- return _API_VERSION_2_1;
+ return _API_VERSION_2_2;
}
}
_API_VERSION_1_2 = 120, /**< Api version 1.2 */
_API_VERSION_2_0 = 200, /**< Api version 2.0 */
_API_VERSION_2_1 = 210, /**< Api version 2.1 */
+ _API_VERSION_2_2 = 220, /**< Api version 2.2 */
_API_VERSION_MAX = 65535
} _ApiVersion;
UChar* pResultStr = u_strFromWCS(pIcuStr.get(), icuStrCapacity, &outLen, pValue, len, &err);
SysTryReturn(NID_BASE_UTIL, U_SUCCESS(err), null, E_INVALID_ARG, "[%s] u_strFromWCS() failed. pValue is %ls.", GetErrorMessage(E_INVALID_ARG), pValue);
- int destCapacity = outLen * 2 + 1;
+ int destCapacity = len * 4 + 1;
std::unique_ptr< char[] > pDst(new (std::nothrow) char[destCapacity]);
SysTryReturn(NID_BASE_UTIL, pDst != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed.", GetErrorMessage(E_OUT_OF_MEMORY));
written = write(fd, (char*) pData, remain);
if (written < 0)
{
- SysLogException(NID_IO, E_SYSTEM, "[E_SYSTEM] Failed to send a request: %d, %s", errno, strerror(errno));
-
ReleaseFd(fd);
+
+ if (errno == EAGAIN)
+ {
+ SysLogException(NID_IO, E_RESOURCE_UNAVAILABLE, "[E_RESOURCE_UNAVAILABLE] The socket buffer is full.");
+ return E_RESOURCE_UNAVAILABLE;
+ }
+
+ SysLogException(NID_IO, E_SYSTEM, "[E_SYSTEM] Failed to send a request: %d, %s", errno, strerror(errno));
return E_SYSTEM;
}
written = write(fd, (char*) pData, remain);
if (written < 0)
{
- SysLogException(NID_IO, E_SYSTEM, "[E_SYSTEM] Failed to send a request: %d, %s", errno, strerror(errno));
-
ReleaseFd(fd);
+
+ if (errno == EAGAIN)
+ {
+ SysLogException(NID_IO, E_RESOURCE_UNAVAILABLE, "[E_RESOURCE_UNAVAILABLE] The socket buffer is full.");
+ return E_RESOURCE_UNAVAILABLE;
+ }
+
+ SysLogException(NID_IO, E_SYSTEM, "[E_SYSTEM] Failed to send a request: %d, %s", errno, strerror(errno));
return E_SYSTEM;
}
* @param[in] message The message to send
* @exception E_SUCCESS The method was successful.
* @exception E_INVALID_STATE The instance is in an invalid state.
+ * @exception E_RESOURCE_UNAVAILABLE The socket buffer is full.
* @exception E_OUT_OF_MEMORY Insufficient memory.
* @exception E_SYSTEM A system error occurred.
*
* @exception E_SUCCESS The method was successful.
* @exception E_INVALID_ARG The message is synchronous.
* @exception E_INVALID_OPERATION The client didn't set a listener.
+ * @exception E_RESOURCE_UNAVAILABLE The socket buffer is full.
* @exception E_OUT_OF_MEMORY Insufficient memory.
* @exception E_SYSTEM A system error occurred.
*
*/
result SendResponse(int clientId, const IPC::Message& message);
- result Start(void);
-
result SendResponse(int clientId, IPC::Message* pMessage);
+ result Start(void);
+
bool Send(IPC::Message* msg);
private:
ret = g_io_channel_write_chars(pClientInfo->pReverseChannel, (char*) pData, remain, &written, &pGError);
if (ret != G_IO_STATUS_NORMAL)
{
- SysLog(NID_IO, "Failed to send a response: %d", ret);
- SysTryCatch(NID_IO, ret != G_IO_STATUS_ERROR, , E_SYSTEM, "[E_SYSTEM] Error occurred during writing message to socket.");
+ SysTryCatch(NID_IO, ret != G_IO_STATUS_AGAIN, , E_RESOURCE_UNAVAILABLE, "[E_RESOURCE_UNAVAILABLE] The socket buffer is full.");
+
+ SysLogException(NID_IO, E_SYSTEM, "[E_SYSTEM] Failed to send a request: %d, %s", errno, strerror(errno));
+ delete pMessage;
+ return E_SYSTEM;
}
remain -= written;
ret = g_io_channel_write_chars(pClientInfo->pReverseChannel, (char*) pData, remain, &written, &pGError);
if (ret != G_IO_STATUS_NORMAL)
{
- SysLog(NID_IO, "Failed to send a response: %d", ret);
- SysTryCatch(NID_IO, ret != G_IO_STATUS_ERROR, , E_SYSTEM, "[E_SYSTEM] Error occurred during writing message to socket.");
+ SysTryCatch(NID_IO, ret != G_IO_STATUS_AGAIN, , E_RESOURCE_UNAVAILABLE, "[E_RESOURCE_UNAVAILABLE] The socket buffer is full.");
+
+ SysLogException(NID_IO, E_SYSTEM, "[E_SYSTEM] Failed to send a request: %d, %s", errno, strerror(errno));
+ return E_SYSTEM;
}
remain -= written;
--- /dev/null
+SET (this_target osp-system-server)
+
+INCLUDE_DIRECTORIES (
+ ${SLP_INCLUDE_DIRS}
+ ${CMAKE_SOURCE_DIR}
+ ${CMAKE_SOURCE_DIR}/inc
+ ${CMAKE_SOURCE_DIR}/src/system-server/inc
+ )
+
+SET (${this_target}_SOURCE_FILES
+ system/FSys_SystemInfo.cpp
+ )
+
+## SET EXTRA COMPILER FLAGS
+SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fPIC -Wall" )
+
+## SET C COMPILER FLAGS
+SET(CMAKE_C_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
+
+## SET CPP COMPILER FLAGS
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden")
+SET(CMAKE_CXX_FLAGS "${OSP_DEBUG_FLAGS} ${OSP_OPT_FLAGS} ${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} ${OSP_COMPILER_FLAGS}")
+
+## Create Library
+ADD_LIBRARY (${this_target} SHARED ${${this_target}_SOURCE_FILES})
+
+TARGET_LINK_LIBRARIES(${this_target} osp-appfw)
+
+SET_TARGET_PROPERTIES(${this_target}
+ PROPERTIES
+ VERSION ${FULLVER}
+ SOVERSION ${MAJORVER}
+ CLEAN_DIRECT_OUTPUT 1
+)
+ADD_CUSTOM_COMMAND(TARGET ${this_target}
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND} -E copy ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX} ${LIBRARY_OUTPUT_PATH}/debug/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${FULLVER}
+ COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${FULLVER} ${LIBRARY_OUTPUT_PATH}/debug/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}.${MAJORVER}
+ COMMAND ${CMAKE_STRIP} --strip-unneeded ${LIBRARY_OUTPUT_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}${this_target}${CMAKE_SHARED_LIBRARY_SUFFIX}
+ COMMENT "strip ${this_target}"
+)
+
+SET(PC_NAME ${this_target})
+SET(PC_REQUIRED ${pc_requires})
+SET(PC_LDFLAGS -l${this_target})
+
+# pkgconfig file
+CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/${this_target}.pc.in ${CMAKE_SOURCE_DIR}/${this_target}.pc @ONLY)
+
--- /dev/null
+#include "FSys_SystemInfo.h"
+
+using namespace Tizen::System;
+
+_SystemInfo::_SystemInfo()
+{
+}
+
+_SystemInfo::~_SystemInfo()
+{
+}
+
--- /dev/null
+#ifndef _FSYS_SYSTEM_INFO_H_
+#define _FSYS_SYSTEM_INFO_H_
+
+namespace Tizen { namespace System
+{
+class _SystemInfo
+{
+public:
+ _SystemInfo();
+ ~_SystemInfo();
+};
+
+}}
+#endif
SysTryReturnResult(NID_SYS, *pResult == _SYSTEM_RESULT_OK, E_SYSTEM, "It is failed to get IMEI value.");
imei = *pImei;
+ responseMessage.RemoveAll(true);
+
return r;
}
SysTryReturnResult(NID_SYS, *pResult == _SYSTEM_RESULT_OK, E_SYSTEM, "It is failed to get IMEI value.");
imei = *pImei;
+ responseMessage.RemoveAll(true);
return r;
}