summaryrefslogtreecommitdiffstats
path: root/channels/server
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--channels/server/CMakeLists.txt43
-rw-r--r--channels/server/channels.c172
-rw-r--r--channels/server/channels.h24
3 files changed, 239 insertions, 0 deletions
diff --git a/channels/server/CMakeLists.txt b/channels/server/CMakeLists.txt
new file mode 100644
index 0000000..1f49c3b
--- /dev/null
+++ b/channels/server/CMakeLists.txt
@@ -0,0 +1,43 @@
+# FreeRDP: A Remote Desktop Protocol Implementation
+# FreeRDP cmake build script
+#
+# 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-channels-server")
+set(MODULE_PREFIX "FREERDP_CHANNELS_SERVER")
+
+set(${MODULE_PREFIX}_SRCS
+ ${CMAKE_CURRENT_SOURCE_DIR}/channels.c
+ ${CMAKE_CURRENT_SOURCE_DIR}/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})
+endforeach()
+
+add_library(${MODULE_NAME} STATIC ${${MODULE_PREFIX}_SRCS})
+
+if (WITH_LIBRARY_VERSIONING)
+ set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION} SOVERSION ${FREERDP_API_VERSION})
+endif()
+
+
+set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} winpr freerdp)
+
+set(${MODULE_PREFIX}_SRCS ${${MODULE_PREFIX}_SRCS} PARENT_SCOPE)
+set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} PARENT_SCOPE)
+
+set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Server/Common")
diff --git a/channels/server/channels.c b/channels/server/channels.c
new file mode 100644
index 0000000..35a85e8
--- /dev/null
+++ b/channels/server/channels.c
@@ -0,0 +1,172 @@
+/**
+ * FreeRDP: A Remote Desktop Protocol Implementation
+ * 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.
+ * 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.
+ */
+
+#include <freerdp/config.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <freerdp/constants.h>
+#include <freerdp/server/channels.h>
+
+#include <winpr/crt.h>
+#include <winpr/synch.h>
+#include <winpr/stream.h>
+
+#include "channels.h"
+
+/**
+ * this is a workaround to force importing symbols
+ * will need to fix that later on cleanly
+ */
+
+#if defined(CHANNEL_AUDIN_SERVER)
+#include <freerdp/server/audin.h>
+#endif
+#include <freerdp/server/rdpsnd.h>
+#include <freerdp/server/cliprdr.h>
+#include <freerdp/server/echo.h>
+#include <freerdp/server/rdpdr.h>
+#include <freerdp/server/rdpei.h>
+#include <freerdp/server/drdynvc.h>
+#include <freerdp/server/remdesk.h>
+#include <freerdp/server/encomsp.h>
+#include <freerdp/server/rail.h>
+#include <freerdp/server/telemetry.h>
+#include <freerdp/server/rdpgfx.h>
+#include <freerdp/server/disp.h>
+
+#if defined(CHANNEL_RDPEMSC_SERVER)
+#include <freerdp/server/rdpemsc.h>
+#endif /* CHANNEL_RDPEMSC_SERVER */
+
+#if defined(CHANNEL_RDPECAM_SERVER)
+#include <freerdp/server/rdpecam-enumerator.h>
+#include <freerdp/server/rdpecam.h>
+#endif
+
+#if defined(CHANNEL_LOCATION_SERVER)
+#include <freerdp/server/location.h>
+#endif /* CHANNEL_LOCATION_SERVER */
+
+#ifdef WITH_CHANNEL_GFXREDIR
+#include <freerdp/server/gfxredir.h>
+#endif /* WITH_CHANNEL_GFXREDIR */
+
+#if defined(CHANNEL_AINPUT_SERVER)
+#include <freerdp/server/ainput.h>
+#endif
+
+extern void freerdp_channels_dummy(void);
+
+void freerdp_channels_dummy(void)
+{
+#if defined(CHANNEL_AUDIN_SERVER)
+ audin_server_context* audin = NULL;
+#endif
+ RdpsndServerContext* rdpsnd = NULL;
+ CliprdrServerContext* cliprdr = NULL;
+ echo_server_context* echo = NULL;
+ RdpdrServerContext* rdpdr = NULL;
+ DrdynvcServerContext* drdynvc = NULL;
+ RdpeiServerContext* rdpei = NULL;
+ RemdeskServerContext* remdesk = NULL;
+ EncomspServerContext* encomsp = NULL;
+ RailServerContext* rail = NULL;
+ TelemetryServerContext* telemetry = NULL;
+ RdpgfxServerContext* rdpgfx = NULL;
+ DispServerContext* disp = NULL;
+#if defined(CHANNEL_RDPEMSC_SERVER)
+ MouseCursorServerContext* mouse_cursor = NULL;
+#endif /* CHANNEL_RDPEMSC_SERVER */
+#if defined(CHANNEL_RDPECAM_SERVER)
+ CamDevEnumServerContext* camera_enumerator = NULL;
+ CameraDeviceServerContext* camera_device = NULL;
+#endif
+#if defined(CHANNEL_LOCATION_SERVER)
+ LocationServerContext* location = NULL;
+#endif /* CHANNEL_LOCATION_SERVER */
+#ifdef WITH_CHANNEL_GFXREDIR
+ GfxRedirServerContext* gfxredir;
+#endif // WITH_CHANNEL_GFXREDIR
+#if defined(CHANNEL_AUDIN_SERVER)
+ audin = audin_server_context_new(NULL);
+#endif
+#if defined(CHANNEL_AUDIN_SERVER)
+ audin_server_context_free(audin);
+#endif
+ rdpsnd = rdpsnd_server_context_new(NULL);
+ rdpsnd_server_context_free(rdpsnd);
+ cliprdr = cliprdr_server_context_new(NULL);
+ cliprdr_server_context_free(cliprdr);
+ echo = echo_server_context_new(NULL);
+ echo_server_context_free(echo);
+ rdpdr = rdpdr_server_context_new(NULL);
+ rdpdr_server_context_free(rdpdr);
+ drdynvc = drdynvc_server_context_new(NULL);
+ drdynvc_server_context_free(drdynvc);
+ rdpei = rdpei_server_context_new(NULL);
+ rdpei_server_context_free(rdpei);
+ remdesk = remdesk_server_context_new(NULL);
+ remdesk_server_context_free(remdesk);
+ encomsp = encomsp_server_context_new(NULL);
+ encomsp_server_context_free(encomsp);
+ rail = rail_server_context_new(NULL);
+ rail_server_context_free(rail);
+ telemetry = telemetry_server_context_new(NULL);
+ telemetry_server_context_free(telemetry);
+ rdpgfx = rdpgfx_server_context_new(NULL);
+ rdpgfx_server_context_free(rdpgfx);
+ disp = disp_server_context_new(NULL);
+ disp_server_context_free(disp);
+
+#if defined(CHANNEL_RDPEMSC_SERVER)
+ mouse_cursor = mouse_cursor_server_context_new(NULL);
+ mouse_cursor_server_context_free(mouse_cursor);
+#endif /* CHANNEL_RDPEMSC_SERVER */
+
+#if defined(CHANNEL_RDPECAM_SERVER)
+ camera_enumerator = cam_dev_enum_server_context_new(NULL);
+ cam_dev_enum_server_context_free(camera_enumerator);
+ camera_device = camera_device_server_context_new(NULL);
+ camera_device_server_context_free(camera_device);
+#endif
+
+#if defined(CHANNEL_LOCATION_SERVER)
+ location = location_server_context_new(NULL);
+ location_server_context_free(location);
+#endif /* CHANNEL_LOCATION_SERVER */
+
+#ifdef WITH_CHANNEL_GFXREDIR
+ gfxredir = gfxredir_server_context_new(NULL);
+ gfxredir_server_context_free(gfxredir);
+#endif // WITH_CHANNEL_GFXREDIR
+#if defined(CHANNEL_AINPUT_SERVER)
+ {
+ ainput_server_context* ainput = ainput_server_context_new(NULL);
+ ainput_server_context_free(ainput);
+ }
+#endif
+}
+
+/**
+ * end of ugly symbols import workaround
+ */
diff --git a/channels/server/channels.h b/channels/server/channels.h
new file mode 100644
index 0000000..a6c4791
--- /dev/null
+++ b/channels/server/channels.h
@@ -0,0 +1,24 @@
+/**
+ * FreeRDP: A Remote Desktop Protocol Implementation
+ * 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.
+ * 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_CHANNEL_SERVER_CHANNELS_H
+#define FREERDP_CHANNEL_SERVER_CHANNELS_H
+
+#endif /* FREERDP_CHANNEL_SERVER_CHANNELS_H */