* MS Windows dependencies added.
Change-Id: Ife2ffa29da91b24fe3e559b7484b24167095252e
Signed-off-by: Victor Cebollada <v.cebollada@samsung.com>
### DEBUG Builds
$ gbs build -A [TARGET_ARCH] --define "%enable_debug 1"
-
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+CMAKE_MINIMUM_REQUIRED(VERSION 3.1)
CMAKE_POLICY(SET CMP0012 NEW) # Prevent dereferencing of OFF/ON as variables
SET(CMAKE_CXX_STANDARD 11)
SET(CMAKE_C_STANDARD 99)
-
PROJECT(${name} CXX)
SET(PKG_NAME ${name})
SET(name "dali-adaptor")
SET(GCC_COMPILER_VERSION_REQUIRED "6")
-if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
- if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS GCC_COMPILER_VERSION_REQUIRED)
- message(FATAL_ERROR "The GCC required compiler version is " ${GCC_COMPILER_VERSION_REQUIRED})
- endif()
-endif()
+IF(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+ IF(CMAKE_CXX_COMPILER_VERSION VERSION_LESS GCC_COMPILER_VERSION_REQUIRED)
+ MESSAGE(FATAL_ERROR "The GCC required compiler version is " ${GCC_COMPILER_VERSION_REQUIRED})
+ ENDIF()
+ENDIF()
+
+OPTION(ENABLE_PKG_CONFIGURE "Use pkgconfig" ON)
+OPTION(ENABLE_LINK_TEST "Enable the link test" ON)
# Include additional macros
INCLUDE( common.cmake )
SET(DALI_ADAPTOR_VERSION ${${name}_VERSION} )
-ADD_DEFINITIONS(-DPLATFORM_TIZEN)
-ADD_DEFINITIONS(-DPIC -DSTDC_HEADERS)
+IF( WIN32 ) # WIN32 includes x64 as well according to the cmake doc.
+ FIND_PACKAGE( dali-windows-dependencies REQUIRED)
+ FIND_PACKAGE( dali-core REQUIRED)
+ FIND_PATH( SYSTEM_INCLUDE_DIR "dali-windows-dependencies.h" )
+ENDIF()
+
+IF( UNIX )
+ ADD_DEFINITIONS(-DPLATFORM_TIZEN)
+ ADD_DEFINITIONS(-DPIC -DSTDC_HEADERS)
-IF("${ARCH}" STREQUAL "arm")
- ADD_DEFINITIONS("-DTARGET")
-ENDIF("${ARCH}" STREQUAL "arm")
+ IF("${ARCH}" STREQUAL "arm")
+ ADD_DEFINITIONS("-DTARGET")
+ ENDIF("${ARCH}" STREQUAL "arm")
+ELSEIF( WIN32 ) # WIN32 includes x64 as well according to the cmake doc.
+ IF(NOT DEFINED STATIC)
+ ADD_DEFINITIONS( "-DBUILDING_DALI_ADAPTOR" )
+ ENDIF()
+
+ ADD_DEFINITIONS( "-DDALI_ADAPTOR_COMPILATION" )
+ ADD_DEFINITIONS( "-D_NSIG=65" )
+ENDIF()
# Deployment folder should come from spec file or command line:
SET( PREFIX ${CMAKE_INSTALL_PREFIX})
ENDIF()
# Set up the lib dir
-SET( LIB_DIR $ENV{libdir} )
-IF( NOT LIB_DIR )
- SET( LIB_DIR ${CMAKE_INSTALL_LIBDIR} )
-ENDIF()
-IF( NOT LIB_DIR )
+IF( SET_VCPKG_INSTALL_PREFIX )
SET( LIB_DIR ${PREFIX}/lib )
+ SET( BIN_DIR ${PREFIX}/bin )
+ELSE()
+ SET( LIB_DIR $ENV{libdir} )
+ IF( NOT LIB_DIR )
+ SET( LIB_DIR ${CMAKE_INSTALL_LIBDIR} )
+ ENDIF()
+ IF( NOT LIB_DIR )
+ SET( LIB_DIR ${PREFIX}/lib )
+ ENDIF()
ENDIF()
-INCLUDE( deps-check.cmake )
+IF( UNIX )
+ INCLUDE( deps-check.cmake )
+ENDIF()
# Set up compiler flags and warnings
-#SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11" )
-#ADD_COMPILE_OPTIONS( -Wnon-virtual-dtor -Woverloaded-virtual -Wold-style-cast )
-
-# TODO: Clang is a lot more strict with warnings, we should address
-# those issues at some point.
-#IF( NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" )
- #ADD_COMPILE_OPTIONS( -Werror )
-#ENDIF()
-
-ADD_COMPILE_OPTIONS( -Wall ${DALI_CFLAGS} )# -Wextra -Wno-unused-parameter )# -Wfloat-equal )
+IF( UNIX )
+ ADD_COMPILE_OPTIONS( -Wall ${DALI_CFLAGS} )# -Wextra -Wno-unused-parameter )# -Wfloat-equal )
+ELSEIF( WIN32 ) # WIN32 includes x64 as well according to the cmake doc.
+ ADD_COMPILE_OPTIONS( /FIdali-windows-dependencies.h ) #
+ ADD_COMPILE_OPTIONS( /FIextern-definitions.h ) # Adds missing definitions.
+ ADD_COMPILE_OPTIONS( /FIpreprocessor-definitions.h ) #
+ ADD_COMPILE_OPTIONS( /vmg ) # Avoids a 'reinterpret_cast' compile error while compiling signals and callbacks.
+ ADD_COMPILE_OPTIONS( /TP ) # All files considered C++
+ENDIF()
ADD_DEFINITIONS( -DNON_POWER_OF_TWO_TEXTURES
${DEFINITIONS} )
# Include profile specific setup
INCLUDE( profiles/${PROFILE_LCASE}-profile.cmake )
-# Configure the pkg-config file
-# Requires the following variables to be setup:
-# @PREFIX@ @EXEC_PREFIX@ @DALI_ADAPTOR_VERSION@ @LIB_DIR@ @DEV_INCLUDE_PATH@
-SET( DEV_INCLUDE_PATH ${INCLUDE_DIR} )
-SET( ADAPTOR_PKG_CFG_FILE ${CMAKE_CURRENT_SOURCE_DIR}/dali-adaptor.pc )
-SET( ADAPTOR_INTEGRATION_PKG_CFG_FILE ${CMAKE_CURRENT_SOURCE_DIR}/dali-adaptor-integration.pc )
-CONFIGURE_FILE( ${ADAPTOR_PKG_CFG_FILE}.in ${ADAPTOR_PKG_CFG_FILE} @ONLY )
-CONFIGURE_FILE( ${ADAPTOR_INTEGRATION_PKG_CFG_FILE}.in ${ADAPTOR_INTEGRATION_PKG_CFG_FILE} @ONLY )
+IF( ENABLE_PKG_CONFIGURE )
+ # Configure the pkg-config file
+ # Requires the following variables to be setup:
+ # @PREFIX@ @EXEC_PREFIX@ @DALI_ADAPTOR_VERSION@ @LIB_DIR@ @DEV_INCLUDE_PATH@
+ SET( DEV_INCLUDE_PATH ${INCLUDE_DIR} )
+ SET( ADAPTOR_PKG_CFG_FILE ${CMAKE_CURRENT_SOURCE_DIR}/dali-adaptor.pc )
+ SET( ADAPTOR_INTEGRATION_PKG_CFG_FILE ${CMAKE_CURRENT_SOURCE_DIR}/dali-adaptor-integration.pc )
+ CONFIGURE_FILE( ${ADAPTOR_PKG_CFG_FILE}.in ${ADAPTOR_PKG_CFG_FILE} @ONLY )
+ CONFIGURE_FILE( ${ADAPTOR_INTEGRATION_PKG_CFG_FILE}.in ${ADAPTOR_INTEGRATION_PKG_CFG_FILE} @ONLY )
+ENDIF()
+
CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/system-cache-path.in ${ADAPTOR_ROOT}/dali/internal/adaptor/common/system-cache-path.cpp @ONLY)
+SET( THIRD_PARTY_WINDOWS_PLATFORM "" )
+IF( WIN32 )
+ SET( THIRD_PARTY_WINDOWS_PLATFORM ${ROOT_SRC_DIR}/third-party/windows-platform )
+ENDIF()
+
INCLUDE_DIRECTORIES(
${ROOT_SRC_DIR}
${PROFILE_INCLUDE_DIRECTORIES}
+ ${THIRD_PARTY_WINDOWS_PLATFORM}
+ ${SYSTEM_INCLUDE_DIR}
)
SET(LIBTYPE SHARED)
ADD_LIBRARY( ${name} ${LIBTYPE} ${SOURCES} )
-# pthread required due to gcc issue
-FIND_LIBRARY( PTHREAD pthread )
-IF( PTHREAD AND NOT ANDROID_PROFILE )
- SET( OPTIONAL_LIBS ${OPTIONAL_LIBS} -lpthread )
+IF( UNIX )
+ # pthread required due to gcc issue
+ FIND_LIBRARY( PTHREAD pthread )
+ IF( PTHREAD AND NOT ANDROID_PROFILE )
+ SET( OPTIONAL_LIBS ${OPTIONAL_LIBS} -lpthread )
+ ENDIF()
ENDIF()
TARGET_LINK_LIBRARIES( ${name}
)
# Install the library so file and symlinks
-INSTALL( TARGETS ${name} DESTINATION ${LIB_DIR} )
+IF( INSTALL_CMAKE_MODULES )
+ INSTALL( TARGETS ${name}
+ EXPORT ${name}-targets
+ LIBRARY DESTINATION ${LIB_DIR}
+ ARCHIVE DESTINATION ${LIB_DIR}
+ RUNTIME DESTINATION ${BIN_DIR}
+ )
+
+ INSTALL(
+ EXPORT ${name}-targets
+ NAMESPACE ${name}::
+ FILE ${name}-targets.cmake
+ DESTINATION share/${name}
+ )
+
+ FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${name}-config.cmake "
+ include(CMakeFindDependencyMacro)
+ include(\${CMAKE_CURRENT_LIST_DIR}/${name}-targets.cmake)
+ ")
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${name}-config.cmake DESTINATION share/${name})
+ELSE()
+ INSTALL( TARGETS ${name} DESTINATION ${LIB_DIR} )
+ENDIF()
-# Install the pkg-config file
-INSTALL( FILES ${ADAPTOR_PKG_CFG_FILE} DESTINATION ${LIB_DIR}/pkgconfig )
-INSTALL( FILES ${ADAPTOR_INTEGRATION_PKG_CFG_FILE} DESTINATION ${LIB_DIR}/pkgconfig )
+IF( ENABLE_PKG_CONFIGURE )
+ # Install the pkg-config file
+ INSTALL( FILES ${ADAPTOR_PKG_CFG_FILE} DESTINATION ${LIB_DIR}/pkgconfig )
+ INSTALL( FILES ${ADAPTOR_INTEGRATION_PKG_CFG_FILE} DESTINATION ${LIB_DIR}/pkgconfig )
+ENDIF()
# macro for installing headers by replacing prefix. (TODO, investigate
# if there is a CMAKE way of doing this automatically)
INCLUDE( ${ADAPTOR_ROOT}/doc/file.list )
INSTALL( FILES ${package_doxy_files} DESTINATION ${packagedoxydir} )
-IF( NOT UBUNTU_PROFILE AND NOT ANDROID_PROFILE )
+IF( NOT UBUNTU_PROFILE AND NOT ANDROID_PROFILE AND NOT WINDOWS_PROFILE )
INSTALL( FILES ${public_api_adaptor_tizen_header_files} DESTINATION ${tizenadaptorframeworkpublicapidir} )
IF( NOT WAYLAND )
INSTALL( FILES ${devel_api_adaptor_tizen_x11_header_files} DESTINATION ${tizenadaptorframeworkdevelapidir} )
IF( ANDROID_PROFILE )
SET( daliShaderbinCacheDir ${CMAKE_INSTALL_PREFIX}/core/shaderbin/)
INSTALL( DIRECTORY DESTINATION ${daliShaderbinCacheDir} )
-ELSE()
+ELSEIF( UNIX )
SET( daliShaderbinCacheDir ${CMAKE_BINARY_DIR}/${dataReadOnlyDir}/core/shaderbin/)
INSTALL( DIRECTORY DESTINATION ${dataReadOnlyDir}/core/shaderbin )
ENDIF()
# The DALI_ADAPTOR_PREFIX must be set if this CMakeLists.txt is executed
# from the top-level CMake script using ADD_SUBDIRECTORY() to avoid
# target names duplication with other DALi modules.
-IF( UNIX AND NOT ANDROID )
+IF( ENABLE_COVERAGE )
FIND_PROGRAM( LCOV_BIN "lcov" )
IF( LCOV_BIN )
)
ENDIF( LCOV_BIN )
-ENDIF( UNIX AND NOT ANDROID )
+ENDIF()
-# Linker Test
-SET( DALI_TEST_SUITE_DIR ${ROOT_SRC_DIR}/automated-tests/src/dali/dali-test-suite-utils )
-SET( LINKER_TEST_NAME ${DALI_ADAPTOR_PREFIX}linker-test )
-SET( LINKER_TEST_SOURCES
- linker-test.cpp
-)
-ADD_EXECUTABLE( ${LINKER_TEST_NAME} ${LINKER_TEST_SOURCES} )
-MESSAGE(STATUS "libs: ${DALICORE_LDFLAGS}")
-TARGET_COMPILE_OPTIONS( ${LINKER_TEST_NAME} PRIVATE -I${ROOT_SRC_DIR} ${DALICORE_CFLAGS} )
-TARGET_LINK_LIBRARIES(${LINKER_TEST_NAME} ${name} ${DALICORE_LDFLAGS} ${VCONF_LDFLAGS} ${HARFBUZZ_LDFLAGS} )
-TARGET_INCLUDE_DIRECTORIES( ${LINKER_TEST_NAME} PRIVATE ${DALI_TEST_SUITE_DIR} )
+IF( ENABLE_LINK_TEST )
+ # Linker Test
+ SET( DALI_TEST_SUITE_DIR ${ROOT_SRC_DIR}/automated-tests/src/dali/dali-test-suite-utils )
+ SET( LINKER_TEST_NAME ${DALI_ADAPTOR_PREFIX}linker-test )
+ SET( LINKER_TEST_SOURCES
+ linker-test.cpp
+ )
+ ADD_EXECUTABLE( ${LINKER_TEST_NAME} ${LINKER_TEST_SOURCES} )
+ MESSAGE(STATUS "libs: ${DALICORE_LDFLAGS}")
+ TARGET_COMPILE_OPTIONS( ${LINKER_TEST_NAME} PRIVATE -I${ROOT_SRC_DIR} ${DALICORE_CFLAGS} )
+ TARGET_LINK_LIBRARIES(${LINKER_TEST_NAME} ${name} ${DALICORE_LDFLAGS} ${VCONF_LDFLAGS} ${HARFBUZZ_LDFLAGS} )
+ TARGET_INCLUDE_DIRECTORIES( ${LINKER_TEST_NAME} PRIVATE ${DALI_TEST_SUITE_DIR} )
+ENDIF()
# Configuration Messages
MESSAGE( STATUS "Configuration:\n" )
MESSAGE( STATUS "Network logging enabled: ${ENABLE_NETWORKLOGGING}")
MESSAGE( STATUS "Font config file: ${fontConfigurationFile}")
MESSAGE( STATUS "Using Tizen APP FW libraries: ${ENABLE_APPFW}")
+MESSAGE( STATUS "Use pkg configure: ${ENABLE_PKG_CONFIGURE}" )
+MESSAGE( STATUS "Enable link test: ${ENABLE_LINK_TEST}" )
MESSAGE( STATUS "Tizen Platform Config supported ${TIZEN_PLATFORM_CONFIG_SUPPORTED_LOGMSG}")
MESSAGE( STATUS "Compile flags: ${CMAKE_CXX_FLAGS}")
IF( enable_feedback )
# Find dependencies ( linux, tizen )
-FIND_PACKAGE(PkgConfig REQUIRED)
+IF( ENABLE_PKG_CONFIGURE )
+ FIND_PACKAGE(PkgConfig REQUIRED)
+ENDIF()
# Special constant for ARG_ENABLE function
SET( ENABLE_VAL "#ENABLE_VAL" )
SET( HELP_ENABLES "" )
SET( CUSTOM_ARGUMENTS "" )
+
# Macro checks if the module is available and sets user variable
MACRO( CHECK_MODULE_AND_SET PKG_VAR PKG_LIB_REQUIREMENTS VAR_TO_SET )
PKG_CHECK_MODULES(${PKG_VAR} "${PKG_LIB_REQUIREMENTS}")
ENDIF()
# Test for profile and exit if something wrong
-SET( VALID_PROFILES COMMON MOBILE WEARABLE TV IVI UBUNTU ANDROID )
+SET( VALID_PROFILES COMMON MOBILE WEARABLE TV IVI UBUNTU ANDROID WINDOWS )
LIST( FIND VALID_PROFILES ${enable_profile} RESULT )
IF( RESULT EQUAL -1 )
MESSAGE( FATAL_ERROR "Invalid profile!" )
--- /dev/null
+# PROFILE: WINDOWS
+
+# Set the sources
+SET( SOURCES
+ ${adaptor_accessibility_common_src_files}
+ ${adaptor_accessibility_windows_src_files}
+ ${adaptor_adaptor_common_src_files}
+ ${adaptor_clipboard_common_src_files}
+ ${adaptor_framework_generic_src_files}
+ ${devel_api_src_files}
+ ${adaptor_devel_api_text_abstraction_src_files}
+ ${adaptor_graphics_common_src_files}
+ ${adaptor_graphics_gles_src_files}
+ ${adaptor_haptics_common_src_files}
+ ${adaptor_imaging_common_src_files}
+ ${adaptor_input_common_src_files}
+ ${adaptor_integration_api_src_files}
+ ${adaptor_legacy_common_src_files}
+ ${adaptor_network_common_src_files}
+ ${adaptor_public_api_src_files}
+ ${adaptor_sensor_common_src_files}
+ ${adaptor_styling_common_src_files}
+ ${adaptor_system_common_src_files}
+ ${adaptor_system_windows_src_files}
+ ${adaptor_text_common_src_files}
+ ${adaptor_resampler_src_files}
+ ${adaptor_vector_animation_common_src_files}
+ ${adaptor_video_common_src_files}
+ ${adaptor_web_engine_common_src_files}
+ ${adaptor_window_system_common_src_files}
+ ${adaptor_trace_common_src_files}
+ ${adaptor_thread_common_src_files}
+ ${devel_api_text_abstraction_src_files}
+ ${static_libraries_glyphy_src_files}
+ ${static_libraries_libunibreak_src_files}
+ ${adaptor_windows_platform_src_files}
+ ${adaptor_adaptor_windows_src_files}
+ ${adaptor_window_system_windows_src_files}
+ ${adaptor_graphics_windows_src_files}
+ ${adaptor_input_windows_src_files}
+ ${adaptor_clipboard_windows_src_files}
+ ${adaptor_imaging_windows_src_files}
+)
+
+FIND_PACKAGE( pthreads REQUIRED )
+FIND_PACKAGE( curl REQUIRED )
+FIND_LIBRARY( GETOPT_LIBRARY NAMES getopt )
+FIND_LIBRARY( EXIF_LIBRARY NAMES libexif )
+
+FIND_PACKAGE( png REQUIRED )
+FIND_PACKAGE( gif REQUIRED )
+FIND_PACKAGE( jpeg REQUIRED )
+FIND_LIBRARY( TURBO_JPEG_LIBRARY NAMES turbojpeg )
+
+FIND_PACKAGE( fontconfig REQUIRED )
+FIND_PACKAGE( freetype REQUIRED )
+FIND_PACKAGE( harfbuzz REQUIRED )
+FIND_LIBRARY( FRIBIDI_LIBRARY NAMES fribidi )
+
+FIND_PACKAGE( unofficial-angle REQUIRED )
+FIND_PACKAGE( unofficial-cairo REQUIRED )
+
+# Set the linker flags
+SET( REQUIRED_LIBS
+ PThreads4W::PThreads4W
+ CURL::libcurl
+ ${GETOPT_LIBRARY}
+ ${EXIF_LIBRARY}
+ ${PNG_LIBRARIES}
+ ${GIF_LIBRARIES}
+ JPEG::JPEG
+ ${TURBO_JPEG_LIBRARY}
+ ${FONTCONFIG_LIBRARIES}
+ Freetype::Freetype
+ harfbuzz::harfbuzz
+ ${FRIBIDI_LIBRARY}
+ unofficial::angle::libEGL
+ unofficial::angle::libGLESv2
+ unofficial::cairo::cairo
+ dali-core::dali-core
+)
# module: accessibility, backend: common
-SET( adaptor_accessibility_common_src_files
- ${adaptor_accessibility_dir}/common/tts-player-factory.cpp
- ${adaptor_accessibility_dir}/common/tts-player-impl.cpp
- ${adaptor_accessibility_dir}/common/accessibility-adaptor-impl.cpp
+SET( adaptor_accessibility_common_src_files
+ ${adaptor_accessibility_dir}/common/tts-player-factory.cpp
+ ${adaptor_accessibility_dir}/common/tts-player-impl.cpp
+ ${adaptor_accessibility_dir}/common/accessibility-adaptor-impl.cpp
${adaptor_accessibility_dir}/common/accessibility-gesture-detector.cpp
)
# module: accessibility, backend: tizen-wayland
-SET( adaptor_accessibility_tizen_wayland_src_files
- ${adaptor_accessibility_dir}/tizen-wayland/tts-player-factory-tizen.cpp
+SET( adaptor_accessibility_tizen_wayland_src_files
+ ${adaptor_accessibility_dir}/tizen-wayland/tts-player-factory-tizen.cpp
${adaptor_accessibility_dir}/tizen-wayland/tts-player-impl-tizen.cpp
- ${adaptor_accessibility_dir}/tizen-wayland/atspi/atspi-accessibility-tizen.cpp
- ${adaptor_accessibility_dir}/tizen-wayland/atspi/accessibility-impl.cpp
- ${adaptor_accessibility_dir}/tizen-wayland/atspi/accessible.cpp
- ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-accessible.cpp
- ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-action.cpp
- ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-base.cpp
- ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-collection.cpp
- ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-component.cpp
- ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-editable-text.cpp
- ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-impl.cpp
- ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-object.cpp
- ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-text.cpp
- ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-value.cpp
- ${adaptor_accessibility_dir}/tizen-wayland/atspi/component.cpp
+ ${adaptor_accessibility_dir}/tizen-wayland/atspi/atspi-accessibility-tizen.cpp
+ ${adaptor_accessibility_dir}/tizen-wayland/atspi/accessibility-impl.cpp
+ ${adaptor_accessibility_dir}/tizen-wayland/atspi/accessible.cpp
+ ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-accessible.cpp
+ ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-action.cpp
+ ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-base.cpp
+ ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-collection.cpp
+ ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-component.cpp
+ ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-editable-text.cpp
+ ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-impl.cpp
+ ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-object.cpp
+ ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-text.cpp
+ ${adaptor_accessibility_dir}/tizen-wayland/atspi/bridge-value.cpp
+ ${adaptor_accessibility_dir}/tizen-wayland/atspi/component.cpp
${adaptor_accessibility_dir}/tizen-wayland/atspi/dbus-tizen.cpp
-
)
# module: accessibility, backend: tizen-common profile
-SET( adaptor_accessibility_tizen_common_src_files
- ${adaptor_accessibility_dir}/tizen-wayland/tizen-common/accessibility-adaptor-impl-tizen.cpp
+SET( adaptor_accessibility_tizen_common_src_files
+ ${adaptor_accessibility_dir}/tizen-wayland/tizen-common/accessibility-adaptor-impl-tizen.cpp
)
# module: accessibility, backend: tizen-ivi profile
-SET( adaptor_accessibility_tizen_ivi_src_files
+SET( adaptor_accessibility_tizen_ivi_src_files
${adaptor_accessibility_dir}/tizen-wayland/tizen-ivi/accessibility-adaptor-impl-ivi.cpp
)
# module: accessibility, backend: tizen-mobile profile
-SET( adaptor_accessibility_tizen_mobile_src_files
+SET( adaptor_accessibility_tizen_mobile_src_files
${adaptor_accessibility_dir}/tizen-wayland/tizen-mobile/accessibility-adaptor-impl-mobile.cpp
)
# module: accessibility, backend: tizen-tv profile
-SET( adaptor_accessibility_tizen_tv_src_files
+SET( adaptor_accessibility_tizen_tv_src_files
${adaptor_accessibility_dir}/tizen-wayland/tizen-tv/accessibility-adaptor-impl-tv.cpp
)
# module: accessibility, backend: tizen-wearable profile
-SET( adaptor_accessibility_tizen_wearable_src_files
+SET( adaptor_accessibility_tizen_wearable_src_files
${adaptor_accessibility_dir}/tizen-wayland/tizen-wearable/accessibility-adaptor-impl-wearable.cpp
)
# module: accessibility, backend: ubuntu
-SET( adaptor_accessibility_ubuntu_src_files
- ${adaptor_accessibility_dir}/generic/accessibility-adaptor-impl-generic.cpp
- ${adaptor_accessibility_dir}/generic/atspi-accessibility-generic.cpp
- ${adaptor_accessibility_dir}/generic/tts-player-factory-generic.cpp
+SET( adaptor_accessibility_ubuntu_src_files
+ ${adaptor_accessibility_dir}/generic/accessibility-adaptor-impl-generic.cpp
+ ${adaptor_accessibility_dir}/generic/atspi-accessibility-generic.cpp
+ ${adaptor_accessibility_dir}/generic/tts-player-factory-generic.cpp
${adaptor_accessibility_dir}/generic/tts-player-impl-generic.cpp
)
# module: accessibility, backend: android
-SET( adaptor_accessibility_android_src_files
- ${adaptor_accessibility_dir}/generic/accessibility-adaptor-impl-generic.cpp
- ${adaptor_accessibility_dir}/generic/tts-player-factory-generic.cpp
+SET( adaptor_accessibility_android_src_files
+ ${adaptor_accessibility_dir}/generic/accessibility-adaptor-impl-generic.cpp
+ ${adaptor_accessibility_dir}/generic/tts-player-factory-generic.cpp
${adaptor_accessibility_dir}/generic/tts-player-impl-generic.cpp
)
+
+# module: accessibility, backend: windows
+SET( adaptor_accessibility_windows_src_files
+ ${adaptor_accessibility_dir}/generic/accessibility-adaptor-impl-generic.cpp
+)
${adaptor_adaptor_dir}/androidjni/framework-androidjni.cpp
)
+# module: adaptor, backend: windows
+SET( adaptor_adaptor_windows_src_files
+ ${adaptor_adaptor_dir}/generic/adaptor-impl-generic.cpp
+ ${adaptor_adaptor_dir}/windows/framework-win.cpp
+)
+
# module: clipboard, backend: common
-SET( adaptor_clipboard_common_src_files
+SET( adaptor_clipboard_common_src_files
${adaptor_clipboard_dir}/common/clipboard-event-notifier-impl.cpp
)
# module: clipboard, backend: tizen-wayland
-SET( adaptor_clipboard_tizen_wayland_src_files
+SET( adaptor_clipboard_tizen_wayland_src_files
${adaptor_clipboard_dir}/tizen-wayland/clipboard-impl-ecore-wl.cpp
)
# module: clipboard, backend: ubuntu-x11
-SET( adaptor_clipboard_ubuntu_x11_src_files
+SET( adaptor_clipboard_ubuntu_x11_src_files
${adaptor_clipboard_dir}/ubuntu-x11/clipboard-impl-x.cpp
)
${adaptor_clipboard_dir}/generic/clipboard-impl-generic.cpp
)
+# module: clipboard, backend: windows
+SET( adaptor_clipboard_windows_src_files
+ ${adaptor_clipboard_dir}/generic/clipboard-impl-generic.cpp
+)
+
# module: graphics, backend: gles
-SET( adaptor_graphics_gles_src_files
- ${adaptor_graphics_dir}/gles/egl-debug.cpp
- ${adaptor_graphics_dir}/gles/egl-implementation.cpp
- ${adaptor_graphics_dir}/gles/egl-sync-implementation.cpp
- ${adaptor_graphics_dir}/gles/egl-context-helper-implementation.cpp
- ${adaptor_graphics_dir}/gles/gl-extensions.cpp
- ${adaptor_graphics_dir}/gles/gl-proxy-implementation.cpp
- ${adaptor_graphics_dir}/gles/egl-graphics-factory.cpp
+SET( adaptor_graphics_gles_src_files
+ ${adaptor_graphics_dir}/gles/egl-debug.cpp
+ ${adaptor_graphics_dir}/gles/egl-implementation.cpp
+ ${adaptor_graphics_dir}/gles/egl-sync-implementation.cpp
+ ${adaptor_graphics_dir}/gles/egl-context-helper-implementation.cpp
+ ${adaptor_graphics_dir}/gles/gl-extensions.cpp
+ ${adaptor_graphics_dir}/gles/gl-proxy-implementation.cpp
+ ${adaptor_graphics_dir}/gles/egl-graphics-factory.cpp
${adaptor_graphics_dir}/gles/egl-graphics.cpp
)
# module: graphics, backend: tizen
-SET( adaptor_graphics_tizen_src_files
+SET( adaptor_graphics_tizen_src_files
${adaptor_graphics_dir}/tizen/egl-image-extensions-tizen.cpp
)
# module: graphics, backend: generic
-SET( adaptor_graphics_ubuntu_src_files
+SET( adaptor_graphics_ubuntu_src_files
${adaptor_graphics_dir}/generic/egl-image-extensions-generic.cpp
)
${adaptor_graphics_dir}/android/egl-image-extensions-android.cpp
)
+# module: graphics, backend: windows
+SET( adaptor_graphics_windows_src_files
+ ${adaptor_graphics_dir}/windows-gl/egl-image-extensions.cpp
+)
+
# module: imaging, backend: common
-SET( adaptor_imaging_common_src_files
- ${adaptor_imaging_dir}/common/native-bitmap-buffer-impl.cpp
- ${adaptor_imaging_dir}/common/pixel-buffer-impl.cpp
- ${adaptor_imaging_dir}/common/alpha-mask.cpp
- ${adaptor_imaging_dir}/common/file-download.cpp
- ${adaptor_imaging_dir}/common/gaussian-blur.cpp
- ${adaptor_imaging_dir}/common/http-utils.cpp
- ${adaptor_imaging_dir}/common/image-loader.cpp
- ${adaptor_imaging_dir}/common/image-loader-plugin-proxy.cpp
- ${adaptor_imaging_dir}/common/image-operations.cpp
- ${adaptor_imaging_dir}/common/loader-astc.cpp
- ${adaptor_imaging_dir}/common/loader-bmp.cpp
- ${adaptor_imaging_dir}/common/loader-gif.cpp
- ${adaptor_imaging_dir}/common/loader-ico.cpp
- ${adaptor_imaging_dir}/common/loader-jpeg-turbo.cpp
- ${adaptor_imaging_dir}/common/loader-ktx.cpp
- ${adaptor_imaging_dir}/common/loader-png.cpp
- ${adaptor_imaging_dir}/common/loader-wbmp.cpp
+SET( adaptor_imaging_common_src_files
+ ${adaptor_imaging_dir}/common/native-bitmap-buffer-impl.cpp
+ ${adaptor_imaging_dir}/common/pixel-buffer-impl.cpp
+ ${adaptor_imaging_dir}/common/alpha-mask.cpp
+ ${adaptor_imaging_dir}/common/gaussian-blur.cpp
+ ${adaptor_imaging_dir}/common/http-utils.cpp
+ ${adaptor_imaging_dir}/common/image-loader.cpp
+ ${adaptor_imaging_dir}/common/image-loader-plugin-proxy.cpp
+ ${adaptor_imaging_dir}/common/image-operations.cpp
+ ${adaptor_imaging_dir}/common/loader-astc.cpp
+ ${adaptor_imaging_dir}/common/loader-bmp.cpp
+ ${adaptor_imaging_dir}/common/loader-gif.cpp
+ ${adaptor_imaging_dir}/common/loader-ico.cpp
+ ${adaptor_imaging_dir}/common/loader-jpeg-turbo.cpp
+ ${adaptor_imaging_dir}/common/loader-ktx.cpp
+ ${adaptor_imaging_dir}/common/loader-png.cpp
+ ${adaptor_imaging_dir}/common/loader-wbmp.cpp
${adaptor_imaging_dir}/common/pixel-manipulation.cpp
)
# module: imaging, backend: tizen
-SET( adaptor_imaging_tizen_src_files
- ${adaptor_imaging_dir}/tizen/native-image-source-factory-tizen.cpp
- ${adaptor_imaging_dir}/tizen/native-image-source-impl-tizen.cpp
+SET( adaptor_imaging_tizen_src_files
+ ${adaptor_imaging_dir}/common/file-download.cpp
+ ${adaptor_imaging_dir}/tizen/native-image-source-factory-tizen.cpp
+ ${adaptor_imaging_dir}/tizen/native-image-source-impl-tizen.cpp
${adaptor_imaging_dir}/tizen/native-image-source-queue-impl-tizen.cpp
)
# module: imaging, backend: ubuntu-x11
-SET( adaptor_imaging_ubuntu_x11_src_files
- ${adaptor_imaging_dir}/ubuntu-x11/native-image-source-factory-x.cpp
- ${adaptor_imaging_dir}/ubuntu-x11/native-image-source-impl-x.cpp
+SET( adaptor_imaging_ubuntu_x11_src_files
+ ${adaptor_imaging_dir}/common/file-download.cpp
+ ${adaptor_imaging_dir}/ubuntu-x11/native-image-source-factory-x.cpp
+ ${adaptor_imaging_dir}/ubuntu-x11/native-image-source-impl-x.cpp
${adaptor_imaging_dir}/ubuntu-x11/native-image-source-queue-impl-x.cpp
)
# module: imaging, backend: android
SET( adaptor_imaging_android_src_files
+ ${adaptor_imaging_dir}/common/file-download.cpp
${adaptor_imaging_dir}/android/native-image-source-factory-android.cpp
${adaptor_imaging_dir}/android/native-image-source-impl-android.cpp
${adaptor_imaging_dir}/android/native-image-source-queue-impl-android.cpp
)
+
+# module: imaging, backend: windows
+SET( adaptor_imaging_windows_src_files
+ ${adaptor_imaging_dir}/windows/curl-environment-win.cpp
+ ${adaptor_imaging_dir}/windows/file-download-win.cpp
+ ${adaptor_imaging_dir}/windows/native-image-source-factory-win.cpp
+ ${adaptor_imaging_dir}/windows/native-image-source-impl-win.cpp
+)
#include <pthread.h>
#include <cstring>
#include <curl/curl.h>
-#include <../ExInclude/InternalFileOperation.h>
// INTERNAL INCLUDES
#include <dali/internal/system/common/file-writer.h>
${adaptor_input_dir}/generic/key-mapping-generic.cpp
${adaptor_input_dir}/generic/virtual-keyboard-impl-generic.cpp
)
+
+# module: input, backend: windows
+SET( adaptor_input_windows_src_files
+ ${adaptor_input_dir}/windows/input-method-context-factory-win.cpp
+ ${adaptor_input_dir}/windows/input-method-context-impl-win.cpp
+ ${adaptor_input_dir}/windows/key-mapping-win.cpp
+ ${adaptor_input_dir}/windows/virtual-keyboard-impl-win.cpp
+)
# module: system, backend: common
-SET( adaptor_system_common_src_files
- ${adaptor_system_dir}/common/abort-handler.cpp
- ${adaptor_system_dir}/common/color-controller-impl.cpp
- ${adaptor_system_dir}/common/command-line-options.cpp
- ${adaptor_system_dir}/common/environment-options.cpp
- ${adaptor_system_dir}/common/fps-tracker.cpp
- ${adaptor_system_dir}/common/frame-time-stamp.cpp
- ${adaptor_system_dir}/common/frame-time-stats.cpp
- ${adaptor_system_dir}/common/kernel-trace.cpp
- ${adaptor_system_dir}/common/locale-utils.cpp
- ${adaptor_system_dir}/common/object-profiler.cpp
- ${adaptor_system_dir}/common/performance-interface-factory.cpp
- ${adaptor_system_dir}/common/performance-logger-impl.cpp
- ${adaptor_system_dir}/common/performance-marker.cpp
- ${adaptor_system_dir}/common/performance-server.cpp
- ${adaptor_system_dir}/common/shared-file.cpp
- ${adaptor_system_dir}/common/singleton-service-impl.cpp
- ${adaptor_system_dir}/common/sound-player-impl.cpp
- ${adaptor_system_dir}/common/stat-context.cpp
- ${adaptor_system_dir}/common/stat-context-manager.cpp
- ${adaptor_system_dir}/common/system-trace.cpp
- ${adaptor_system_dir}/common/thread-controller.cpp
- ${adaptor_system_dir}/common/time-service.cpp
- ${adaptor_system_dir}/common/trigger-event.cpp
- ${adaptor_system_dir}/common/trigger-event-factory.cpp
- ${adaptor_system_dir}/common/update-status-logger.cpp
- ${adaptor_system_dir}/common/widget-application-impl.cpp
+SET( adaptor_system_common_src_files
+ ${adaptor_system_dir}/common/abort-handler.cpp
+ ${adaptor_system_dir}/common/color-controller-impl.cpp
+ ${adaptor_system_dir}/common/command-line-options.cpp
+ ${adaptor_system_dir}/common/environment-options.cpp
+ ${adaptor_system_dir}/common/fps-tracker.cpp
+ ${adaptor_system_dir}/common/frame-time-stamp.cpp
+ ${adaptor_system_dir}/common/frame-time-stats.cpp
+ ${adaptor_system_dir}/common/kernel-trace.cpp
+ ${adaptor_system_dir}/common/locale-utils.cpp
+ ${adaptor_system_dir}/common/object-profiler.cpp
+ ${adaptor_system_dir}/common/performance-interface-factory.cpp
+ ${adaptor_system_dir}/common/performance-logger-impl.cpp
+ ${adaptor_system_dir}/common/performance-marker.cpp
+ ${adaptor_system_dir}/common/performance-server.cpp
+ ${adaptor_system_dir}/common/singleton-service-impl.cpp
+ ${adaptor_system_dir}/common/sound-player-impl.cpp
+ ${adaptor_system_dir}/common/stat-context.cpp
+ ${adaptor_system_dir}/common/stat-context-manager.cpp
+ ${adaptor_system_dir}/common/system-trace.cpp
+ ${adaptor_system_dir}/common/thread-controller.cpp
+ ${adaptor_system_dir}/common/time-service.cpp
+ ${adaptor_system_dir}/common/update-status-logger.cpp
+ ${adaptor_system_dir}/common/widget-application-impl.cpp
)
# module: system, backend: linux
-SET( adaptor_system_linux_src_files
- ${adaptor_system_dir}/linux/callback-manager-ecore.cpp
+SET( adaptor_system_linux_src_files
+ ${adaptor_system_dir}/common/shared-file.cpp
+ ${adaptor_system_dir}/common/trigger-event.cpp
+ ${adaptor_system_dir}/common/trigger-event-factory.cpp
+ ${adaptor_system_dir}/linux/callback-manager-ecore.cpp
${adaptor_system_dir}/linux/file-descriptor-monitor-ecore.cpp
${adaptor_system_dir}/generic/shared-file-operations-generic.cpp
${adaptor_system_dir}/linux/timer-impl-ecore.cpp
)
# module: system, backend: tizen-wayland
-SET( adaptor_system_tizen_wayland_src_files
+SET( adaptor_system_tizen_wayland_src_files
+ ${adaptor_system_dir}/common/shared-file.cpp
+ ${adaptor_system_dir}/common/trigger-event.cpp
+ ${adaptor_system_dir}/common/trigger-event-factory.cpp
${adaptor_system_dir}/tizen-wayland/logging-tizen.cpp
- ${adaptor_system_dir}/tizen-wayland/system-settings-tizen.cpp
- ${adaptor_system_dir}/tizen-wayland/widget-application-impl-tizen.cpp
+ ${adaptor_system_dir}/tizen-wayland/system-settings-tizen.cpp
+ ${adaptor_system_dir}/tizen-wayland/widget-application-impl-tizen.cpp
${adaptor_system_dir}/tizen-wayland/widget-controller-tizen.cpp
)
# module: system, backend: tizen-wearable
-SET( adaptor_system_tizen_wearable_src_files
+SET( adaptor_system_tizen_wearable_src_files
+ ${adaptor_system_dir}/common/shared-file.cpp
+ ${adaptor_system_dir}/common/trigger-event.cpp
+ ${adaptor_system_dir}/common/trigger-event-factory.cpp
${adaptor_system_dir}/tizen-wayland/logging-tizen.cpp
- ${adaptor_system_dir}/tizen-wayland/tizen-wearable/capture.cpp
- ${adaptor_system_dir}/tizen-wayland/tizen-wearable/capture-impl-tizen.cpp
- ${adaptor_system_dir}/tizen-wayland/tizen-wearable/watch-time.cpp
- ${adaptor_system_dir}/tizen-wayland/system-settings-tizen.cpp
- ${adaptor_system_dir}/tizen-wayland/widget-application-impl-tizen.cpp
+ ${adaptor_system_dir}/tizen-wayland/tizen-wearable/capture.cpp
+ ${adaptor_system_dir}/tizen-wayland/tizen-wearable/capture-impl-tizen.cpp
+ ${adaptor_system_dir}/tizen-wayland/tizen-wearable/watch-time.cpp
+ ${adaptor_system_dir}/tizen-wayland/system-settings-tizen.cpp
+ ${adaptor_system_dir}/tizen-wayland/widget-application-impl-tizen.cpp
${adaptor_system_dir}/tizen-wayland/widget-controller-tizen.cpp
)
# module: system, backend: ubuntu-x11
-SET( adaptor_system_ubuntu_x11_src_files
+SET( adaptor_system_ubuntu_x11_src_files
+ ${adaptor_system_dir}/common/shared-file.cpp
+ ${adaptor_system_dir}/common/trigger-event.cpp
+ ${adaptor_system_dir}/common/trigger-event-factory.cpp
${adaptor_system_dir}/ubuntu-x11/logging-x.cpp
- ${adaptor_system_dir}/ubuntu-x11/system-settings-x.cpp
- ${adaptor_system_dir}/ubuntu-x11/widget-application-impl-x.cpp
+ ${adaptor_system_dir}/ubuntu-x11/system-settings-x.cpp
+ ${adaptor_system_dir}/ubuntu-x11/widget-application-impl-x.cpp
${adaptor_system_dir}/ubuntu-x11/widget-controller-x.cpp
)
# module: system, backend: android
SET( adaptor_system_android_src_files
+ ${adaptor_system_dir}/common/shared-file.cpp
+ ${adaptor_system_dir}/common/trigger-event.cpp
+ ${adaptor_system_dir}/common/trigger-event-factory.cpp
${adaptor_system_dir}/android/callback-manager-android.cpp
${adaptor_system_dir}/android/file-descriptor-monitor-android.cpp
${adaptor_system_dir}/android/logging-android.cpp
${adaptor_system_dir}/android/widget-application-impl-android.cpp
)
-
+# module: system, backend: windows
+SET( adaptor_system_windows_src_files
+ ${adaptor_system_dir}/windows/callback-manager-win.cpp
+ ${adaptor_system_dir}/windows/system-settings-win.cpp
+ ${adaptor_system_dir}/windows/timer-impl-win.cpp
+ ${adaptor_system_dir}/windows/trigger-event.cpp
+ ${adaptor_system_dir}/windows/trigger-event-factory.cpp
+ ${adaptor_system_dir}/windows/logging-win.cpp
+ ${adaptor_system_dir}/windows/widget-application-impl-win.cpp
+ ${adaptor_system_dir}/windows/widget-controller-win.cpp
+)
${adaptor_window_system_dir}/android/window-factory-android.cpp
${adaptor_window_system_dir}/android/window-system-android.cpp
)
+
+# module: window-system, backend: windows
+SET( adaptor_window_system_windows_src_files
+ ${adaptor_window_system_dir}/windows/display-connection-factory-win.cpp
+ ${adaptor_window_system_dir}/windows/display-connection-impl-win.cpp
+ ${adaptor_window_system_dir}/windows/platform-implement-win.cpp
+ ${adaptor_window_system_dir}/windows/render-surface-factory-win.cpp
+ ${adaptor_window_system_dir}/windows/window-base-win.cpp
+ ${adaptor_window_system_dir}/windows/window-factory-win.cpp
+ ${adaptor_window_system_dir}/windows/window-system-win.cpp
+)
${adaptor_thirdparty_dir}/libunibreak/unibreakdef.c
)
-SET( adaptor_resampler_src_files
+SET( adaptor_resampler_src_files
${adaptor_thirdparty_dir}/resampler/resampler.cpp
)
+SET( adaptor_windows_platform_src_files
+ ${adaptor_thirdparty_dir}/windows-platform/dlfcn.cpp
+ ${adaptor_thirdparty_dir}/windows-platform/environment.cpp
+ ${adaptor_thirdparty_dir}/windows-platform/network.cpp
+ ${adaptor_thirdparty_dir}/windows-platform/thread.cpp
+ ${adaptor_thirdparty_dir}/windows-platform/Win32File/CustomFile.cpp
+ ${adaptor_thirdparty_dir}/windows-platform/Win32File/GetRealFileName.cpp
+ ${adaptor_thirdparty_dir}/windows-platform/Win32File/MemFile.cpp
+ ${adaptor_thirdparty_dir}/windows-platform/Win32File/OriginalFile.cpp
+)
\ No newline at end of file
--- /dev/null
+#include "CustomFile.h"
+
+extern void* MemFOpen( uint8_t* buffer, size_t dataSize, const char * const mode );
+extern void MemFClose( const void *fp );
+extern int MemFRead( void* buf, int eleSize, int count, const void *fp );
+extern void MemFWrite( void *buf, int size, const void *fp );
+extern int MemFSeek( const void *fp, int offset, int origin );
+extern int MemFTell( const void *fp );
+extern bool MemFEof( const void *fp );
+
+extern void* OriginalFOpen( const char *name, const char *mode );
+extern int OriginalFClose( const void *fp );
+extern int OriginalFRead( void* buf, int eleSize, int count, const void *fp );
+extern void OriginalFWrite( void *buf, int size, const void *fp );
+extern void OriginalFWrite( void *buf, int eleSize, int count, const void *fp );
+extern int OriginalFSeek( const void *fp, int offset, int origin );
+extern int OriginalFTell( const void *fp );
+extern bool OriginalFEof( const void *fp );
+
+namespace std
+{
+int GetRealFileMode(const char *path, int _Mode)
+{
+ std::string strPath = path;
+
+ if ((std::ios::in | std::ios::ate == _Mode) && strPath.find(".json") != std::string::npos)
+ {
+ return std::ios::in | std::ios::binary | std::ios::ate;
+ }
+ else
+ {
+ return _Mode;
+ }
+}
+
+extern const char* GetRealName(const char *name);
+}
+
+namespace CustomFile
+{
+FILE* FOpen( const char *name, const char *mode )
+{
+ if( NULL != name && '*' == name[0] )
+ {
+ std::string realName = std::GetRealName( name );
+ FILE* ret = (FILE*)OriginalFOpen( realName.c_str(), mode );
+ if (NULL == ret)
+ {
+ int temp = 0;
+ }
+ return ret;
+ }
+ else
+ {
+ return (FILE*)OriginalFOpen( name, mode );
+ }
+}
+
+int FClose( const void* fp )
+{
+ if( -1 == *( (char*)fp + 4 ) )
+ {
+ MemFClose( fp );
+ return 0;
+ }
+ else
+ {
+ return OriginalFClose( fp );
+ }
+}
+
+FILE* FMemopen( void* buffer, size_t dataSize, const char * mode )
+{
+ return (FILE*)MemFOpen( ( uint8_t*)buffer, dataSize, mode );
+}
+
+int FRead( void* buf, int eleSize, int count, const void *fp )
+{
+ if( -1 == *( (char*)fp + 4 ) )
+ {
+ return MemFRead( buf, eleSize, count, fp );
+ }
+ else
+ {
+ return OriginalFRead( buf, eleSize, count, fp );
+ }
+}
+
+void FWrite( void *buf, int size, const void *fp )
+{
+ if( -1 == *( (char*)fp + 4 ) )
+ {
+ MemFWrite( buf, size, fp );
+ }
+ else
+ {
+ OriginalFWrite( buf, size, fp );
+ }
+}
+
+unsigned int FWrite( const char *buf, unsigned int eleSize, unsigned int count, void *fp )
+{
+ if( -1 == *( (char*)fp + 4 ) )
+ {
+ MemFWrite( (void*)buf, eleSize * count, fp );
+ }
+ else
+ {
+ OriginalFWrite((void*)buf, eleSize, count, fp );
+ }
+
+ return eleSize * count;
+}
+
+int FSeek( const void *fp, int offset, int origin )
+{
+ if( -1 == *( (char*)fp + 4 ) )
+ {
+ return MemFSeek( fp, offset, origin );
+ }
+ else
+ {
+ return OriginalFSeek( fp, offset, origin );
+ }
+}
+
+int FTell( const void *fp )
+{
+ if( -1 == *( (char*)fp + 4 ) )
+ {
+ return MemFTell( fp );
+ }
+ else
+ {
+ return OriginalFTell( fp );
+ }
+}
+
+bool FEof( const void *fp )
+{
+ if( -1 == *( (char*)fp + 4 ) )
+ {
+ return MemFEof( fp );
+ }
+ else
+ {
+ return OriginalFEof( fp );
+ }
+}
+}
+
+extern "C"
+{
+size_t __cdecl fread_for_c( void* _Buffer, size_t _ElementSize, size_t _ElementCount, void* _Stream )
+{
+ return CustomFile::FRead( _Buffer, _ElementSize, _ElementCount, _Stream );
+}
+
+void __cdecl fwrite_for_c( void *buf, int size, const void *fp )
+{
+ CustomFile::FWrite( buf, size, fp );
+}
+}
--- /dev/null
+#ifndef _CUSTOMFILE_INCLUDE_
+#define _CUSTOMFILE_INCLUDE_
+
+#include <stdint.h>
+#include <string>
+
+namespace CustomFile
+{
+FILE* FOpen( const char *name, const char *mode );
+
+int FClose( const void* fp );
+
+FILE* FMemopen( void* buffer, size_t dataSize, const char * mode );
+
+int FRead( void* buf, int eleSize, int count, const void *fp );
+
+void FWrite( void *buf, int size, const void *fp );
+
+unsigned int FWrite( const char *buf, unsigned int eleSize, unsigned int count, void *fp );
+
+int FSeek( const void *fp, int offset, int origin );
+
+int FTell( const void *fp );
+
+bool FEof( const void *fp );
+}
+
+#endif
--- /dev/null
+#include <string>
+
+namespace std
+{
+const char* GetRealName( const char *name )
+{
+ if( NULL != name && '*' == name[0] )
+ {
+ string envName;
+
+ const char *p = name + 1;
+
+ while( 0 != *p && '*' != *p )
+ {
+ envName.push_back( *p );
+ p++;
+ }
+
+ p++;
+
+ char *envValue = std::getenv( envName.c_str() );
+
+ static std::string realName;
+ realName = "";
+ realName += envValue;
+ realName += p;
+
+ return realName.c_str();
+ }
+ else
+ {
+ return name;
+ }
+}
+}
--- /dev/null
+#include <string>
+
+using namespace std;
+
+typedef unsigned char BYTE;
+typedef unsigned int UINT;
+
+#define SEEK_CUR 1
+#define SEEK_END 2
+#define SEEK_SET 0
+
+class CBufferFile
+{
+public:
+ CBufferFile( BYTE* lpBuffer, UINT nBufferSize )
+ {
+ mFlag = 0xFF;
+ mCurIndex = 0;
+ mLength = nBufferSize;
+
+ mBuffer = lpBuffer;
+ }
+
+ virtual ~CBufferFile()
+ {
+ Close();
+ }
+
+ int Read( void *buf, int size )
+ {
+ int realReadSize = mLength - mCurIndex;
+
+ if( realReadSize > size )
+ {
+ realReadSize = size;
+ }
+
+ if( 0 < realReadSize )
+ {
+ memcpy( buf, mBuffer + mCurIndex, realReadSize );
+ mCurIndex += realReadSize;
+ }
+
+ return realReadSize;
+ }
+
+ void Write( void *buf, int size )
+ {
+ memcpy( mBuffer + mCurIndex, buf, size );
+ mCurIndex += size;
+ }
+
+ int Seek( long offset, int origin )
+ {
+ int nextIndex = -1;
+
+ switch( origin )
+ {
+ case SEEK_SET:
+ nextIndex = offset;
+ break;
+
+ case SEEK_CUR:
+ nextIndex = mCurIndex + offset;
+ break;
+
+ case SEEK_END:
+ nextIndex = mLength - 1 - offset;
+ break;
+ }
+
+ if( nextIndex >= mLength )
+ {
+ nextIndex = -1;
+ }
+
+ if( 0 > nextIndex )
+ {
+ return 1;
+ }
+ else
+ {
+ mCurIndex = nextIndex;
+ return 0;
+ }
+ }
+
+ int GetPosition()
+ {
+ return mCurIndex;
+ }
+
+ bool IsEnd()
+ {
+ return ( mLength - 1 == mCurIndex );
+ }
+
+ void Close()
+ {
+ mBuffer = NULL;
+
+ mCurIndex = 0;
+ mLength = -1;
+ mFlag = 0;
+ }
+
+protected:
+
+private:
+ char mFlag;
+ BYTE *mBuffer;
+
+ UINT mLength;
+ UINT mCurIndex;
+};
+
+void* MemFOpen( uint8_t* buffer, size_t dataSize, const char * const mode )
+{
+ CBufferFile *pBufferFile = new CBufferFile( buffer, dataSize );
+ return pBufferFile;
+}
+
+void MemFClose( const void *fp )
+{
+ CBufferFile *file = (CBufferFile*)fp;
+ printf("MemFClose file 0x%x\n", file);
+ file->Close();
+ delete file;
+}
+
+int MemFRead( void* buf, int eleSize, int count, const void *fp )
+{
+ CBufferFile *file = (CBufferFile*)fp;
+ return file->Read( buf, eleSize * count );
+}
+
+void MemFWrite( void *buf, int size, const void *fp )
+{
+ CBufferFile *file = (CBufferFile*)fp;
+ file->Write( buf, size );
+}
+
+int MemFSeek( const void *fp, int offset, int origin )
+{
+ CBufferFile *file = (CBufferFile*)fp;
+ return file->Seek( offset, origin );
+}
+
+int MemFTell( const void *fp )
+{
+ CBufferFile *file = (CBufferFile*)fp;
+ return file->GetPosition();
+}
+
+bool MemFEof( const void *fp )
+{
+ CBufferFile *file = (CBufferFile*)fp;
+ return file->IsEnd();
+}
--- /dev/null
+#include "stdio.h"
+
+void* OriginalFOpen( const char *name, const char *mode )
+{
+ return fopen( name, mode );
+}
+
+int OriginalFClose( const void *fp )
+{
+ return fclose( (FILE*)fp );
+}
+
+int OriginalFRead( void* buf, int eleSize, int count, const void *fp )
+{
+ return fread( buf, eleSize, count, (FILE*)fp );
+}
+
+void OriginalFWrite( void *buf, int size, const void *fp )
+{
+ fwrite( buf, size, 1, (FILE*)fp );
+}
+
+void OriginalFWrite( void *buf, int eleSize, int count, const void *fp )
+{
+ fwrite( buf, eleSize, count, (FILE*)fp );
+}
+
+int OriginalFSeek( const void *fp, int offset, int origin )
+{
+ return fseek( (FILE*)fp, offset, origin );
+}
+
+int OriginalFTell( const void *fp )
+{
+ return ftell( (FILE*)fp );
+}
+
+bool OriginalFEof( const void *fp )
+{
+ return (bool)feof( (FILE*)fp );
+}
\ No newline at end of file
--- /dev/null
+#include <dlfcn.h>
+#include <windows.h>
+
+namespace
+{
+ char DL_ERROR[2] = "";
+}
+
+bool dlclose( void* handle )
+{
+ return true;
+}
+
+char* dlerror()
+{
+ return DL_ERROR;
+}
+
+void* dlopen( const char *name, int mode )
+{
+ const char* szStr = name;
+
+ return LoadLibrary( szStr );
+}
+
+void* dlsym( void *handle, const char *name )
+{
+ return GetProcAddress( (HMODULE)handle, "CreateFeedbackPlugin" );
+}
--- /dev/null
+#ifndef _DLFCN_INCLUDE_
+#define _DLFCN_INCLUDE_
+
+#undef PlaySound
+
+#define RTLD_NOW 0
+#define RTLD_GLOBAL 1
+#define RTLD_LAZY 2
+
+bool dlclose( void* handle );
+
+char* dlerror();
+
+void* dlopen( const char *name, int mode );
+
+void* dlsym( void *handle, const char *name );
+
+#endif
\ No newline at end of file
--- /dev/null
+#include <cstdlib>
+#include <string>
+
+using namespace std;
+
+int setenv( const char *__name, const char *__value, int __replace )
+{
+ string value = __name;
+ value += "=";
+ value += __value;
+
+ return putenv( value.c_str() );
+}
+
+const char* app_get_data_path()
+{
+ static std::string envValue = "";
+
+ if( true == envValue.empty() )
+ {
+ envValue = std::getenv( "DemoData" );
+ envValue += "/";
+ }
+
+ return envValue.c_str();
+}
--- /dev/null
+/*
+ * Copyright (c) 2019 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 DALI_ADAPTOR_EXTERN_DEFINITIONS_H
+#define DALI_ADAPTOR_EXTERN_DEFINITIONS_H
+
+#include <xlocale>
+
+int setenv( const char* __name, const char* __value, int __replace );
+const char* app_get_data_path();
+
+static int strncasecmp(const char *s1, const char *s2, register int n)
+{
+ while (--n >= 0 && toupper((unsigned char)*s1) == toupper((unsigned char)*s2++))
+ if (*s1++ == 0) return 0;
+ return(n < 0 ? 0 : toupper((unsigned char)*s1) - toupper((unsigned char)*--s2));
+}
+
+int __cdecl setsockopt( int s, int level, int optname, unsigned int * optval, unsigned int optlen );
+
+int __cdecl setsockopt( int s, int level, int optname, int * optval, unsigned int optlen );
+
+
+#define fmemopen CustomFile::FMemopen
+
+namespace CustomFile
+{
+ FILE* FMemopen( void* __s, size_t __len, const char* __modes );
+}
+
+#endif // DALI_ADAPTOR_EXTERN_DEFINITIONS_H
--- /dev/null
+#include <winsock2.h>
+
+int __cdecl setsockopt( int s, int level, int optname, unsigned int * optval, unsigned int optlen )
+{
+ return setsockopt( (SOCKET)s, level, optname, (const char*)optval, optlen );
+}
+
+int __cdecl setsockopt( int s, int level, int optname, int * optval, unsigned int optlen )
+{
+ return setsockopt( (SOCKET)s, level, optname, (const char*)optval, optlen );
+}
\ No newline at end of file
--- /dev/null
+/*
+ * Copyright (c) 2019 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 DALI_ADAPTOR_PREPROCESSOR_DEFINITIONS_H
+#define DALI_ADAPTOR_PREPROCESSOR_DEFINITIONS_H
+
+#define WIN_CALLBACK_EVENT 9999
+#define LC_MESSAGES 0
+
+#endif // DALI_ADAPTOR_PREPROCESSOR_DEFINITIONS_H
--- /dev/null
+#ifndef _MMAN_INCLUDE_
+#define _MMAN_INCLUDE_
+
+#define PROT_READ 0
+#define MAP_SHARED 1
+
+static void* mmap( void*, long long length, int, int, int handle, int )
+{
+ char *buffer = new char[length];
+ read( handle, buffer, length );
+ return buffer;
+}
+
+static void munmap( void* buffer, long long )
+{
+ delete[] buffer;
+}
+
+#endif
\ No newline at end of file
--- /dev/null
+#ifndef _PRCTL_INCLUDE_H_
+#define _PRCTL_INCLUDE_H_
+
+#define PR_SET_NAME 0
+
+int prctl(int type, const char *str);
+
+#endif
\ No newline at end of file
--- /dev/null
+#ifndef _SOCKET_INCLUDE_
+#define _SOCKET_INCLUDE_
+
+#include <winsock2.h>
+
+#ifdef ERROR
+#undef ERROR
+#endif
+
+#ifdef CopyMemory
+#undef CopyMemory
+#endif
+
+#ifdef TRANSPARENT
+#undef TRANSPARENT
+#endif
+
+typedef int socklen_t;
+char DALI_SOCKET_ERROR[2] = "";
+
+char* strerror_r(int, char *, int)
+{
+ return DALI_SOCKET_ERROR;
+}
+
+int pipe( int* )
+{
+ return 1;
+}
+
+#endif
\ No newline at end of file
--- /dev/null
+#ifndef TIME_INCLUDE
+#define TIME_INCLUDE
+
+#include <time.h>
+#include <windows.h>
+#include <winsock.h>
+
+#undef OPAQUE
+#undef TRANSPARENT
+
+#undef ERROR
+
+#undef TRUE
+#undef FALSE
+
+static int gettimeofday( struct timeval *tp, void *tzp )
+{
+ time_t clock;
+ struct tm tm;
+ SYSTEMTIME wtm;
+ GetLocalTime( &wtm );
+ tm.tm_year = wtm.wYear - 1900;
+ tm.tm_mon = wtm.wMonth - 1;
+ tm.tm_mday = wtm.wDay;
+ tm.tm_hour = wtm.wHour;
+ tm.tm_min = wtm.wMinute;
+ tm.tm_sec = wtm.wSecond;
+ tm.tm_isdst = -1;
+ clock = mktime( &tm );
+ tp->tv_sec = clock;
+ tp->tv_usec = wtm.wMilliseconds * 1000;
+ return ( 0 );
+}
+
+#endif
\ No newline at end of file
--- /dev/null
+int prctl( int type, const char *str )
+{
+ return 0;
+}
\ No newline at end of file
--- /dev/null
+
+/** This file is part of the Mingw32 package.
+* unistd.h maps (roughly) to io.h
+*/
+#ifndef _UNISTD_H
+#define _UNISTD_H
+#include <io.h>
+#include <process.h>
+#endif /* _UNISTD_H */