Bug 619142 – Build fixes

- Fix various #include issues

 - Change #error to #warning for the EXTERNAL authentication mechanism.
   It is not clear if this should work on Win32 at all.

 - Call close() before unlink() for the SHA1 keyring

 - Change #error to #warning so we don't forget to do
   permission checking of the .dbus-keyrings directory

 - Use Win32 SID for the SHA1 auth mech

 - Apparently we can't use word 'interface' as an identifier

 - Implement a _g_dbus_win32_get_user_sid() function. For now it's
   private. Don't know if it should be public somewhere. Maybe in
   a future GCredentials support for Win32? I don't know.

 - GFileDescriptorBased is not available on Win32. So avoid using
   it in GLocalFile stuff. Now, Win32 still uses GLocalFile + friends
   (which works with file descriptors) so expose a private function
   to get the fd for an OutputStream so things still work.

 - Fixup gio.symbols

 - Fixup tests/gdbus-peer.c so it builds

With this, at least things compile and the gdbus-peer.exe test case
passes. Which is a great start. I've tested this by cross-compiling on
a x86_64 Fedora 13 host using mingw32 and running the code on a 32-bit
Windows 7 box.

https://bugzilla.gnome.org/show_bug.cgi?id=619142

Signed-off-by: David Zeuthen <davidz@redhat.com>
This commit is contained in:
David Zeuthen
2010-05-20 10:51:00 -04:00
parent 152448cb29
commit 366b3ffcde
17 changed files with 214 additions and 52 deletions

View File

@@ -134,7 +134,7 @@ g_dbus_message_new (void)
* g_dbus_message_new_method_call:
* @name: A valid D-Bus name or %NULL.
* @path: A valid object path.
* @interface: A valid D-Bus interface name or %NULL.
* @interface_: A valid D-Bus interface name or %NULL.
* @method: A valid method name.
*
* Creates a new #GDBusMessage for a method call.
@@ -146,7 +146,7 @@ g_dbus_message_new (void)
GDBusMessage *
g_dbus_message_new_method_call (const gchar *name,
const gchar *path,
const gchar *interface,
const gchar *interface_,
const gchar *method)
{
GDBusMessage *message;
@@ -154,7 +154,7 @@ g_dbus_message_new_method_call (const gchar *name,
g_return_val_if_fail (name == NULL || g_dbus_is_name (name), NULL);
g_return_val_if_fail (g_variant_is_object_path (path), NULL);
g_return_val_if_fail (g_dbus_is_member_name (method), NULL);
g_return_val_if_fail (interface == NULL || g_dbus_is_interface_name (interface), NULL);
g_return_val_if_fail (interface_ == NULL || g_dbus_is_interface_name (interface_), NULL);
message = g_dbus_message_new ();
message->priv->type = G_DBUS_MESSAGE_TYPE_METHOD_CALL;
@@ -163,8 +163,8 @@ g_dbus_message_new_method_call (const gchar *name,
g_dbus_message_set_destination (message, name);
g_dbus_message_set_path (message, path);
g_dbus_message_set_member (message, method);
if (interface != NULL)
g_dbus_message_set_interface (message, interface);
if (interface_ != NULL)
g_dbus_message_set_interface (message, interface_);
return message;
}
@@ -172,7 +172,7 @@ g_dbus_message_new_method_call (const gchar *name,
/**
* g_dbus_message_new_signal:
* @path: A valid object path.
* @interface: A valid D-Bus interface name or %NULL.
* @interface_: A valid D-Bus interface name or %NULL.
* @signal: A valid signal name.
*
* Creates a new #GDBusMessage for a signal emission.
@@ -183,14 +183,14 @@ g_dbus_message_new_method_call (const gchar *name,
*/
GDBusMessage *
g_dbus_message_new_signal (const gchar *path,
const gchar *interface,
const gchar *interface_,
const gchar *signal)
{
GDBusMessage *message;
g_return_val_if_fail (g_variant_is_object_path (path), NULL);
g_return_val_if_fail (g_dbus_is_member_name (signal), NULL);
g_return_val_if_fail (interface == NULL || g_dbus_is_interface_name (interface), NULL);
g_return_val_if_fail (interface_ == NULL || g_dbus_is_interface_name (interface_), NULL);
message = g_dbus_message_new ();
message->priv->type = G_DBUS_MESSAGE_TYPE_SIGNAL;
@@ -199,8 +199,8 @@ g_dbus_message_new_signal (const gchar *path,
g_dbus_message_set_path (message, path);
g_dbus_message_set_member (message, signal);
if (interface != NULL)
g_dbus_message_set_interface (message, interface);
if (interface_ != NULL)
g_dbus_message_set_interface (message, interface_);
return message;
}