From 783e066ce311bc293272099934ce957a7b735566 Mon Sep 17 00:00:00 2001 From: Ralf Habacker Date: Thu, 24 May 2007 19:15:26 +0000 Subject: [PATCH] * dbus/dbus-server-win.c,dbus/dbus-server-win.h: new file with empty function _dbus_server_listen_platform_specific(). * dbus/dbus-server.c (listen_funcs): uses _dbus_server_listen_platform_specific() on win platform too. --- ChangeLog | 8 ++++++ cmake/dbus/CMakeLists.txt | 5 ++++ dbus/dbus-server-win.c | 64 +++++++++++++++++++++++++++++++++++++++++++++++ dbus/dbus-server-win.h | 36 ++++++++++++++++++++++++++ dbus/dbus-server.c | 2 -- 5 files changed, 113 insertions(+), 2 deletions(-) create mode 100644 dbus/dbus-server-win.c create mode 100644 dbus/dbus-server-win.h diff --git a/ChangeLog b/ChangeLog index 3979984..9b105e9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,13 @@ 2007-05-25 Ralf Habacker + * dbus/dbus-server-win.c,dbus/dbus-server-win.h: new file + with empty function _dbus_server_listen_platform_specific(). + + * dbus/dbus-server.c (listen_funcs): uses + _dbus_server_listen_platform_specific on any platform. + +2007-05-25 Ralf Habacker + * dbus/dbus-sysdeps-win.c (fill_win_user_info_homedir): not getting user info from a domain controller isn't an error, the computer may run in a non domain context. diff --git a/cmake/dbus/CMakeLists.txt b/cmake/dbus/CMakeLists.txt index 68ec4f0..1e59133 100644 --- a/cmake/dbus/CMakeLists.txt +++ b/cmake/dbus/CMakeLists.txt @@ -68,6 +68,11 @@ if(UNIX) ${DBUS_DIR}/dbus-transport-unix.c ${DBUS_DIR}/dbus-server-unix.c ) +else(UNIX) + set (DBUS_LIB_SOURCES ${DBUS_LIB_SOURCES} +# ${DBUS_DIR}/dbus-transport-win.c + ${DBUS_DIR}/dbus-server-win.c + ) endif(UNIX) set (DBUS_LIB_HEADERS diff --git a/dbus/dbus-server-win.c b/dbus/dbus-server-win.c new file mode 100644 index 0000000..95240b9 --- /dev/null +++ b/dbus/dbus-server-win.c @@ -0,0 +1,64 @@ +/* -*- mode: C; c-file-style: "gnu" -*- */ +/* dbus-server-win.c Server implementation for WIN network protocols. + * + * Copyright (C) 2002, 2003, 2004 Red Hat Inc. + * Copyright (C) 2007 Ralf Habacker + * + * Licensed under the Academic Free License version 2.1 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ + +#include "dbus-internals.h" +#include "dbus-server-win.h" +#include "dbus-server-socket.h" +#include "dbus-connection-internal.h" +#include "dbus-sysdeps-win.h" + +/** + * @defgroup DBusServerWin DBusServer implementations for Windows + * @ingroup DBusInternals + * @brief Implementation details of DBusServer on Windows + * + * @{ + */ + +/** + * Tries to interpret the address entry in a platform-specific + * way, creating a platform-specific server type if appropriate. + * Sets error if the result is not OK. + * + * @param entry an address entry + * @param server_p location to store a new DBusServer, or #NULL on failure. + * @param error location to store rationale for failure on bad address + * @returns the outcome + * + */ +DBusServerListenResult +_dbus_server_listen_platform_specific (DBusAddressEntry *entry, + DBusServer **server_p, + DBusError *error) +{ + /* don't handle any method yet, return NULL with the error unset, + ** for a sample implementation see dbus-server-unix.c + */ + *server_p = NULL; + _DBUS_ASSERT_ERROR_IS_CLEAR(error); + return DBUS_SERVER_LISTEN_NOT_HANDLED; +} + +/** @} */ + diff --git a/dbus/dbus-server-win.h b/dbus/dbus-server-win.h new file mode 100644 index 0000000..8ab16c5 --- /dev/null +++ b/dbus/dbus-server-win.h @@ -0,0 +1,36 @@ +/* -*- mode: C; c-file-style: "gnu" -*- */ +/* dbus-server-win.h Server implementation for windows network protocols. + * + * Copyright (C) 2002 Red Hat Inc. + * Copyright (C) 2007 Ralf Habacker + * + * Licensed under the Academic Free License version 2.1 + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ +#ifndef DBUS_SERVER_WIN_H +#define DBUS_SERVER_WIN_H + +#include +#include + +DBUS_BEGIN_DECLS + +/* add definitions here */ + +DBUS_END_DECLS + +#endif /* DBUS_SERVER_WIN_H */ diff --git a/dbus/dbus-server.c b/dbus/dbus-server.c index ae2f767..9fc5cac 100644 --- a/dbus/dbus-server.c +++ b/dbus/dbus-server.c @@ -510,9 +510,7 @@ static const struct { DBusError *error); } listen_funcs[] = { { _dbus_server_listen_socket } -#ifdef DBUS_UNIX , { _dbus_server_listen_platform_specific } -#endif #ifdef DBUS_BUILD_TESTS , { _dbus_server_listen_debug_pipe } #endif -- 2.7.4