mirror of https://github.com/FreeRDP/FreeRDP
wfreerdp-server: merged upstream
This commit is contained in:
commit
834c590fd8
|
@ -3,7 +3,7 @@ CMakeFiles/
|
|||
CMakeScripts/
|
||||
CMakeCache.txt
|
||||
config.h
|
||||
install_manifest.txt
|
||||
install_manifest*.txt
|
||||
CTestTestfile.cmake
|
||||
freerdp.pc
|
||||
Makefile
|
||||
|
@ -12,6 +12,16 @@ cmake_install.cmake
|
|||
CPackConfig.cmake
|
||||
CPackSourceConfig.cmake
|
||||
DartConfiguration.tcl
|
||||
_CPack_Packages
|
||||
|
||||
# Packages
|
||||
*.zip
|
||||
*.exe
|
||||
*.sh
|
||||
*.deb
|
||||
*.rpm
|
||||
*.tar.Z
|
||||
*.tar.gz
|
||||
|
||||
# Eclipse
|
||||
*.project
|
||||
|
@ -45,6 +55,8 @@ RelWithDebInfo
|
|||
*.so
|
||||
*.so.*
|
||||
*.dylib
|
||||
bin
|
||||
libs
|
||||
cunit/test_freerdp
|
||||
client/X11/xfreerdp
|
||||
client/Mac/xcode
|
||||
|
|
118
CMakeLists.txt
118
CMakeLists.txt
|
@ -28,6 +28,7 @@ set(CMAKE_COLOR_MAKEFILE ON)
|
|||
include(CheckIncludeFiles)
|
||||
include(CheckLibraryExists)
|
||||
include(CheckStructHasMember)
|
||||
include(CMakeDetermineSystem)
|
||||
include(FindPkgConfig)
|
||||
include(TestBigEndian)
|
||||
|
||||
|
@ -36,6 +37,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/)
|
|||
|
||||
include(AutoVersioning)
|
||||
include(ConfigOptions)
|
||||
include(ComplexLibrary)
|
||||
include(BuildFeatureCheck)
|
||||
include(FindOptionalPackage)
|
||||
include(CheckCCompilerFlag)
|
||||
|
@ -89,16 +91,26 @@ if(CMAKE_COMPILER_IS_GNUCC)
|
|||
if(Wno-unused-but-set-variable)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-but-set-variable")
|
||||
endif()
|
||||
CHECK_C_COMPILER_FLAG(-Wno-deprecated-declarations Wno-deprecated-declarations)
|
||||
if(Wno-deprecated-declarations)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-deprecated-declarations")
|
||||
endif()
|
||||
if(BUILD_TESTING)
|
||||
CHECK_C_COMPILER_FLAG(-Wno-format Wno-format)
|
||||
if(Wno-format)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-format")
|
||||
endif()
|
||||
endif()
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Release")
|
||||
set(CMAKE_C_FLAGS_RELEASE "-DNDEBUG")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2")
|
||||
endif()
|
||||
if(WITH_SSE2_TARGET)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse2")
|
||||
endif()
|
||||
if(${CMAKE_VERSION} VERSION_LESS 2.8.8)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
|
||||
endif()
|
||||
if(WITH_SSE2)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse2")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(MSVC)
|
||||
|
@ -121,18 +133,10 @@ if(MSVC)
|
|||
SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR})
|
||||
endif()
|
||||
|
||||
# config.h definition for installable headers
|
||||
check_include_files(limits.h FREERDP_HAVE_LIMITS_H)
|
||||
check_include_files(stdint.h FREERDP_HAVE_STDINT_H)
|
||||
check_include_files(stdbool.h FREERDP_HAVE_STDBOOL_H)
|
||||
check_include_files(inttypes.h FREERDP_HAVE_INTTYPES_H)
|
||||
|
||||
# Include files
|
||||
check_include_files(fcntl.h HAVE_FCNTL_H)
|
||||
check_include_files(unistd.h HAVE_UNISTD_H)
|
||||
check_include_files(limits.h HAVE_LIMITS_H)
|
||||
check_include_files(stdint.h HAVE_STDINT_H)
|
||||
check_include_files(stdbool.h HAVE_STDBOOL_H)
|
||||
check_include_files(inttypes.h HAVE_INTTYPES_H)
|
||||
check_include_files(sys/modem.h HAVE_SYS_MODEM_H)
|
||||
check_include_files(sys/filio.h HAVE_SYS_FILIO_H)
|
||||
|
@ -155,20 +159,37 @@ if(APPLE)
|
|||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl-framework,CoreFoundation")
|
||||
endif()
|
||||
|
||||
# Android
|
||||
if(ANDROID)
|
||||
set(WITH_X11 OFF)
|
||||
set(WITH_CUPS OFF)
|
||||
set(WITH_ALSA OFF)
|
||||
set(WITH_PULSE OFF)
|
||||
set(WITH_FFMPEG OFF)
|
||||
set(WITH_GSTREAMER OFF)
|
||||
set(WITH_PCSC OFF)
|
||||
endif()
|
||||
|
||||
if(NOT WIN32)
|
||||
find_required_package(ZLIB)
|
||||
find_optional_package(PulseAudio)
|
||||
find_optional_package(MacAudio)
|
||||
find_optional_package(PCSC)
|
||||
find_suggested_package(Cups)
|
||||
|
||||
if(NOT ANDROID)
|
||||
find_suggested_package(Cups)
|
||||
endif()
|
||||
|
||||
if(NOT APPLE)
|
||||
find_suggested_package(FFmpeg)
|
||||
find_suggested_package(XRandR)
|
||||
find_suggested_package(Gstreamer)
|
||||
find_suggested_package(ALSA)
|
||||
else(NOT APPLE)
|
||||
find_optional_package(FFmpeg)
|
||||
if(NOT ANDROID)
|
||||
find_suggested_package(ALSA)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(NOT ANDROID)
|
||||
find_suggested_package(FFmpeg)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
@ -183,10 +204,11 @@ set(FREERDP_DATA_PATH "${CMAKE_INSTALL_PREFIX}/share/freerdp")
|
|||
set(FREERDP_KEYMAP_PATH "${FREERDP_DATA_PATH}/keymaps")
|
||||
|
||||
# Path to put plugins
|
||||
|
||||
if(WIN32)
|
||||
set(FREERDP_PLUGIN_PATH "${CMAKE_INSTALL_FULL_LIBDIR}")
|
||||
set(FREERDP_PLUGIN_PATH "${CMAKE_INSTALL_LIBDIR}")
|
||||
else()
|
||||
set(FREERDP_PLUGIN_PATH "${CMAKE_INSTALL_FULL_LIBDIR}/freerdp")
|
||||
set(FREERDP_PLUGIN_PATH "${CMAKE_INSTALL_LIBDIR}/freerdp")
|
||||
endif()
|
||||
|
||||
set(FREERDP_CLIENT_PLUGIN_PATH "${FREERDP_PLUGIN_PATH}/client")
|
||||
|
@ -202,7 +224,12 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
|
|||
# Configure files
|
||||
add_definitions("-DHAVE_CONFIG_H")
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_SOURCE_DIR}/config.h)
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/include/freerdp/config.h.in ${CMAKE_CURRENT_SOURCE_DIR}/include/freerdp/config.h)
|
||||
|
||||
# RPATH configuration
|
||||
set(CMAKE_SKIP_BUILD_RPATH FALSE)
|
||||
set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
|
||||
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
||||
set(CMAKE_INSTALL_RPATH "\$ORIGIN/../${CMAKE_INSTALL_LIBDIR}")
|
||||
|
||||
# Unit Tests
|
||||
|
||||
|
@ -210,6 +237,7 @@ INCLUDE(CTest)
|
|||
|
||||
if(BUILD_TESTING)
|
||||
enable_testing()
|
||||
set(TESTING_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/Testing")
|
||||
endif()
|
||||
|
||||
# WinPR
|
||||
|
@ -260,11 +288,59 @@ if(NOT MSVC)
|
|||
add_subdirectory(keymaps)
|
||||
endif()
|
||||
|
||||
# Source package
|
||||
# Packaging
|
||||
|
||||
set(CPACK_SOURCE_IGNORE_FILES "/\\\\.git/;/\\\\.gitignore;/CMakeCache.txt")
|
||||
|
||||
set(CPACK_PACKAGE_EXECUTABLES "xfreerdp")
|
||||
|
||||
if(WITH_SERVER)
|
||||
set(CPACK_PACKAGE_EXECUTABLES ${CPACK_PACKAGE_EXECUTABLES} "xfreerdp-server")
|
||||
endif()
|
||||
|
||||
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "FreeRDP: A Remote Desktop Protocol Implementation")
|
||||
|
||||
set(CPACK_SYSTEM_NAME "${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}")
|
||||
set(CPACK_TOPLEVEL_TAG "${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}")
|
||||
|
||||
string(TOLOWER ${CMAKE_PROJECT_NAME} CMAKE_PROJECT_NAME_lower)
|
||||
set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME_lower}-${FREERDP_VERSION_FULL}")
|
||||
set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME_lower}-${FREERDP_VERSION_FULL}-${CPACK_SYSTEM_NAME}")
|
||||
set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME_lower}-${FREERDP_VERSION_FULL}-${CPACK_SYSTEM_NAME}")
|
||||
|
||||
set(CPACK_PACKAGE_NAME "FreeRDP")
|
||||
set(CPACK_PACKAGE_VENDOR "FreeRDP")
|
||||
set(CPACK_PACKAGE_VERSION ${FREERDP_VERSION_FULL})
|
||||
set(CPACK_PACKAGE_VERSION_MAJOR ${FREERDP_VERSION_MAJOR})
|
||||
set(CPACK_PACKAGE_VERSION_MINOR ${FREERDP_VERSION_MINOR})
|
||||
set(CPACK_PACKAGE_VERSION_PATCH ${FREERDP_VERSION_REVISION})
|
||||
|
||||
set(CPACK_SET_DESTDIR "on")
|
||||
set(CPACK_PACKAGING_INSTALL_PREFIX "/tmp")
|
||||
|
||||
set(CPACK_PACKAGE_CONTACT "Marc-Andre Moreau")
|
||||
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "marcandre.moreau@gmail.com")
|
||||
set(CPACK_DEBIAN_ARCHITECTURE ${CMAKE_SYSTEM_PROCESSOR})
|
||||
|
||||
set(CPACK_PACKAGE_INSTALL_DIRECTORY "FreeRDP")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/LICENSE")
|
||||
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE")
|
||||
|
||||
set(CPACK_NSIS_MODIFY_PATH ON)
|
||||
set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/resources\\\\FreeRDP_Install.bmp")
|
||||
set(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}/resources\\\\FreeRDP_Icon_96px.ico")
|
||||
set(CPACK_NSIS_MUI_UNICON "${CMAKE_SOURCE_DIR}/resource\\\\FreeRDP_Icon_96px.ico")
|
||||
|
||||
if(MSVC)
|
||||
if(MSVC_RUNTIME STREQUAL "dynamic")
|
||||
include(InstallRequiredSystemLibraries)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
include(CPack)
|
||||
|
||||
cpack_add_component(headers DISPLAY_NAME "Headers")
|
||||
cpack_add_component(libraries DISPLAY_NAME "Libraries")
|
||||
cpack_add_component(clients DISPLAY_NAME "Clients")
|
||||
|
||||
set(CPACK_COMPONENTS_ALL clients libraries headers)
|
||||
|
||||
|
|
|
@ -17,6 +17,103 @@
|
|||
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
macro(define_channel _channel_name)
|
||||
set(CHANNEL_NAME ${_channel_name})
|
||||
set(MODULE_NAME ${CHANNEL_NAME})
|
||||
string(TOUPPER "CHANNEL_${CHANNEL_NAME}" MODULE_PREFIX)
|
||||
endmacro(define_channel)
|
||||
|
||||
macro(define_channel_client _channel_name)
|
||||
set(CHANNEL_NAME ${_channel_name})
|
||||
set(MODULE_NAME "${CHANNEL_NAME}-client")
|
||||
string(TOUPPER "CHANNEL_${CHANNEL_NAME}_CLIENT" MODULE_PREFIX)
|
||||
endmacro(define_channel_client)
|
||||
|
||||
macro(define_channel_server _channel_name)
|
||||
set(CHANNEL_NAME ${_channel_name})
|
||||
set(MODULE_NAME "${CHANNEL_NAME}-server")
|
||||
string(TOUPPER "CHANNEL_${CHANNEL_NAME}_SERVER" MODULE_PREFIX)
|
||||
endmacro(define_channel_server)
|
||||
|
||||
macro(define_channel_client_subsystem _channel_name _subsystem _type)
|
||||
set(CHANNEL_NAME ${_channel_name})
|
||||
set(CHANNEL_SUBSYSTEM ${_subsystem})
|
||||
string(LENGTH "${_type}" _type_length)
|
||||
if(_type_length GREATER 0)
|
||||
set(SUBSYSTEM_TYPE ${_type})
|
||||
set(MODULE_NAME "${CHANNEL_NAME}-client-${CHANNEL_SUBSYSTEM}-${SUBSYSTEM_TYPE}")
|
||||
string(TOUPPER "CHANNEL_${CHANNEL_NAME}_CLIENT_${CHANNEL_SUBSYSTEM}-${SUBSYSTEM_TYPE}" MODULE_PREFIX)
|
||||
else()
|
||||
set(MODULE_NAME "${CHANNEL_NAME}-client-${CHANNEL_SUBSYSTEM}")
|
||||
string(TOUPPER "CHANNEL_${CHANNEL_NAME}_CLIENT_${CHANNEL_SUBSYSTEM}" MODULE_PREFIX)
|
||||
endif()
|
||||
endmacro(define_channel_client_subsystem)
|
||||
|
||||
macro(define_channel_server_subsystem _channel_name _subsystem _type)
|
||||
set(CHANNEL_NAME ${_channel_name})
|
||||
set(CHANNEL_SUBSYSTEM ${_subsystem})
|
||||
set(MODULE_NAME "${CHANNEL_NAME}-server-${CHANNEL_SUBSYSTEM}")
|
||||
string(TOUPPER "CHANNEL_${CHANNEL_NAME}_server_${CHANNEL_SUBSYSTEM}" MODULE_PREFIX)
|
||||
endmacro(define_channel_server_subsystem)
|
||||
|
||||
macro(add_channel_client _channel_prefix _channel_name)
|
||||
add_subdirectory(client)
|
||||
if(${_channel_prefix}_CLIENT_STATIC)
|
||||
set(CHANNEL_STATIC_CLIENT_MODULES ${CHANNEL_STATIC_CLIENT_MODULES} ${_channel_prefix} PARENT_SCOPE)
|
||||
set(${_channel_prefix}_CLIENT_NAME ${${_channel_prefix}_CLIENT_NAME} PARENT_SCOPE)
|
||||
set(${_channel_prefix}_CLIENT_CHANNEL ${${_channel_prefix}_CLIENT_CHANNEL} PARENT_SCOPE)
|
||||
set(${_channel_prefix}_CLIENT_ENTRY ${${_channel_prefix}_CLIENT_ENTRY} PARENT_SCOPE)
|
||||
set(CHANNEL_STATIC_CLIENT_ENTRIES ${CHANNEL_STATIC_CLIENT_ENTRIES} ${${_channel_prefix}_CLIENT_ENTRY} PARENT_SCOPE)
|
||||
endif()
|
||||
endmacro(add_channel_client)
|
||||
|
||||
macro(add_channel_server _channel_prefix _channel_name)
|
||||
add_subdirectory(server)
|
||||
if(${_channel_prefix}_SERVER_STATIC)
|
||||
set(CHANNEL_STATIC_SERVER_MODULES ${CHANNEL_STATIC_SERVER_MODULES} ${_channel_prefix} PARENT_SCOPE)
|
||||
set(${_channel_prefix}_SERVER_NAME ${${_channel_prefix}_SERVER_NAME} PARENT_SCOPE)
|
||||
set(${_channel_prefix}_SERVER_CHANNEL ${${_channel_prefix}_SERVER_CHANNEL} PARENT_SCOPE)
|
||||
set(${_channel_prefix}_SERVER_ENTRY ${${_channel_prefix}_SERVER_ENTRY} PARENT_SCOPE)
|
||||
set(CHANNEL_STATIC_SERVER_ENTRIES ${CHANNEL_STATIC_SERVER_ENTRIES} ${${_channel_prefix}_SERVER_ENTRY} PARENT_SCOPE)
|
||||
endif()
|
||||
endmacro(add_channel_server)
|
||||
|
||||
macro(add_channel_client_library _module_prefix _module_name _channel_name _plugin _entry)
|
||||
|
||||
if(_plugin AND MSVC AND (NOT STATIC_CHANNELS))
|
||||
set(${_module_prefix}_SRCS ${${_module_prefix}_SRCS} module.def)
|
||||
endif()
|
||||
|
||||
if(_plugin AND (NOT STATIC_CHANNELS))
|
||||
add_library(${_module_name} ${${_module_prefix}_SRCS})
|
||||
else()
|
||||
set(${_module_prefix}_STATIC ON PARENT_SCOPE)
|
||||
set(${_module_prefix}_NAME ${_module_name} PARENT_SCOPE)
|
||||
set(${_module_prefix}_CHANNEL ${_channel_name} PARENT_SCOPE)
|
||||
set(${_module_prefix}_ENTRY ${_entry} PARENT_SCOPE)
|
||||
add_library(${_module_name} STATIC ${${_module_prefix}_SRCS})
|
||||
endif()
|
||||
|
||||
endmacro(add_channel_client_library)
|
||||
|
||||
macro(add_channel_server_library _module_prefix _module_name _channel_name _plugin _entry)
|
||||
|
||||
if(_plugin AND MSVC AND (NOT STATIC_CHANNELS))
|
||||
set(${_module_prefix}_SRCS ${${_module_prefix}_SRCS} module.def)
|
||||
endif()
|
||||
|
||||
if(_plugin AND (NOT STATIC_CHANNELS))
|
||||
add_library(${_module_name} ${${_module_prefix}_SRCS})
|
||||
else()
|
||||
set(${_module_prefix}_STATIC ON PARENT_SCOPE)
|
||||
set(${_module_prefix}_NAME ${_module_name} PARENT_SCOPE)
|
||||
set(${_module_prefix}_CHANNEL ${_channel_name} PARENT_SCOPE)
|
||||
set(${_module_prefix}_ENTRY ${_entry} PARENT_SCOPE)
|
||||
add_library(${_module_name} STATIC ${${_module_prefix}_SRCS})
|
||||
endif()
|
||||
|
||||
endmacro(add_channel_server_library)
|
||||
|
||||
set(FILENAME "ChannelOptions.cmake")
|
||||
file(GLOB FILEPATHS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/${FILENAME}")
|
||||
|
||||
|
|
|
@ -15,17 +15,12 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(MODULE_NAME "audin")
|
||||
set(MODULE_PREFIX "CHANNEL_AUDIN")
|
||||
define_channel("audin")
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_subdirectory(client)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
||||
if(WITH_SERVER_CHANNELS)
|
||||
add_subdirectory(server)
|
||||
set(${MODULE_PREFIX}_SERVER_SRCS ${${MODULE_PREFIX}_SERVER_SRCS} PARENT_SCOPE)
|
||||
set(${MODULE_PREFIX}_SERVER_LIBS ${${MODULE_PREFIX}_SERVER_LIBS} PARENT_SCOPE)
|
||||
set(CHANNEL_BUILTIN_SERVER_MODULES ${CHANNEL_BUILTIN_SERVER_MODULES} ${MODULE_NAME} PARENT_SCOPE)
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
||||
|
|
|
@ -15,8 +15,7 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(MODULE_NAME "audin")
|
||||
set(MODULE_PREFIX "CHANNEL_AUDIN_CLIENT")
|
||||
define_channel_client("audin")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
audin_main.c
|
||||
|
@ -24,16 +23,20 @@ set(${MODULE_PREFIX}_SRCS
|
|||
|
||||
include_directories(..)
|
||||
|
||||
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry")
|
||||
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
|
||||
|
||||
if(MONOLITHIC_BUILD)
|
||||
target_link_libraries(${MODULE_NAME} freerdp)
|
||||
else()
|
||||
target_link_libraries(${MODULE_NAME} freerdp-utils)
|
||||
endif()
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE freerdp
|
||||
MODULES freerdp-utils)
|
||||
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
|
||||
if(NOT STATIC_CHANNELS)
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
endif()
|
||||
|
||||
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${MODULE_NAME}/Client")
|
||||
|
||||
|
@ -41,6 +44,6 @@ if(WITH_ALSA)
|
|||
add_subdirectory(alsa)
|
||||
endif()
|
||||
|
||||
if(WITH_PULSEAUDIO)
|
||||
if(WITH_PULSE)
|
||||
add_subdirectory(pulse)
|
||||
endif()
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
# FreeRDP: A Remote Desktop Protocol Implementation
|
||||
# FreeRDP cmake build script
|
||||
#
|
||||
# Copyright 2011 O.S. Systems Software Ltda.
|
||||
# Copyright 2011 Otavio Salvador <otavio@ossystems.com.br>
|
||||
# Copyright 2011 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
||||
# Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
|
@ -17,21 +15,25 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(AUDIN_ALSA_SRCS
|
||||
define_channel_client_subsystem("audin" "alsa" "")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
audin_alsa.c)
|
||||
|
||||
include_directories(..)
|
||||
include_directories(${ALSA_INCLUDE_DIRS})
|
||||
|
||||
add_library(audin_alsa ${AUDIN_ALSA_SRCS})
|
||||
set_target_properties(audin_alsa PROPERTIES PREFIX "")
|
||||
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
|
||||
|
||||
if(MONOLITHIC_BUILD)
|
||||
target_link_libraries(audin_alsa freerdp)
|
||||
else()
|
||||
target_link_libraries(audin_alsa freerdp-utils)
|
||||
endif()
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
|
||||
|
||||
target_link_libraries(audin_alsa ${ALSA_LIBRARIES})
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE freerdp
|
||||
MODULES freerdp-utils)
|
||||
|
||||
install(TARGETS audin_alsa DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${ALSA_LIBRARIES})
|
||||
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
|
|
|
@ -523,6 +523,10 @@ static BOOL audin_process_plugin_data(IWTSPlugin* pPlugin, RDP_PLUGIN_DATA* data
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
#ifdef STATIC_CHANNELS
|
||||
#define DVCPluginEntry audin_DVCPluginEntry
|
||||
#endif
|
||||
|
||||
int DVCPluginEntry(IDRDYNVC_ENTRY_POINTS* pEntryPoints)
|
||||
{
|
||||
int error = 0;
|
||||
|
@ -546,4 +550,3 @@ int DVCPluginEntry(IDRDYNVC_ENTRY_POINTS* pEntryPoints)
|
|||
|
||||
return error;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
# FreeRDP: A Remote Desktop Protocol Implementation
|
||||
# FreeRDP cmake build script
|
||||
#
|
||||
# Copyright 2011 O.S. Systems Software Ltda.
|
||||
# Copyright 2011 Otavio Salvador <otavio@ossystems.com.br>
|
||||
# Copyright 2011 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
||||
# Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
|
@ -17,23 +15,25 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(AUDIN_PULSE_SRCS
|
||||
audin_pulse.c
|
||||
)
|
||||
define_channel_client_subsystem("audin" "pulse" "")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
audin_pulse.c)
|
||||
|
||||
include_directories(..)
|
||||
include_directories(${PULSEAUDIO_INCLUDE_DIR})
|
||||
include_directories(${PULSE_INCLUDE_DIR})
|
||||
|
||||
add_library(audin_pulse ${AUDIN_PULSE_SRCS})
|
||||
set_target_properties(audin_pulse PROPERTIES PREFIX "")
|
||||
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
|
||||
|
||||
if(MONOLITHIC_BUILD)
|
||||
target_link_libraries(audin_pulse freerdp)
|
||||
else()
|
||||
target_link_libraries(audin_pulse freerdp-utils)
|
||||
endif()
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
|
||||
|
||||
target_link_libraries(audin_pulse ${PULSEAUDIO_LIBRARY})
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE freerdp
|
||||
MODULES freerdp-utils)
|
||||
|
||||
install(TARGETS audin_pulse DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${PULSE_LIBRARY})
|
||||
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
|
|
|
@ -15,14 +15,18 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(MODULE_PREFIX "CHANNEL_AUDIN_SERVER")
|
||||
define_channel_server("audin")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
audin.c
|
||||
PARENT_SCOPE)
|
||||
audin.c)
|
||||
|
||||
if(MONOLITHIC_BUILD)
|
||||
set(${MODULE_PREFIX}_LIBS freerdp PARENT_SCOPE)
|
||||
else()
|
||||
set(${MODULE_PREFIX}_LIBS freerdp-utils freerdp-channels PARENT_SCOPE)
|
||||
endif()
|
||||
add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "DVCPluginEntry")
|
||||
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
|
||||
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE freerdp
|
||||
MODULES freerdp-utils)
|
||||
|
||||
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${CHANNEL}/Server")
|
||||
|
|
|
@ -23,38 +23,59 @@ set(${MODULE_PREFIX}_SRCS
|
|||
tables.h
|
||||
channels.c)
|
||||
|
||||
foreach(STATIC_MODULE ${CHANNEL_STATIC_CLIENT_MODULES})
|
||||
|
||||
set(STATIC_MODULE_NAME ${${STATIC_MODULE}_CLIENT_NAME})
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${STATIC_MODULE_NAME})
|
||||
|
||||
if(${${STATIC_MODULE}_CLIENT_ENTRY} STREQUAL "VirtualChannelEntry")
|
||||
set(ENTRY_POINT_NAME "${${STATIC_MODULE}_CLIENT_NAME}_${${STATIC_MODULE}_CLIENT_ENTRY}")
|
||||
set(ENTRY_POINT_IMPORT "extern int ${ENTRY_POINT_NAME}(PCHANNEL_ENTRY_POINTS pEntryPoints);")
|
||||
set(VIRTUAL_CHANNEL_ENTRY_IMPORTS "${VIRTUAL_CHANNEL_ENTRY_IMPORTS}\n${ENTRY_POINT_IMPORT}")
|
||||
set(VIRTUAL_CHANNEL_ENTRY_TABLE "${VIRTUAL_CHANNEL_ENTRY_TABLE}\n\t{ \"${STATIC_MODULE_NAME}\", ${ENTRY_POINT_NAME} },")
|
||||
endif()
|
||||
|
||||
if(${${STATIC_MODULE}_CLIENT_ENTRY} STREQUAL "DeviceServiceEntry")
|
||||
set(ENTRY_POINT_NAME "${${STATIC_MODULE}_CLIENT_NAME}_${${STATIC_MODULE}_CLIENT_ENTRY}")
|
||||
set(ENTRY_POINT_IMPORT "extern int ${ENTRY_POINT_NAME}(PDEVICE_SERVICE_ENTRY_POINTS pEntryPoints);")
|
||||
set(DEVICE_SERVICE_ENTRY_IMPORTS "${DEVICE_SERVICE_ENTRY_IMPORTS}\n${ENTRY_POINT_IMPORT}")
|
||||
set(DEVICE_SERVICE_ENTRY_TABLE "${DEVICE_SERVICE_ENTRY_TABLE}\n\t{ \"${STATIC_MODULE_NAME}\", ${ENTRY_POINT_NAME} },")
|
||||
endif()
|
||||
list(REMOVE_DUPLICATES CHANNEL_STATIC_CLIENT_ENTRIES)
|
||||
|
||||
foreach(STATIC_ENTRY ${CHANNEL_STATIC_CLIENT_ENTRIES})
|
||||
|
||||
foreach(STATIC_MODULE ${CHANNEL_STATIC_CLIENT_MODULES})
|
||||
|
||||
if(${${STATIC_MODULE}_CLIENT_ENTRY} STREQUAL ${STATIC_ENTRY})
|
||||
set(STATIC_MODULE_NAME ${${STATIC_MODULE}_CLIENT_NAME})
|
||||
set(STATIC_MODULE_CHANNEL ${${STATIC_MODULE}_CLIENT_CHANNEL})
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${STATIC_MODULE_NAME})
|
||||
|
||||
set(ENTRY_POINT_NAME "${STATIC_MODULE_CHANNEL}_${${STATIC_MODULE}_CLIENT_ENTRY}")
|
||||
set(ENTRY_POINT_IMPORT "extern void ${ENTRY_POINT_NAME}();")
|
||||
set(${STATIC_ENTRY}_IMPORTS "${${STATIC_ENTRY}_IMPORTS}\n${ENTRY_POINT_IMPORT}")
|
||||
set(${STATIC_ENTRY}_TABLE "${${STATIC_ENTRY}_TABLE}\n\t{ \"${STATIC_MODULE_NAME}\", ${ENTRY_POINT_NAME} },")
|
||||
endif()
|
||||
|
||||
endforeach()
|
||||
|
||||
endforeach()
|
||||
|
||||
set(VIRTUAL_CHANNEL_ENTRY_TABLE "${VIRTUAL_CHANNEL_ENTRY_TABLE}\n\t{ \"\", NULL }")
|
||||
set(DEVICE_SERVICE_ENTRY_TABLE "${DEVICE_SERVICE_ENTRY_TABLE}\n\t{ \"\", NULL }")
|
||||
set(CLIENT_STATIC_ENTRY_TABLES_LIST "${CLIENT_STATIC_ENTRY_TABLES_LIST}\nconst STATIC_ENTRY_TABLE CLIENT_STATIC_ENTRY_TABLES[] =\n{")
|
||||
|
||||
foreach(STATIC_ENTRY ${CHANNEL_STATIC_CLIENT_ENTRIES})
|
||||
|
||||
set(CLIENT_STATIC_ENTRY_IMPORTS "${CLIENT_STATIC_ENTRY_IMPORTS}\n${${STATIC_ENTRY}_IMPORTS}")
|
||||
|
||||
set(CLIENT_STATIC_ENTRY_TABLES "${CLIENT_STATIC_ENTRY_TABLES}\nconst STATIC_ENTRY CLIENT_${STATIC_ENTRY}_TABLE[] =\n{")
|
||||
set(CLIENT_STATIC_ENTRY_TABLES "${CLIENT_STATIC_ENTRY_TABLES}\n${${STATIC_ENTRY}_TABLE}")
|
||||
set(CLIENT_STATIC_ENTRY_TABLES "${CLIENT_STATIC_ENTRY_TABLES}\n\t{ \"\", NULL }\n};")
|
||||
|
||||
set(CLIENT_STATIC_ENTRY_TABLES_LIST "${CLIENT_STATIC_ENTRY_TABLES_LIST}\n\t{ \"${STATIC_ENTRY}\", CLIENT_${STATIC_ENTRY}_TABLE },")
|
||||
endforeach()
|
||||
|
||||
set(CLIENT_STATIC_ENTRY_TABLES_LIST "${CLIENT_STATIC_ENTRY_TABLES_LIST}\n\t{ \"\", NULL }\n};")
|
||||
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tables.c.in ${CMAKE_CURRENT_SOURCE_DIR}/tables.c)
|
||||
|
||||
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
|
||||
add_library(${MODULE_NAME} STATIC ${${MODULE_PREFIX}_SRCS})
|
||||
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
|
||||
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD} INTERNAL
|
||||
MODULE freerdp
|
||||
MODULES freerdp-utils)
|
||||
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE winpr
|
||||
MODULES winpr-crt winpr-synch winpr-interlocked)
|
||||
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
|
||||
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/Client")
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -18,14 +18,11 @@
|
|||
*/
|
||||
|
||||
#include "tables.h"
|
||||
${VIRTUAL_CHANNEL_ENTRY_IMPORTS}
|
||||
${DEVICE_SERVICE_ENTRY_IMPORTS}
|
||||
|
||||
const VIRTUAL_CHANNEL_ENTRY VIRTUAL_CHANNEL_TABLE[] =
|
||||
{${VIRTUAL_CHANNEL_ENTRY_TABLE}
|
||||
};
|
||||
${CLIENT_STATIC_ENTRY_IMPORTS}
|
||||
|
||||
${CLIENT_STATIC_ENTRY_TABLES}
|
||||
|
||||
${CLIENT_STATIC_ENTRY_TABLES_LIST}
|
||||
|
||||
const DEVICE_SERVICE_ENTRY DEVICE_SERVICE_TABLE[] =
|
||||
{${DEVICE_SERVICE_ENTRY_TABLE}
|
||||
};
|
||||
|
||||
|
|
|
@ -19,24 +19,16 @@
|
|||
|
||||
#include <freerdp/svc.h>
|
||||
|
||||
#ifndef PDEVICE_SERVICE_ENTRY_POINTS
|
||||
#define PDEVICE_SERVICE_ENTRY_POINTS void*
|
||||
#endif
|
||||
|
||||
typedef int (*VIRTUAL_CHANNEL_ENTRY_FN)(PCHANNEL_ENTRY_POINTS pEntryPoints);
|
||||
typedef int (*DEVICE_SERVICE_ENTRY_FN)(PDEVICE_SERVICE_ENTRY_POINTS pEntryPoints);
|
||||
|
||||
struct _VIRTUAL_CHANNEL_ENTRY
|
||||
struct _STATIC_ENTRY
|
||||
{
|
||||
const char* name;
|
||||
const VIRTUAL_CHANNEL_ENTRY_FN entry;
|
||||
const void* entry;
|
||||
};
|
||||
typedef struct _VIRTUAL_CHANNEL_ENTRY VIRTUAL_CHANNEL_ENTRY;
|
||||
typedef struct _STATIC_ENTRY STATIC_ENTRY;
|
||||
|
||||
struct _DEVICE_SERVICE_ENTRY
|
||||
struct _STATIC_ENTRY_TABLE
|
||||
{
|
||||
const char* name;
|
||||
const DEVICE_SERVICE_ENTRY_FN entry;
|
||||
const STATIC_ENTRY* table;
|
||||
};
|
||||
typedef struct _DEVICE_SERVICE_ENTRY DEVICE_SERVICE_ENTRY;
|
||||
|
||||
typedef struct _STATIC_ENTRY_TABLE STATIC_ENTRY_TABLE;
|
||||
|
|
|
@ -15,15 +15,9 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(MODULE_NAME "cliprdr")
|
||||
set(MODULE_PREFIX "CHANNEL_CLIPRDR")
|
||||
define_channel("cliprdr")
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_subdirectory(client)
|
||||
if(${MODULE_PREFIX}_CLIENT_STATIC)
|
||||
set(CHANNEL_STATIC_CLIENT_MODULES ${CHANNEL_STATIC_CLIENT_MODULES} ${MODULE_PREFIX} PARENT_SCOPE)
|
||||
set(${MODULE_PREFIX}_CLIENT_NAME ${${MODULE_PREFIX}_CLIENT_NAME} PARENT_SCOPE)
|
||||
set(${MODULE_PREFIX}_CLIENT_ENTRY ${${MODULE_PREFIX}_CLIENT_ENTRY} PARENT_SCOPE)
|
||||
endif()
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
||||
|
|
|
@ -15,8 +15,7 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(MODULE_NAME "cliprdr")
|
||||
set(MODULE_PREFIX "CHANNEL_CLIPRDR_CLIENT")
|
||||
define_channel_client("cliprdr")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
cliprdr_constants.h
|
||||
|
@ -25,22 +24,22 @@ set(${MODULE_PREFIX}_SRCS
|
|||
cliprdr_main.c
|
||||
cliprdr_main.h)
|
||||
|
||||
# cliprdr is always built-in
|
||||
|
||||
set(${MODULE_PREFIX}_STATIC ON PARENT_SCOPE)
|
||||
set(${MODULE_PREFIX}_NAME ${MODULE_NAME} PARENT_SCOPE)
|
||||
set(${MODULE_PREFIX}_ENTRY "VirtualChannelEntry" PARENT_SCOPE)
|
||||
|
||||
add_library(${MODULE_NAME} STATIC ${${MODULE_PREFIX}_SRCS})
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntry")
|
||||
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
|
||||
|
||||
if(MONOLITHIC_BUILD)
|
||||
target_link_libraries(${MODULE_NAME} freerdp winpr)
|
||||
else()
|
||||
target_link_libraries(${MODULE_NAME} freerdp-utils winpr-crt)
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE freerdp
|
||||
MODULES freerdp-utils)
|
||||
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE winpr
|
||||
MODULES winpr-crt)
|
||||
|
||||
if(NOT STATIC_CHANNELS)
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
endif()
|
||||
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
|
||||
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${MODULE_NAME}/Client")
|
||||
|
|
|
@ -15,15 +15,8 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(MODULE_NAME "disk")
|
||||
set(MODULE_PREFIX "CHANNEL_RDPDR_DISK")
|
||||
define_channel("disk")
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_subdirectory(client)
|
||||
if(${MODULE_PREFIX}_CLIENT_STATIC)
|
||||
set(CHANNEL_STATIC_CLIENT_MODULES ${CHANNEL_STATIC_CLIENT_MODULES} ${MODULE_PREFIX} PARENT_SCOPE)
|
||||
set(${MODULE_PREFIX}_CLIENT_NAME ${${MODULE_PREFIX}_CLIENT_NAME} PARENT_SCOPE)
|
||||
set(${MODULE_PREFIX}_CLIENT_ENTRY ${${MODULE_PREFIX}_CLIENT_ENTRY} PARENT_SCOPE)
|
||||
endif()
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
||||
|
|
|
@ -6,6 +6,10 @@ set(CHANNEL_SPECIFICATIONS "[MS-RDPEFS]")
|
|||
|
||||
string(TOUPPER "WITH_${CHANNEL_SHORT_NAME}" CHANNEL_OPTION)
|
||||
|
||||
option(${CHANNEL_OPTION} "Build ${CHANNEL_SHORT_NAME}" ON)
|
||||
if(ANDROID)
|
||||
option(${CHANNEL_OPTION} "Build ${CHANNEL_SHORT_NAME}" OFF)
|
||||
else()
|
||||
option(${CHANNEL_OPTION} "Build ${CHANNEL_SHORT_NAME}" ON)
|
||||
endif()
|
||||
|
||||
|
||||
|
|
|
@ -15,8 +15,7 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(MODULE_NAME "disk")
|
||||
set(MODULE_PREFIX "CHANNEL_RDPDR_DISK_CLIENT")
|
||||
define_channel_client("disk")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
disk_file.c
|
||||
|
@ -30,31 +29,25 @@ if(WIN32)
|
|||
dirent.h)
|
||||
endif()
|
||||
|
||||
if(MSVC AND (NOT STATIC_CHANNELS))
|
||||
set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} module.def)
|
||||
endif()
|
||||
|
||||
if(NOT STATIC_CHANNELS)
|
||||
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
|
||||
else()
|
||||
set(${MODULE_PREFIX}_STATIC ON PARENT_SCOPE)
|
||||
set(${MODULE_PREFIX}_NAME ${MODULE_NAME} PARENT_SCOPE)
|
||||
set(${MODULE_PREFIX}_ENTRY "DeviceServiceEntry" PARENT_SCOPE)
|
||||
|
||||
add_library(${MODULE_NAME} STATIC ${${MODULE_PREFIX}_SRCS})
|
||||
endif()
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DeviceServiceEntry")
|
||||
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
|
||||
|
||||
if(MONOLITHIC_BUILD)
|
||||
set(${MODULE_PREFIX}_LIBS freerdp winpr)
|
||||
else()
|
||||
set(${MODULE_PREFIX}_LIBS freerdp-utils winpr-crt winpr-synch winpr-thread winpr-interlocked)
|
||||
endif()
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE freerdp
|
||||
MODULES freerdp-utils)
|
||||
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE winpr
|
||||
MODULES winpr-crt winpr-synch winpr-thread winpr-interlocked)
|
||||
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
if(NOT STATIC_CHANNELS)
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
endif()
|
||||
|
||||
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${MODULE_NAME}/Client")
|
||||
|
||||
|
|
|
@ -55,6 +55,11 @@
|
|||
|
||||
#include "disk_file.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable: 4244)
|
||||
#endif
|
||||
|
||||
static BOOL disk_file_wildcard_match(const char* pattern, const char* filename)
|
||||
{
|
||||
const char *p = pattern, *f = filename;
|
||||
|
@ -455,6 +460,8 @@ BOOL disk_file_set_information(DISK_FILE* file, UINT32 FsInformationClass, UINT3
|
|||
UINT32 FileAttributes;
|
||||
UINT32 FileNameLength;
|
||||
|
||||
m = 0;
|
||||
|
||||
switch (FsInformationClass)
|
||||
{
|
||||
case FileBasicInformation:
|
||||
|
@ -692,3 +699,7 @@ BOOL disk_file_query_directory(DISK_FILE* file, UINT32 FsInformationClass, BYTE
|
|||
|
||||
return ret;
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
#pragma warning(pop)
|
||||
#endif
|
||||
|
|
|
@ -32,8 +32,12 @@
|
|||
#include "statvfs.h"
|
||||
#else
|
||||
#include <dirent.h>
|
||||
#ifdef ANDROID
|
||||
#include <sys/vfs.h>
|
||||
#else
|
||||
#include <sys/statvfs.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
#define STAT stat
|
||||
|
@ -49,8 +53,8 @@
|
|||
#define unlink(a) _unlink(a)
|
||||
#define ftruncate(a,b) _chsize(a,b)
|
||||
|
||||
typedef UINT32 ssize_t ;
|
||||
typedef UINT32 mode_t ;
|
||||
typedef UINT32 ssize_t;
|
||||
typedef UINT32 mode_t;
|
||||
|
||||
#elif defined(__APPLE__) || defined(__FreeBSD__)
|
||||
#define STAT stat
|
||||
|
|
|
@ -15,15 +15,9 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(MODULE_NAME "drdynvc")
|
||||
set(MODULE_PREFIX "CHANNEL_DRDYNVC")
|
||||
define_channel("drdynvc")
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_subdirectory(client)
|
||||
if(${MODULE_PREFIX}_CLIENT_STATIC)
|
||||
set(CHANNEL_STATIC_CLIENT_MODULES ${CHANNEL_STATIC_CLIENT_MODULES} ${MODULE_PREFIX} PARENT_SCOPE)
|
||||
set(${MODULE_PREFIX}_CLIENT_NAME ${${MODULE_PREFIX}_CLIENT_NAME} PARENT_SCOPE)
|
||||
set(${MODULE_PREFIX}_CLIENT_ENTRY ${${MODULE_PREFIX}_CLIENT_ENTRY} PARENT_SCOPE)
|
||||
endif()
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
||||
|
|
|
@ -15,8 +15,7 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(MODULE_NAME "drdynvc")
|
||||
set(MODULE_PREFIX "CHANNEL_DRDYNVC_CLIENT")
|
||||
define_channel_client("drdynvc")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
drdynvc_main.c
|
||||
|
@ -25,21 +24,19 @@ set(${MODULE_PREFIX}_SRCS
|
|||
dvcman.c
|
||||
dvcman.h)
|
||||
|
||||
# drdynvc is always built-in
|
||||
|
||||
set(${MODULE_PREFIX}_STATIC ON PARENT_SCOPE)
|
||||
set(${MODULE_PREFIX}_NAME ${MODULE_NAME} PARENT_SCOPE)
|
||||
set(${MODULE_PREFIX}_ENTRY "VirtualChannelEntry" PARENT_SCOPE)
|
||||
|
||||
add_library(${MODULE_NAME} STATIC ${${MODULE_PREFIX}_SRCS})
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntry")
|
||||
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
|
||||
|
||||
if(MONOLITHIC_BUILD)
|
||||
target_link_libraries(${MODULE_NAME} freerdp winpr)
|
||||
else()
|
||||
target_link_libraries(${MODULE_NAME} freerdp-utils winpr-synch)
|
||||
endif()
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE freerdp
|
||||
MODULES freerdp-utils)
|
||||
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE winpr
|
||||
MODULES winpr-synch)
|
||||
|
||||
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${MODULE_NAME}/Client")
|
||||
|
||||
|
|
|
@ -15,7 +15,8 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_subdirectory(client)
|
||||
endif()
|
||||
define_channel("parallel")
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
|
|
@ -15,22 +15,29 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(MODULE_NAME "parallel")
|
||||
set(MODULE_PREFIX "CHANNEL_RDPDR_PARALLEL_CLIENT")
|
||||
define_channel_client("parallel")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
parallel_main.c)
|
||||
|
||||
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DeviceServiceEntry")
|
||||
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
|
||||
|
||||
if(MONOLITHIC_BUILD)
|
||||
target_link_libraries(${MODULE_NAME} freerdp)
|
||||
else()
|
||||
target_link_libraries(${MODULE_NAME} freerdp-utils winpr-interlocked)
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE freerdp
|
||||
MODULES freerdp-utils)
|
||||
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE winpr
|
||||
MODULES winpr-interlocked)
|
||||
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
|
||||
if(NOT STATIC_CHANNELS)
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
endif()
|
||||
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
|
||||
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${MODULE_NAME}/Client")
|
||||
|
|
|
@ -307,6 +307,10 @@ static void parallel_free(DEVICE* device)
|
|||
free(parallel);
|
||||
}
|
||||
|
||||
#ifdef STATIC_CHANNELS
|
||||
#define DeviceServiceEntry parallel_DeviceServiceEntry
|
||||
#endif
|
||||
|
||||
int DeviceServiceEntry(PDEVICE_SERVICE_ENTRY_POINTS pEntryPoints)
|
||||
{
|
||||
char* name;
|
||||
|
|
|
@ -15,7 +15,8 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_subdirectory(client)
|
||||
endif()
|
||||
define_channel("printer")
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
|
@ -15,8 +15,7 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(MODULE_NAME "printer")
|
||||
set(MODULE_PREFIX "CHANNEL_RDPDR_PRINTER_CLIENT")
|
||||
define_channel_client("printer")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
printer_main.c
|
||||
|
@ -37,20 +36,28 @@ if(WIN32)
|
|||
printer_win.h)
|
||||
endif()
|
||||
|
||||
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DeviceServiceEntry")
|
||||
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
|
||||
|
||||
if(MONOLITHIC_BUILD)
|
||||
target_link_libraries(${MODULE_NAME} freerdp winpr)
|
||||
else()
|
||||
target_link_libraries(${MODULE_NAME} freerdp-utils winpr-crt winpr-synch winpr-thread winpr-interlocked)
|
||||
endif()
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE freerdp
|
||||
MODULES freerdp-utils)
|
||||
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE winpr
|
||||
MODULES winpr-crt winpr-synch winpr-thread winpr-interlocked)
|
||||
|
||||
if(WITH_CUPS)
|
||||
target_link_libraries(${MODULE_NAME} ${CUPS_LIBRARIES})
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${CUPS_LIBRARIES})
|
||||
endif()
|
||||
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
|
||||
if(NOT STATIC_CHANNELS)
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
endif()
|
||||
|
||||
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${MODULE_NAME}/Client")
|
||||
|
|
|
@ -301,10 +301,10 @@ void printer_register(PDEVICE_SERVICE_ENTRY_POINTS pEntryPoints, rdpPrinter* pri
|
|||
}
|
||||
|
||||
#ifdef STATIC_CHANNELS
|
||||
int printer_entry(PDEVICE_SERVICE_ENTRY_POINTS pEntryPoints)
|
||||
#else
|
||||
int DeviceServiceEntry(PDEVICE_SERVICE_ENTRY_POINTS pEntryPoints)
|
||||
#define DeviceServiceEntry printer_DeviceServiceEntry
|
||||
#endif
|
||||
|
||||
int DeviceServiceEntry(PDEVICE_SERVICE_ENTRY_POINTS pEntryPoints)
|
||||
{
|
||||
int i;
|
||||
char* name;
|
||||
|
|
|
@ -15,12 +15,8 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_subdirectory(client)
|
||||
if(${MODULE_PREFIX}_CLIENT_STATIC)
|
||||
set(CHANNEL_STATIC_CLIENT_MODULES ${CHANNEL_STATIC_CLIENT_MODULES} ${MODULE_PREFIX} PARENT_SCOPE)
|
||||
set(${MODULE_PREFIX}_CLIENT_NAME ${${MODULE_PREFIX}_CLIENT_NAME} PARENT_SCOPE)
|
||||
set(${MODULE_PREFIX}_CLIENT_ENTRY ${${MODULE_PREFIX}_CLIENT_ENTRY} PARENT_SCOPE)
|
||||
endif()
|
||||
endif()
|
||||
define_channel("rail")
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# FreeRDP: A Remote Desktop Protocol Implementation
|
||||
# FreeRDP cmake build script
|
||||
#
|
||||
# Copyright 2011 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
||||
# Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
|
@ -15,8 +15,7 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(MODULE_NAME "rail")
|
||||
set(MODULE_PREFIX "CHANNEL_RAIL_CLIENT")
|
||||
define_channel_client("rail")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
rail_main.c
|
||||
|
@ -24,23 +23,16 @@ set(${MODULE_PREFIX}_SRCS
|
|||
rail_orders.c
|
||||
rail_orders.h)
|
||||
|
||||
# rail is always built-in
|
||||
|
||||
set(${MODULE_PREFIX}_STATIC ON PARENT_SCOPE)
|
||||
set(${MODULE_PREFIX}_NAME ${MODULE_NAME} PARENT_SCOPE)
|
||||
set(${MODULE_PREFIX}_ENTRY "VirtualChannelEntry" PARENT_SCOPE)
|
||||
|
||||
add_library(${MODULE_NAME} STATIC ${${MODULE_PREFIX}_SRCS})
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntry")
|
||||
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
|
||||
|
||||
if(MONOLITHIC_BUILD)
|
||||
target_link_libraries(${MODULE_NAME} freerdp)
|
||||
else()
|
||||
target_link_libraries(${MODULE_NAME} freerdp-utils)
|
||||
endif()
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE freerdp
|
||||
MODULES freerdp-utils)
|
||||
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
|
||||
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${MODULE_NAME}/Client")
|
||||
|
||||
|
|
|
@ -15,15 +15,8 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(MODULE_NAME "rdpdr")
|
||||
set(MODULE_PREFIX "CHANNEL_RDPDR")
|
||||
define_channel("rdpdr")
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_subdirectory(client)
|
||||
if(${MODULE_PREFIX}_CLIENT_STATIC)
|
||||
set(CHANNEL_STATIC_CLIENT_MODULES ${CHANNEL_STATIC_CLIENT_MODULES} ${MODULE_PREFIX} PARENT_SCOPE)
|
||||
set(${MODULE_PREFIX}_CLIENT_NAME ${${MODULE_PREFIX}_CLIENT_NAME} PARENT_SCOPE)
|
||||
set(${MODULE_PREFIX}_CLIENT_ENTRY ${${MODULE_PREFIX}_CLIENT_ENTRY} PARENT_SCOPE)
|
||||
endif()
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
||||
|
|
|
@ -15,8 +15,7 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(MODULE_NAME "rdpdr")
|
||||
set(MODULE_PREFIX "CHANNEL_RDPDR_CLIENT")
|
||||
define_channel_client("rdpdr")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
irp.c
|
||||
|
@ -28,21 +27,20 @@ set(${MODULE_PREFIX}_SRCS
|
|||
rdpdr_capabilities.c
|
||||
rdpdr_capabilities.h)
|
||||
|
||||
# rdpdr is always built-in
|
||||
|
||||
set(${MODULE_PREFIX}_STATIC ON PARENT_SCOPE)
|
||||
set(${MODULE_PREFIX}_NAME ${MODULE_NAME} PARENT_SCOPE)
|
||||
set(${MODULE_PREFIX}_ENTRY "VirtualChannelEntry" PARENT_SCOPE)
|
||||
|
||||
add_library(${MODULE_NAME} STATIC ${${MODULE_PREFIX}_SRCS})
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntry")
|
||||
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
|
||||
|
||||
if(MONOLITHIC_BUILD)
|
||||
target_link_libraries(${MODULE_NAME} freerdp winpr)
|
||||
else()
|
||||
target_link_libraries(${MODULE_NAME} freerdp-utils winpr-crt winpr-synch winpr-thread winpr-interlocked)
|
||||
endif()
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE freerdp
|
||||
MODULES freerdp-utils)
|
||||
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE winpr
|
||||
MODULES winpr-crt winpr-synch winpr-thread winpr-interlocked)
|
||||
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
|
||||
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${MODULE_NAME}/Client")
|
||||
|
||||
|
|
|
@ -76,7 +76,7 @@ BOOL devman_load_device_service(DEVMAN* devman, RDP_PLUGIN_DATA* plugin_data)
|
|||
PDEVICE_SERVICE_ENTRY entry = NULL;
|
||||
|
||||
name = (char*) plugin_data->data[0];
|
||||
entry = (PDEVICE_SERVICE_ENTRY) freerdp_channels_find_static_device_service_entry(name);
|
||||
entry = (PDEVICE_SERVICE_ENTRY) freerdp_channels_client_find_static_entry("DeviceServiceEntry", name);
|
||||
|
||||
if (!entry)
|
||||
{
|
||||
|
|
|
@ -15,23 +15,12 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(MODULE_NAME "rdpsnd")
|
||||
set(MODULE_PREFIX "CHANNEL_RDPSND")
|
||||
define_channel("rdpsnd")
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_subdirectory(client)
|
||||
if(${MODULE_PREFIX}_CLIENT_STATIC)
|
||||
set(CHANNEL_STATIC_CLIENT_MODULES ${CHANNEL_STATIC_CLIENT_MODULES} ${MODULE_PREFIX} PARENT_SCOPE)
|
||||
set(${MODULE_PREFIX}_CLIENT_NAME ${${MODULE_PREFIX}_CLIENT_NAME} PARENT_SCOPE)
|
||||
set(${MODULE_PREFIX}_CLIENT_ENTRY ${${MODULE_PREFIX}_CLIENT_ENTRY} PARENT_SCOPE)
|
||||
endif()
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
||||
if(WITH_SERVER_CHANNELS)
|
||||
add_subdirectory(server)
|
||||
set(${MODULE_PREFIX}_SERVER_SRCS ${${MODULE_PREFIX}_SERVER_SRCS} PARENT_SCOPE)
|
||||
set(${MODULE_PREFIX}_SERVER_LIBS ${${MODULE_PREFIX}_SERVER_LIBS} PARENT_SCOPE)
|
||||
set(CHANNEL_BUILTIN_SERVER_MODULES ${CHANNEL_BUILTIN_SERVER_MODULES} ${MODULE_NAME} PARENT_SCOPE)
|
||||
add_channel_server(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
||||
|
||||
|
|
|
@ -15,30 +15,22 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(MODULE_NAME "rdpsnd")
|
||||
set(MODULE_PREFIX "CHANNEL_RDPSND_CLIENT")
|
||||
define_channel_client("rdpsnd")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
rdpsnd_main.c
|
||||
rdpsnd_main.h)
|
||||
|
||||
# rdpsnd is always built-in
|
||||
|
||||
set(${MODULE_PREFIX}_STATIC ON PARENT_SCOPE)
|
||||
set(${MODULE_PREFIX}_NAME ${MODULE_NAME} PARENT_SCOPE)
|
||||
set(${MODULE_PREFIX}_ENTRY "VirtualChannelEntry" PARENT_SCOPE)
|
||||
|
||||
add_library(${MODULE_NAME} STATIC ${${MODULE_PREFIX}_SRCS})
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntry")
|
||||
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
|
||||
|
||||
if(MONOLITHIC_BUILD)
|
||||
target_link_libraries(${MODULE_NAME} freerdp)
|
||||
else()
|
||||
target_link_libraries(${MODULE_NAME} freerdp-utils)
|
||||
endif()
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE freerdp
|
||||
MODULES freerdp-utils)
|
||||
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
|
||||
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${MODULE_NAME}/Client")
|
||||
|
||||
|
@ -46,11 +38,11 @@ if(WITH_ALSA)
|
|||
add_subdirectory(alsa)
|
||||
endif()
|
||||
|
||||
if(WITH_PULSEAUDIO)
|
||||
if(WITH_PULSE)
|
||||
add_subdirectory(pulse)
|
||||
endif()
|
||||
|
||||
if(WITH_MACAUDIO)
|
||||
add_subdirectory(MacAudio)
|
||||
add_subdirectory(mac)
|
||||
endif()
|
||||
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
# FreeRDP: A Remote Desktop Protocol Implementation
|
||||
# FreeRDP cmake build script
|
||||
#
|
||||
# Copyright 2011 O.S. Systems Software Ltda.
|
||||
# Copyright 2011 Otavio Salvador <otavio@ossystems.com.br>
|
||||
# Copyright 2011 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
||||
# Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
|
@ -17,21 +15,25 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(RDPSND_ALSA_SRCS
|
||||
define_channel_client_subsystem("rdpsnd" "alsa" "")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
rdpsnd_alsa.c)
|
||||
|
||||
include_directories(..)
|
||||
include_directories(${ALSA_INCLUDE_DIRS})
|
||||
|
||||
add_library(rdpsnd_alsa ${RDPSND_ALSA_SRCS})
|
||||
set_target_properties(rdpsnd_alsa PROPERTIES PREFIX "")
|
||||
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
|
||||
|
||||
if(MONOLITHIC_BUILD)
|
||||
target_link_libraries(rdpsnd_alsa freerdp winpr)
|
||||
else()
|
||||
target_link_libraries(rdpsnd_alsa freerdp-utils winpr-crt)
|
||||
endif()
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
|
||||
|
||||
target_link_libraries(rdpsnd_alsa ${ALSA_LIBRARIES})
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE freerdp
|
||||
MODULES freerdp-utils)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${ALSA_LIBRARIES})
|
||||
|
||||
install(TARGETS rdpsnd_alsa DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
|
|
|
@ -16,23 +16,27 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(RDPSND_MACAUDIO_SRCS
|
||||
rdpsnd_audio_q.c)
|
||||
define_channel_client_subsystem("rdpsnd" "mac" "")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
rdpsnd_mac.c)
|
||||
|
||||
include_directories(..)
|
||||
include_directories(${MACAUDIO_INCLUDE_DIRS})
|
||||
|
||||
add_library(rdpsnd_macaudio ${RDPSND_MACAUDIO_SRCS})
|
||||
set_target_properties(rdpsnd_macaudio PROPERTIES PREFIX "")
|
||||
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
|
||||
|
||||
if(MONOLITHIC_BUILD)
|
||||
target_link_libraries(rdpsnd_macaudio freerdp)
|
||||
else()
|
||||
target_link_libraries(rdpsnd_macaudio freerdp-utils)
|
||||
endif()
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
|
||||
|
||||
target_link_libraries(rdpsnd_macaudio ${MAC_AUDIOTOOLBOX_LIBRARY_PATH})
|
||||
target_link_libraries(rdpsnd_macaudio ${MAC_COREFOUNDATION_LIBRARY_PATH})
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE freerdp
|
||||
MODULES freerdp-utils)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${MAC_AUDIOTOOLBOX_LIBRARY_PATH})
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${MAC_COREFOUNDATION_LIBRARY_PATH})
|
||||
|
||||
install(TARGETS rdpsnd_macaudio DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
|
|
@ -1,9 +1,7 @@
|
|||
# FreeRDP: A Remote Desktop Protocol Implementation
|
||||
# FreeRDP cmake build script
|
||||
#
|
||||
# Copyright 2011 O.S. Systems Software Ltda.
|
||||
# Copyright 2011 Otavio Salvador <otavio@ossystems.com.br>
|
||||
# Copyright 2011 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
||||
# Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
|
@ -17,21 +15,25 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(RDPSND_PULSE_SRCS
|
||||
define_channel_client_subsystem("rdpsnd" "pulse" "")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
rdpsnd_pulse.c)
|
||||
|
||||
include_directories(..)
|
||||
include_directories(${PULSEAUDIO_INCLUDE_DIR})
|
||||
include_directories(${PULSE_INCLUDE_DIR})
|
||||
|
||||
add_library(rdpsnd_pulse ${RDPSND_PULSE_SRCS})
|
||||
set_target_properties(rdpsnd_pulse PROPERTIES PREFIX "")
|
||||
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
|
||||
|
||||
if(MONOLITHIC_BUILD)
|
||||
target_link_libraries(rdpsnd_pulse freerdp)
|
||||
else()
|
||||
target_link_libraries(rdpsnd_pulse freerdp-utils)
|
||||
endif()
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
|
||||
|
||||
target_link_libraries(rdpsnd_pulse ${PULSEAUDIO_LIBRARY})
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE freerdp
|
||||
MODULES freerdp-utils)
|
||||
|
||||
install(TARGETS rdpsnd_pulse DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${PULSE_LIBRARY})
|
||||
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
|
|
|
@ -15,18 +15,20 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(MODULE_NAME "rdpsnd")
|
||||
set(MODULE_PREFIX "CHANNEL_RDPSND_SERVER")
|
||||
define_channel_server("rdpsnd")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
rdpsnd.c
|
||||
PARENT_SCOPE)
|
||||
rdpsnd.c)
|
||||
|
||||
if(MONOLITHIC_BUILD)
|
||||
set(${MODULE_PREFIX}_LIBS freerdp PARENT_SCOPE)
|
||||
else()
|
||||
set(${MODULE_PREFIX}_LIBS freerdp-utils PARENT_SCOPE)
|
||||
endif()
|
||||
add_channel_server_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} FALSE "VirtualChannelEntry")
|
||||
|
||||
#set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${MODULE_NAME}/Server")
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
|
||||
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE freerdp
|
||||
MODULES freerdp-utils)
|
||||
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
|
||||
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${CHANNEL}/Server")
|
||||
|
|
|
@ -15,7 +15,9 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
define_channel("sample")
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_subdirectory(client)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
||||
|
|
|
@ -5,5 +5,11 @@ set(CHANNEL_LONG_NAME "Sample Virtual Channel Extension")
|
|||
set(CHANNEL_SPECIFICATIONS "")
|
||||
|
||||
string(TOUPPER "WITH_${CHANNEL_SHORT_NAME}" CHANNEL_OPTION)
|
||||
option(${CHANNEL_OPTION} "Build ${CHANNEL_SHORT_NAME}" OFF)
|
||||
|
||||
if(WITH_SAMPLE)
|
||||
option(${CHANNEL_OPTION} "Build ${CHANNEL_SHORT_NAME}" ON)
|
||||
else()
|
||||
option(${CHANNEL_OPTION} "Build ${CHANNEL_SHORT_NAME}" OFF)
|
||||
endif()
|
||||
|
||||
|
||||
|
|
|
@ -15,20 +15,24 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(MODULE_NAME "sample")
|
||||
set(MODULE_PREFIX "CHANNEL_SAMPLE_CLIENT")
|
||||
define_channel_client("sample")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
skel_main.c
|
||||
skel_main.h)
|
||||
|
||||
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry")
|
||||
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
|
||||
|
||||
if(MONOLITHIC_BUILD)
|
||||
target_link_libraries(${MODULE_NAME} freerdp)
|
||||
else()
|
||||
target_link_libraries(${MODULE_NAME} freerdp-utils)
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE freerdp
|
||||
MODULES freerdp-utils)
|
||||
|
||||
if(NOT STATIC_CHANNELS)
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
endif()
|
||||
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${MODULE_NAME}/Client")
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
|
||||
#include "skel_main.h"
|
||||
|
||||
struct skel_plugin
|
||||
struct sample_plugin
|
||||
{
|
||||
rdpSvcPlugin plugin;
|
||||
|
||||
|
@ -48,12 +48,12 @@ struct skel_plugin
|
|||
|
||||
};
|
||||
|
||||
static void skel_process_interval(rdpSvcPlugin* plugin)
|
||||
static void sample_process_interval(rdpSvcPlugin* plugin)
|
||||
{
|
||||
printf("skel_process_interval:\n");
|
||||
}
|
||||
|
||||
static void skel_process_receive(rdpSvcPlugin* plugin, STREAM* data_in)
|
||||
static void sample_process_receive(rdpSvcPlugin* plugin, STREAM* data_in)
|
||||
{
|
||||
skelPlugin* skel = (skelPlugin*)plugin;
|
||||
STREAM* data_out;
|
||||
|
@ -88,27 +88,27 @@ static void skel_process_receive(rdpSvcPlugin* plugin, STREAM* data_in)
|
|||
stream_free(data_in);
|
||||
}
|
||||
|
||||
static void skel_process_connect(rdpSvcPlugin* plugin)
|
||||
static void sample_process_connect(rdpSvcPlugin* plugin)
|
||||
{
|
||||
skelPlugin* skel = (skelPlugin*)plugin;
|
||||
samplePlugin* sample = (samplePlugin*) plugin;
|
||||
DEBUG_SVC("connecting");
|
||||
|
||||
printf("skel_process_connect:\n");
|
||||
printf("sample_process_connect:\n");
|
||||
|
||||
if (skel == NULL)
|
||||
if (sample == NULL)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
/* if you want a call from channel thread once is a while do this */
|
||||
plugin->interval_ms = 1000;
|
||||
plugin->interval_callback = skel_process_interval;
|
||||
plugin->interval_callback = sample_process_interval;
|
||||
|
||||
}
|
||||
|
||||
static void skel_process_event(rdpSvcPlugin* plugin, RDP_EVENT* event)
|
||||
static void sample_process_event(rdpSvcPlugin* plugin, RDP_EVENT* event)
|
||||
{
|
||||
printf("skel_process_event:\n");
|
||||
printf("sample_process_event:\n");
|
||||
|
||||
/* events comming from main freerdp window to plugin */
|
||||
/* send them back with svc_plugin_send_event */
|
||||
|
@ -116,11 +116,11 @@ static void skel_process_event(rdpSvcPlugin* plugin, RDP_EVENT* event)
|
|||
freerdp_event_free(event);
|
||||
}
|
||||
|
||||
static void skel_process_terminate(rdpSvcPlugin* plugin)
|
||||
static void sample_process_terminate(rdpSvcPlugin* plugin)
|
||||
{
|
||||
skelPlugin* skel = (skelPlugin*)plugin;
|
||||
|
||||
printf("skel_process_terminate:\n");
|
||||
printf("sample_process_terminate:\n");
|
||||
|
||||
if (skel == NULL)
|
||||
{
|
||||
|
@ -132,5 +132,27 @@ static void skel_process_terminate(rdpSvcPlugin* plugin)
|
|||
free(plugin);
|
||||
}
|
||||
|
||||
DEFINE_SVC_PLUGIN(skel, "skel",
|
||||
CHANNEL_OPTION_INITIALIZED | CHANNEL_OPTION_ENCRYPT_RDP)
|
||||
#define VirtualChannelEntry sample_VirtualChannelEntry
|
||||
|
||||
const int VirtualChannelEntry(PCHANNEL_ENTRY_POINTS pEntryPoints)
|
||||
{
|
||||
samplePlugin* _p;
|
||||
|
||||
_p = (samplePlugin*) malloc(sizeof(samplePlugin));
|
||||
ZeroMemory(_p, sizeof(samplePlugin));
|
||||
|
||||
_p->plugin.channel_def.options =
|
||||
CHANNEL_OPTION_INITIALIZED |
|
||||
CHANNEL_OPTION_ENCRYPT_RDP;
|
||||
|
||||
strcpy(_p->plugin.channel_def.name, "sample");
|
||||
|
||||
_p->plugin.connect_callback = sample_process_connect;
|
||||
_p->plugin.receive_callback = sample_process_receive;
|
||||
_p->plugin.event_callback = sample_process_event;
|
||||
_p->plugin.terminate_callback = sample_process_terminate;
|
||||
|
||||
svc_plugin_init((rdpSvcPlugin*) _p, pEntryPoints);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
|
|
@ -18,9 +18,9 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef __SKEL_MAIN_H
|
||||
#define __SKEL_MAIN_H
|
||||
#ifndef __SAMPLE_MAIN_H
|
||||
#define __SAMPLE_MAIN_H
|
||||
|
||||
typedef struct skel_plugin skelPlugin;
|
||||
typedef struct sample_plugin samplePlugin;
|
||||
|
||||
#endif /* __SKEL_MAIN_H */
|
||||
#endif /* __SAMPLE_MAIN_H */
|
||||
|
|
|
@ -15,7 +15,9 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
define_channel("serial")
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_subdirectory(client)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
||||
|
|
|
@ -15,8 +15,7 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(MODULE_NAME "serial")
|
||||
set(MODULE_PREFIX "CHANNEL_DEVICE_SERIAL_CLIENT")
|
||||
define_channel_client("serial")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
serial_tty.c
|
||||
|
@ -24,15 +23,20 @@ set(${MODULE_PREFIX}_SRCS
|
|||
serial_constants.h
|
||||
serial_main.c)
|
||||
|
||||
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
|
||||
set_target_properties(serial PROPERTIES PREFIX "")
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DeviceServiceEntry")
|
||||
|
||||
if(MONOLITHIC_BUILD)
|
||||
target_link_libraries(${MODULE_NAME} freerdp)
|
||||
else()
|
||||
target_link_libraries(${MODULE_NAME} freerdp-utils)
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
|
||||
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE freerdp
|
||||
MODULES freerdp-utils)
|
||||
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
|
||||
if(NOT STATIC_CHANNELS)
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
endif()
|
||||
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
|
||||
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${MODULE_NAME}/Client")
|
||||
|
||||
|
|
|
@ -397,6 +397,10 @@ static void serial_free(DEVICE* device)
|
|||
free(serial);
|
||||
}
|
||||
|
||||
#ifdef STATIC_CHANNELS
|
||||
#define DeviceServiceEntry serial_DeviceServiceEntry
|
||||
#endif
|
||||
|
||||
int DeviceServiceEntry(PDEVICE_SERVICE_ENTRY_POINTS pEntryPoints)
|
||||
{
|
||||
int i, len;
|
||||
|
|
|
@ -18,23 +18,32 @@
|
|||
set(MODULE_NAME "freerdp-channels-server")
|
||||
set(MODULE_PREFIX "FREERDP_CHANNELS_SERVER")
|
||||
|
||||
foreach(_MODULE_NAME ${CHANNEL_BUILTIN_SERVER_MODULES})
|
||||
string(TOUPPER "CHANNEL_${_MODULE_NAME}" _MODULE_PREFIX)
|
||||
message(STATUS "Adding built-in channel server module: ${_MODULE_NAME}")
|
||||
|
||||
foreach(SRC ${${_MODULE_PREFIX}_SERVER_SRCS})
|
||||
set(CHANNEL_SERVER_SRCS ${CHANNEL_SERVER_SRCS} "../${_MODULE_NAME}/server/${SRC}")
|
||||
endforeach()
|
||||
|
||||
set(CHANNEL_SERVER_LIBS ${CHANNEL_SERVER_LIBS} ${${_MODULE_PREFIX}_SERVER_LIBS})
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
channels.c
|
||||
channels.h)
|
||||
|
||||
foreach(STATIC_MODULE ${CHANNEL_STATIC_SERVER_MODULES})
|
||||
set(STATIC_MODULE_NAME ${${STATIC_MODULE}_SERVER_NAME})
|
||||
set(STATIC_MODULE_CHANNEL ${${STATIC_MODULE}_SERVER_CHANNEL})
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${STATIC_MODULE_NAME})
|
||||
message(STATUS "Adding static server channel: ${STATIC_MODULE_CHANNEL}")
|
||||
endforeach()
|
||||
|
||||
add_library(${MODULE_NAME} ${CHANNEL_SERVER_SRCS})
|
||||
add_library(${MODULE_NAME} STATIC ${${MODULE_PREFIX}_SRCS})
|
||||
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
|
||||
|
||||
target_link_libraries(${MODULE_NAME} ${CHANNEL_SERVER_LIBS})
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD} INTERNAL
|
||||
MODULE freerdp
|
||||
MODULES freerdp-utils)
|
||||
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE winpr
|
||||
MODULES winpr-crt winpr-synch winpr-interlocked)
|
||||
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
|
||||
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/Server")
|
||||
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
/**
|
||||
* FreeRDP: A Remote Desktop Protocol Implementation
|
||||
* Server Virtual Channel Interface
|
||||
* Server Channels
|
||||
*
|
||||
* Copyright 2011-2012 Vic Lee
|
||||
* Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -17,20 +18,17 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <freerdp/constants.h>
|
||||
#include <freerdp/utils/memory.h>
|
||||
#include <freerdp/server/channels.h>
|
||||
|
||||
#include <winpr/synch.h>
|
||||
|
||||
#include "wtsvc.h"
|
||||
#include "channels.h"
|
||||
|
||||
#define CREATE_REQUEST_PDU 0x01
|
||||
#define DATA_FIRST_PDU 0x02
|
||||
|
@ -51,6 +49,11 @@ static void wts_data_item_free(wts_data_item* item)
|
|||
free(item);
|
||||
}
|
||||
|
||||
void* freerdp_channels_server_find_static_entry(const char* name, const char* entry)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static rdpPeerChannel* wts_get_dvc_channel_by_id(WTSVirtualChannelManager* vcm, UINT32 ChannelId)
|
||||
{
|
||||
LIST_ITEM* item;
|
||||
|
@ -805,3 +808,4 @@ BOOL WTSVirtualChannelClose(
|
|||
|
||||
return TRUE;
|
||||
}
|
||||
|
|
@ -1,8 +1,9 @@
|
|||
/**
|
||||
* FreeRDP: A Remote Desktop Protocol Implementation
|
||||
* Server Virtual Channel Interface
|
||||
* Server Channels
|
||||
*
|
||||
* Copyright 2011-2012 Vic Lee
|
||||
* Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
|
@ -15,7 +15,8 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_subdirectory(client)
|
||||
endif()
|
||||
define_channel("smartcard")
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
|
|
@ -15,8 +15,7 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(MODULE_NAME "smartcard")
|
||||
set(MODULE_PREFIX "CHANNEL_RDPDR_SMARTCARD_CLIENT")
|
||||
define_channel_client("smartcard")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
scard_main.c
|
||||
|
@ -24,17 +23,26 @@ set(${MODULE_PREFIX}_SRCS
|
|||
|
||||
include_directories(${PCSC_INCLUDE_DIRS})
|
||||
|
||||
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry")
|
||||
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
|
||||
|
||||
if(MONOLITHIC_BUILD)
|
||||
target_link_libraries(${MODULE_NAME} freerdp winpr)
|
||||
else()
|
||||
target_link_libraries(${MODULE_NAME} freerdp-utils winpr-crt winpr-synch winpr-thread winpr-interlocked)
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE freerdp
|
||||
MODULES freerdp-utils)
|
||||
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE winpr
|
||||
MODULES winpr-crt winpr-synch winpr-thread winpr-interlocked)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${PCSC_LIBRARIES})
|
||||
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
|
||||
if(NOT STATIC_CHANNELS)
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
endif()
|
||||
|
||||
target_link_libraries(${MODULE_NAME} ${PCSC_LIBRARIES})
|
||||
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
|
||||
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${MODULE_NAME}/Client")
|
||||
|
|
|
@ -282,6 +282,10 @@ static void scard_irp_request(DEVICE* device, IRP* irp)
|
|||
freerdp_thread_signal(scard->thread);
|
||||
}
|
||||
|
||||
#ifdef STATIC_CHANNELS
|
||||
#define DeviceServiceEntry smartcard_DeviceServiceEntry
|
||||
#endif
|
||||
|
||||
int DeviceServiceEntry(PDEVICE_SERVICE_ENTRY_POINTS pEntryPoints)
|
||||
{
|
||||
char* name;
|
||||
|
|
|
@ -15,8 +15,10 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
define_channel("tsmf")
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_subdirectory(client)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
||||
|
||||
|
|
|
@ -16,8 +16,7 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(MODULE_NAME "tsmf")
|
||||
set(MODULE_PREFIX "CHANNEL_TSMF_CLIENT")
|
||||
define_channel_client("tsmf")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
tsmf_audio.c
|
||||
|
@ -37,16 +36,20 @@ set(${MODULE_PREFIX}_SRCS
|
|||
|
||||
include_directories(..)
|
||||
|
||||
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry")
|
||||
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
|
||||
|
||||
if(MONOLITHIC_BUILD)
|
||||
target_link_libraries(${MODULE_NAME} freerdp)
|
||||
else()
|
||||
target_link_libraries(${MODULE_NAME} freerdp-utils)
|
||||
endif()
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE freerdp
|
||||
MODULES freerdp-utils)
|
||||
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
|
||||
if(NOT STATIC_CHANNELS)
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
endif()
|
||||
|
||||
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${MODULE_NAME}/Client")
|
||||
|
||||
|
@ -64,6 +67,6 @@ if(WITH_ALSA)
|
|||
add_subdirectory(alsa)
|
||||
endif()
|
||||
|
||||
if(WITH_PULSEAUDIO)
|
||||
if(WITH_PULSE)
|
||||
add_subdirectory(pulse)
|
||||
endif()
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
# FreeRDP: A Remote Desktop Protocol Implementation
|
||||
# FreeRDP cmake build script
|
||||
#
|
||||
# Copyright 2011 O.S. Systems Software Ltda.
|
||||
# Copyright 2011 Otavio Salvador <otavio@ossystems.com.br>
|
||||
# Copyright 2011 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
||||
# Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
|
@ -17,23 +15,27 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(TSMF_ALSA_SRCS
|
||||
tsmf_alsa.c
|
||||
)
|
||||
define_channel_client_subsystem("tsmf" "alsa" "audio")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
tsmf_alsa.c)
|
||||
|
||||
include_directories(..)
|
||||
include_directories(${ALSA_INCLUDE_DIRS})
|
||||
|
||||
add_library(tsmf_alsa ${TSMF_ALSA_SRCS})
|
||||
set_target_properties(tsmf_alsa PROPERTIES PREFIX "")
|
||||
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
|
||||
|
||||
if(MONOLITHIC_BUILD)
|
||||
target_link_libraries(tsmf_alsa freerdp)
|
||||
else()
|
||||
target_link_libraries(tsmf_alsa freerdp-utils)
|
||||
endif()
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
|
||||
|
||||
target_link_libraries(tsmf_alsa ${ALSA_LIBRARIES})
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE freerdp
|
||||
MODULES freerdp-utils)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${ALSA_LIBRARIES})
|
||||
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
|
||||
install(TARGETS tsmf_alsa DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
# FreeRDP: A Remote Desktop Protocol Implementation
|
||||
# FreeRDP cmake build script
|
||||
#
|
||||
# Copyright 2011 O.S. Systems Software Ltda.
|
||||
# Copyright 2011 Otavio Salvador <otavio@ossystems.com.br>
|
||||
# Copyright 2011 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
||||
# Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
|
@ -17,30 +15,25 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(TSMF_FFMPEG_SRCS
|
||||
tsmf_ffmpeg.c
|
||||
)
|
||||
define_channel_client_subsystem("tsmf" "ffmpeg" "video")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
tsmf_ffmpeg.c)
|
||||
|
||||
include_directories(..)
|
||||
include_directories(${FFMPEG_INCLUDE_DIRS})
|
||||
|
||||
add_library(tsmf_ffmpeg ${TSMF_FFMPEG_SRCS})
|
||||
set_target_properties(tsmf_ffmpeg PROPERTIES PREFIX "")
|
||||
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
|
||||
|
||||
if(CMAKE_COMPILER_IS_GNUCC)
|
||||
CHECK_C_COMPILER_FLAG(-Wno-deprecated-declarations Wno-deprecated-declarations)
|
||||
if(Wno-deprecated-declarations)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-deprecated-declarations")
|
||||
endif()
|
||||
endif()
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
|
||||
|
||||
if(MONOLITHIC_BUILD)
|
||||
target_link_libraries(tsmf_ffmpeg freerdp)
|
||||
else()
|
||||
target_link_libraries(tsmf_ffmpeg freerdp-utils)
|
||||
endif()
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE freerdp
|
||||
MODULES freerdp-utils)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${FFMPEG_LIBRARIES})
|
||||
|
||||
target_link_libraries(tsmf_ffmpeg ${FFMPEG_LIBRARIES})
|
||||
|
||||
install(TARGETS tsmf_ffmpeg DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# FreeRDP: A Remote Desktop Protocol Implementation
|
||||
# FreeRDP cmake build script for gstreamer plugin
|
||||
# FreeRDP cmake build script for gstreamer subsystem
|
||||
#
|
||||
# (C) Copyright 2012 Hewlett-Packard Development Company, L.P.
|
||||
#
|
||||
|
@ -15,25 +15,29 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
define_channel_client_subsystem("tsmf" "gstreamer" "video")
|
||||
|
||||
|
||||
set(TSMF_GSTREAMER_SRCS
|
||||
tsmf_gstreamer.c
|
||||
)
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
tsmf_gstreamer.c)
|
||||
|
||||
include_directories(..)
|
||||
include_directories(${GSTREAMER_INCLUDE_DIRS})
|
||||
|
||||
add_library(tsmf_gstreamer ${TSMF_GSTREAMER_SRCS})
|
||||
set_target_properties(tsmf_gstreamer PROPERTIES PREFIX "")
|
||||
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
|
||||
|
||||
if(MONOLITHIC_BUILD)
|
||||
target_link_libraries(tsmf_gstreamer freerdp)
|
||||
else()
|
||||
target_link_libraries(tsmf_gstreamer freerdp-utils)
|
||||
endif()
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
|
||||
|
||||
target_link_libraries(tsmf_gstreamer ${GSTREAMER_LIBRARIES} gstapp-0.10 gstinterfaces-0.10 Xrandr X11 Xext)
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE freerdp
|
||||
MODULES freerdp-utils)
|
||||
|
||||
install(TARGETS tsmf_gstreamer DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS}
|
||||
${GSTREAMER_LIBRARIES}
|
||||
gstapp-0.10
|
||||
gstinterfaces-0.10
|
||||
Xrandr X11 Xext)
|
||||
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
|
|
|
@ -1205,7 +1205,7 @@ static BOOL tsmf_gstreamer_decodeEx(ITSMFDecoder * decoder, const BYTE * data, U
|
|||
|
||||
if (fout)
|
||||
{
|
||||
fprintf(fout, "%"PRIu64"\n", start_time);
|
||||
fprintf(fout, "%"PRIu64"\n", (long unsigned int) start_time);
|
||||
fclose(fout);
|
||||
}
|
||||
|
||||
|
@ -1231,7 +1231,7 @@ static BOOL tsmf_gstreamer_decodeEx(ITSMFDecoder * decoder, const BYTE * data, U
|
|||
if (fin)
|
||||
{
|
||||
UINT64 AStartTime = 0;
|
||||
fscanf(fin, "%"PRIu64, &AStartTime);
|
||||
fscanf(fin, "%"PRIu64, (long unsigned int*) &AStartTime);
|
||||
fclose(fin);
|
||||
if (start_time > AStartTime)
|
||||
{
|
||||
|
@ -1265,7 +1265,7 @@ static BOOL tsmf_gstreamer_decodeEx(ITSMFDecoder * decoder, const BYTE * data, U
|
|||
if (fin)
|
||||
{
|
||||
UINT64 VStartTime = 0;
|
||||
fscanf(fin, "%"PRIu64, &VStartTime);
|
||||
fscanf(fin, "%"PRIu64, (long unsigned int*) &VStartTime);
|
||||
fclose(fin);
|
||||
if (start_time > VStartTime)
|
||||
{
|
||||
|
|
|
@ -1,9 +1,7 @@
|
|||
# FreeRDP: A Remote Desktop Protocol Implementation
|
||||
# FreeRDP cmake build script
|
||||
#
|
||||
# Copyright 2011 O.S. Systems Software Ltda.
|
||||
# Copyright 2011 Otavio Salvador <otavio@ossystems.com.br>
|
||||
# Copyright 2011 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
||||
# Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
|
@ -17,20 +15,25 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(TSMF_PULSE_SRCS
|
||||
define_channel_client_subsystem("tsmf" "pulse" "audio")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
tsmf_pulse.c)
|
||||
|
||||
include_directories(..)
|
||||
include_directories(${PULSEAUDIO_INCLUDE_DIR})
|
||||
include_directories(${PULSE_INCLUDE_DIR})
|
||||
|
||||
add_library(tsmf_pulse ${TSMF_PULSE_SRCS})
|
||||
set_target_properties(tsmf_pulse PROPERTIES PREFIX "")
|
||||
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
|
||||
|
||||
if(MONOLITHIC_BUILD)
|
||||
target_link_libraries(tsmf_pulse ${PULSEAUDIO_LIBRARY} freerdp)
|
||||
else()
|
||||
target_link_libraries(tsmf_pulse ${PULSEAUDIO_LIBRARY} freerdp-utils)
|
||||
endif()
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
|
||||
|
||||
install(TARGETS tsmf_pulse DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE freerdp
|
||||
MODULES freerdp-utils)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${PULSE_LIBRARY})
|
||||
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
|
|
|
@ -425,12 +425,17 @@ static void tsmf_process_plugin_data(IWTSPlugin* pPlugin, RDP_PLUGIN_DATA* data)
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef STATIC_CHANNELS
|
||||
#define DVCPluginEntry tsmf_DVCPluginEntry
|
||||
#endif
|
||||
|
||||
int DVCPluginEntry(IDRDYNVC_ENTRY_POINTS* pEntryPoints)
|
||||
{
|
||||
TSMF_PLUGIN * tsmf;
|
||||
int error = 0;
|
||||
TSMF_PLUGIN* tsmf;
|
||||
|
||||
tsmf = (TSMF_PLUGIN*) pEntryPoints->GetPlugin(pEntryPoints, "tsmf");
|
||||
|
||||
if (tsmf == NULL)
|
||||
{
|
||||
tsmf = xnew(TSMF_PLUGIN);
|
||||
|
@ -448,6 +453,7 @@ int DVCPluginEntry(IDRDYNVC_ENTRY_POINTS* pEntryPoints)
|
|||
tsmf_process_plugin_data((IWTSPlugin*) tsmf,
|
||||
pEntryPoints->GetPluginData(pEntryPoints));
|
||||
}
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
|
|
|
@ -15,8 +15,10 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
define_channel("urbdrc")
|
||||
|
||||
add_subdirectory(libusb)
|
||||
|
||||
if(WITH_CLIENT_CHANNELS)
|
||||
add_subdirectory(client)
|
||||
add_channel_client(${MODULE_PREFIX} ${CHANNEL_NAME})
|
||||
endif()
|
||||
|
|
|
@ -16,8 +16,7 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
set(MODULE_NAME "urbdrc")
|
||||
set(MODULE_PREFIX "CHANNEL_URBDRC_CLIENT")
|
||||
define_channel_client("urbdrc")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
searchman.c
|
||||
|
@ -32,7 +31,8 @@ set(${MODULE_PREFIX}_SRCS
|
|||
|
||||
include_directories(..)
|
||||
|
||||
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
|
||||
add_channel_client_library(${MODULE_PREFIX} ${MODULE_NAME} ${CHANNEL_NAME} TRUE "DVCPluginEntry")
|
||||
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES PREFIX "")
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS
|
||||
|
@ -40,14 +40,15 @@ set(${MODULE_PREFIX}_LIBS
|
|||
udev
|
||||
uuid)
|
||||
|
||||
if(MONOLITHIC_BUILD)
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp)
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
else()
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp-utils)
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE freerdp
|
||||
MODULES freerdp-utils)
|
||||
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
|
||||
if(NOT STATIC_CHANNELS)
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
endif()
|
||||
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${FREERDP_PLUGIN_PATH})
|
||||
|
||||
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Channels/${MODULE_NAME}/Client")
|
||||
|
|
|
@ -1042,6 +1042,10 @@ static int urbdrc_process_plugin_data(IWTSPlugin* pPlugin, RDP_PLUGIN_DATA* data
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
#ifdef STATIC_CHANNELS
|
||||
#define DVCPluginEntry urbdrc_DVCPluginEntry
|
||||
#endif
|
||||
|
||||
int DVCPluginEntry(IDRDYNVC_ENTRY_POINTS* pEntryPoints)
|
||||
{
|
||||
int error = 0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# FreeRDP: A Remote Desktop Protocol Implementation
|
||||
# FreeRDP Client User Interfaces
|
||||
# FreeRDP Clients
|
||||
#
|
||||
# Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
||||
#
|
||||
|
@ -15,28 +15,31 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# User Interfaces
|
||||
# Clients
|
||||
|
||||
if(NOT WIN32)
|
||||
# Build Sample Client
|
||||
add_subdirectory(Sample)
|
||||
add_subdirectory(common)
|
||||
|
||||
# Build X11 Client
|
||||
find_suggested_package(X11)
|
||||
if(WITH_X11)
|
||||
add_subdirectory(X11)
|
||||
if(WIN32)
|
||||
add_subdirectory(Windows)
|
||||
else()
|
||||
if(WITH_SAMPLE)
|
||||
add_subdirectory(Sample)
|
||||
endif()
|
||||
|
||||
# Build DirectFB Client
|
||||
find_optional_package(DirectFB)
|
||||
if(WITH_DIRECTFB)
|
||||
add_subdirectory(DirectFB)
|
||||
endif()
|
||||
else()
|
||||
# Build Windows Client
|
||||
add_subdirectory(Windows)
|
||||
endif()
|
||||
|
||||
if(NOT WIN32 AND (NOT ANDROID))
|
||||
find_suggested_package(X11)
|
||||
if(WITH_X11)
|
||||
add_subdirectory(X11)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(APPLE)
|
||||
add_subdirectory(Mac)
|
||||
endif()
|
||||
|
||||
|
|
|
@ -31,18 +31,12 @@ set(${MODULE_PREFIX}_SRCS
|
|||
add_executable(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS ${DIRECTFB_LIBRARIES})
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp-channels-client)
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp-client)
|
||||
|
||||
if(MONOLITHIC_BUILD)
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp)
|
||||
else()
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS}
|
||||
freerdp-core
|
||||
freerdp-gdi
|
||||
freerdp-locale
|
||||
freerdp-channels
|
||||
freerdp-utils)
|
||||
endif()
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE freerdp
|
||||
MODULES freerdp-core freerdp-gdi freerdp-locale freerdp-codec freerdp-utils)
|
||||
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
|
|
|
@ -227,7 +227,7 @@ static int df_process_plugin_args(rdpSettings* settings, const char* name,
|
|||
void* entry = NULL;
|
||||
rdpChannels* channels = (rdpChannels*) user_data;
|
||||
|
||||
entry = freerdp_channels_find_static_virtual_channel_entry(name);
|
||||
entry = freerdp_channels_client_find_static_entry("VirtualChannelEntry", name);
|
||||
|
||||
if (entry)
|
||||
{
|
||||
|
|
|
@ -136,12 +136,10 @@ endif()
|
|||
target_link_libraries(MacFreeRDP
|
||||
${EXTRA_LIBS}
|
||||
freerdp-core
|
||||
freerdp-channels
|
||||
freerdp-cache
|
||||
freerdp-gdi
|
||||
freerdp-utils
|
||||
freerdp-codec
|
||||
freerdp-rail
|
||||
)
|
||||
freerdp-rail)
|
||||
|
||||
set_property(TARGET MacFreeRDP PROPERTY FOLDER "Client/Mac")
|
||||
|
|
|
@ -25,15 +25,10 @@ add_executable(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
|
|||
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} ${CMAKE_DL_LIBS})
|
||||
|
||||
if(MONOLITHIC_BUILD)
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp)
|
||||
else()
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS}
|
||||
freerdp-core
|
||||
freerdp-gdi
|
||||
freerdp-utils
|
||||
freerdp-channels)
|
||||
endif()
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE freerdp
|
||||
MODULES freerdp-core freerdp-gdi freerdp-utils)
|
||||
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
|
||||
|
|
|
@ -36,20 +36,15 @@ set(${MODULE_PREFIX}_SRCS
|
|||
|
||||
add_executable(${MODULE_NAME} WIN32 ${${MODULE_PREFIX}_SRCS})
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp-channels-client)
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp-client)
|
||||
|
||||
if(MONOLITHIC_BUILD)
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp)
|
||||
else()
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS}
|
||||
freerdp-core
|
||||
freerdp-gdi
|
||||
freerdp-codec
|
||||
freerdp-channels
|
||||
freerdp-utils)
|
||||
endif()
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS
|
||||
MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE freerdp
|
||||
MODULES freerdp-core freerdp-gdi freerdp-codec freerdp-utils)
|
||||
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
|
||||
install(TARGETS ${MODULE_NAME} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT clients)
|
||||
|
||||
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Client/Windows")
|
||||
|
|
|
@ -107,4 +107,3 @@ void wf_cliprdr_check_owner(wfInfo* wfi)
|
|||
{
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -119,6 +119,30 @@ LRESULT CALLBACK wf_ll_kbd_proc(int nCode, WPARAM wParam, LPARAM lParam)
|
|||
return CallNextHookEx(NULL, nCode, wParam, lParam);
|
||||
}
|
||||
|
||||
static int wf_event_process_WM_MOUSEWHEEL(wfInfo* wfi, HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
int delta;
|
||||
int flags;
|
||||
rdpInput* input;
|
||||
|
||||
DefWindowProc(hWnd, Msg, wParam, lParam);
|
||||
input = wfi->instance->input;
|
||||
delta = ((signed short) HIWORD(wParam)); /* GET_WHEEL_DELTA_WPARAM(wParam); */
|
||||
|
||||
if (delta > 0)
|
||||
{
|
||||
flags = PTR_FLAGS_WHEEL | 0x0078;
|
||||
}
|
||||
else
|
||||
{
|
||||
flags = PTR_FLAGS_WHEEL | PTR_FLAGS_WHEEL_NEGATIVE | 0x0088;
|
||||
}
|
||||
|
||||
input->MouseEvent(input, flags, 0, 0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
LRESULT CALLBACK wf_event_proc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
HDC hdc;
|
||||
|
@ -141,7 +165,7 @@ LRESULT CALLBACK wf_event_proc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam
|
|||
{
|
||||
case WM_PAINT:
|
||||
hdc = BeginPaint(hWnd, &ps);
|
||||
|
||||
|
||||
x = ps.rcPaint.left;
|
||||
y = ps.rcPaint.top;
|
||||
w = ps.rcPaint.right - ps.rcPaint.left + 1;
|
||||
|
@ -174,8 +198,15 @@ LRESULT CALLBACK wf_event_proc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam
|
|||
input->MouseEvent(input, PTR_FLAGS_MOVE, X_POS(lParam), Y_POS(lParam));
|
||||
break;
|
||||
|
||||
case WM_MOUSEWHEEL:
|
||||
wf_event_process_WM_MOUSEWHEEL(wfi, hWnd, Msg, wParam, lParam);
|
||||
break;
|
||||
|
||||
case WM_SETCURSOR:
|
||||
SetCursor(wfi->cursor);
|
||||
if (LOWORD(lParam) == HTCLIENT)
|
||||
SetCursor(wfi->cursor);
|
||||
else
|
||||
DefWindowProc(hWnd, Msg, wParam, lParam);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -198,7 +229,10 @@ LRESULT CALLBACK wf_event_proc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam
|
|||
break;
|
||||
|
||||
case WM_SETCURSOR:
|
||||
SetCursor(g_default_cursor);
|
||||
if (LOWORD(lParam) == HTCLIENT)
|
||||
SetCursor(g_default_cursor);
|
||||
else
|
||||
DefWindowProc(hWnd, Msg, wParam, lParam);
|
||||
break;
|
||||
|
||||
case WM_SETFOCUS:
|
||||
|
|
|
@ -142,7 +142,7 @@ HBRUSH wf_create_brush(wfInfo * wfi, rdpBrush* brush, UINT32 color, int bpp)
|
|||
{
|
||||
for (i = 0; i != 8; i++)
|
||||
ipattern[7 - i] = brush->data[i];
|
||||
|
||||
|
||||
cdata = wf_glyph_convert(wfi, 8, 8, ipattern);
|
||||
pattern = CreateBitmap(8, 8, 1, 1, cdata);
|
||||
lbr.lbHatch = (ULONG_PTR) pattern;
|
||||
|
@ -342,7 +342,7 @@ void wf_gdi_line_to(rdpContext* context, LINE_TO_ORDER* line_to)
|
|||
|
||||
wf_set_rop2(wfi->drawing->hdc, line_to->bRop2);
|
||||
org_pen = (HPEN) SelectObject(wfi->drawing->hdc, pen);
|
||||
|
||||
|
||||
MoveToEx(wfi->drawing->hdc, line_to->nXStart, line_to->nYStart, NULL);
|
||||
LineTo(wfi->drawing->hdc, line_to->nXEnd, line_to->nYEnd);
|
||||
|
||||
|
@ -469,7 +469,7 @@ void wf_gdi_surface_bits(rdpContext* context, SURFACE_BITS_COMMAND* surface_bits
|
|||
wfi->image->_bitmap.data = (BYTE*) realloc(wfi->image->_bitmap.data, wfi->image->_bitmap.width * wfi->image->_bitmap.height * 4);
|
||||
freerdp_image_flip(nsc_context->bmpdata, wfi->image->_bitmap.data, wfi->image->_bitmap.width, wfi->image->_bitmap.height, 32);
|
||||
BitBlt(wfi->primary->hdc, surface_bits_command->destLeft, surface_bits_command->destTop, surface_bits_command->width, surface_bits_command->height, wfi->image->hdc, 0, 0, GDI_SRCCOPY);
|
||||
}
|
||||
}
|
||||
else if (surface_bits_command->codecID == CODEC_ID_NONE)
|
||||
{
|
||||
wfi->image->_bitmap.width = surface_bits_command->width;
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
#include "wf_gdi.h"
|
||||
#include "wf_graphics.h"
|
||||
|
||||
extern HINSTANCE g_hInstance; /* in wfreerdp.c */
|
||||
|
||||
HBITMAP wf_create_dib(wfInfo* wfi, int width, int height, int bpp, BYTE* data, BYTE** pdata)
|
||||
{
|
||||
HDC hdc;
|
||||
|
@ -78,7 +80,7 @@ wfBitmap* wf_image_new(wfInfo* wfi, int width, int height, int bpp, BYTE* data)
|
|||
|
||||
image->org_bitmap = (HBITMAP) SelectObject(image->hdc, image->bitmap);
|
||||
ReleaseDC(NULL, hdc);
|
||||
|
||||
|
||||
return image;
|
||||
}
|
||||
|
||||
|
@ -118,7 +120,7 @@ void wf_Bitmap_New(rdpContext* context, rdpBitmap* bitmap)
|
|||
void wf_Bitmap_Free(rdpContext* context, rdpBitmap* bitmap)
|
||||
{
|
||||
wfBitmap* wf_bitmap = (wfBitmap*) bitmap;
|
||||
|
||||
|
||||
if (wf_bitmap != 0)
|
||||
{
|
||||
SelectObject(wf_bitmap->hdc, wf_bitmap->org_bitmap);
|
||||
|
@ -189,17 +191,64 @@ void wf_Bitmap_SetSurface(rdpContext* context, rdpBitmap* bitmap, BOOL primary)
|
|||
|
||||
void wf_Pointer_New(rdpContext* context, rdpPointer* pointer)
|
||||
{
|
||||
HCURSOR hCur;
|
||||
unsigned char am[32 * 4];
|
||||
unsigned char xm[32 * 4];
|
||||
int i, j, ii;
|
||||
int width, height, bpp;
|
||||
|
||||
width = pointer->width;
|
||||
height = pointer->height;
|
||||
bpp = pointer->xorBpp;
|
||||
|
||||
if ((bpp != 1 && bpp != 8 && bpp != 15 && bpp != 16 && bpp != 24 && bpp != 32) ||
|
||||
width > 32 || height > 32)
|
||||
{
|
||||
printf("wf_Pointer_New: Unsupported Cursor width = %u, height = %u, xorBpp = %u\n", width, height, bpp);
|
||||
return;
|
||||
}
|
||||
memset(am, 0, 32 * 4);
|
||||
memset(xm, 0, 32 * 4);
|
||||
for (i = 0; i < 32; i++)
|
||||
{
|
||||
ii = (bpp == 1) ? i : (height - 1) - i;
|
||||
for (j = 0; j < 32; j++)
|
||||
{
|
||||
if (freerdp_get_pixel(pointer->andMaskData, j, i, width, height, 1))
|
||||
{
|
||||
freerdp_set_pixel(am, j, ii, width, height, 1, 1);
|
||||
}
|
||||
if (freerdp_get_pixel(pointer->xorMaskData, j, i, width, height, bpp))
|
||||
{
|
||||
freerdp_set_pixel(xm, j, ii, width, height, 1, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
hCur = CreateCursor(g_hInstance, pointer->xPos, pointer->yPos, pointer->width, pointer->height, am, xm);
|
||||
((wfPointer*) pointer)->cursor = hCur;
|
||||
}
|
||||
|
||||
void wf_Pointer_Free(rdpContext* context, rdpPointer* pointer)
|
||||
{
|
||||
HCURSOR hCur;
|
||||
|
||||
hCur = ((wfPointer*) pointer)->cursor;
|
||||
if (hCur != 0)
|
||||
DestroyCursor(hCur);
|
||||
}
|
||||
|
||||
void wf_Pointer_Set(rdpContext* context, rdpPointer* pointer)
|
||||
{
|
||||
wfInfo* wfi;
|
||||
HCURSOR hCur;
|
||||
|
||||
wfi = ((wfContext*) context)->wfi;
|
||||
hCur = ((wfPointer*) pointer)->cursor;
|
||||
if (hCur != NULL)
|
||||
{
|
||||
SetCursor(hCur);
|
||||
wfi->cursor = hCur;
|
||||
}
|
||||
}
|
||||
|
||||
void wf_Pointer_SetNull(rdpContext* context)
|
||||
|
|
|
@ -29,4 +29,4 @@ void wf_process_rail_event(wfInfo* wfi, rdpChannels* chanman, RDP_EVENT* event);
|
|||
void wf_rail_adjust_position(wfInfo* wfi, rdpWindow *window);
|
||||
void wf_rail_end_local_move(wfInfo* wfi, rdpWindow *window);
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -24,4 +24,4 @@
|
|||
|
||||
#include "wfreerdp.h"
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -179,7 +179,7 @@ BOOL wf_pre_connect(freerdp* instance)
|
|||
settings->order_support[NEG_ELLIPSE_SC_INDEX] = FALSE;
|
||||
settings->order_support[NEG_ELLIPSE_CB_INDEX] = FALSE;
|
||||
|
||||
settings->glyph_cache = FALSE;
|
||||
settings->glyphSupportLevel = GLYPH_SUPPORT_NONE;
|
||||
|
||||
wfi->cursor = g_default_cursor;
|
||||
|
||||
|
@ -457,7 +457,7 @@ int wf_process_plugin_args(rdpSettings* settings, const char* name, RDP_PLUGIN_D
|
|||
void* entry = NULL;
|
||||
rdpChannels* channels = (rdpChannels*) user_data;
|
||||
|
||||
entry = freerdp_channels_find_static_virtual_channel_entry(name);
|
||||
entry = freerdp_channels_client_find_static_entry("VirtualChannelEntry", name);
|
||||
|
||||
if (entry)
|
||||
{
|
||||
|
|
|
@ -50,6 +50,7 @@ typedef struct wf_bitmap wfBitmap;
|
|||
struct wf_pointer
|
||||
{
|
||||
rdpPointer pointer;
|
||||
HCURSOR cursor;
|
||||
};
|
||||
typedef struct wf_pointer wfPointer;
|
||||
|
||||
|
|
|
@ -94,19 +94,11 @@ endif()
|
|||
|
||||
include_directories(${CMAKE_SOURCE_DIR}/resources)
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp-channels-client)
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp-client)
|
||||
|
||||
if(MONOLITHIC_BUILD)
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp)
|
||||
else()
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS}
|
||||
freerdp-core
|
||||
freerdp-gdi
|
||||
freerdp-locale
|
||||
freerdp-rail
|
||||
freerdp-channels
|
||||
freerdp-utils)
|
||||
endif()
|
||||
set_complex_link_libraries(VARIABLE ${MODULE_PREFIX}_LIBS MONOLITHIC ${MONOLITHIC_BUILD}
|
||||
MODULE freerdp
|
||||
MODULES freerdp-core freerdp-gdi freerdp-locale freerdp-rail freerdp-utils)
|
||||
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
|
|
|
@ -949,7 +949,7 @@ int xf_process_plugin_args(rdpSettings* settings, const char* name, RDP_PLUGIN_D
|
|||
void* entry = NULL;
|
||||
rdpChannels* channels = (rdpChannels*) user_data;
|
||||
|
||||
entry = freerdp_channels_find_static_virtual_channel_entry(name);
|
||||
entry = freerdp_channels_client_find_static_entry("VirtualChannelEntry", name);
|
||||
|
||||
if (entry)
|
||||
{
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
# FreeRDP: A Remote Desktop Protocol Implementation
|
||||
# FreeRDP Client Common
|
||||
#
|
||||
# Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
||||
#
|
||||
# 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.
|
||||
|
||||
set(MODULE_NAME "freerdp-client")
|
||||
set(MODULE_PREFIX "FREERDP_CLIENT")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
client.c
|
||||
file.c)
|
||||
|
||||
if(MSVC)
|
||||
set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} module.def)
|
||||
endif()
|
||||
|
||||
add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS})
|
||||
|
||||
set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION_FULL} SOVERSION ${FREERDP_VERSION} PREFIX "lib")
|
||||
|
||||
set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} freerdp-channels-client)
|
||||
|
||||
target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS})
|
||||
|
||||
install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries)
|
||||
|
||||
set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Client/Common")
|
|
@ -1,9 +1,8 @@
|
|||
/**
|
||||
* FreeRDP: A Remote Desktop Protocol Implementation
|
||||
* Virtual Channel Manager
|
||||
* FreeRDP Client Common
|
||||
*
|
||||
* Copyright 2009-2011 Jay Sorg
|
||||
* Copyright 2010-2011 Vic Lee
|
||||
* Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -18,19 +17,8 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef __LIBCHANNELS_H
|
||||
#define __LIBCHANNELS_H
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include <freerdp/utils/debug.h>
|
||||
|
||||
#ifdef WITH_DEBUG_CHANNELS
|
||||
#define DEBUG_CHANNELS(fmt, ...) DEBUG_CLASS(CHANNELS, fmt, ## __VA_ARGS__)
|
||||
#else
|
||||
#define DEBUG_CHANNELS(fmt, ...) DEBUG_NULL(fmt, ## __VA_ARGS__)
|
||||
#endif
|
||||
|
||||
#endif /* __LIBCHANNELS_H */
|
|
@ -1,6 +1,6 @@
|
|||
/**
|
||||
* FreeRDP: A Remote Desktop Protocol Implementation
|
||||
* config.h definitions for installable headers
|
||||
* .rdp file
|
||||
*
|
||||
* Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
||||
*
|
||||
|
@ -17,20 +17,16 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef FREERDP_CONFIG_H
|
||||
#define FREERDP_CONFIG_H
|
||||
|
||||
/*
|
||||
* This generated config.h header is meant for installation, which is why
|
||||
* all definitions MUST be prefixed to avoid conflicting with third-party
|
||||
* libraries. Only add configurable definitions which really must be used
|
||||
* from installable headers, such as the base type definition types.
|
||||
*/
|
||||
|
||||
#cmakedefine FREERDP_HAVE_LIMITS_H
|
||||
#cmakedefine FREERDP_HAVE_STDINT_H
|
||||
#cmakedefine FREERDP_HAVE_STDBOOL_H
|
||||
#cmakedefine FREERDP_HAVE_INTTYPES_H
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
#include <freerdp/client/file.h>
|
||||
|
||||
/**
|
||||
* Remote Desktop Plus - Overview of .rdp file settings:
|
||||
* http://www.donkz.nl/files/rdpsettings.html
|
||||
*
|
||||
* RDP Settings for Remote Desktop Services in Windows Server 2008 R2:
|
||||
* http://technet.microsoft.com/en-us/library/ff393699/
|
||||
*/
|
|
@ -0,0 +1,3 @@
|
|||
LIBRARY "libfreerdp-client"
|
||||
EXPORTS
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
|
||||
include(CMakeParseArguments)
|
||||
|
||||
macro(set_complex_link_libraries)
|
||||
|
||||
set(PREFIX "COMPLEX_LIBRARY")
|
||||
|
||||
cmake_parse_arguments(${PREFIX}
|
||||
"INTERNAL"
|
||||
"MODULE;VARIABLE;MONOLITHIC"
|
||||
"MODULES"
|
||||
${ARGN})
|
||||
|
||||
if(NOT DEFINED ${PREFIX}_MONOLITHIC)
|
||||
set(${PREFIX}_MONOLITHIC FALSE)
|
||||
endif()
|
||||
|
||||
if(${${PREFIX}_MONOLITHIC})
|
||||
if(${${PREFIX}_INTERNAL})
|
||||
set(${PREFIX}_LIBS)
|
||||
else()
|
||||
set(${PREFIX}_LIBS ${${PREFIX}_MODULE})
|
||||
endif()
|
||||
else()
|
||||
set(${PREFIX}_LIBS ${${PREFIX}_MODULES})
|
||||
endif()
|
||||
|
||||
set(${${PREFIX}_VARIABLE} ${${${PREFIX}_VARIABLE}} ${${PREFIX}_LIBS})
|
||||
|
||||
endmacro(set_complex_link_libraries)
|
||||
|
||||
macro(add_complex_library)
|
||||
|
||||
set(PREFIX "COMPLEX_LIBRARY")
|
||||
|
||||
cmake_parse_arguments(${PREFIX}
|
||||
""
|
||||
"MODULE;TYPE;MONOLITHIC"
|
||||
"SOURCES"
|
||||
${ARGN})
|
||||
|
||||
if(${${PREFIX}_MONOLITHIC})
|
||||
add_library(${${PREFIX}_MODULE} ${${PREFIX}_TYPE} ${${PREFIX}_SOURCES})
|
||||
else()
|
||||
add_library(${${PREFIX}_MODULE} ${${PREFIX}_SOURCES})
|
||||
endif()
|
||||
|
||||
endmacro(add_complex_library)
|
|
@ -1,9 +1,21 @@
|
|||
|
||||
if((CMAKE_SYSTEM_PROCESSOR MATCHES "i386|i686|x86") AND (CMAKE_SIZEOF_VOID_P EQUAL 4))
|
||||
set(TARGET_ARCH "x86")
|
||||
elseif((CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|AMD64") AND (CMAKE_SIZEOF_VOID_P EQUAL 8))
|
||||
set(TARGET_ARCH "x64")
|
||||
endif()
|
||||
|
||||
option(WITH_MANPAGES "Generate manpages." ON)
|
||||
option(WITH_NEON "Enable NEON optimization for rfx decoder" OFF)
|
||||
option(WITH_PROFILER "Compile profiler." OFF)
|
||||
option(WITH_SSE2_TARGET "Allow compiler to generate SSE2 instructions." OFF)
|
||||
option(WITH_SSE2 "Use SSE2 optimization." OFF)
|
||||
|
||||
if((TARGET_ARCH MATCHES "x86|x64") AND (NOT DEFINED WITH_SSE2))
|
||||
option(WITH_SSE2 "Enable SSE2 optimization." ON)
|
||||
else()
|
||||
option(WITH_SSE2 "Enable SSE2 optimization." OFF)
|
||||
endif()
|
||||
|
||||
option(WITH_NEON "Enable NEON optimization." OFF)
|
||||
|
||||
option(WITH_JPEG "Use JPEG decoding." OFF)
|
||||
|
||||
if(APPLE)
|
||||
|
@ -16,6 +28,7 @@ if(MSVC)
|
|||
endif()
|
||||
|
||||
option(BUILD_TESTING "Build unit tests" OFF)
|
||||
option(WITH_SAMPLE "Build sample code" OFF)
|
||||
|
||||
if(${CMAKE_VERSION} VERSION_GREATER 2.8.8)
|
||||
option(MONOLITHIC_BUILD "Use monolithic build" OFF)
|
||||
|
|
|
@ -1,13 +1,18 @@
|
|||
|
||||
include(FindPkgConfig)
|
||||
|
||||
if (PKG_CONFIG_FOUND)
|
||||
pkg_check_modules(PCSC libpcsclite)
|
||||
endif()
|
||||
|
||||
find_path(PCSC_INCLUDE_DIR pcsclite.h PATHS ${PCSC_INCLUDE_DIRS}
|
||||
PATH_SUFFIXES PCSC )
|
||||
find_library(PCSC_LIBRARY pcsclite PATHS ${PCSC_LIBRARY_DIRS})
|
||||
find_path(PCSC_INCLUDE_DIR pcsclite.h
|
||||
PATHS ${PCSC_INCLUDE_DIRS}
|
||||
PATH_SUFFIXES PCSC)
|
||||
|
||||
find_library(PCSC_LIBRARY pcsclite
|
||||
PATHS ${PCSC_LIBRARY_DIRS})
|
||||
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PCSC DEFAULT_MSG PCSC_INCLUDE_DIR PCSC_LIBRARY)
|
||||
|
||||
mark_as_advanced(PCSC_INCLUDE_DIR PCSC_LIBRARY)
|
||||
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
|
||||
include(FindPkgConfig)
|
||||
|
||||
if (PKG_CONFIG_FOUND)
|
||||
pkg_check_modules(PULSEAUDIO libpulse)
|
||||
if(PKG_CONFIG_FOUND)
|
||||
pkg_check_modules(PULSE libpulse)
|
||||
endif()
|
||||
|
||||
find_path(PULSEAUDIO_INCLUDE_DIR pulse/pulseaudio.h PATHS ${PULSEAUDIO_INCLUDE_DIRS} PATH_SUFFIXES pulse )
|
||||
find_library(PULSEAUDIO_LIBRARY pulse PATHS ${PULSEAUDIO_LIBRARY_DIRS})
|
||||
find_path(PULSE_INCLUDE_DIR pulse/pulseaudio.h PATHS ${PULSE_INCLUDE_DIRS} PATH_SUFFIXES pulse )
|
||||
find_library(PULSE_LIBRARY pulse PATHS ${PULSE_LIBRARY_DIRS})
|
||||
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PulseAudio DEFAULT_MSG PULSEAUDIO_INCLUDE_DIR PULSEAUDIO_LIBRARY)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PulseAudio DEFAULT_MSG PULSE_INCLUDE_DIR PULSE_LIBRARY)
|
||||
|
||||
mark_as_advanced(PULSE_INCLUDE_DIR PULSE_LIBRARY)
|
||||
|
||||
mark_as_advanced(PULSEAUDIO_INCLUDE_DIR PULSEAUDIO_LIBRARY)
|
||||
|
|
|
@ -17,9 +17,7 @@
|
|||
/* Include files */
|
||||
#cmakedefine HAVE_FCNTL_H
|
||||
#cmakedefine HAVE_UNISTD_H
|
||||
#cmakedefine HAVE_LIMITS_H
|
||||
#cmakedefine HAVE_STDINT_H
|
||||
#cmakedefine HAVE_STDBOOL_H
|
||||
#cmakedefine HAVE_INTTYPES_H
|
||||
#cmakedefine HAVE_SYS_MODEM_H
|
||||
#cmakedefine HAVE_SYS_FILIO_H
|
||||
|
|
|
@ -68,7 +68,6 @@ target_link_libraries(test_freerdp ${CUNIT_LIBRARIES})
|
|||
target_link_libraries(test_freerdp freerdp-core)
|
||||
target_link_libraries(test_freerdp freerdp-gdi)
|
||||
target_link_libraries(test_freerdp freerdp-utils)
|
||||
target_link_libraries(test_freerdp freerdp-channels)
|
||||
target_link_libraries(test_freerdp freerdp-codec)
|
||||
target_link_libraries(test_freerdp freerdp-crypto)
|
||||
|
||||
|
|
|
@ -8,6 +8,6 @@ Description: A free remote desktop protocol client
|
|||
URL: http://www.freerdp.com/
|
||||
Version: @FREERDP_VERSION_FULL@
|
||||
Requires:
|
||||
Libs: -L${libdir} -lfreerdp-cache -lfreerdp-channels -lfreerdp-codec -lfreerdp-core -lfreerdp-crypto -lfreerdp-gdi -lfreerdp-locale -lfreerdp-rail -lfreerdp-utils -lwinpr-sspi -lwinpr-rpc
|
||||
Libs: -L${libdir} -lfreerdp-cache -lfreerdp-codec -lfreerdp-core -lfreerdp-crypto -lfreerdp-gdi -lfreerdp-locale -lfreerdp-rail -lfreerdp-utils -lwinpr-sspi -lwinpr-rpc
|
||||
Cflags: -I${includedir}
|
||||
|
||||
|
|
|
@ -96,8 +96,8 @@ cmake \
|
|||
-DCMAKE_INSTALL_PREFIX:PATH=/usr \
|
||||
-DWITH_CUPS:BOOL=ON \
|
||||
-DWITH_PCSC:BOOL=ON \
|
||||
-DWITH_PULSEAUDIO:BOOL=ON \
|
||||
-DWITH_MACAUDIO:BOOL=ON \
|
||||
-DWITH_PULSE:BOOL=ON \
|
||||
-DWITH_MACAUDIO:BOOL=ON \
|
||||
-DWITH_X11:BOOL=ON \
|
||||
-DWITH_XCURSOR:BOOL=ON \
|
||||
-DWITH_XEXT:BOOL=ON \
|
||||
|
|
|
@ -18,17 +18,15 @@
|
|||
# limitations under the License.
|
||||
|
||||
file(GLOB FREERDP_HEADERS "freerdp/*.h")
|
||||
install(FILES ${FREERDP_HEADERS} DESTINATION include/freerdp)
|
||||
|
||||
install(DIRECTORY freerdp/cache DESTINATION include/freerdp FILES_MATCHING PATTERN "*.h")
|
||||
install(DIRECTORY freerdp/codec DESTINATION include/freerdp FILES_MATCHING PATTERN "*.h")
|
||||
install(DIRECTORY freerdp/crypto DESTINATION include/freerdp FILES_MATCHING PATTERN "*.h")
|
||||
install(DIRECTORY freerdp/gdi DESTINATION include/freerdp FILES_MATCHING PATTERN "*.h")
|
||||
install(DIRECTORY freerdp/locale DESTINATION include/freerdp FILES_MATCHING PATTERN "*.h")
|
||||
install(DIRECTORY freerdp/rail DESTINATION include/freerdp FILES_MATCHING PATTERN "*.h")
|
||||
install(DIRECTORY freerdp/utils DESTINATION include/freerdp FILES_MATCHING PATTERN "*.h")
|
||||
install(DIRECTORY freerdp/client DESTINATION include/freerdp FILES_MATCHING PATTERN "*.h")
|
||||
install(DIRECTORY freerdp/server DESTINATION include/freerdp FILES_MATCHING PATTERN "*.h")
|
||||
install(DIRECTORY freerdp/channels DESTINATION include/freerdp FILES_MATCHING PATTERN "*.h")
|
||||
|
||||
install(FILES ${FREERDP_HEADERS} DESTINATION include/freerdp COMPONENT headers)
|
||||
|
||||
install(DIRECTORY freerdp/cache DESTINATION include/freerdp COMPONENT headers FILES_MATCHING PATTERN "*.h")
|
||||
install(DIRECTORY freerdp/codec DESTINATION include/freerdp COMPONENT headers FILES_MATCHING PATTERN "*.h")
|
||||
install(DIRECTORY freerdp/crypto DESTINATION include/freerdp COMPONENT headers FILES_MATCHING PATTERN "*.h")
|
||||
install(DIRECTORY freerdp/gdi DESTINATION include/freerdp COMPONENT headers FILES_MATCHING PATTERN "*.h")
|
||||
install(DIRECTORY freerdp/locale DESTINATION include/freerdp COMPONENT headers FILES_MATCHING PATTERN "*.h")
|
||||
install(DIRECTORY freerdp/rail DESTINATION include/freerdp COMPONENT headers FILES_MATCHING PATTERN "*.h")
|
||||
install(DIRECTORY freerdp/utils DESTINATION include/freerdp COMPONENT headers FILES_MATCHING PATTERN "*.h")
|
||||
install(DIRECTORY freerdp/client DESTINATION include/freerdp COMPONENT headers FILES_MATCHING PATTERN "*.h")
|
||||
install(DIRECTORY freerdp/server DESTINATION include/freerdp COMPONENT headers FILES_MATCHING PATTERN "*.h")
|
||||
install(DIRECTORY freerdp/channels DESTINATION include/freerdp COMPONENT headers FILES_MATCHING PATTERN "*.h")
|
||||
|
|
|
@ -22,9 +22,9 @@
|
|||
|
||||
#include <freerdp/api.h>
|
||||
|
||||
FREERDP_API void* freerdp_channels_find_static_virtual_channel_entry(const char* name);
|
||||
FREERDP_API void* freerdp_channels_find_static_device_service_entry(const char* name);
|
||||
FREERDP_API void* freerdp_channels_find_static_entry(const char* name, const char* entry);
|
||||
FREERDP_API void* freerdp_channels_client_find_static_entry(const char* name, const char* identifier);
|
||||
FREERDP_API void* freerdp_channels_client_find_dynamic_entry(const char* name, const char* identifier);
|
||||
FREERDP_API void* freerdp_channels_client_find_entry(const char* name, const char* identifier);
|
||||
|
||||
#endif /* FREERDP_CHANNELS_CLIENT */
|
||||
|
||||
|
|
|
@ -0,0 +1,134 @@
|
|||
/**
|
||||
* FreeRDP: A Remote Desktop Protocol Implementation
|
||||
* .rdp file
|
||||
*
|
||||
* Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
||||
*
|
||||
* 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 FREERDP_CLIENT_RDP_FILE
|
||||
#define FREERDP_CLIENT_RDP_FILE
|
||||
|
||||
#include <freerdp/freerdp.h>
|
||||
|
||||
struct rdp_file
|
||||
{
|
||||
DWORD UseMultiMon; /* use multimon */
|
||||
DWORD ScreenModeId; /* screen mode id */
|
||||
DWORD SpanMonitors; /* span monitors */
|
||||
DWORD SmartSizing; /* smartsizing */
|
||||
DWORD EnableSuperSpan; /* enablesuperpan */
|
||||
DWORD SuperSpanAccelerationFactor; /* superpanaccelerationfactor */
|
||||
|
||||
DWORD DesktopWidth; /* desktopwidth */
|
||||
DWORD DesktopHeight; /* desktopheight */
|
||||
DWORD DesktopSizeId; /* desktop size id */
|
||||
DWORD SessionBpp; /* session bpp */
|
||||
|
||||
DWORD Compression; /* compression */
|
||||
DWORD KeyboardHook; /* keyboardhook */
|
||||
DWORD DisableCtrlAltDel; /* disable ctrl+alt+del */
|
||||
|
||||
DWORD AudioMode; /* audiomode */
|
||||
DWORD AudioQualityMode; /* audioqualitymode */
|
||||
DWORD AudioCaptureMode; /* audiocapturemode */
|
||||
DWORD VideoPlaybackMode; /* videoplaybackmode */
|
||||
|
||||
DWORD ConnectionType; /* connection type */
|
||||
|
||||
DWORD NetworkAutoDetect; /* networkautodetect */
|
||||
DWORD BandwidthAutoDetect; /* bandwidthautodetect */
|
||||
|
||||
DWORD PinConnectionBar; /* pinconnectionbar */
|
||||
DWORD DisplayConnectionBar; /* displayconnectionbar */
|
||||
|
||||
DWORD WorkspaceId; /* workspaceid */
|
||||
DWORD EnableWorkspaceReconnect; /* enableworkspacereconnect */
|
||||
|
||||
DWORD DisableWallpaper; /* disable wallpaper */
|
||||
DWORD AllowFontSmoothing; /* allow font smoothing */
|
||||
DWORD AllowDesktopComposition; /* allow desktop composition */
|
||||
DWORD DisableFullWindowDrag; /* disable full window drag */
|
||||
DWORD DisableMenuAnims; /* disable menu anims */
|
||||
DWORD DisableThemes; /* disable themes */
|
||||
DWORD DisableCursorSetting; /* disable cursor setting */
|
||||
|
||||
DWORD BitmapCacheSize; /* bitmapcachesize */
|
||||
DWORD BitmapCachePersistEnable; /* bitmapcachepersistenable */
|
||||
|
||||
LPSTR Username; /* username */
|
||||
LPSTR Domain; /* domain */
|
||||
PBYTE Password51; /* password 51 */
|
||||
|
||||
LPTSTR FullAddress; /* full address */
|
||||
LPTSTR AlternateFullAddress; /* alternate full address */
|
||||
DWORD ServerPort; /* server port */
|
||||
|
||||
DWORD RedirectDrives; /* redirectdrives */
|
||||
DWORD RedirectPrinters; /* redirectprinters */
|
||||
DWORD RedirectComPorts; /* redirectcomports */
|
||||
DWORD RedirectSmartCards; /* redirectsmartcards */
|
||||
DWORD RedirectClipboard; /* redirectclipboard */
|
||||
DWORD RedirectPosDevices; /* redirectposdevices */
|
||||
DWORD RedirectDirectX; /* redirectdirectx */
|
||||
DWORD DisablePrinterRedirection; /* disableprinterredirection */
|
||||
DWORD DisableClipboardRedirection; /* disableclipboardredirection */
|
||||
LPSTR UsbDevicesToRedirect; /* usbdevicestoredirect */
|
||||
|
||||
DWORD ConnectToConsole; /* connect to console */
|
||||
DWORD AdministrativeSession; /* administrative session */
|
||||
DWORD AutoReconnectionEnabled; /* autoreconnection enabled */
|
||||
DWORD AutoReconnectMaxRetries; /* autoreconnect max retries */
|
||||
|
||||
DWORD PublicMode; /* public mode */
|
||||
DWORD AuthenticationLevel; /* authentication level */
|
||||
DWORD PromptCredentialOnce; /* promptcredentialonce */
|
||||
DWORD PromptForCredentials; /* prompt for credentials */
|
||||
DWORD PromptForCredentialsOnce; /* promptcredentialonce */
|
||||
DWORD NegotiateSecurityLayer; /* negotiate security layer */
|
||||
DWORD EnableCredSSPSupport; /* enablecredsspsupport */
|
||||
LPSTR LoadBalanceInfo; /* LoadBalanceInfo */
|
||||
|
||||
DWORD RemoteApplicationMode; /* remoteapplicationmode */
|
||||
LPSTR RemoteApplicationName; /* remoteapplicationname */
|
||||
LPSTR RemoteApplicationIcon; /* remoteapplicationicon */
|
||||
LPSTR RemoteApplicationProgram; /* remoteapplicationprogram */
|
||||
LPSTR RemoteApplicationFile; /* remoteapplicationfile */
|
||||
LPSTR RemoteApplicationCmdLine; /* remoteapplicationcmdline */
|
||||
DWORD RemoteApplicationExpandCmdLine; /* remoteapplicationexpandcmdline */
|
||||
DWORD RemoteApplicationExpandWorkingDir; /* remoteapplicationexpandworkingdir */
|
||||
DWORD DisableConnectionSharing; /* disableconnectionsharing */
|
||||
DWORD DisableRemoteAppCapsCheck; /* disableremoteappcapscheck */
|
||||
|
||||
LPSTR AlternateShell; /* alternate shell */
|
||||
LPSTR ShellWorkingDirectory; /* shell working directory */
|
||||
|
||||
LPSTR GatewayHostname; /* gatewayhostname */
|
||||
LPSTR GatewayUsageMethod; /* gatewayusagemethod */
|
||||
LPSTR GatewayProfileUsageMethod; /* gatewayprofileusagemethod */
|
||||
LPSTR GatewayCredentialsSource; /* gatewaycredentialssource */
|
||||
|
||||
DWORD UseRedirectionServerName; /* use redirection server name */
|
||||
|
||||
DWORD RdgIsKdcProxy; /* rdgiskdcproxy */
|
||||
DWORD KdcProxyName; /* kdcproxyname */
|
||||
|
||||
LPSTR DrivesToRedirect; /* drivestoredirect */
|
||||
LPSTR DevicesToRedirect; /* devicestoredirect */
|
||||
LPSTR WinPosStr; /* winposstr */
|
||||
};
|
||||
|
||||
typedef struct rdp_file rdpFile;
|
||||
|
||||
#endif /* FREERDP_CLIENT_RDP_FILE */
|
|
@ -237,6 +237,9 @@ typedef CLRCONV* HCLRCONV;
|
|||
|
||||
typedef BYTE* (*p_freerdp_image_convert)(BYTE* srcData, BYTE* dstData, int width, int height, int srcBpp, int dstBpp, HCLRCONV clrconv);
|
||||
|
||||
FREERDP_API int freerdp_get_pixel(BYTE* data, int x, int y, int width, int height, int bpp);
|
||||
FREERDP_API void freerdp_set_pixel(BYTE* data, int x, int y, int width, int height, int bpp, int pixel);
|
||||
|
||||
FREERDP_API BYTE* freerdp_image_convert(BYTE* srcData, BYTE *dstData, int width, int height, int srcBpp, int dstBpp, HCLRCONV clrconv);
|
||||
FREERDP_API BYTE* freerdp_glyph_convert(int width, int height, BYTE* data);
|
||||
FREERDP_API void freerdp_bitmap_flip(BYTE * src, BYTE * dst, int scanLineSz, int height);
|
||||
|
|
|
@ -22,49 +22,49 @@
|
|||
|
||||
#include <freerdp/types.h>
|
||||
|
||||
#define GLYPH_FRAGMENT_NOP 0x00
|
||||
#define GLYPH_FRAGMENT_USE 0xFE
|
||||
#define GLYPH_FRAGMENT_ADD 0xFF
|
||||
#define GLYPH_FRAGMENT_NOP 0x00
|
||||
#define GLYPH_FRAGMENT_USE 0xFE
|
||||
#define GLYPH_FRAGMENT_ADD 0xFF
|
||||
|
||||
#define CBR2_HEIGHT_SAME_AS_WIDTH 0x01
|
||||
#define CBR2_PERSISTENT_KEY_PRESENT 0x02
|
||||
#define CBR2_NO_BITMAP_COMPRESSION_HDR 0x08
|
||||
#define CBR2_DO_NOT_CACHE 0x10
|
||||
#define CBR2_HEIGHT_SAME_AS_WIDTH 0x01
|
||||
#define CBR2_PERSISTENT_KEY_PRESENT 0x02
|
||||
#define CBR2_NO_BITMAP_COMPRESSION_HDR 0x08
|
||||
#define CBR2_DO_NOT_CACHE 0x10
|
||||
|
||||
#define SCREEN_BITMAP_SURFACE 0xFFFF
|
||||
#define BITMAP_CACHE_WAITING_LIST_INDEX 0x7FFF
|
||||
#define SCREEN_BITMAP_SURFACE 0xFFFF
|
||||
#define BITMAP_CACHE_WAITING_LIST_INDEX 0x7FFF
|
||||
|
||||
#define CACHED_BRUSH 0x80
|
||||
#define CACHED_BRUSH 0x80
|
||||
|
||||
#define BMF_1BPP 0x1
|
||||
#define BMF_8BPP 0x3
|
||||
#define BMF_16BPP 0x4
|
||||
#define BMF_24BPP 0x5
|
||||
#define BMF_32BPP 0x6
|
||||
#define BMF_1BPP 0x1
|
||||
#define BMF_8BPP 0x3
|
||||
#define BMF_16BPP 0x4
|
||||
#define BMF_24BPP 0x5
|
||||
#define BMF_32BPP 0x6
|
||||
|
||||
#ifndef _WIN32
|
||||
#define BS_SOLID 0x00
|
||||
#define BS_NULL 0x01
|
||||
#define BS_HATCHED 0x02
|
||||
#define BS_PATTERN 0x03
|
||||
#define BS_SOLID 0x00
|
||||
#define BS_NULL 0x01
|
||||
#define BS_HATCHED 0x02
|
||||
#define BS_PATTERN 0x03
|
||||
#endif
|
||||
|
||||
#ifndef _WIN32
|
||||
#define HS_HORIZONTAL 0x00
|
||||
#define HS_VERTICAL 0x01
|
||||
#define HS_FDIAGONAL 0x02
|
||||
#define HS_BDIAGONAL 0x03
|
||||
#define HS_CROSS 0x04
|
||||
#define HS_DIAGCROSS 0x05
|
||||
#define HS_HORIZONTAL 0x00
|
||||
#define HS_VERTICAL 0x01
|
||||
#define HS_FDIAGONAL 0x02
|
||||
#define HS_BDIAGONAL 0x03
|
||||
#define HS_CROSS 0x04
|
||||
#define HS_DIAGCROSS 0x05
|
||||
#endif
|
||||
|
||||
#define SO_FLAG_DEFAULT_PLACEMENT 0x01
|
||||
#define SO_HORIZONTAL 0x02
|
||||
#define SO_VERTICAL 0x04
|
||||
#define SO_REVERSED 0x08
|
||||
#define SO_ZERO_BEARINGS 0x10
|
||||
#define SO_CHAR_INC_EQUAL_BM_BASE 0x20
|
||||
#define SO_MAXEXT_EQUAL_BM_SIDE 0x40
|
||||
#define SO_FLAG_DEFAULT_PLACEMENT 0x01
|
||||
#define SO_HORIZONTAL 0x02
|
||||
#define SO_VERTICAL 0x04
|
||||
#define SO_REVERSED 0x08
|
||||
#define SO_ZERO_BEARINGS 0x10
|
||||
#define SO_CHAR_INC_EQUAL_BM_BASE 0x20
|
||||
#define SO_MAXEXT_EQUAL_BM_SIDE 0x40
|
||||
|
||||
struct _CACHE_BITMAP_ORDER
|
||||
{
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
/**
|
||||
* FreeRDP: A Remote Desktop Protocol Implementation
|
||||
* Server Channels
|
||||
*
|
||||
* Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
||||
*
|
||||
* 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 FREERDP_CHANNELS_SERVER
|
||||
#define FREERDP_CHANNELS_SERVER
|
||||
|
||||
#include <freerdp/api.h>
|
||||
|
||||
FREERDP_API void* freerdp_channels_server_find_static_entry(const char* name, const char* entry);
|
||||
|
||||
#endif /* FREERDP_CHANNELS_SERVER */
|
||||
|
|
@ -436,7 +436,8 @@ struct rdp_settings
|
|||
ALIGN64 BOOL persistent_bitmap_cache; /* 330 */
|
||||
ALIGN64 UINT32 bitmapCacheV2NumCells; /* 331 */
|
||||
ALIGN64 BITMAP_CACHE_V2_CELL_INFO* bitmapCacheV2CellInfo; /* 332 */
|
||||
UINT64 paddingQ[344 - 333]; /* 333 */
|
||||
ALIGN64 BOOL allow_cache_waiting_list; /* 333 */
|
||||
UINT64 paddingQ[344 - 334]; /* 334 */
|
||||
|
||||
/* Offscreen Bitmap Cache */
|
||||
ALIGN64 BOOL offscreen_bitmap_cache; /* 344 */
|
||||
|
@ -445,7 +446,7 @@ struct rdp_settings
|
|||
UINT64 paddingR[352 - 347]; /* 347 */
|
||||
|
||||
/* Glyph Cache */
|
||||
ALIGN64 BOOL glyph_cache; /* 352 */
|
||||
ALIGN64 void* unused352; /* 352 */
|
||||
ALIGN64 UINT32 glyphSupportLevel; /* 353 */
|
||||
ALIGN64 GLYPH_CACHE_DEFINITION* glyphCache; /* 354 */
|
||||
ALIGN64 GLYPH_CACHE_DEFINITION* fragCache; /* 355 */
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue