summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--cmake/dbus/CMakeLists.txt5
-rw-r--r--dbus/dbus-server-win.c64
-rw-r--r--dbus/dbus-server-win.h36
-rw-r--r--dbus/dbus-server.c2
5 files changed, 113 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 3979984d..9b105e99 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2007-05-25 Ralf Habacker <ralf.habacker@freenet.de>
+ * 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 <ralf.habacker@freenet.de>
+
* 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 68ec4f05..1e59133f 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 00000000..95240b98
--- /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 <ralf.habacker@freenet.de>
+ *
+ * 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 00000000..8ab16c56
--- /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 <ralf.habacker@freenet.de>
+ *
+ * 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 <dbus/dbus-internals.h>
+#include <dbus/dbus-server-protected.h>
+
+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 ae2f767f..9fc5cace 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