soc.2009.penguin.visualstudio: df6b96f9: Latest build of the generator... getting...
wade at soc.pidgin.im
wade at soc.pidgin.im
Sun Jul 5 20:35:38 EDT 2009
-----------------------------------------------------------------
Revision: df6b96f9b22b2b1246ad5fb90ce16161fd6a246e
Ancestor: 1bb16d5b8cb6dd66fb84a1ef592124eccf83ec49
Author: wade at soc.pidgin.im
Date: 2009-07-06T00:30:54
Branch: im.pidgin.soc.2009.penguin.visualstudio
URL: http://d.pidgin.im/viewmtn/revision/info/df6b96f9b22b2b1246ad5fb90ce16161fd6a246e
Added files:
libpurple/wrapper/PurpleCircBuffer.cs
libpurple/wrapper/PurpleSoundUiOps.cs
libpurple/wrapper/PurpleWhiteboardPrplOps.cs
libpurple/wrapper/PurpleWhiteboardUiOps.cs
libpurple/wrapper/PurpleWrapper.csproj
libpurple/wrapper/UnmanagedWrapper.cs
libpurple/wrapper/XMLNodeClass.cs
libpurple/wrapper/generator/CNamed.cs
libpurple/wrapper/generator/Logger.cs
libpurple/wrapper/generator/Scripts.csproj
libpurple/wrapper/generator/UnableToCreateWrapperException.cs
Modified files:
libpurple/wrapper/Account.cs libpurple/wrapper/Accountopt.cs
libpurple/wrapper/Blist.cs libpurple/wrapper/Buddyicon.cs
libpurple/wrapper/Certificate.cs libpurple/wrapper/Cipher.cs
libpurple/wrapper/Circbuffer.cs libpurple/wrapper/Cmds.cs
libpurple/wrapper/Config.cs libpurple/wrapper/Connection.cs
libpurple/wrapper/Conversation.cs libpurple/wrapper/Core.cs
libpurple/wrapper/Debug.cs libpurple/wrapper/Desktopitem.cs
libpurple/wrapper/Dnsquery.cs libpurple/wrapper/Dnssrv.cs
libpurple/wrapper/Eventloop.cs libpurple/wrapper/Ft.cs
libpurple/wrapper/Idle.cs libpurple/wrapper/Imgstore.cs
libpurple/wrapper/Log.cs libpurple/wrapper/Media.cs
libpurple/wrapper/Mediamanager.cs libpurple/wrapper/Mime.cs
libpurple/wrapper/NatPmp.cs libpurple/wrapper/Network.cs
libpurple/wrapper/Notify.cs libpurple/wrapper/Ntlm.cs
libpurple/wrapper/Plugin.cs libpurple/wrapper/Pluginpref.cs
libpurple/wrapper/Pounce.cs libpurple/wrapper/Prefs.cs
libpurple/wrapper/Privacy.cs libpurple/wrapper/Proxy.cs
libpurple/wrapper/Prpl.cs libpurple/wrapper/PurpleAccount.cs
libpurple/wrapper/PurpleAccountUiOps.cs
libpurple/wrapper/PurpleAttentionType.cs
libpurple/wrapper/PurpleBlistNode.cs
libpurple/wrapper/PurpleBlistUiOps.cs
libpurple/wrapper/PurpleBuddy.cs
libpurple/wrapper/PurpleBuddyIconSpec.cs
libpurple/wrapper/PurpleBuddyList.cs
libpurple/wrapper/PurpleCertificate.cs
libpurple/wrapper/PurpleCertificatePool.cs
libpurple/wrapper/PurpleCertificateScheme.cs
libpurple/wrapper/PurpleCertificateVerificationRequest.cs
libpurple/wrapper/PurpleCertificateVerifier.cs
libpurple/wrapper/PurpleChat.cs
libpurple/wrapper/PurpleCipherOps.cs
libpurple/wrapper/PurpleClient.cs
libpurple/wrapper/PurpleConnection.cs
libpurple/wrapper/PurpleContact.cs
libpurple/wrapper/PurpleConvChat.cs
libpurple/wrapper/PurpleConvChatBuddy.cs
libpurple/wrapper/PurpleConvIm.cs
libpurple/wrapper/PurpleConvMessage.cs
libpurple/wrapper/PurpleConversation.cs
libpurple/wrapper/PurpleConversationUiOps.cs
libpurple/wrapper/PurpleEventLoopUiOps.cs
libpurple/wrapper/PurpleGroup.cs
libpurple/wrapper/PurpleKeyValuePair.cs
libpurple/wrapper/PurpleLog.cs
libpurple/wrapper/PurpleLogCommonLoggerData.cs
libpurple/wrapper/PurpleLogLogger.cs
libpurple/wrapper/PurpleLogSet.cs
libpurple/wrapper/PurpleMenuAction.cs
libpurple/wrapper/PurplePlugin.cs
libpurple/wrapper/PurplePluginAction.cs
libpurple/wrapper/PurplePluginInfo.cs
libpurple/wrapper/PurplePluginLoaderInfo.cs
libpurple/wrapper/PurplePluginProtocolInfo.cs
libpurple/wrapper/PurplePluginUiInfo.cs
libpurple/wrapper/PurplePounce.cs
libpurple/wrapper/PurpleRequestField.cs
libpurple/wrapper/PurpleRoomlist.cs
libpurple/wrapper/PurpleRoomlistField.cs
libpurple/wrapper/PurpleRoomlistRoom.cs
libpurple/wrapper/PurpleRoomlistUiOps.cs
libpurple/wrapper/PurpleSoundTheme.cs
libpurple/wrapper/PurpleSoundThemeClass.cs
libpurple/wrapper/PurpleSoundThemeLoader.cs
libpurple/wrapper/PurpleSoundThemeLoaderClass.cs
libpurple/wrapper/PurpleSrvResponse.cs
libpurple/wrapper/PurpleSslConnection.cs
libpurple/wrapper/PurpleStunNatDiscovery.cs
libpurple/wrapper/PurpleTheme.cs
libpurple/wrapper/PurpleThemeClass.cs
libpurple/wrapper/PurpleThemeLoader.cs
libpurple/wrapper/PurpleThemeLoaderClass.cs
libpurple/wrapper/PurpleThemeManager.cs
libpurple/wrapper/PurpleThemeManagerClass.cs
libpurple/wrapper/PurpleWhiteboard.cs
libpurple/wrapper/PurpleXfer.cs libpurple/wrapper/Request.cs
libpurple/wrapper/Roomlist.cs
libpurple/wrapper/Savedstatuses.cs
libpurple/wrapper/Server.cs libpurple/wrapper/Signals.cs
libpurple/wrapper/Smiley.cs libpurple/wrapper/Sound.cs
libpurple/wrapper/SoundTheme.cs
libpurple/wrapper/SoundThemeLoader.cs
libpurple/wrapper/Sslconn.cs libpurple/wrapper/Status.cs
libpurple/wrapper/Stringref.cs libpurple/wrapper/Stun.cs
libpurple/wrapper/Theme.cs libpurple/wrapper/ThemeLoader.cs
libpurple/wrapper/ThemeManager.cs libpurple/wrapper/Upnp.cs
libpurple/wrapper/Util.cs libpurple/wrapper/Value.cs
libpurple/wrapper/Version.cs libpurple/wrapper/Whiteboard.cs
libpurple/wrapper/generator/CArgument.cs
libpurple/wrapper/generator/CEnum.cs
libpurple/wrapper/generator/CFile.cs
libpurple/wrapper/generator/CFunction.cs
libpurple/wrapper/generator/CStruct.cs
libpurple/wrapper/generator/CTyped.cs
libpurple/wrapper/generator/Program.cs
libpurple/wrapper/generator/WrapperGenerator.cs
libpurple/wrapper/proto_chat_entry.cs
libpurple/wrapper/xmlnode.cs
ChangeLog:
Latest build of the generator... getting closer to being a complete compiled wrapper (yay)!
-------------- next part --------------
============================================================
--- libpurple/wrapper/PurpleCircBuffer.cs 8c6b470cfb8c8de494759a2d443cf308c32ff9a8
+++ libpurple/wrapper/PurpleCircBuffer.cs 8c6b470cfb8c8de494759a2d443cf308c32ff9a8
@@ -0,0 +1,182 @@
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
+ *
+ * Purple is the legal property of its developers, whose names are too numerous
+ * to list here. Please refer to the COPYRIGHT file distributed with this
+ * source distribution.
+ *
+ * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
+ */
+
+/*
+ * This file was auto-generated from the libpurple header files to provide a
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
+ *
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
+ */
+
+using System;
+using System.Collections.Generic;
+using System.Runtime.InteropServices;
+
+namespace PurpleWrapper
+{
+ public class PurpleCircBuffer : UnmanagedWrapper<_PurpleCircBuffer>
+ {
+ public PurpleCircBuffer()
+ {
+ }
+
+ public PurpleCircBuffer(IntPtr refernece)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleCircBuffer)Marshal.PtrToStructure(this.Reference, typeof(_PurpleCircBuffer));
+ }
+
+ public string buffer
+ {
+ get
+ {
+ return this.Data.buffer;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.buffer = value;
+ }
+ }
+
+ public ulong growsize
+ {
+ get
+ {
+ return this.Data.growsize;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.growsize = value;
+ }
+ }
+
+ public ulong buflen
+ {
+ get
+ {
+ return this.Data.buflen;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.buflen = value;
+ }
+ }
+
+ public ulong bufused
+ {
+ get
+ {
+ return this.Data.bufused;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.bufused = value;
+ }
+ }
+
+ public string inptr
+ {
+ get
+ {
+ return this.Data.inptr;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.inptr = value;
+ }
+ }
+
+ public string outptr
+ {
+ get
+ {
+ return this.Data.outptr;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.outptr = value;
+ }
+ }
+
+ }
+
+
+ [StructLayout(LayoutKind.Sequential)]
+ class _PurpleCircBuffer
+ {
+ /*
+ * gchar * buffer
+ */
+ string buffer;
+
+ /*
+ * gsize growsize
+ */
+ ulong growsize;
+
+ /*
+ * gsize buflen
+ */
+ ulong buflen;
+
+ /*
+ * gsize bufused
+ */
+ ulong bufused;
+
+ /*
+ * gchar * inptr
+ */
+ string inptr;
+
+ /*
+ * gchar * outptr
+ */
+ string outptr;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleSoundUiOps.cs 09dba0e8018c98a51920b59d97946e0c82784a42
+++ libpurple/wrapper/PurpleSoundUiOps.cs 09dba0e8018c98a51920b59d97946e0c82784a42
@@ -0,0 +1,222 @@
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
+ *
+ * Purple is the legal property of its developers, whose names are too numerous
+ * to list here. Please refer to the COPYRIGHT file distributed with this
+ * source distribution.
+ *
+ * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
+ */
+
+/*
+ * This file was auto-generated from the libpurple header files to provide a
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
+ *
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
+ */
+
+using System;
+using System.Collections.Generic;
+using System.Runtime.InteropServices;
+
+namespace PurpleWrapper
+{
+ public class PurpleSoundUiOps : UnmanagedWrapper<_PurpleSoundUiOps>
+ {
+ public PurpleSoundUiOps()
+ {
+ }
+
+ public PurpleSoundUiOps(IntPtr refernece)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleSoundUiOps)Marshal.PtrToStructure(this.Reference, typeof(_PurpleSoundUiOps));
+ }
+
+ public void init
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ public void uninit
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ public void play_file
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ public void play_event
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ public void purple_reserved1
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ public void purple_reserved2
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ public void purple_reserved3
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ public void purple_reserved4
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ }
+
+
+ [StructLayout(LayoutKind.Sequential)]
+ class _PurpleSoundUiOps
+ {
+ /*
+ * void (*init)()
+ */
+ void init;
+
+ /*
+ * void (*uninit)()
+ */
+ void uninit;
+
+ /*
+ * void (*play_file)(char * filename)
+ */
+ void play_file;
+
+ /*
+ * void (*play_event)(PurpleSoundEventID event)
+ */
+ void play_event;
+
+ /*
+ * void (*purple_reserved1)()
+ */
+ void purple_reserved1;
+
+ /*
+ * void (*purple_reserved2)()
+ */
+ void purple_reserved2;
+
+ /*
+ * void (*purple_reserved3)()
+ */
+ void purple_reserved3;
+
+ /*
+ * void (*purple_reserved4)()
+ */
+ void purple_reserved4;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleWhiteboardPrplOps.cs d365c02abfa2a9ad02613b400745eeab25fe461a
+++ libpurple/wrapper/PurpleWhiteboardPrplOps.cs d365c02abfa2a9ad02613b400745eeab25fe461a
@@ -0,0 +1,302 @@
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
+ *
+ * Purple is the legal property of its developers, whose names are too numerous
+ * to list here. Please refer to the COPYRIGHT file distributed with this
+ * source distribution.
+ *
+ * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
+ */
+
+/*
+ * This file was auto-generated from the libpurple header files to provide a
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
+ *
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
+ */
+
+using System;
+using System.Collections.Generic;
+using System.Runtime.InteropServices;
+
+namespace PurpleWrapper
+{
+ public class PurpleWhiteboardPrplOps : UnmanagedWrapper<_PurpleWhiteboardPrplOps>
+ {
+ public PurpleWhiteboardPrplOps()
+ {
+ }
+
+ public PurpleWhiteboardPrplOps(IntPtr refernece)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleWhiteboardPrplOps)Marshal.PtrToStructure(this.Reference, typeof(_PurpleWhiteboardPrplOps));
+ }
+
+ public void start
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ public void end
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ public void get_dimensions
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ public void set_dimensions
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ public void get_brush
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ public void set_brush
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ public void send_draw_list
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ public void clear
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ public void purple_reserved1
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ public void purple_reserved2
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ public void purple_reserved3
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ public void purple_reserved4
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ }
+
+
+ [StructLayout(LayoutKind.Sequential)]
+ class _PurpleWhiteboardPrplOps
+ {
+ /*
+ * void (*start)(PurpleWhiteboard * wb)
+ */
+ void start;
+
+ /*
+ * void (*end)(PurpleWhiteboard * wb)
+ */
+ void end;
+
+ /*
+ * void (*get_dimensions)(PurpleWhiteboard * wb, int * width, int * height)
+ */
+ void get_dimensions;
+
+ /*
+ * void (*set_dimensions)(PurpleWhiteboard * wb, int width, int height)
+ */
+ void set_dimensions;
+
+ /*
+ * void (*get_brush)(PurpleWhiteboard * wb, int * size, int * color)
+ */
+ void get_brush;
+
+ /*
+ * void (*set_brush)(PurpleWhiteboard * wb, int size, int color)
+ */
+ void set_brush;
+
+ /*
+ * void (*send_draw_list)(PurpleWhiteboard * wb, GList * draw_list)
+ */
+ void send_draw_list;
+
+ /*
+ * void (*clear)(PurpleWhiteboard * wb)
+ */
+ void clear;
+
+ /*
+ * void (*purple_reserved1)()
+ */
+ void purple_reserved1;
+
+ /*
+ * void (*purple_reserved2)()
+ */
+ void purple_reserved2;
+
+ /*
+ * void (*purple_reserved3)()
+ */
+ void purple_reserved3;
+
+ /*
+ * void (*purple_reserved4)()
+ */
+ void purple_reserved4;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleWhiteboardUiOps.cs 0db4c273647a9133290c51b0cdebba582f9cc00e
+++ libpurple/wrapper/PurpleWhiteboardUiOps.cs 0db4c273647a9133290c51b0cdebba582f9cc00e
@@ -0,0 +1,282 @@
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
+ *
+ * Purple is the legal property of its developers, whose names are too numerous
+ * to list here. Please refer to the COPYRIGHT file distributed with this
+ * source distribution.
+ *
+ * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
+ */
+
+/*
+ * This file was auto-generated from the libpurple header files to provide a
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
+ *
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
+ */
+
+using System;
+using System.Collections.Generic;
+using System.Runtime.InteropServices;
+
+namespace PurpleWrapper
+{
+ public class PurpleWhiteboardUiOps : UnmanagedWrapper<_PurpleWhiteboardUiOps>
+ {
+ public PurpleWhiteboardUiOps()
+ {
+ }
+
+ public PurpleWhiteboardUiOps(IntPtr refernece)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleWhiteboardUiOps)Marshal.PtrToStructure(this.Reference, typeof(_PurpleWhiteboardUiOps));
+ }
+
+ public void create
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ public void destroy
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ public void set_dimensions
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ public void set_brush
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ public void draw_point
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ public void draw_line
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ public void clear
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ public void purple_reserved1
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ public void purple_reserved2
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ public void purple_reserved3
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ public void purple_reserved4
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ }
+
+
+ [StructLayout(LayoutKind.Sequential)]
+ class _PurpleWhiteboardUiOps
+ {
+ /*
+ * void (*create)(PurpleWhiteboard * wb)
+ */
+ void create;
+
+ /*
+ * void (*destroy)(PurpleWhiteboard * wb)
+ */
+ void destroy;
+
+ /*
+ * void (*set_dimensions)(PurpleWhiteboard * wb, int width, int height)
+ */
+ void set_dimensions;
+
+ /*
+ * void (*set_brush)(PurpleWhiteboard * wb, int size, int color)
+ */
+ void set_brush;
+
+ /*
+ * void (*draw_point)(PurpleWhiteboard * wb, int x, int y, int color, int size)
+ */
+ void draw_point;
+
+ /*
+ * void (*draw_line)(PurpleWhiteboard * wb, int x1, int y1, int x2, int y2, int color, int size)
+ */
+ void draw_line;
+
+ /*
+ * void (*clear)(PurpleWhiteboard * wb)
+ */
+ void clear;
+
+ /*
+ * void (*purple_reserved1)()
+ */
+ void purple_reserved1;
+
+ /*
+ * void (*purple_reserved2)()
+ */
+ void purple_reserved2;
+
+ /*
+ * void (*purple_reserved3)()
+ */
+ void purple_reserved3;
+
+ /*
+ * void (*purple_reserved4)()
+ */
+ void purple_reserved4;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleWrapper.csproj 50ed879bb620d12334a884f2d53574b347c9ce88
+++ libpurple/wrapper/PurpleWrapper.csproj 50ed879bb620d12334a884f2d53574b347c9ce88
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProductVersion>9.0.30729</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{8034DEA9-30CC-DEA0-3903-80210CE809FA}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Scripts</RootNamespace>
+ <AssemblyName>Scripts</AssemblyName>
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Core">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="UnmanagedWrapper.cs" />
+ <Compile Include="Account.cs" />
+ <Compile Include="PurpleAccountUiOps.cs" />
+ <Compile Include="PurpleAccount.cs" />
+ <Compile Include="Accountopt.cs" />
+ <Compile Include="Blist.cs" />
+ <Compile Include="PurpleBlistNode.cs" />
+ <Compile Include="PurpleBuddy.cs" />
+ <Compile Include="PurpleContact.cs" />
+ <Compile Include="PurpleGroup.cs" />
+ <Compile Include="PurpleChat.cs" />
+ <Compile Include="PurpleBuddyList.cs" />
+ <Compile Include="PurpleBlistUiOps.cs" />
+ <Compile Include="Buddyicon.cs" />
+ <Compile Include="Certificate.cs" />
+ <Compile Include="PurpleCertificate.cs" />
+ <Compile Include="PurpleCertificatePool.cs" />
+ <Compile Include="PurpleCertificateScheme.cs" />
+ <Compile Include="PurpleCertificateVerifier.cs" />
+ <Compile Include="PurpleCertificateVerificationRequest.cs" />
+ <Compile Include="Cipher.cs" />
+ <Compile Include="PurpleCipherOps.cs" />
+ <Compile Include="Circbuffer.cs" />
+ <Compile Include="PurpleCircBuffer.cs" />
+ <Compile Include="Cmds.cs" />
+ <Compile Include="Config.cs" />
+ <Compile Include="Connection.cs" />
+ <Compile Include="PurpleConnection.cs" />
+ <Compile Include="Conversation.cs" />
+ <Compile Include="PurpleConversationUiOps.cs" />
+ <Compile Include="PurpleConvIm.cs" />
+ <Compile Include="PurpleConvChat.cs" />
+ <Compile Include="PurpleConvChatBuddy.cs" />
+ <Compile Include="PurpleConvMessage.cs" />
+ <Compile Include="PurpleConversation.cs" />
+ <Compile Include="Core.cs" />
+ <Compile Include="Debug.cs" />
+ <Compile Include="Desktopitem.cs" />
+ <Compile Include="Dnsquery.cs" />
+ <Compile Include="Dnssrv.cs" />
+ <Compile Include="PurpleSrvResponse.cs" />
+ <Compile Include="Eventloop.cs" />
+ <Compile Include="PurpleEventLoopUiOps.cs" />
+ <Compile Include="Ft.cs" />
+ <Compile Include="PurpleXfer.cs" />
+ <Compile Include="Idle.cs" />
+ <Compile Include="Imgstore.cs" />
+ <Compile Include="Log.cs" />
+ <Compile Include="PurpleLogLogger.cs" />
+ <Compile Include="PurpleLog.cs" />
+ <Compile Include="PurpleLogCommonLoggerData.cs" />
+ <Compile Include="PurpleLogSet.cs" />
+ <Compile Include="Media.cs" />
+ <Compile Include="Mediamanager.cs" />
+ <Compile Include="Mime.cs" />
+ <Compile Include="NatPmp.cs" />
+ <Compile Include="Network.cs" />
+ <Compile Include="Notify.cs" />
+ <Compile Include="Ntlm.cs" />
+ <Compile Include="Plugin.cs" />
+ <Compile Include="PurplePluginInfo.cs" />
+ <Compile Include="PurplePluginLoaderInfo.cs" />
+ <Compile Include="PurplePlugin.cs" />
+ <Compile Include="PurplePluginUiInfo.cs" />
+ <Compile Include="PurplePluginAction.cs" />
+ <Compile Include="Pluginpref.cs" />
+ <Compile Include="Pounce.cs" />
+ <Compile Include="PurplePounce.cs" />
+ <Compile Include="Prefs.cs" />
+ <Compile Include="Privacy.cs" />
+ <Compile Include="Proxy.cs" />
+ <Compile Include="Prpl.cs" />
+ <Compile Include="PurpleBuddyIconSpec.cs" />
+ <Compile Include="proto_chat_entry.cs" />
+ <Compile Include="PurpleAttentionType.cs" />
+ <Compile Include="PurplePluginProtocolInfo.cs" />
+ <Compile Include="PurpleClient.cs" />
+ <Compile Include="Request.cs" />
+ <Compile Include="PurpleRequestField.cs" />
+ <Compile Include="Roomlist.cs" />
+ <Compile Include="PurpleRoomlist.cs" />
+ <Compile Include="PurpleRoomlistRoom.cs" />
+ <Compile Include="PurpleRoomlistField.cs" />
+ <Compile Include="PurpleRoomlistUiOps.cs" />
+ <Compile Include="Savedstatuses.cs" />
+ <Compile Include="Server.cs" />
+ <Compile Include="Signals.cs" />
+ <Compile Include="Smiley.cs" />
+ <Compile Include="SoundThemeLoader.cs" />
+ <Compile Include="PurpleSoundThemeLoader.cs" />
+ <Compile Include="PurpleSoundThemeLoaderClass.cs" />
+ <Compile Include="SoundTheme.cs" />
+ <Compile Include="PurpleSoundTheme.cs" />
+ <Compile Include="PurpleSoundThemeClass.cs" />
+ <Compile Include="Sound.cs" />
+ <Compile Include="PurpleSoundUiOps.cs" />
+ <Compile Include="Sslconn.cs" />
+ <Compile Include="PurpleSslConnection.cs" />
+ <Compile Include="Status.cs" />
+ <Compile Include="Stringref.cs" />
+ <Compile Include="Stun.cs" />
+ <Compile Include="PurpleStunNatDiscovery.cs" />
+ <Compile Include="ThemeLoader.cs" />
+ <Compile Include="PurpleThemeLoader.cs" />
+ <Compile Include="PurpleThemeLoaderClass.cs" />
+ <Compile Include="ThemeManager.cs" />
+ <Compile Include="PurpleThemeManager.cs" />
+ <Compile Include="PurpleThemeManagerClass.cs" />
+ <Compile Include="Theme.cs" />
+ <Compile Include="PurpleTheme.cs" />
+ <Compile Include="PurpleThemeClass.cs" />
+ <Compile Include="Upnp.cs" />
+ <Compile Include="Util.cs" />
+ <Compile Include="PurpleMenuAction.cs" />
+ <Compile Include="PurpleKeyValuePair.cs" />
+ <Compile Include="Value.cs" />
+ <Compile Include="Version.cs" />
+ <Compile Include="Whiteboard.cs" />
+ <Compile Include="PurpleWhiteboard.cs" />
+ <Compile Include="PurpleWhiteboardUiOps.cs" />
+ <Compile Include="PurpleWhiteboardPrplOps.cs" />
+ <Compile Include="XMLNodeClass.cs" />
+ <Compile Include="xmlnode.cs" />
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project>
============================================================
--- libpurple/wrapper/UnmanagedWrapper.cs fe31f3258cf986dc7b387bdcf5d5aa3371d050c3
+++ libpurple/wrapper/UnmanagedWrapper.cs fe31f3258cf986dc7b387bdcf5d5aa3371d050c3
@@ -0,0 +1,25 @@
+using System;
+
+namespace UnmanagedWrapper
+{
+ public abstract class UnmanagedWrapper<T>
+ {
+ private T data;
+ private IntPtr reference;
+
+ public Type GetUnmanagedType() { return typeof(T); }
+
+ public IntPtr Reference
+ {
+ get { return reference; }
+ set { reference = value; }
+ }
+
+ public T Data
+ {
+ get { return data; }
+ set { data = value; }
+ }
+ }
+}
+
============================================================
--- libpurple/wrapper/XMLNodeClass.cs 774b83c36fad7d54be32876eb9d13cda2c1d73c0
+++ libpurple/wrapper/XMLNodeClass.cs 774b83c36fad7d54be32876eb9d13cda2c1d73c0
@@ -0,0 +1,330 @@
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
+ *
+ * Purple is the legal property of its developers, whose names are too numerous
+ * to list here. Please refer to the COPYRIGHT file distributed with this
+ * source distribution.
+ *
+ * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
+ */
+
+/*
+ * This file was auto-generated from the libpurple header files to provide a
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
+ *
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
+ */
+
+using System;
+using System.Collections.Generic;
+using System.Runtime.InteropServices;
+
+namespace PurpleWrapper
+{
+ public class XMLNodeClass
+ {
+ public enum XMLNodeType
+ {
+ XMLNODE_TYPE_TAG,
+ XMLNODE_TYPE_ATTRIB,
+ XMLNODE_TYPE_DATA
+ };
+
+ /*
+ * xmlnode * xmlnode_new(char * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr xmlnode_new(string name);
+
+ public static xmlnode XmlnodeNew(string name)
+ {
+ return new xmlnode(xmlnode_new(name));
+ }
+
+ /*
+ * xmlnode * xmlnode_new_child(xmlnode * parent, char * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr xmlnode_new_child(IntPtr parent, string name);
+
+ public static xmlnode XmlnodeNewChild(xmlnode parent, string name)
+ {
+ return new xmlnode(xmlnode_new_child(parent.Reference, name));
+ }
+
+ /*
+ * void xmlnode_insert_child(xmlnode * parent, xmlnode * child)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void xmlnode_insert_child(IntPtr parent, IntPtr child);
+
+ public static void XmlnodeInsertChild(xmlnode parent, xmlnode child)
+ {
+ xmlnode_insert_child(parent.Reference, child.Reference);
+ }
+
+ /*
+ * xmlnode * xmlnode_get_child(xmlnode * parent, char * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr xmlnode_get_child(IntPtr parent, string name);
+
+ public static xmlnode XmlnodeGetChild(xmlnode parent, string name)
+ {
+ return new xmlnode(xmlnode_get_child(parent.Reference, name));
+ }
+
+ /*
+ * xmlnode * xmlnode_get_child_with_namespace(xmlnode * parent, char * name, char * xmlns)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr xmlnode_get_child_with_namespace(IntPtr parent, string name, string xmlns);
+
+ public static xmlnode XmlnodeGetChildWithNamespace(xmlnode parent, string name, string xmlns)
+ {
+ return new xmlnode(xmlnode_get_child_with_namespace(parent.Reference, name, xmlns));
+ }
+
+ /*
+ * xmlnode * xmlnode_get_next_twin(xmlnode * node)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr xmlnode_get_next_twin(IntPtr node);
+
+ public static xmlnode XmlnodeGetNextTwin(xmlnode node)
+ {
+ return new xmlnode(xmlnode_get_next_twin(node.Reference));
+ }
+
+ /*
+ * void xmlnode_insert_data(xmlnode * node, char * data, gssize size)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void xmlnode_insert_data(IntPtr node, string data, long size);
+
+ public static void XmlnodeInsertData(xmlnode node, string data, long size)
+ {
+ xmlnode_insert_data(node.Reference, data, size);
+ }
+
+ /*
+ * char * xmlnode_get_data(xmlnode * node)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string xmlnode_get_data(IntPtr node);
+
+ public static string XmlnodeGetData(xmlnode node)
+ {
+ return xmlnode_get_data(node.Reference);
+ }
+
+ /*
+ * char * xmlnode_get_data_unescaped(xmlnode * node)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string xmlnode_get_data_unescaped(IntPtr node);
+
+ public static string XmlnodeGetDataUnescaped(xmlnode node)
+ {
+ return xmlnode_get_data_unescaped(node.Reference);
+ }
+
+ /*
+ * void xmlnode_set_attrib(xmlnode * node, char * attr, char * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void xmlnode_set_attrib(IntPtr node, string attr, string value);
+
+ public static void XmlnodeSetAttrib(xmlnode node, string attr, string value)
+ {
+ xmlnode_set_attrib(node.Reference, attr, value);
+ }
+
+ /*
+ * void xmlnode_set_attrib_with_prefix(xmlnode * node, char * attr, char * prefix, char * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void xmlnode_set_attrib_with_prefix(IntPtr node, string attr, string prefix, string value);
+
+ public static void XmlnodeSetAttribWithPrefix(xmlnode node, string attr, string prefix, string value)
+ {
+ xmlnode_set_attrib_with_prefix(node.Reference, attr, prefix, value);
+ }
+
+ /*
+ * void xmlnode_set_attrib_with_namespace(xmlnode * node, char * attr, char * xmlns, char * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void xmlnode_set_attrib_with_namespace(IntPtr node, string attr, string xmlns, string value);
+
+ public static void XmlnodeSetAttribWithNamespace(xmlnode node, string attr, string xmlns, string value)
+ {
+ xmlnode_set_attrib_with_namespace(node.Reference, attr, xmlns, value);
+ }
+
+ /*
+ * char * xmlnode_get_attrib(xmlnode * node, char * attr)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string xmlnode_get_attrib(IntPtr node, string attr);
+
+ public static string XmlnodeGetAttrib(xmlnode node, string attr)
+ {
+ return xmlnode_get_attrib(node.Reference, attr);
+ }
+
+ /*
+ * char * xmlnode_get_attrib_with_namespace(xmlnode * node, char * attr, char * xmlns)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string xmlnode_get_attrib_with_namespace(IntPtr node, string attr, string xmlns);
+
+ public static string XmlnodeGetAttribWithNamespace(xmlnode node, string attr, string xmlns)
+ {
+ return xmlnode_get_attrib_with_namespace(node.Reference, attr, xmlns);
+ }
+
+ /*
+ * void xmlnode_remove_attrib(xmlnode * node, char * attr)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void xmlnode_remove_attrib(IntPtr node, string attr);
+
+ public static void XmlnodeRemoveAttrib(xmlnode node, string attr)
+ {
+ xmlnode_remove_attrib(node.Reference, attr);
+ }
+
+ /*
+ * void xmlnode_remove_attrib_with_namespace(xmlnode * node, char * attr, char * xmlns)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void xmlnode_remove_attrib_with_namespace(IntPtr node, string attr, string xmlns);
+
+ public static void XmlnodeRemoveAttribWithNamespace(xmlnode node, string attr, string xmlns)
+ {
+ xmlnode_remove_attrib_with_namespace(node.Reference, attr, xmlns);
+ }
+
+ /*
+ * void xmlnode_set_namespace(xmlnode * node, char * xmlns)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void xmlnode_set_namespace(IntPtr node, string xmlns);
+
+ public static void XmlnodeSetNamespace(xmlnode node, string xmlns)
+ {
+ xmlnode_set_namespace(node.Reference, xmlns);
+ }
+
+ /*
+ * char * xmlnode_get_namespace(xmlnode * node)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string xmlnode_get_namespace(IntPtr node);
+
+ public static string XmlnodeGetNamespace(xmlnode node)
+ {
+ return xmlnode_get_namespace(node.Reference);
+ }
+
+ /*
+ * void xmlnode_set_prefix(xmlnode * node, char * prefix)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void xmlnode_set_prefix(IntPtr node, string prefix);
+
+ public static void XmlnodeSetPrefix(xmlnode node, string prefix)
+ {
+ xmlnode_set_prefix(node.Reference, prefix);
+ }
+
+ /*
+ * char * xmlnode_get_prefix(xmlnode * node)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string xmlnode_get_prefix(IntPtr node);
+
+ public static string XmlnodeGetPrefix(xmlnode node)
+ {
+ return xmlnode_get_prefix(node.Reference);
+ }
+
+ /*
+ * xmlnode * xmlnode_get_parent(xmlnode * child)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr xmlnode_get_parent(IntPtr child);
+
+ public static xmlnode XmlnodeGetParent(xmlnode child)
+ {
+ return new xmlnode(xmlnode_get_parent(child.Reference));
+ }
+
+ /*
+ * char * xmlnode_to_str(xmlnode * node, int * len)
+ *
+ * Could not generate a wrapper for xmlnode_to_str in file "xmlnode.h".
+ * Message: The type could not be resolved (int * len).
+ */
+
+ /*
+ * char * xmlnode_to_formatted_str(xmlnode * node, int * len)
+ *
+ * Could not generate a wrapper for xmlnode_to_formatted_str in file "xmlnode.h".
+ * Message: The type could not be resolved (int * len).
+ */
+
+ /*
+ * xmlnode * xmlnode_from_str(char * str, gssize size)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr xmlnode_from_str(string str, long size);
+
+ public static xmlnode XmlnodeFromStr(string str, long size)
+ {
+ return new xmlnode(xmlnode_from_str(str, size));
+ }
+
+ /*
+ * xmlnode * xmlnode_copy(xmlnode * src)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr xmlnode_copy(IntPtr src);
+
+ public static xmlnode XmlnodeCopy(xmlnode src)
+ {
+ return new xmlnode(xmlnode_copy(src.Reference));
+ }
+
+ /*
+ * void xmlnode_free(xmlnode * node)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void xmlnode_free(IntPtr node);
+
+ public static void XmlnodeFree(xmlnode node)
+ {
+ xmlnode_free(node.Reference);
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/generator/CNamed.cs d63df543c34227a3a13fd20d65c76032b7b5c64f
+++ libpurple/wrapper/generator/CNamed.cs d63df543c34227a3a13fd20d65c76032b7b5c64f
@@ -0,0 +1,52 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace Scripts
+{
+ abstract class CNamed
+ {
+ private String name;
+ private CFile file;
+
+ public CNamed(CFile file, String name)
+ {
+ this.File = file;
+ this.Name = name;
+ }
+
+ public String Name
+ {
+ get
+ {
+ return name;
+ }
+ set
+ {
+ if (value.Length > 0 && value[0] == '_')
+ name = value.Substring(1);
+ else
+ name = value;
+ }
+ }
+
+ public String SafeName
+ {
+ get
+ {
+ if (this.Name == "in" || this.Name == "event")
+ return this.Name + "_";
+ else
+ return this.Name;
+ }
+ }
+
+ public CFile File
+ {
+ get { return file; }
+ set { file = value; }
+ }
+
+ }
+}
============================================================
--- libpurple/wrapper/generator/Logger.cs fb4041ddc443b42d8884b8e6fa2a5109cb5044b3
+++ libpurple/wrapper/generator/Logger.cs fb4041ddc443b42d8884b8e6fa2a5109cb5044b3
@@ -0,0 +1,23 @@
+using System;
+using System.IO;
+
+namespace Scripts
+{
+ class Logger
+ {
+ private static StreamWriter writer = new StreamWriter("log.txt");
+
+ public static void Log(String message)
+ {
+ message = message.Replace("\n", "\\n").Replace("\t", "\\t");
+ while (message.Contains(" "))
+ message = message.Replace(" ", " ");
+ writer.WriteLine(message);
+ }
+
+ public static void CloseLog()
+ {
+ writer.Close();
+ }
+ }
+}
============================================================
--- libpurple/wrapper/generator/Scripts.csproj 1dfc82b28a5b02fed7d655c44ae69a1812bbb9e4
+++ libpurple/wrapper/generator/Scripts.csproj 1dfc82b28a5b02fed7d655c44ae69a1812bbb9e4
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProductVersion>9.0.30729</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{43BF057D-B023-463D-B2E0-FDDA18CDE11A}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Scripts</RootNamespace>
+ <AssemblyName>Scripts</AssemblyName>
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Core">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.Xml.Linq">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.Data.DataSetExtensions">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.Data" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="CEnum.cs" />
+ <Compile Include="CFile.cs" />
+ <Compile Include="CFunction.cs" />
+ <Compile Include="CArgument.cs" />
+ <Compile Include="CNamed.cs" />
+ <Compile Include="CStruct.cs" />
+ <Compile Include="CTyped.cs" />
+ <Compile Include="Logger.cs" />
+ <Compile Include="Program.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="UnableToCreateWrapperException.cs" />
+ <Compile Include="WrapperGenerator.cs" />
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+</Project>
\ No newline at end of file
============================================================
--- libpurple/wrapper/generator/UnableToCreateWrapperException.cs afefa62bdee49974b5a77f19cb696b7ec00b35c0
+++ libpurple/wrapper/generator/UnableToCreateWrapperException.cs afefa62bdee49974b5a77f19cb696b7ec00b35c0
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace Scripts
+{
+ class UnableToCreateWrapperException : Exception
+ {
+ public UnableToCreateWrapperException(String message)
+ : base(message)
+ {
+ }
+ }
+}
============================================================
--- libpurple/wrapper/Account.cs 70927698aa381839a83cc58fa092442e653e2e69
+++ libpurple/wrapper/Account.cs d6f19bee421380762e7f484e568cfb396a358bbe
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,6 +40,11 @@ namespace PurpleWrapper
{
public class Account
{
+ public enum PurpleAccountRequestType
+ {
+ PURPLE_ACCOUNT_REQUEST_AUTHORIZATION = 0
+ };
+
/*
* PurpleAccount * purple_account_new(char * username, char * protocol_id)
*/
@@ -46,7 +53,7 @@ namespace PurpleWrapper
public static PurpleAccount New(string username, string protocol_id)
{
- throw new NotImplementedException();
+ return new PurpleAccount(purple_account_new(username, protocol_id));
}
/*
@@ -57,7 +64,7 @@ namespace PurpleWrapper
public static void Destroy(PurpleAccount account)
{
- throw new NotImplementedException();
+ purple_account_destroy(account.Reference);
}
/*
@@ -68,20 +75,16 @@ namespace PurpleWrapper
public static void Connect(PurpleAccount account)
{
- throw new NotImplementedException();
+ purple_account_connect(account.Reference);
}
/*
* void purple_account_set_register_callback(PurpleAccount * account, PurpleAccountRegistrationCb cb, void * user_data)
+ *
+ * Could not generate a wrapper for purple_account_set_register_callback in file "account.h".
+ * Message: The type could not be resolved (PurpleAccountRegistrationCb cb).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_account_set_register_callback(IntPtr account, UNKNOWN cb, IntPtr user_data);
- public static void SetRegisterCallback(PurpleAccount account, PurpleAccountRegistrationCb cb, IntPtr user_data)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_account_register(PurpleAccount * account)
*/
@@ -90,20 +93,16 @@ namespace PurpleWrapper
public static void Register(PurpleAccount account)
{
- throw new NotImplementedException();
+ purple_account_register(account.Reference);
}
/*
* void purple_account_unregister(PurpleAccount * account, PurpleAccountUnregistrationCb cb, void * user_data)
+ *
+ * Could not generate a wrapper for purple_account_unregister in file "account.h".
+ * Message: The type could not be resolved (PurpleAccountUnregistrationCb cb).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_account_unregister(IntPtr account, UNKNOWN cb, IntPtr user_data);
- public static void Unregister(PurpleAccount account, PurpleAccountUnregistrationCb cb, IntPtr user_data)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_account_disconnect(PurpleAccount * account)
*/
@@ -112,43 +111,10 @@ namespace PurpleWrapper
public static void Disconnect(PurpleAccount account)
{
- throw new NotImplementedException();
+ purple_account_disconnect(account.Reference);
}
/*
- * void purple_account_notify_added(PurpleAccount * account, char * remote_user, char * id, char * alias, char * message)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_account_notify_added(IntPtr account, string remote_user, string id, string alias, string message);
-
- public static void NotifyAdded(PurpleAccount account, string remote_user, string id, string alias, string message)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_account_request_add(PurpleAccount * account, char * remote_user, char * id, char * alias, char * message)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_account_request_add(IntPtr account, string remote_user, string id, string alias, string message);
-
- public static void RequestAdd(PurpleAccount account, string remote_user, string id, string alias, string message)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void * purple_account_request_authorization(PurpleAccount * account, char * remote_user, char * id, char * alias, char * message, gboolean on_list, PurpleAccountRequestAuthorizationCb auth_cb, PurpleAccountRequestAuthorizationCb deny_cb, void * user_data)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_account_request_authorization(IntPtr account, string remote_user, string id, string alias, string message, bool on_list, UNKNOWN auth_cb, UNKNOWN deny_cb, IntPtr user_data);
-
- public static IntPtr RequestAuthorization(PurpleAccount account, string remote_user, string id, string alias, string message, bool on_list, PurpleAccountRequestAuthorizationCb auth_cb, PurpleAccountRequestAuthorizationCb deny_cb, IntPtr user_data)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_account_request_close_with_account(PurpleAccount * account)
*/
[DllImport("libpurple.dll")]
@@ -156,7 +122,7 @@ namespace PurpleWrapper
public static void RequestCloseWithAccount(PurpleAccount account)
{
- throw new NotImplementedException();
+ purple_account_request_close_with_account(account.Reference);
}
/*
@@ -167,21 +133,10 @@ namespace PurpleWrapper
public static void RequestClose(IntPtr ui_handle)
{
- throw new NotImplementedException();
+ purple_account_request_close(ui_handle);
}
/*
- * void purple_account_request_password(PurpleAccount * account, GCallback ok_cb, GCallback cancel_cb, void * user_data)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_account_request_password(IntPtr account, UNKNOWN ok_cb, UNKNOWN cancel_cb, IntPtr user_data);
-
- public static void RequestPassword(PurpleAccount account, GCallback ok_cb, GCallback cancel_cb, IntPtr user_data)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_account_request_change_password(PurpleAccount * account)
*/
[DllImport("libpurple.dll")]
@@ -189,7 +144,7 @@ namespace PurpleWrapper
public static void RequestChangePassword(PurpleAccount account)
{
- throw new NotImplementedException();
+ purple_account_request_change_password(account.Reference);
}
/*
@@ -200,7 +155,7 @@ namespace PurpleWrapper
public static void RequestChangeUserInfo(PurpleAccount account)
{
- throw new NotImplementedException();
+ purple_account_request_change_user_info(account.Reference);
}
/*
@@ -211,7 +166,7 @@ namespace PurpleWrapper
public static void SetUsername(PurpleAccount account, string username)
{
- throw new NotImplementedException();
+ purple_account_set_username(account.Reference, username);
}
/*
@@ -222,7 +177,7 @@ namespace PurpleWrapper
public static void SetPassword(PurpleAccount account, string password)
{
- throw new NotImplementedException();
+ purple_account_set_password(account.Reference, password);
}
/*
@@ -233,7 +188,7 @@ namespace PurpleWrapper
public static void SetAlias(PurpleAccount account, string alias)
{
- throw new NotImplementedException();
+ purple_account_set_alias(account.Reference, alias);
}
/*
@@ -244,7 +199,7 @@ namespace PurpleWrapper
public static void SetUserInfo(PurpleAccount account, string user_info)
{
- throw new NotImplementedException();
+ purple_account_set_user_info(account.Reference, user_info);
}
/*
@@ -255,21 +210,10 @@ namespace PurpleWrapper
public static void SetBuddyIconPath(PurpleAccount account, string path)
{
- throw new NotImplementedException();
+ purple_account_set_buddy_icon_path(account.Reference, path);
}
/*
- * void purple_account_set_protocol_id(PurpleAccount * account, char * protocol_id)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_account_set_protocol_id(IntPtr account, string protocol_id);
-
- public static void SetProtocolId(PurpleAccount account, string protocol_id)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_account_set_connection(PurpleAccount * account, PurpleConnection * gc)
*/
[DllImport("libpurple.dll")]
@@ -277,7 +221,7 @@ namespace PurpleWrapper
public static void SetConnection(PurpleAccount account, PurpleConnection gc)
{
- throw new NotImplementedException();
+ purple_account_set_connection(account.Reference, gc.Reference);
}
/*
@@ -288,7 +232,7 @@ namespace PurpleWrapper
public static void SetRememberPassword(PurpleAccount account, bool value)
{
- throw new NotImplementedException();
+ purple_account_set_remember_password(account.Reference, value);
}
/*
@@ -299,65 +243,24 @@ namespace PurpleWrapper
public static void SetCheckMail(PurpleAccount account, bool value)
{
- throw new NotImplementedException();
+ purple_account_set_check_mail(account.Reference, value);
}
/*
- * void purple_account_set_enabled(PurpleAccount * account, char * ui, gboolean value)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_account_set_enabled(IntPtr account, string ui, bool value);
-
- public static void SetEnabled(PurpleAccount account, string ui, bool value)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_account_set_proxy_info(PurpleAccount * account, PurpleProxyInfo * info)
+ *
+ * Could not generate a wrapper for purple_account_set_proxy_info in file "account.h".
+ * Message: The type could not be resolved (PurpleProxyInfo * info).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_account_set_proxy_info(IntPtr account, IntPtr info);
- public static void SetProxyInfo(PurpleAccount account, PurpleProxyInfo info)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_account_set_status_types(PurpleAccount * account, GList * status_types)
+ *
+ * Could not generate a wrapper for purple_account_set_status_types in file "account.h".
+ * Message: The type could not be resolved (GList * status_types).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_account_set_status_types(IntPtr account, IntPtr status_types);
- public static void SetStatusTypes(PurpleAccount account, GList status_types)
- {
- throw new NotImplementedException();
- }
-
/*
- * void purple_account_set_status(PurpleAccount * account, char * status_id, gboolean active, ...)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_account_set_status(IntPtr account, string status_id, bool active, ...);
-
- public static void SetStatus(PurpleAccount account, string status_id, bool active, ...)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_account_set_status_list(PurpleAccount * account, char * status_id, gboolean active, GList * attrs)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_account_set_status_list(IntPtr account, string status_id, bool active, IntPtr attrs);
-
- public static void SetStatusList(PurpleAccount account, string status_id, bool active, GList attrs)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_account_clear_settings(PurpleAccount * account)
*/
[DllImport("libpurple.dll")]
@@ -365,7 +268,7 @@ namespace PurpleWrapper
public static void ClearSettings(PurpleAccount account)
{
- throw new NotImplementedException();
+ purple_account_clear_settings(account.Reference);
}
/*
@@ -376,65 +279,10 @@ namespace PurpleWrapper
public static void SetInt(PurpleAccount account, string name, int value)
{
- throw new NotImplementedException();
+ purple_account_set_int(account.Reference, name, value);
}
/*
- * void purple_account_set_string(PurpleAccount * account, char * name, char * value)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_account_set_string(IntPtr account, string name, string value);
-
- public static void SetString(PurpleAccount account, string name, string value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_account_set_bool(PurpleAccount * account, char * name, gboolean value)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_account_set_bool(IntPtr account, string name, bool value);
-
- public static void SetBool(PurpleAccount account, string name, bool value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_account_set_ui_int(PurpleAccount * account, char * ui, char * name, int value)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_account_set_ui_int(IntPtr account, string ui, string name, int value);
-
- public static void SetUiInt(PurpleAccount account, string ui, string name, int value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_account_set_ui_string(PurpleAccount * account, char * ui, char * name, char * value)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_account_set_ui_string(IntPtr account, string ui, string name, string value);
-
- public static void SetUiString(PurpleAccount account, string ui, string name, string value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_account_set_ui_bool(PurpleAccount * account, char * ui, char * name, gboolean value)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_account_set_ui_bool(IntPtr account, string ui, string name, bool value);
-
- public static void SetUiBool(PurpleAccount account, string ui, string name, bool value)
- {
- throw new NotImplementedException();
- }
-
- /*
* gboolean purple_account_is_connected(PurpleAccount * account)
*/
[DllImport("libpurple.dll")]
@@ -442,7 +290,7 @@ namespace PurpleWrapper
public static bool IsConnected(PurpleAccount account)
{
- throw new NotImplementedException();
+ return purple_account_is_connected(account.Reference);
}
/*
@@ -453,7 +301,7 @@ namespace PurpleWrapper
public static bool IsConnecting(PurpleAccount account)
{
- throw new NotImplementedException();
+ return purple_account_is_connecting(account.Reference);
}
/*
@@ -464,7 +312,7 @@ namespace PurpleWrapper
public static bool IsDisconnected(PurpleAccount account)
{
- throw new NotImplementedException();
+ return purple_account_is_disconnected(account.Reference);
}
/*
@@ -475,7 +323,7 @@ namespace PurpleWrapper
public static string GetUsername(PurpleAccount account)
{
- throw new NotImplementedException();
+ return purple_account_get_username(account.Reference);
}
/*
@@ -486,7 +334,7 @@ namespace PurpleWrapper
public static string GetPassword(PurpleAccount account)
{
- throw new NotImplementedException();
+ return purple_account_get_password(account.Reference);
}
/*
@@ -497,7 +345,7 @@ namespace PurpleWrapper
public static string GetAlias(PurpleAccount account)
{
- throw new NotImplementedException();
+ return purple_account_get_alias(account.Reference);
}
/*
@@ -508,7 +356,7 @@ namespace PurpleWrapper
public static string GetUserInfo(PurpleAccount account)
{
- throw new NotImplementedException();
+ return purple_account_get_user_info(account.Reference);
}
/*
@@ -519,7 +367,7 @@ namespace PurpleWrapper
public static string GetBuddyIconPath(PurpleAccount account)
{
- throw new NotImplementedException();
+ return purple_account_get_buddy_icon_path(account.Reference);
}
/*
@@ -530,7 +378,7 @@ namespace PurpleWrapper
public static string GetProtocolId(PurpleAccount account)
{
- throw new NotImplementedException();
+ return purple_account_get_protocol_id(account.Reference);
}
/*
@@ -541,7 +389,7 @@ namespace PurpleWrapper
public static string GetProtocolName(PurpleAccount account)
{
- throw new NotImplementedException();
+ return purple_account_get_protocol_name(account.Reference);
}
/*
@@ -552,7 +400,7 @@ namespace PurpleWrapper
public static PurpleConnection GetConnection(PurpleAccount account)
{
- throw new NotImplementedException();
+ return new PurpleConnection(purple_account_get_connection(account.Reference));
}
/*
@@ -563,7 +411,7 @@ namespace PurpleWrapper
public static bool GetRememberPassword(PurpleAccount account)
{
- throw new NotImplementedException();
+ return purple_account_get_remember_password(account.Reference);
}
/*
@@ -574,175 +422,38 @@ namespace PurpleWrapper
public static bool GetCheckMail(PurpleAccount account)
{
- throw new NotImplementedException();
+ return purple_account_get_check_mail(account.Reference);
}
/*
- * gboolean purple_account_get_enabled(PurpleAccount * account, char * ui)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_account_get_enabled(IntPtr account, string ui);
-
- public static bool GetEnabled(PurpleAccount account, string ui)
- {
- throw new NotImplementedException();
- }
-
- /*
* PurpleProxyInfo * purple_account_get_proxy_info(PurpleAccount * account)
+ *
+ * Could not generate a wrapper for purple_account_get_proxy_info in file "account.h".
+ * Message: The type could not be resolved (PurpleProxyInfo * purple_account_get_proxy_info(PurpleAccount * account)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_account_get_proxy_info(IntPtr account);
- public static PurpleProxyInfo GetProxyInfo(PurpleAccount account)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleStatus * purple_account_get_active_status(PurpleAccount * account)
+ *
+ * Could not generate a wrapper for purple_account_get_active_status in file "account.h".
+ * Message: The type could not be resolved (PurpleStatus * purple_account_get_active_status(PurpleAccount * account)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_account_get_active_status(IntPtr account);
- public static PurpleStatus GetActiveStatus(PurpleAccount account)
- {
- throw new NotImplementedException();
- }
-
/*
- * PurpleStatus * purple_account_get_status(PurpleAccount * account, char * status_id)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_account_get_status(IntPtr account, string status_id);
-
- public static PurpleStatus GetStatus(PurpleAccount account, string status_id)
- {
- throw new NotImplementedException();
- }
-
- /*
- * PurpleStatusType * purple_account_get_status_type(PurpleAccount * account, char * id)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_account_get_status_type(IntPtr account, string id);
-
- public static PurpleStatusType GetStatusType(PurpleAccount account, string id)
- {
- throw new NotImplementedException();
- }
-
- /*
- * PurpleStatusType * purple_account_get_status_type_with_primitive(PurpleAccount * account, PurpleStatusPrimitive primitive)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_account_get_status_type_with_primitive(IntPtr account, UNKNOWN primitive);
-
- public static PurpleStatusType GetStatusTypeWithPrimitive(PurpleAccount account, PurpleStatusPrimitive primitive)
- {
- throw new NotImplementedException();
- }
-
- /*
* PurplePresence * purple_account_get_presence(PurpleAccount * account)
+ *
+ * Could not generate a wrapper for purple_account_get_presence in file "account.h".
+ * Message: The type could not be resolved (PurplePresence * purple_account_get_presence(PurpleAccount * account)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_account_get_presence(IntPtr account);
- public static PurplePresence GetPresence(PurpleAccount account)
- {
- throw new NotImplementedException();
- }
-
/*
- * gboolean purple_account_is_status_active(PurpleAccount * account, char * status_id)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_account_is_status_active(IntPtr account, string status_id);
-
- public static bool IsStatusActive(PurpleAccount account, string status_id)
- {
- throw new NotImplementedException();
- }
-
- /*
* GList * purple_account_get_status_types(PurpleAccount * account)
+ *
+ * Could not generate a wrapper for purple_account_get_status_types in file "account.h".
+ * Message: The type could not be resolved (GList * purple_account_get_status_types(PurpleAccount * account)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_account_get_status_types(IntPtr account);
- public static GList GetStatusTypes(PurpleAccount account)
- {
- throw new NotImplementedException();
- }
-
/*
- * int purple_account_get_int(PurpleAccount * account, char * name, int default_value)
- */
- [DllImport("libpurple.dll")]
- private static extern int purple_account_get_int(IntPtr account, string name, int default_value);
-
- public static int GetInt(PurpleAccount account, string name, int default_value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * char * purple_account_get_string(PurpleAccount * account, char * name, char * default_value)
- */
- [DllImport("libpurple.dll")]
- private static extern string purple_account_get_string(IntPtr account, string name, string default_value);
-
- public static string GetString(PurpleAccount account, string name, string default_value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gboolean purple_account_get_bool(PurpleAccount * account, char * name, gboolean default_value)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_account_get_bool(IntPtr account, string name, bool default_value);
-
- public static bool GetBool(PurpleAccount account, string name, bool default_value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * int purple_account_get_ui_int(PurpleAccount * account, char * ui, char * name, int default_value)
- */
- [DllImport("libpurple.dll")]
- private static extern int purple_account_get_ui_int(IntPtr account, string ui, string name, int default_value);
-
- public static int GetUiInt(PurpleAccount account, string ui, string name, int default_value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * char * purple_account_get_ui_string(PurpleAccount * account, char * ui, char * name, char * default_value)
- */
- [DllImport("libpurple.dll")]
- private static extern string purple_account_get_ui_string(IntPtr account, string ui, string name, string default_value);
-
- public static string GetUiString(PurpleAccount account, string ui, string name, string default_value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gboolean purple_account_get_ui_bool(PurpleAccount * account, char * ui, char * name, gboolean default_value)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_account_get_ui_bool(IntPtr account, string ui, string name, bool default_value);
-
- public static bool GetUiBool(PurpleAccount account, string ui, string name, bool default_value)
- {
- throw new NotImplementedException();
- }
-
- /*
* PurpleLog * purple_account_get_log(PurpleAccount * account, gboolean create)
*/
[DllImport("libpurple.dll")]
@@ -750,7 +461,7 @@ namespace PurpleWrapper
public static PurpleLog GetLog(PurpleAccount account, bool create)
{
- throw new NotImplementedException();
+ return new PurpleLog(purple_account_get_log(account.Reference, create));
}
/*
@@ -761,7 +472,7 @@ namespace PurpleWrapper
public static void DestroyLog(PurpleAccount account)
{
- throw new NotImplementedException();
+ purple_account_destroy_log(account.Reference);
}
/*
@@ -772,43 +483,17 @@ namespace PurpleWrapper
public static void AddBuddy(PurpleAccount account, PurpleBuddy buddy)
{
- throw new NotImplementedException();
+ purple_account_add_buddy(account.Reference, buddy.Reference);
}
/*
* void purple_account_add_buddies(PurpleAccount * account, GList * buddies)
+ *
+ * Could not generate a wrapper for purple_account_add_buddies in file "account.h".
+ * Message: The type could not be resolved (GList * buddies).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_account_add_buddies(IntPtr account, IntPtr buddies);
- public static void AddBuddies(PurpleAccount account, GList buddies)
- {
- throw new NotImplementedException();
- }
-
/*
- * void purple_account_remove_buddy(PurpleAccount * account, PurpleBuddy * buddy, PurpleGroup * group)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_account_remove_buddy(IntPtr account, IntPtr buddy, IntPtr group);
-
- public static void RemoveBuddy(PurpleAccount account, PurpleBuddy buddy, PurpleGroup group)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_account_remove_buddies(PurpleAccount * account, GList * buddies, GList * groups)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_account_remove_buddies(IntPtr account, IntPtr buddies, IntPtr groups);
-
- public static void RemoveBuddies(PurpleAccount account, GList buddies, GList groups)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_account_remove_group(PurpleAccount * account, PurpleGroup * group)
*/
[DllImport("libpurple.dll")]
@@ -816,21 +501,10 @@ namespace PurpleWrapper
public static void RemoveGroup(PurpleAccount account, PurpleGroup group)
{
- throw new NotImplementedException();
+ purple_account_remove_group(account.Reference, group.Reference);
}
/*
- * void purple_account_change_password(PurpleAccount * account, char * orig_pw, char * new_pw)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_account_change_password(IntPtr account, string orig_pw, string new_pw);
-
- public static void ChangePassword(PurpleAccount account, string orig_pw, string new_pw)
- {
- throw new NotImplementedException();
- }
-
- /*
* gboolean purple_account_supports_offline_message(PurpleAccount * account, PurpleBuddy * buddy)
*/
[DllImport("libpurple.dll")]
@@ -838,20 +512,16 @@ namespace PurpleWrapper
public static bool SupportsOfflineMessage(PurpleAccount account, PurpleBuddy buddy)
{
- throw new NotImplementedException();
+ return purple_account_supports_offline_message(account.Reference, buddy.Reference);
}
/*
* PurpleConnectionErrorInfo * purple_account_get_current_error(PurpleAccount * account)
+ *
+ * Could not generate a wrapper for purple_account_get_current_error in file "account.h".
+ * Message: The type could not be resolved (PurpleConnectionErrorInfo * purple_account_get_current_error(PurpleAccount * account)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_account_get_current_error(IntPtr account);
- public static PurpleConnectionErrorInfo GetCurrentError(PurpleAccount account)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_account_clear_current_error(PurpleAccount * account)
*/
@@ -860,7 +530,7 @@ namespace PurpleWrapper
public static void ClearCurrentError(PurpleAccount account)
{
- throw new NotImplementedException();
+ purple_account_clear_current_error(account.Reference);
}
/*
@@ -871,7 +541,7 @@ namespace PurpleWrapper
public static void AccountsAdd(PurpleAccount account)
{
- throw new NotImplementedException();
+ purple_accounts_add(account.Reference);
}
/*
@@ -882,7 +552,7 @@ namespace PurpleWrapper
public static void AccountsRemove(PurpleAccount account)
{
- throw new NotImplementedException();
+ purple_accounts_remove(account.Reference);
}
/*
@@ -893,7 +563,7 @@ namespace PurpleWrapper
public static void AccountsDelete(PurpleAccount account)
{
- throw new NotImplementedException();
+ purple_accounts_delete(account.Reference);
}
/*
@@ -904,31 +574,23 @@ namespace PurpleWrapper
public static void AccountsReorder(PurpleAccount account, int new_index)
{
- throw new NotImplementedException();
+ purple_accounts_reorder(account.Reference, new_index);
}
/*
* GList * purple_accounts_get_all()
+ *
+ * Could not generate a wrapper for purple_accounts_get_all in file "account.h".
+ * Message: The type could not be resolved (GList * purple_accounts_get_all()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_accounts_get_all();
- public static GList AccountsGetAll()
- {
- throw new NotImplementedException();
- }
-
/*
* GList * purple_accounts_get_all_active()
+ *
+ * Could not generate a wrapper for purple_accounts_get_all_active in file "account.h".
+ * Message: The type could not be resolved (GList * purple_accounts_get_all_active()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_accounts_get_all_active();
- public static GList AccountsGetAllActive()
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleAccount * purple_accounts_find(char * name, char * protocol)
*/
@@ -937,7 +599,7 @@ namespace PurpleWrapper
public static PurpleAccount AccountsFind(string name, string protocol)
{
- throw new NotImplementedException();
+ return new PurpleAccount(purple_accounts_find(name, protocol));
}
/*
@@ -948,7 +610,7 @@ namespace PurpleWrapper
public static void AccountsRestoreCurrentStatuses()
{
- throw new NotImplementedException();
+ purple_accounts_restore_current_statuses();
}
/*
@@ -959,7 +621,7 @@ namespace PurpleWrapper
public static void AccountsSetUiOps(PurpleAccountUiOps ops)
{
- throw new NotImplementedException();
+ purple_accounts_set_ui_ops(ops.Reference);
}
/*
@@ -970,7 +632,7 @@ namespace PurpleWrapper
public static PurpleAccountUiOps AccountsGetUiOps()
{
- throw new NotImplementedException();
+ return new PurpleAccountUiOps(purple_accounts_get_ui_ops());
}
/*
@@ -981,7 +643,7 @@ namespace PurpleWrapper
public static IntPtr AccountsGetHandle()
{
- throw new NotImplementedException();
+ return purple_accounts_get_handle();
}
/*
@@ -992,7 +654,7 @@ namespace PurpleWrapper
public static void AccountsInit()
{
- throw new NotImplementedException();
+ purple_accounts_init();
}
/*
@@ -1003,7 +665,7 @@ namespace PurpleWrapper
public static void AccountsUninit()
{
- throw new NotImplementedException();
+ purple_accounts_uninit();
}
}
============================================================
--- libpurple/wrapper/Accountopt.cs e6d67721f2e0e0e7984f117f9e94f20f47b128b5
+++ libpurple/wrapper/Accountopt.cs 6c35b6cd6340f52913a46e0055a452ee4b233a75
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -39,313 +41,110 @@ namespace PurpleWrapper
public class Accountopt
{
/*
- * PurpleAccountOption * purple_account_option_new(PurplePrefType type, char * text, char * pref_name)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_account_option_new(UNKNOWN type, string text, string pref_name);
-
- public static PurpleAccountOption AccountOptionNew(PurplePrefType type, string text, string pref_name)
- {
- throw new NotImplementedException();
- }
-
- /*
- * PurpleAccountOption * purple_account_option_bool_new(char * text, char * pref_name, gboolean default_value)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_account_option_bool_new(string text, string pref_name, bool default_value);
-
- public static PurpleAccountOption AccountOptionBoolNew(string text, string pref_name, bool default_value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * PurpleAccountOption * purple_account_option_int_new(char * text, char * pref_name, int default_value)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_account_option_int_new(string text, string pref_name, int default_value);
-
- public static PurpleAccountOption AccountOptionIntNew(string text, string pref_name, int default_value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * PurpleAccountOption * purple_account_option_string_new(char * text, char * pref_name, char * default_value)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_account_option_string_new(string text, string pref_name, string default_value);
-
- public static PurpleAccountOption AccountOptionStringNew(string text, string pref_name, string default_value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * PurpleAccountOption * purple_account_option_list_new(char * text, char * pref_name, GList * list)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_account_option_list_new(string text, string pref_name, IntPtr list);
-
- public static PurpleAccountOption AccountOptionListNew(string text, string pref_name, GList list)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_account_option_destroy(PurpleAccountOption * option)
+ *
+ * Could not generate a wrapper for purple_account_option_destroy in file "accountopt.h".
+ * Message: The type could not be resolved (PurpleAccountOption * option).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_account_option_destroy(IntPtr option);
- public static void AccountOptionDestroy(PurpleAccountOption option)
- {
- throw new NotImplementedException();
- }
-
/*
- * void purple_account_option_set_default_bool(PurpleAccountOption * option, gboolean value)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_account_option_set_default_bool(IntPtr option, bool value);
-
- public static void AccountOptionSetDefaultBool(PurpleAccountOption option, bool value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_account_option_set_default_int(PurpleAccountOption * option, int value)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_account_option_set_default_int(IntPtr option, int value);
-
- public static void AccountOptionSetDefaultInt(PurpleAccountOption option, int value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_account_option_set_default_string(PurpleAccountOption * option, char * value)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_account_option_set_default_string(IntPtr option, string value);
-
- public static void AccountOptionSetDefaultString(PurpleAccountOption option, string value)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_account_option_set_masked(PurpleAccountOption * option, gboolean masked)
+ *
+ * Could not generate a wrapper for purple_account_option_set_masked in file "accountopt.h".
+ * Message: The type could not be resolved (PurpleAccountOption * option).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_account_option_set_masked(IntPtr option, bool masked);
- public static void AccountOptionSetMasked(PurpleAccountOption option, bool masked)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_account_option_set_list(PurpleAccountOption * option, GList * values)
+ *
+ * Could not generate a wrapper for purple_account_option_set_list in file "accountopt.h".
+ * Message: The type could not be resolved (PurpleAccountOption * option).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_account_option_set_list(IntPtr option, IntPtr values);
- public static void AccountOptionSetList(PurpleAccountOption option, GList values)
- {
- throw new NotImplementedException();
- }
-
/*
- * void purple_account_option_add_list_item(PurpleAccountOption * option, char * key, char * value)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_account_option_add_list_item(IntPtr option, string key, string value);
-
- public static void AccountOptionAddListItem(PurpleAccountOption option, string key, string value)
- {
- throw new NotImplementedException();
- }
-
- /*
* PurplePrefType purple_account_option_get_type(PurpleAccountOption * option)
+ *
+ * Could not generate a wrapper for purple_account_option_get_type in file "accountopt.h".
+ * Message: The type could not be resolved (PurpleAccountOption * option).
*/
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_account_option_get_type(IntPtr option);
- public static PurplePrefType AccountOptionGetType(PurpleAccountOption option)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_account_option_get_text(PurpleAccountOption * option)
+ *
+ * Could not generate a wrapper for purple_account_option_get_text in file "accountopt.h".
+ * Message: The type could not be resolved (PurpleAccountOption * option).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_account_option_get_text(IntPtr option);
- public static string AccountOptionGetText(PurpleAccountOption option)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_account_option_get_setting(PurpleAccountOption * option)
+ *
+ * Could not generate a wrapper for purple_account_option_get_setting in file "accountopt.h".
+ * Message: The type could not be resolved (PurpleAccountOption * option).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_account_option_get_setting(IntPtr option);
- public static string AccountOptionGetSetting(PurpleAccountOption option)
- {
- throw new NotImplementedException();
- }
-
/*
* gboolean purple_account_option_get_default_bool(PurpleAccountOption * option)
+ *
+ * Could not generate a wrapper for purple_account_option_get_default_bool in file "accountopt.h".
+ * Message: The type could not be resolved (PurpleAccountOption * option).
*/
- [DllImport("libpurple.dll")]
- private static extern bool purple_account_option_get_default_bool(IntPtr option);
- public static bool AccountOptionGetDefaultBool(PurpleAccountOption option)
- {
- throw new NotImplementedException();
- }
-
/*
* int purple_account_option_get_default_int(PurpleAccountOption * option)
+ *
+ * Could not generate a wrapper for purple_account_option_get_default_int in file "accountopt.h".
+ * Message: The type could not be resolved (PurpleAccountOption * option).
*/
- [DllImport("libpurple.dll")]
- private static extern int purple_account_option_get_default_int(IntPtr option);
- public static int AccountOptionGetDefaultInt(PurpleAccountOption option)
- {
- throw new NotImplementedException();
- }
-
/*
- * char * purple_account_option_get_default_string(PurpleAccountOption * option)
- */
- [DllImport("libpurple.dll")]
- private static extern string purple_account_option_get_default_string(IntPtr option);
-
- public static string AccountOptionGetDefaultString(PurpleAccountOption option)
- {
- throw new NotImplementedException();
- }
-
- /*
- * char * purple_account_option_get_default_list_value(PurpleAccountOption * option)
- */
- [DllImport("libpurple.dll")]
- private static extern string purple_account_option_get_default_list_value(IntPtr option);
-
- public static string AccountOptionGetDefaultListValue(PurpleAccountOption option)
- {
- throw new NotImplementedException();
- }
-
- /*
* gboolean purple_account_option_get_masked(PurpleAccountOption * option)
+ *
+ * Could not generate a wrapper for purple_account_option_get_masked in file "accountopt.h".
+ * Message: The type could not be resolved (PurpleAccountOption * option).
*/
- [DllImport("libpurple.dll")]
- private static extern bool purple_account_option_get_masked(IntPtr option);
- public static bool AccountOptionGetMasked(PurpleAccountOption option)
- {
- throw new NotImplementedException();
- }
-
/*
* GList * purple_account_option_get_list(PurpleAccountOption * option)
+ *
+ * Could not generate a wrapper for purple_account_option_get_list in file "accountopt.h".
+ * Message: The type could not be resolved (GList * purple_account_option_get_list(PurpleAccountOption * option)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_account_option_get_list(IntPtr option);
- public static GList AccountOptionGetList(PurpleAccountOption option)
- {
- throw new NotImplementedException();
- }
-
/*
- * PurpleAccountUserSplit * purple_account_user_split_new(char * text, char * default_value, char sep)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_account_user_split_new(string text, string default_value, char sep);
-
- public static PurpleAccountUserSplit AccountUserSplitNew(string text, string default_value, char sep)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_account_user_split_destroy(PurpleAccountUserSplit * split)
+ *
+ * Could not generate a wrapper for purple_account_user_split_destroy in file "accountopt.h".
+ * Message: The type could not be resolved (PurpleAccountUserSplit * split).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_account_user_split_destroy(IntPtr split);
- public static void AccountUserSplitDestroy(PurpleAccountUserSplit split)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_account_user_split_get_text(PurpleAccountUserSplit * split)
+ *
+ * Could not generate a wrapper for purple_account_user_split_get_text in file "accountopt.h".
+ * Message: The type could not be resolved (PurpleAccountUserSplit * split).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_account_user_split_get_text(IntPtr split);
- public static string AccountUserSplitGetText(PurpleAccountUserSplit split)
- {
- throw new NotImplementedException();
- }
-
/*
- * char * purple_account_user_split_get_default_value(PurpleAccountUserSplit * split)
- */
- [DllImport("libpurple.dll")]
- private static extern string purple_account_user_split_get_default_value(IntPtr split);
-
- public static string AccountUserSplitGetDefaultValue(PurpleAccountUserSplit split)
- {
- throw new NotImplementedException();
- }
-
- /*
* char purple_account_user_split_get_separator(PurpleAccountUserSplit * split)
+ *
+ * Could not generate a wrapper for purple_account_user_split_get_separator in file "accountopt.h".
+ * Message: The type could not be resolved (PurpleAccountUserSplit * split).
*/
- [DllImport("libpurple.dll")]
- private static extern char purple_account_user_split_get_separator(IntPtr split);
- public static char AccountUserSplitGetSeparator(PurpleAccountUserSplit split)
- {
- throw new NotImplementedException();
- }
-
/*
* gboolean purple_account_user_split_get_reverse(PurpleAccountUserSplit * split)
+ *
+ * Could not generate a wrapper for purple_account_user_split_get_reverse in file "accountopt.h".
+ * Message: The type could not be resolved (PurpleAccountUserSplit * split).
*/
- [DllImport("libpurple.dll")]
- private static extern bool purple_account_user_split_get_reverse(IntPtr split);
- public static bool AccountUserSplitGetReverse(PurpleAccountUserSplit split)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_account_user_split_set_reverse(PurpleAccountUserSplit * split, gboolean reverse)
+ *
+ * Could not generate a wrapper for purple_account_user_split_set_reverse in file "accountopt.h".
+ * Message: The type could not be resolved (PurpleAccountUserSplit * split).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_account_user_split_set_reverse(IntPtr split, bool reverse);
- public static void AccountUserSplitSetReverse(PurpleAccountUserSplit split, bool reverse)
- {
- throw new NotImplementedException();
- }
-
}
}
============================================================
--- libpurple/wrapper/Blist.cs 0113806aa65037779a4db8efa36f04ece107dc99
+++ libpurple/wrapper/Blist.cs 3205c6bf422ceaa0f02ac281f0afbc21d0683f03
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,6 +40,20 @@ namespace PurpleWrapper
{
public class Blist
{
+ public enum PurpleBlistNodeType
+ {
+ PURPLE_BLIST_GROUP_NODE,
+ PURPLE_BLIST_CONTACT_NODE,
+ PURPLE_BLIST_BUDDY_NODE,
+ PURPLE_BLIST_CHAT_NODE,
+ PURPLE_BLIST_OTHER_NODE
+ };
+
+ public enum PurpleBlistNodeFlags
+ {
+ PURPLE_BLIST_NODE_FLAG_NO_SAVE = 1 << 0
+ };
+
/*
* PurpleBuddyList * purple_blist_new()
*/
@@ -46,7 +62,7 @@ namespace PurpleWrapper
public static PurpleBuddyList New()
{
- throw new NotImplementedException();
+ return new PurpleBuddyList(purple_blist_new());
}
/*
@@ -57,7 +73,7 @@ namespace PurpleWrapper
public static void SetBlist(PurpleBuddyList blist)
{
- throw new NotImplementedException();
+ purple_set_blist(blist.Reference);
}
/*
@@ -68,7 +84,7 @@ namespace PurpleWrapper
public static PurpleBuddyList GetBlist()
{
- throw new NotImplementedException();
+ return new PurpleBuddyList(purple_get_blist());
}
/*
@@ -79,20 +95,16 @@ namespace PurpleWrapper
public static PurpleBlistNode GetRoot()
{
- throw new NotImplementedException();
+ return new PurpleBlistNode(purple_blist_get_root());
}
/*
* GSList * purple_blist_get_buddies()
+ *
+ * Could not generate a wrapper for purple_blist_get_buddies in file "blist.h".
+ * Message: The type could not be resolved (GSList * purple_blist_get_buddies()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_blist_get_buddies();
- public static GSList GetBuddies()
- {
- throw new NotImplementedException();
- }
-
/*
* gpointer purple_blist_get_ui_data()
*/
@@ -101,7 +113,7 @@ namespace PurpleWrapper
public static IntPtr GetUiData()
{
- throw new NotImplementedException();
+ return purple_blist_get_ui_data();
}
/*
@@ -112,7 +124,7 @@ namespace PurpleWrapper
public static void SetUiData(IntPtr ui_data)
{
- throw new NotImplementedException();
+ purple_blist_set_ui_data(ui_data);
}
/*
@@ -123,7 +135,7 @@ namespace PurpleWrapper
public static PurpleBlistNode NodeNext(PurpleBlistNode node, bool offline)
{
- throw new NotImplementedException();
+ return new PurpleBlistNode(purple_blist_node_next(node.Reference, offline));
}
/*
@@ -134,7 +146,7 @@ namespace PurpleWrapper
public static PurpleBlistNode NodeGetParent(PurpleBlistNode node)
{
- throw new NotImplementedException();
+ return new PurpleBlistNode(purple_blist_node_get_parent(node.Reference));
}
/*
@@ -145,7 +157,7 @@ namespace PurpleWrapper
public static PurpleBlistNode NodeGetFirstChild(PurpleBlistNode node)
{
- throw new NotImplementedException();
+ return new PurpleBlistNode(purple_blist_node_get_first_child(node.Reference));
}
/*
@@ -156,7 +168,7 @@ namespace PurpleWrapper
public static PurpleBlistNode NodeGetSiblingNext(PurpleBlistNode node)
{
- throw new NotImplementedException();
+ return new PurpleBlistNode(purple_blist_node_get_sibling_next(node.Reference));
}
/*
@@ -167,7 +179,7 @@ namespace PurpleWrapper
public static PurpleBlistNode NodeGetSiblingPrev(PurpleBlistNode node)
{
- throw new NotImplementedException();
+ return new PurpleBlistNode(purple_blist_node_get_sibling_prev(node.Reference));
}
/*
@@ -178,7 +190,7 @@ namespace PurpleWrapper
public static IntPtr NodeGetUiData(PurpleBlistNode node)
{
- throw new NotImplementedException();
+ return purple_blist_node_get_ui_data(node.Reference);
}
/*
@@ -189,7 +201,7 @@ namespace PurpleWrapper
public static void NodeSetUiData(PurpleBlistNode node, IntPtr ui_data)
{
- throw new NotImplementedException();
+ purple_blist_node_set_ui_data(node.Reference, ui_data);
}
/*
@@ -200,7 +212,7 @@ namespace PurpleWrapper
public static void Show()
{
- throw new NotImplementedException();
+ purple_blist_show();
}
/*
@@ -211,7 +223,7 @@ namespace PurpleWrapper
public static void Destroy()
{
- throw new NotImplementedException();
+ purple_blist_destroy();
}
/*
@@ -222,20 +234,16 @@ namespace PurpleWrapper
public static void SetVisible(bool show)
{
- throw new NotImplementedException();
+ purple_blist_set_visible(show);
}
/*
* void purple_blist_update_buddy_status(PurpleBuddy * buddy, PurpleStatus * old_status)
+ *
+ * Could not generate a wrapper for purple_blist_update_buddy_status in file "blist.h".
+ * Message: The type could not be resolved (PurpleStatus * old_status).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_blist_update_buddy_status(IntPtr buddy, IntPtr old_status);
- public static void UpdateBuddyStatus(PurpleBuddy buddy, PurpleStatus old_status)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_blist_update_node_icon(PurpleBlistNode * node)
*/
@@ -244,7 +252,7 @@ namespace PurpleWrapper
public static void UpdateNodeIcon(PurpleBlistNode node)
{
- throw new NotImplementedException();
+ purple_blist_update_node_icon(node.Reference);
}
/*
@@ -255,7 +263,7 @@ namespace PurpleWrapper
public static void UpdateBuddyIcon(PurpleBuddy buddy)
{
- throw new NotImplementedException();
+ purple_blist_update_buddy_icon(buddy.Reference);
}
/*
@@ -266,7 +274,7 @@ namespace PurpleWrapper
public static void RenameBuddy(PurpleBuddy buddy, string name)
{
- throw new NotImplementedException();
+ purple_blist_rename_buddy(buddy.Reference, name);
}
/*
@@ -277,7 +285,7 @@ namespace PurpleWrapper
public static void AliasContact(PurpleContact contact, string alias)
{
- throw new NotImplementedException();
+ purple_blist_alias_contact(contact.Reference, alias);
}
/*
@@ -288,7 +296,7 @@ namespace PurpleWrapper
public static void AliasBuddy(PurpleBuddy buddy, string alias)
{
- throw new NotImplementedException();
+ purple_blist_alias_buddy(buddy.Reference, alias);
}
/*
@@ -299,7 +307,7 @@ namespace PurpleWrapper
public static void ServerAliasBuddy(PurpleBuddy buddy, string alias)
{
- throw new NotImplementedException();
+ purple_blist_server_alias_buddy(buddy.Reference, alias);
}
/*
@@ -310,7 +318,7 @@ namespace PurpleWrapper
public static void AliasChat(PurpleChat chat, string alias)
{
- throw new NotImplementedException();
+ purple_blist_alias_chat(chat.Reference, alias);
}
/*
@@ -321,20 +329,16 @@ namespace PurpleWrapper
public static void RenameGroup(PurpleGroup group, string name)
{
- throw new NotImplementedException();
+ purple_blist_rename_group(group.Reference, name);
}
/*
* PurpleChat * purple_chat_new(PurpleAccount * account, char * alias, GHashTable * components)
+ *
+ * Could not generate a wrapper for purple_chat_new in file "blist.h".
+ * Message: The type could not be resolved (GHashTable * components).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_chat_new(IntPtr account, string alias, IntPtr components);
- public static PurpleChat ChatNew(PurpleAccount account, string alias, GHashTable components)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_chat_destroy(PurpleChat * chat)
*/
@@ -343,7 +347,7 @@ namespace PurpleWrapper
public static void ChatDestroy(PurpleChat chat)
{
- throw new NotImplementedException();
+ purple_chat_destroy(chat.Reference);
}
/*
@@ -354,7 +358,7 @@ namespace PurpleWrapper
public static void AddChat(PurpleChat chat, PurpleGroup group, PurpleBlistNode node)
{
- throw new NotImplementedException();
+ purple_blist_add_chat(chat.Reference, group.Reference, node.Reference);
}
/*
@@ -365,7 +369,7 @@ namespace PurpleWrapper
public static PurpleBuddy BuddyNew(PurpleAccount account, string name, string alias)
{
- throw new NotImplementedException();
+ return new PurpleBuddy(purple_buddy_new(account.Reference, name, alias));
}
/*
@@ -376,20 +380,16 @@ namespace PurpleWrapper
public static void BuddyDestroy(PurpleBuddy buddy)
{
- throw new NotImplementedException();
+ purple_buddy_destroy(buddy.Reference);
}
/*
* void purple_buddy_set_icon(PurpleBuddy * buddy, PurpleBuddyIcon * icon)
+ *
+ * Could not generate a wrapper for purple_buddy_set_icon in file "blist.h".
+ * Message: The type could not be resolved (PurpleBuddyIcon * icon).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_buddy_set_icon(IntPtr buddy, IntPtr icon);
- public static void BuddySetIcon(PurpleBuddy buddy, PurpleBuddyIcon icon)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleAccount * purple_buddy_get_account(PurpleBuddy * buddy)
*/
@@ -398,7 +398,7 @@ namespace PurpleWrapper
public static PurpleAccount BuddyGetAccount(PurpleBuddy buddy)
{
- throw new NotImplementedException();
+ return new PurpleAccount(purple_buddy_get_account(buddy.Reference));
}
/*
@@ -409,20 +409,16 @@ namespace PurpleWrapper
public static string BuddyGetName(PurpleBuddy buddy)
{
- throw new NotImplementedException();
+ return purple_buddy_get_name(buddy.Reference);
}
/*
* PurpleBuddyIcon * purple_buddy_get_icon(PurpleBuddy * buddy)
+ *
+ * Could not generate a wrapper for purple_buddy_get_icon in file "blist.h".
+ * Message: The type could not be resolved (PurpleBuddyIcon * purple_buddy_get_icon(PurpleBuddy * buddy)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_buddy_get_icon(IntPtr buddy);
- public static PurpleBuddyIcon BuddyGetIcon(PurpleBuddy buddy)
- {
- throw new NotImplementedException();
- }
-
/*
* gpointer purple_buddy_get_protocol_data(PurpleBuddy * buddy)
*/
@@ -431,7 +427,7 @@ namespace PurpleWrapper
public static IntPtr BuddyGetProtocolData(PurpleBuddy buddy)
{
- throw new NotImplementedException();
+ return purple_buddy_get_protocol_data(buddy.Reference);
}
/*
@@ -442,7 +438,7 @@ namespace PurpleWrapper
public static void BuddySetProtocolData(PurpleBuddy buddy, IntPtr data)
{
- throw new NotImplementedException();
+ purple_buddy_set_protocol_data(buddy.Reference, data);
}
/*
@@ -453,20 +449,16 @@ namespace PurpleWrapper
public static PurpleContact BuddyGetContact(PurpleBuddy buddy)
{
- throw new NotImplementedException();
+ return new PurpleContact(purple_buddy_get_contact(buddy.Reference));
}
/*
* PurplePresence * purple_buddy_get_presence(PurpleBuddy * buddy)
+ *
+ * Could not generate a wrapper for purple_buddy_get_presence in file "blist.h".
+ * Message: The type could not be resolved (PurplePresence * purple_buddy_get_presence(PurpleBuddy * buddy)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_buddy_get_presence(IntPtr buddy);
- public static PurplePresence BuddyGetPresence(PurpleBuddy buddy)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_blist_add_buddy(PurpleBuddy * buddy, PurpleContact * contact, PurpleGroup * group, PurpleBlistNode * node)
*/
@@ -475,7 +467,7 @@ namespace PurpleWrapper
public static void AddBuddy(PurpleBuddy buddy, PurpleContact contact, PurpleGroup group, PurpleBlistNode node)
{
- throw new NotImplementedException();
+ purple_blist_add_buddy(buddy.Reference, contact.Reference, group.Reference, node.Reference);
}
/*
@@ -486,7 +478,7 @@ namespace PurpleWrapper
public static PurpleGroup GroupNew(string name)
{
- throw new NotImplementedException();
+ return new PurpleGroup(purple_group_new(name));
}
/*
@@ -497,7 +489,7 @@ namespace PurpleWrapper
public static void GroupDestroy(PurpleGroup group)
{
- throw new NotImplementedException();
+ purple_group_destroy(group.Reference);
}
/*
@@ -508,7 +500,7 @@ namespace PurpleWrapper
public static void AddGroup(PurpleGroup group, PurpleBlistNode node)
{
- throw new NotImplementedException();
+ purple_blist_add_group(group.Reference, node.Reference);
}
/*
@@ -519,7 +511,7 @@ namespace PurpleWrapper
public static PurpleContact ContactNew()
{
- throw new NotImplementedException();
+ return new PurpleContact(purple_contact_new());
}
/*
@@ -530,7 +522,7 @@ namespace PurpleWrapper
public static void ContactDestroy(PurpleContact contact)
{
- throw new NotImplementedException();
+ purple_contact_destroy(contact.Reference);
}
/*
@@ -541,7 +533,7 @@ namespace PurpleWrapper
public static void AddContact(PurpleContact contact, PurpleGroup group, PurpleBlistNode node)
{
- throw new NotImplementedException();
+ purple_blist_add_contact(contact.Reference, group.Reference, node.Reference);
}
/*
@@ -552,7 +544,7 @@ namespace PurpleWrapper
public static void MergeContact(PurpleContact source, PurpleBlistNode node)
{
- throw new NotImplementedException();
+ purple_blist_merge_contact(source.Reference, node.Reference);
}
/*
@@ -563,7 +555,7 @@ namespace PurpleWrapper
public static PurpleBuddy ContactGetPriorityBuddy(PurpleContact contact)
{
- throw new NotImplementedException();
+ return new PurpleBuddy(purple_contact_get_priority_buddy(contact.Reference));
}
/*
@@ -574,7 +566,7 @@ namespace PurpleWrapper
public static void ContactSetAlias(PurpleContact contact, string alias)
{
- throw new NotImplementedException();
+ purple_contact_set_alias(contact.Reference, alias);
}
/*
@@ -585,7 +577,7 @@ namespace PurpleWrapper
public static string ContactGetAlias(PurpleContact contact)
{
- throw new NotImplementedException();
+ return purple_contact_get_alias(contact.Reference);
}
/*
@@ -596,7 +588,7 @@ namespace PurpleWrapper
public static bool ContactOnAccount(PurpleContact contact, PurpleAccount account)
{
- throw new NotImplementedException();
+ return purple_contact_on_account(contact.Reference, account.Reference);
}
/*
@@ -607,7 +599,7 @@ namespace PurpleWrapper
public static void ContactInvalidatePriorityBuddy(PurpleContact contact)
{
- throw new NotImplementedException();
+ purple_contact_invalidate_priority_buddy(contact.Reference);
}
/*
@@ -618,7 +610,7 @@ namespace PurpleWrapper
public static void RemoveBuddy(PurpleBuddy buddy)
{
- throw new NotImplementedException();
+ purple_blist_remove_buddy(buddy.Reference);
}
/*
@@ -629,7 +621,7 @@ namespace PurpleWrapper
public static void RemoveContact(PurpleContact contact)
{
- throw new NotImplementedException();
+ purple_blist_remove_contact(contact.Reference);
}
/*
@@ -640,7 +632,7 @@ namespace PurpleWrapper
public static void RemoveChat(PurpleChat chat)
{
- throw new NotImplementedException();
+ purple_blist_remove_chat(chat.Reference);
}
/*
@@ -651,7 +643,7 @@ namespace PurpleWrapper
public static void RemoveGroup(PurpleGroup group)
{
- throw new NotImplementedException();
+ purple_blist_remove_group(group.Reference);
}
/*
@@ -662,7 +654,7 @@ namespace PurpleWrapper
public static string BuddyGetAliasOnly(PurpleBuddy buddy)
{
- throw new NotImplementedException();
+ return purple_buddy_get_alias_only(buddy.Reference);
}
/*
@@ -673,7 +665,7 @@ namespace PurpleWrapper
public static string BuddyGetServerAlias(PurpleBuddy buddy)
{
- throw new NotImplementedException();
+ return purple_buddy_get_server_alias(buddy.Reference);
}
/*
@@ -684,7 +676,7 @@ namespace PurpleWrapper
public static string BuddyGetContactAlias(PurpleBuddy buddy)
{
- throw new NotImplementedException();
+ return purple_buddy_get_contact_alias(buddy.Reference);
}
/*
@@ -695,7 +687,7 @@ namespace PurpleWrapper
public static string BuddyGetLocalAlias(PurpleBuddy buddy)
{
- throw new NotImplementedException();
+ return purple_buddy_get_local_alias(buddy.Reference);
}
/*
@@ -706,7 +698,7 @@ namespace PurpleWrapper
public static string BuddyGetAlias(PurpleBuddy buddy)
{
- throw new NotImplementedException();
+ return purple_buddy_get_alias(buddy.Reference);
}
/*
@@ -717,7 +709,7 @@ namespace PurpleWrapper
public static string BuddyGetLocalBuddyAlias(PurpleBuddy buddy)
{
- throw new NotImplementedException();
+ return purple_buddy_get_local_buddy_alias(buddy.Reference);
}
/*
@@ -728,7 +720,7 @@ namespace PurpleWrapper
public static string ChatGetName(PurpleChat chat)
{
- throw new NotImplementedException();
+ return purple_chat_get_name(chat.Reference);
}
/*
@@ -739,31 +731,16 @@ namespace PurpleWrapper
public static PurpleBuddy FindBuddy(PurpleAccount account, string name)
{
- throw new NotImplementedException();
+ return new PurpleBuddy(purple_find_buddy(account.Reference, name));
}
/*
- * PurpleBuddy * purple_find_buddy_in_group(PurpleAccount * account, char * name, PurpleGroup * group)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_find_buddy_in_group(IntPtr account, string name, IntPtr group);
-
- public static PurpleBuddy FindBuddyInGroup(PurpleAccount account, string name, PurpleGroup group)
- {
- throw new NotImplementedException();
- }
-
- /*
* GSList * purple_find_buddies(PurpleAccount * account, char * name)
+ *
+ * Could not generate a wrapper for purple_find_buddies in file "blist.h".
+ * Message: The type could not be resolved (GSList * purple_find_buddies(PurpleAccount * account, char * name)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_find_buddies(IntPtr account, string name);
- public static GSList FindBuddies(PurpleAccount account, string name)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleGroup * purple_find_group(char * name)
*/
@@ -772,7 +749,7 @@ namespace PurpleWrapper
public static PurpleGroup FindGroup(string name)
{
- throw new NotImplementedException();
+ return new PurpleGroup(purple_find_group(name));
}
/*
@@ -783,7 +760,7 @@ namespace PurpleWrapper
public static PurpleChat FindChat(PurpleAccount account, string name)
{
- throw new NotImplementedException();
+ return new PurpleChat(purple_blist_find_chat(account.Reference, name));
}
/*
@@ -794,7 +771,7 @@ namespace PurpleWrapper
public static PurpleGroup ChatGetGroup(PurpleChat chat)
{
- throw new NotImplementedException();
+ return new PurpleGroup(purple_chat_get_group(chat.Reference));
}
/*
@@ -805,20 +782,16 @@ namespace PurpleWrapper
public static PurpleAccount ChatGetAccount(PurpleChat chat)
{
- throw new NotImplementedException();
+ return new PurpleAccount(purple_chat_get_account(chat.Reference));
}
/*
* GHashTable * purple_chat_get_components(PurpleChat * chat)
+ *
+ * Could not generate a wrapper for purple_chat_get_components in file "blist.h".
+ * Message: The type could not be resolved (GHashTable * purple_chat_get_components(PurpleChat * chat)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_chat_get_components(IntPtr chat);
- public static GHashTable ChatGetComponents(PurpleChat chat)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleGroup * purple_buddy_get_group(PurpleBuddy * buddy)
*/
@@ -827,20 +800,16 @@ namespace PurpleWrapper
public static PurpleGroup BuddyGetGroup(PurpleBuddy buddy)
{
- throw new NotImplementedException();
+ return new PurpleGroup(purple_buddy_get_group(buddy.Reference));
}
/*
* GSList * purple_group_get_accounts(PurpleGroup * g)
+ *
+ * Could not generate a wrapper for purple_group_get_accounts in file "blist.h".
+ * Message: The type could not be resolved (GSList * purple_group_get_accounts(PurpleGroup * g)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_group_get_accounts(IntPtr g);
- public static GSList GroupGetAccounts(PurpleGroup g)
- {
- throw new NotImplementedException();
- }
-
/*
* gboolean purple_group_on_account(PurpleGroup * g, PurpleAccount * account)
*/
@@ -849,7 +818,7 @@ namespace PurpleWrapper
public static bool GroupOnAccount(PurpleGroup g, PurpleAccount account)
{
- throw new NotImplementedException();
+ return purple_group_on_account(g.Reference, account.Reference);
}
/*
@@ -860,7 +829,7 @@ namespace PurpleWrapper
public static string GroupGetName(PurpleGroup group)
{
- throw new NotImplementedException();
+ return purple_group_get_name(group.Reference);
}
/*
@@ -871,7 +840,7 @@ namespace PurpleWrapper
public static void AddAccount(PurpleAccount account)
{
- throw new NotImplementedException();
+ purple_blist_add_account(account.Reference);
}
/*
@@ -882,7 +851,7 @@ namespace PurpleWrapper
public static void RemoveAccount(PurpleAccount account)
{
- throw new NotImplementedException();
+ purple_blist_remove_account(account.Reference);
}
/*
@@ -893,7 +862,7 @@ namespace PurpleWrapper
public static int GetGroupSize(PurpleGroup group, bool offline)
{
- throw new NotImplementedException();
+ return purple_blist_get_group_size(group.Reference, offline);
}
/*
@@ -904,7 +873,7 @@ namespace PurpleWrapper
public static int GetGroupOnlineCount(PurpleGroup group)
{
- throw new NotImplementedException();
+ return purple_blist_get_group_online_count(group.Reference);
}
/*
@@ -915,7 +884,7 @@ namespace PurpleWrapper
public static void Load()
{
- throw new NotImplementedException();
+ purple_blist_load();
}
/*
@@ -926,32 +895,10 @@ namespace PurpleWrapper
public static void ScheduleSave()
{
- throw new NotImplementedException();
+ purple_blist_schedule_save();
}
/*
- * void purple_blist_request_add_buddy(PurpleAccount * account, char * username, char * group, char * alias)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_blist_request_add_buddy(IntPtr account, string username, string group, string alias);
-
- public static void RequestAddBuddy(PurpleAccount account, string username, string group, string alias)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_blist_request_add_chat(PurpleAccount * account, PurpleGroup * group, char * alias, char * name)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_blist_request_add_chat(IntPtr account, IntPtr group, string alias, string name);
-
- public static void RequestAddChat(PurpleAccount account, PurpleGroup group, string alias, string name)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_blist_request_add_group()
*/
[DllImport("libpurple.dll")]
@@ -959,7 +906,7 @@ namespace PurpleWrapper
public static void RequestAddGroup()
{
- throw new NotImplementedException();
+ purple_blist_request_add_group();
}
/*
@@ -970,7 +917,7 @@ namespace PurpleWrapper
public static void NodeSetBool(PurpleBlistNode node, string key, bool value)
{
- throw new NotImplementedException();
+ purple_blist_node_set_bool(node.Reference, key, value);
}
/*
@@ -981,7 +928,7 @@ namespace PurpleWrapper
public static bool NodeGetBool(PurpleBlistNode node, string key)
{
- throw new NotImplementedException();
+ return purple_blist_node_get_bool(node.Reference, key);
}
/*
@@ -992,7 +939,7 @@ namespace PurpleWrapper
public static void NodeSetInt(PurpleBlistNode node, string key, int value)
{
- throw new NotImplementedException();
+ purple_blist_node_set_int(node.Reference, key, value);
}
/*
@@ -1003,21 +950,10 @@ namespace PurpleWrapper
public static int NodeGetInt(PurpleBlistNode node, string key)
{
- throw new NotImplementedException();
+ return purple_blist_node_get_int(node.Reference, key);
}
/*
- * void purple_blist_node_set_string(PurpleBlistNode * node, char * key, char * value)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_blist_node_set_string(IntPtr node, string key, string value);
-
- public static void NodeSetString(PurpleBlistNode node, string key, string value)
- {
- throw new NotImplementedException();
- }
-
- /*
* char * purple_blist_node_get_string(PurpleBlistNode * node, char * key)
*/
[DllImport("libpurple.dll")]
@@ -1025,7 +961,7 @@ namespace PurpleWrapper
public static string NodeGetString(PurpleBlistNode node, string key)
{
- throw new NotImplementedException();
+ return purple_blist_node_get_string(node.Reference, key);
}
/*
@@ -1036,17 +972,18 @@ namespace PurpleWrapper
public static void NodeRemoveSetting(PurpleBlistNode node, string key)
{
- throw new NotImplementedException();
+ purple_blist_node_remove_setting(node.Reference, key);
}
/*
* void purple_blist_node_set_flags(PurpleBlistNode * node, PurpleBlistNodeFlags flags)
*/
[DllImport("libpurple.dll")]
- private static extern void purple_blist_node_set_flags(IntPtr node, UNKNOWN flags);
+ private static extern void purple_blist_node_set_flags(IntPtr node, Blist.PurpleBlistNodeFlags flags);
- public static void NodeSetFlags(PurpleBlistNode node, PurpleBlistNodeFlags flags)
+ public static void NodeSetFlags(PurpleBlistNode node, Blist.PurpleBlistNodeFlags flags)
{
+ /* Unable to process flags, a KnownEnum. */
throw new NotImplementedException();
}
@@ -1054,35 +991,33 @@ namespace PurpleWrapper
* PurpleBlistNodeFlags purple_blist_node_get_flags(PurpleBlistNode * node)
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_blist_node_get_flags(IntPtr node);
+ private static extern Blist.PurpleBlistNodeFlags purple_blist_node_get_flags(IntPtr node);
- public static PurpleBlistNodeFlags NodeGetFlags(PurpleBlistNode node)
+ public static Blist.PurpleBlistNodeFlags NodeGetFlags(PurpleBlistNode node)
{
- throw new NotImplementedException();
+ /* Unable to process purple_blist_node_get_flags, a KnownEnum. */
+
}
/*
* PurpleBlistNodeType purple_blist_node_get_type(PurpleBlistNode * node)
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_blist_node_get_type(IntPtr node);
+ private static extern Blist.PurpleBlistNodeType purple_blist_node_get_type(IntPtr node);
- public static PurpleBlistNodeType NodeGetType(PurpleBlistNode node)
+ public static Blist.PurpleBlistNodeType NodeGetType(PurpleBlistNode node)
{
- throw new NotImplementedException();
+ /* Unable to process purple_blist_node_get_type, a KnownEnum. */
+
}
/*
* GList * purple_blist_node_get_extended_menu(PurpleBlistNode * n)
+ *
+ * Could not generate a wrapper for purple_blist_node_get_extended_menu in file "blist.h".
+ * Message: The type could not be resolved (GList * purple_blist_node_get_extended_menu(PurpleBlistNode * n)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_blist_node_get_extended_menu(IntPtr n);
- public static GList NodeGetExtendedMenu(PurpleBlistNode n)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_blist_set_ui_ops(PurpleBlistUiOps * ops)
*/
@@ -1091,7 +1026,7 @@ namespace PurpleWrapper
public static void SetUiOps(PurpleBlistUiOps ops)
{
- throw new NotImplementedException();
+ purple_blist_set_ui_ops(ops.Reference);
}
/*
@@ -1102,7 +1037,7 @@ namespace PurpleWrapper
public static PurpleBlistUiOps GetUiOps()
{
- throw new NotImplementedException();
+ return new PurpleBlistUiOps(purple_blist_get_ui_ops());
}
/*
@@ -1113,7 +1048,7 @@ namespace PurpleWrapper
public static IntPtr GetHandle()
{
- throw new NotImplementedException();
+ return purple_blist_get_handle();
}
/*
@@ -1124,7 +1059,7 @@ namespace PurpleWrapper
public static void Init()
{
- throw new NotImplementedException();
+ purple_blist_init();
}
/*
@@ -1135,7 +1070,7 @@ namespace PurpleWrapper
public static void Uninit()
{
- throw new NotImplementedException();
+ purple_blist_uninit();
}
}
============================================================
--- libpurple/wrapper/Buddyicon.cs 5d7cba7346a131a30cfac1ae7dbb14793aa288db
+++ libpurple/wrapper/Buddyicon.cs 8948ae8b83ecc0afe85bc840b8a51b79959e7f07
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -39,146 +41,103 @@ namespace PurpleWrapper
public class Buddyicon
{
/*
- * PurpleBuddyIcon * purple_buddy_icon_new(PurpleAccount * account, char * username, void * icon_data, size_t icon_len, char * checksum)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_buddy_icon_new(IntPtr account, string username, IntPtr icon_data, UNKNOWN icon_len, string checksum);
-
- public static PurpleBuddyIcon BuddyIconNew(PurpleAccount account, string username, IntPtr icon_data, size_t icon_len, string checksum)
- {
- throw new NotImplementedException();
- }
-
- /*
* PurpleBuddyIcon * purple_buddy_icon_ref(PurpleBuddyIcon * icon)
+ *
+ * Could not generate a wrapper for purple_buddy_icon_ref in file "buddyicon.h".
+ * Message: The type could not be resolved (PurpleBuddyIcon * purple_buddy_icon_ref(PurpleBuddyIcon * icon)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_buddy_icon_ref(IntPtr icon);
- public static PurpleBuddyIcon BuddyIconRef(PurpleBuddyIcon icon)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleBuddyIcon * purple_buddy_icon_unref(PurpleBuddyIcon * icon)
+ *
+ * Could not generate a wrapper for purple_buddy_icon_unref in file "buddyicon.h".
+ * Message: The type could not be resolved (PurpleBuddyIcon * purple_buddy_icon_unref(PurpleBuddyIcon * icon)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_buddy_icon_unref(IntPtr icon);
- public static PurpleBuddyIcon BuddyIconUnref(PurpleBuddyIcon icon)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_buddy_icon_update(PurpleBuddyIcon * icon)
+ *
+ * Could not generate a wrapper for purple_buddy_icon_update in file "buddyicon.h".
+ * Message: The type could not be resolved (PurpleBuddyIcon * icon).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_buddy_icon_update(IntPtr icon);
- public static void BuddyIconUpdate(PurpleBuddyIcon icon)
- {
- throw new NotImplementedException();
- }
-
/*
- * void purple_buddy_icon_set_data(PurpleBuddyIcon * icon, guchar * data, size_t len, char * checksum)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_buddy_icon_set_data(IntPtr icon, IntPtr data, UNKNOWN len, string checksum);
-
- public static void BuddyIconSetData(PurpleBuddyIcon icon, guchar data, size_t len, string checksum)
- {
- throw new NotImplementedException();
- }
-
- /*
* PurpleAccount * purple_buddy_icon_get_account(PurpleBuddyIcon * icon)
+ *
+ * Could not generate a wrapper for purple_buddy_icon_get_account in file "buddyicon.h".
+ * Message: The type could not be resolved (PurpleBuddyIcon * icon).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_buddy_icon_get_account(IntPtr icon);
- public static PurpleAccount BuddyIconGetAccount(PurpleBuddyIcon icon)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_buddy_icon_get_username(PurpleBuddyIcon * icon)
+ *
+ * Could not generate a wrapper for purple_buddy_icon_get_username in file "buddyicon.h".
+ * Message: The type could not be resolved (PurpleBuddyIcon * icon).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_buddy_icon_get_username(IntPtr icon);
- public static string BuddyIconGetUsername(PurpleBuddyIcon icon)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_buddy_icon_get_checksum(PurpleBuddyIcon * icon)
+ *
+ * Could not generate a wrapper for purple_buddy_icon_get_checksum in file "buddyicon.h".
+ * Message: The type could not be resolved (PurpleBuddyIcon * icon).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_buddy_icon_get_checksum(IntPtr icon);
- public static string BuddyIconGetChecksum(PurpleBuddyIcon icon)
- {
- throw new NotImplementedException();
- }
-
/*
* gconstpointer purple_buddy_icon_get_data(PurpleBuddyIcon * icon, size_t * len)
+ *
+ * Could not generate a wrapper for purple_buddy_icon_get_data in file "buddyicon.h".
+ * Message: The type could not be resolved (PurpleBuddyIcon * icon).
*/
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_buddy_icon_get_data(IntPtr icon, IntPtr len);
- public static gconstpointer BuddyIconGetData(PurpleBuddyIcon icon, size_t len)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_buddy_icon_get_extension(PurpleBuddyIcon * icon)
+ *
+ * Could not generate a wrapper for purple_buddy_icon_get_extension in file "buddyicon.h".
+ * Message: The type could not be resolved (PurpleBuddyIcon * icon).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_buddy_icon_get_extension(IntPtr icon);
- public static string BuddyIconGetExtension(PurpleBuddyIcon icon)
- {
- throw new NotImplementedException();
- }
+ /*
+ * char * purple_buddy_icon_get_full_path(PurpleBuddyIcon * icon)
+ *
+ * Could not generate a wrapper for purple_buddy_icon_get_full_path in file "buddyicon.h".
+ * Message: The type could not be resolved (PurpleBuddyIcon * icon).
+ */
/*
- * char * purple_buddy_icon_get_full_path(PurpleBuddyIcon * icon)
+ * char * purple_buddy_icons_get_checksum_for_user(PurpleBuddy * buddy)
*/
[DllImport("libpurple.dll")]
- private static extern string purple_buddy_icon_get_full_path(IntPtr icon);
+ private static extern string purple_buddy_icons_get_checksum_for_user(IntPtr buddy);
- public static string BuddyIconGetFullPath(PurpleBuddyIcon icon)
+ public static string BuddyIconsGetChecksumForUser(PurpleBuddy buddy)
{
- throw new NotImplementedException();
+ return purple_buddy_icons_get_checksum_for_user(buddy.Reference);
}
/*
- * void purple_buddy_icons_set_for_user(PurpleAccount * account, char * username, void * icon_data, size_t icon_len, char * checksum)
+ * PurpleBuddyIcon * purple_buddy_icons_find(PurpleAccount * account, char * username)
+ *
+ * Could not generate a wrapper for purple_buddy_icons_find in file "buddyicon.h".
+ * Message: The type could not be resolved (PurpleBuddyIcon * purple_buddy_icons_find(PurpleAccount * account, char * username)).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_buddy_icons_set_for_user(IntPtr account, string username, IntPtr icon_data, UNKNOWN icon_len, string checksum);
- public static void BuddyIconsSetForUser(PurpleAccount account, string username, IntPtr icon_data, size_t icon_len, string checksum)
- {
- throw new NotImplementedException();
- }
+ /*
+ * PurpleStoredImage * purple_buddy_icons_find_account_icon(PurpleAccount * account)
+ *
+ * Could not generate a wrapper for purple_buddy_icons_find_account_icon in file "buddyicon.h".
+ * Message: The type could not be resolved (PurpleStoredImage * purple_buddy_icons_find_account_icon(PurpleAccount * account)).
+ */
/*
* time_t purple_buddy_icons_get_account_icon_timestamp(PurpleAccount * account)
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_buddy_icons_get_account_icon_timestamp(IntPtr account);
+ private static extern ulong purple_buddy_icons_get_account_icon_timestamp(IntPtr account);
- public static time_t BuddyIconsGetAccountIconTimestamp(PurpleAccount account)
+ public static DateTime BuddyIconsGetAccountIconTimestamp(PurpleAccount account)
{
- throw new NotImplementedException();
+ /* Unable to process purple_buddy_icons_get_account_icon_timestamp, a DateTime. */
+
}
/*
@@ -189,10 +148,17 @@ namespace PurpleWrapper
public static bool BuddyIconsNodeHasCustomIcon(PurpleBlistNode node)
{
- throw new NotImplementedException();
+ return purple_buddy_icons_node_has_custom_icon(node.Reference);
}
/*
+ * PurpleStoredImage * purple_buddy_icons_node_find_custom_icon(PurpleBlistNode * node)
+ *
+ * Could not generate a wrapper for purple_buddy_icons_node_find_custom_icon in file "buddyicon.h".
+ * Message: The type could not be resolved (PurpleStoredImage * purple_buddy_icons_node_find_custom_icon(PurpleBlistNode * node)).
+ */
+
+ /*
* gboolean purple_buddy_icons_has_custom_icon(PurpleContact * contact)
*/
[DllImport("libpurple.dll")]
@@ -200,10 +166,17 @@ namespace PurpleWrapper
public static bool BuddyIconsHasCustomIcon(PurpleContact contact)
{
- throw new NotImplementedException();
+ return purple_buddy_icons_has_custom_icon(contact.Reference);
}
/*
+ * PurpleStoredImage * purple_buddy_icons_find_custom_icon(PurpleContact * contact)
+ *
+ * Could not generate a wrapper for purple_buddy_icons_find_custom_icon in file "buddyicon.h".
+ * Message: The type could not be resolved (PurpleStoredImage * purple_buddy_icons_find_custom_icon(PurpleContact * contact)).
+ */
+
+ /*
* void purple_buddy_icons_set_caching(gboolean caching)
*/
[DllImport("libpurple.dll")]
@@ -211,7 +184,7 @@ namespace PurpleWrapper
public static void BuddyIconsSetCaching(bool caching)
{
- throw new NotImplementedException();
+ purple_buddy_icons_set_caching(caching);
}
/*
@@ -222,7 +195,7 @@ namespace PurpleWrapper
public static bool BuddyIconsIsCaching()
{
- throw new NotImplementedException();
+ return purple_buddy_icons_is_caching();
}
/*
@@ -233,7 +206,7 @@ namespace PurpleWrapper
public static void BuddyIconsSetCacheDir(string cache_dir)
{
- throw new NotImplementedException();
+ purple_buddy_icons_set_cache_dir(cache_dir);
}
/*
@@ -244,7 +217,7 @@ namespace PurpleWrapper
public static string BuddyIconsGetCacheDir()
{
- throw new NotImplementedException();
+ return purple_buddy_icons_get_cache_dir();
}
/*
@@ -255,7 +228,7 @@ namespace PurpleWrapper
public static IntPtr BuddyIconsGetHandle()
{
- throw new NotImplementedException();
+ return purple_buddy_icons_get_handle();
}
/*
@@ -266,7 +239,7 @@ namespace PurpleWrapper
public static void BuddyIconsInit()
{
- throw new NotImplementedException();
+ purple_buddy_icons_init();
}
/*
@@ -277,20 +250,16 @@ namespace PurpleWrapper
public static void BuddyIconsUninit()
{
- throw new NotImplementedException();
+ purple_buddy_icons_uninit();
}
/*
* void purple_buddy_icon_get_scale_size(PurpleBuddyIconSpec * spec, int * width, int * height)
+ *
+ * Could not generate a wrapper for purple_buddy_icon_get_scale_size in file "buddyicon.h".
+ * Message: The type could not be resolved (int * width).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_buddy_icon_get_scale_size(IntPtr spec, IntPtr width, IntPtr height);
- public static void BuddyIconGetScaleSize(PurpleBuddyIconSpec spec, int width, int height)
- {
- throw new NotImplementedException();
- }
-
}
}
============================================================
--- libpurple/wrapper/Certificate.cs c79e19d18abec5ebde4e742efd09f948b967ee7f
+++ libpurple/wrapper/Certificate.cs 5df1df5589dc6cb06f374c96c6cff7fb7e744c75
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,28 +40,30 @@ namespace PurpleWrapper
{
public class Certificate
{
+ public enum PurpleCertificateVerificationStatus
+ {
+ PURPLE_CERTIFICATE_INVALID = 0,
+ PURPLE_CERTIFICATE_VALID = 1
+ };
+
/*
- * void purple_certificate_verify(PurpleCertificateVerifier * verifier, gchar * subject_name, GList * cert_chain, PurpleCertificateVerifiedCallback cb, gpointer cb_data)
+ * PurpleCertificate * purple_certificate_copy(PurpleCertificate * crt)
*/
[DllImport("libpurple.dll")]
- private static extern void purple_certificate_verify(IntPtr verifier, string subject_name, IntPtr cert_chain, UNKNOWN cb, IntPtr cb_data);
+ private static extern IntPtr purple_certificate_copy(IntPtr crt);
- public static void Verify(PurpleCertificateVerifier verifier, string subject_name, GList cert_chain, PurpleCertificateVerifiedCallback cb, IntPtr cb_data)
+ public static PurpleCertificate Copy(PurpleCertificate crt)
{
- throw new NotImplementedException();
+ return new PurpleCertificate(purple_certificate_copy(crt.Reference));
}
/*
- * void purple_certificate_verify_complete(PurpleCertificateVerificationRequest * vrq, PurpleCertificateVerificationStatus st)
+ * GList * purple_certificate_copy_list(GList * crt_list)
+ *
+ * Could not generate a wrapper for purple_certificate_copy_list in file "certificate.h".
+ * Message: The type could not be resolved (GList * purple_certificate_copy_list(GList * crt_list)).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_certificate_verify_complete(IntPtr vrq, UNKNOWN st);
- public static void VerifyComplete(PurpleCertificateVerificationRequest vrq, PurpleCertificateVerificationStatus st)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_certificate_destroy(PurpleCertificate * crt)
*/
@@ -68,20 +72,16 @@ namespace PurpleWrapper
public static void Destroy(PurpleCertificate crt)
{
- throw new NotImplementedException();
+ purple_certificate_destroy(crt.Reference);
}
/*
- * void purple_certificate_destroy_list( )
+ * void purple_certificate_destroy_list(GList * crt_list)
+ *
+ * Could not generate a wrapper for purple_certificate_destroy_list in file "certificate.h".
+ * Message: The type could not be resolved (GList * crt_list).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_certificate_destroy_list(UNKNOWN );
- public static void DestroyList( )
- {
- throw new NotImplementedException();
- }
-
/*
* gboolean purple_certificate_signed_by(PurpleCertificate * crt, PurpleCertificate * issuer)
*/
@@ -90,18 +90,25 @@ namespace PurpleWrapper
public static bool SignedBy(PurpleCertificate crt, PurpleCertificate issuer)
{
- throw new NotImplementedException();
+ return purple_certificate_signed_by(crt.Reference, issuer.Reference);
}
/*
* gboolean purple_certificate_check_signature_chain(GList * chain)
+ *
+ * Could not generate a wrapper for purple_certificate_check_signature_chain in file "certificate.h".
+ * Message: The type could not be resolved (GList * chain).
*/
+
+ /*
+ * PurpleCertificate * purple_certificate_import(PurpleCertificateScheme * scheme, gchar * filename)
+ */
[DllImport("libpurple.dll")]
- private static extern bool purple_certificate_check_signature_chain(IntPtr chain);
+ private static extern IntPtr purple_certificate_import(IntPtr scheme, string filename);
- public static bool CheckSignatureChain(GList chain)
+ public static PurpleCertificate Import(PurpleCertificateScheme scheme, string filename)
{
- throw new NotImplementedException();
+ return new PurpleCertificate(purple_certificate_import(scheme.Reference, filename));
}
/*
@@ -112,10 +119,50 @@ namespace PurpleWrapper
public static bool Export(string filename, PurpleCertificate crt)
{
- throw new NotImplementedException();
+ return purple_certificate_export(filename, crt.Reference);
}
/*
+ * GByteArray * purple_certificate_get_fingerprint_sha1(PurpleCertificate * crt)
+ *
+ * Could not generate a wrapper for purple_certificate_get_fingerprint_sha1 in file "certificate.h".
+ * Message: The type could not be resolved (GByteArray * purple_certificate_get_fingerprint_sha1(PurpleCertificate * crt)).
+ */
+
+ /*
+ * gchar * purple_certificate_get_unique_id(PurpleCertificate * crt)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_certificate_get_unique_id(IntPtr crt);
+
+ public static string GetUniqueId(PurpleCertificate crt)
+ {
+ return purple_certificate_get_unique_id(crt.Reference);
+ }
+
+ /*
+ * gchar * purple_certificate_get_issuer_unique_id(PurpleCertificate * crt)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_certificate_get_issuer_unique_id(IntPtr crt);
+
+ public static string GetIssuerUniqueId(PurpleCertificate crt)
+ {
+ return purple_certificate_get_issuer_unique_id(crt.Reference);
+ }
+
+ /*
+ * gchar * purple_certificate_get_subject_name(PurpleCertificate * crt)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_certificate_get_subject_name(IntPtr crt);
+
+ public static string GetSubjectName(PurpleCertificate crt)
+ {
+ return purple_certificate_get_subject_name(crt.Reference);
+ }
+
+ /*
* gboolean purple_certificate_check_subject_name(PurpleCertificate * crt, gchar * name)
*/
[DllImport("libpurple.dll")]
@@ -123,18 +170,25 @@ namespace PurpleWrapper
public static bool CheckSubjectName(PurpleCertificate crt, string name)
{
- throw new NotImplementedException();
+ return purple_certificate_check_subject_name(crt.Reference, name);
}
/*
* gboolean purple_certificate_get_times(PurpleCertificate * crt, time_t * activation, time_t * expiration)
+ *
+ * Could not generate a wrapper for purple_certificate_get_times in file "certificate.h".
+ * Message: The type could not be resolved (time_t * activation).
*/
+
+ /*
+ * gchar * purple_certificate_pool_mkpath(PurpleCertificatePool * pool, gchar * id)
+ */
[DllImport("libpurple.dll")]
- private static extern bool purple_certificate_get_times(IntPtr crt, IntPtr activation, IntPtr expiration);
+ private static extern string purple_certificate_pool_mkpath(IntPtr pool, string id);
- public static bool GetTimes(PurpleCertificate crt, time_t activation, time_t expiration)
+ public static string PoolMkpath(PurpleCertificatePool pool, string id)
{
- throw new NotImplementedException();
+ return purple_certificate_pool_mkpath(pool.Reference, id);
}
/*
@@ -145,10 +199,21 @@ namespace PurpleWrapper
public static bool PoolUsable(PurpleCertificatePool pool)
{
- throw new NotImplementedException();
+ return purple_certificate_pool_usable(pool.Reference);
}
/*
+ * PurpleCertificateScheme * purple_certificate_pool_get_scheme(PurpleCertificatePool * pool)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_certificate_pool_get_scheme(IntPtr pool);
+
+ public static PurpleCertificateScheme PoolGetScheme(PurpleCertificatePool pool)
+ {
+ return new PurpleCertificateScheme(purple_certificate_pool_get_scheme(pool.Reference));
+ }
+
+ /*
* gboolean purple_certificate_pool_contains(PurpleCertificatePool * pool, gchar * id)
*/
[DllImport("libpurple.dll")]
@@ -156,10 +221,21 @@ namespace PurpleWrapper
public static bool PoolContains(PurpleCertificatePool pool, string id)
{
- throw new NotImplementedException();
+ return purple_certificate_pool_contains(pool.Reference, id);
}
/*
+ * PurpleCertificate * purple_certificate_pool_retrieve(PurpleCertificatePool * pool, gchar * id)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_certificate_pool_retrieve(IntPtr pool, string id);
+
+ public static PurpleCertificate PoolRetrieve(PurpleCertificatePool pool, string id)
+ {
+ return new PurpleCertificate(purple_certificate_pool_retrieve(pool.Reference, id));
+ }
+
+ /*
* gboolean purple_certificate_pool_store(PurpleCertificatePool * pool, gchar * id, PurpleCertificate * crt)
*/
[DllImport("libpurple.dll")]
@@ -167,7 +243,7 @@ namespace PurpleWrapper
public static bool PoolStore(PurpleCertificatePool pool, string id, PurpleCertificate crt)
{
- throw new NotImplementedException();
+ return purple_certificate_pool_store(pool.Reference, id, crt.Reference);
}
/*
@@ -178,19 +254,22 @@ namespace PurpleWrapper
public static bool PoolDelete(PurpleCertificatePool pool, string id)
{
- throw new NotImplementedException();
+ return purple_certificate_pool_delete(pool.Reference, id);
}
/*
- * void purple_certificate_pool_destroy_idlist(GList * idlist)
+ * GList * purple_certificate_pool_get_idlist(PurpleCertificatePool * pool)
+ *
+ * Could not generate a wrapper for purple_certificate_pool_get_idlist in file "certificate.h".
+ * Message: The type could not be resolved (GList * purple_certificate_pool_get_idlist(PurpleCertificatePool * pool)).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_certificate_pool_destroy_idlist(IntPtr idlist);
- public static void PoolDestroyIdlist(GList idlist)
- {
- throw new NotImplementedException();
- }
+ /*
+ * void purple_certificate_pool_destroy_idlist(GList * idlist)
+ *
+ * Could not generate a wrapper for purple_certificate_pool_destroy_idlist in file "certificate.h".
+ * Message: The type could not be resolved (GList * idlist).
+ */
/*
* void purple_certificate_init()
@@ -200,7 +279,7 @@ namespace PurpleWrapper
public static void Init()
{
- throw new NotImplementedException();
+ purple_certificate_init();
}
/*
@@ -211,7 +290,7 @@ namespace PurpleWrapper
public static void Uninit()
{
- throw new NotImplementedException();
+ purple_certificate_uninit();
}
/*
@@ -222,10 +301,28 @@ namespace PurpleWrapper
public static IntPtr GetHandle()
{
- throw new NotImplementedException();
+ return purple_certificate_get_handle();
}
/*
+ * PurpleCertificateScheme * purple_certificate_find_scheme(gchar * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_certificate_find_scheme(string name);
+
+ public static PurpleCertificateScheme FindScheme(string name)
+ {
+ return new PurpleCertificateScheme(purple_certificate_find_scheme(name));
+ }
+
+ /*
+ * GList * purple_certificate_get_schemes()
+ *
+ * Could not generate a wrapper for purple_certificate_get_schemes in file "certificate.h".
+ * Message: The type could not be resolved (GList * purple_certificate_get_schemes()).
+ */
+
+ /*
* gboolean purple_certificate_register_scheme(PurpleCertificateScheme * scheme)
*/
[DllImport("libpurple.dll")]
@@ -233,7 +330,7 @@ namespace PurpleWrapper
public static bool RegisterScheme(PurpleCertificateScheme scheme)
{
- throw new NotImplementedException();
+ return purple_certificate_register_scheme(scheme.Reference);
}
/*
@@ -244,10 +341,28 @@ namespace PurpleWrapper
public static bool UnregisterScheme(PurpleCertificateScheme scheme)
{
- throw new NotImplementedException();
+ return purple_certificate_unregister_scheme(scheme.Reference);
}
/*
+ * PurpleCertificateVerifier * purple_certificate_find_verifier(gchar * scheme_name, gchar * ver_name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_certificate_find_verifier(string scheme_name, string ver_name);
+
+ public static PurpleCertificateVerifier FindVerifier(string scheme_name, string ver_name)
+ {
+ return new PurpleCertificateVerifier(purple_certificate_find_verifier(scheme_name, ver_name));
+ }
+
+ /*
+ * GList * purple_certificate_get_verifiers()
+ *
+ * Could not generate a wrapper for purple_certificate_get_verifiers in file "certificate.h".
+ * Message: The type could not be resolved (GList * purple_certificate_get_verifiers()).
+ */
+
+ /*
* gboolean purple_certificate_register_verifier(PurpleCertificateVerifier * vr)
*/
[DllImport("libpurple.dll")]
@@ -255,7 +370,7 @@ namespace PurpleWrapper
public static bool RegisterVerifier(PurpleCertificateVerifier vr)
{
- throw new NotImplementedException();
+ return purple_certificate_register_verifier(vr.Reference);
}
/*
@@ -266,10 +381,28 @@ namespace PurpleWrapper
public static bool UnregisterVerifier(PurpleCertificateVerifier vr)
{
- throw new NotImplementedException();
+ return purple_certificate_unregister_verifier(vr.Reference);
}
/*
+ * PurpleCertificatePool * purple_certificate_find_pool(gchar * scheme_name, gchar * pool_name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_certificate_find_pool(string scheme_name, string pool_name);
+
+ public static PurpleCertificatePool FindPool(string scheme_name, string pool_name)
+ {
+ return new PurpleCertificatePool(purple_certificate_find_pool(scheme_name, pool_name));
+ }
+
+ /*
+ * GList * purple_certificate_get_pools()
+ *
+ * Could not generate a wrapper for purple_certificate_get_pools in file "certificate.h".
+ * Message: The type could not be resolved (GList * purple_certificate_get_pools()).
+ */
+
+ /*
* gboolean purple_certificate_register_pool(PurpleCertificatePool * pool)
*/
[DllImport("libpurple.dll")]
@@ -277,7 +410,7 @@ namespace PurpleWrapper
public static bool RegisterPool(PurpleCertificatePool pool)
{
- throw new NotImplementedException();
+ return purple_certificate_register_pool(pool.Reference);
}
/*
@@ -288,7 +421,7 @@ namespace PurpleWrapper
public static bool UnregisterPool(PurpleCertificatePool pool)
{
- throw new NotImplementedException();
+ return purple_certificate_unregister_pool(pool.Reference);
}
/*
@@ -299,7 +432,7 @@ namespace PurpleWrapper
public static void DisplayX509(PurpleCertificate crt)
{
- throw new NotImplementedException();
+ purple_certificate_display_x509(crt.Reference);
}
/*
@@ -310,7 +443,7 @@ namespace PurpleWrapper
public static void AddCaSearchPath(string path)
{
- throw new NotImplementedException();
+ purple_certificate_add_ca_search_path(path);
}
}
============================================================
--- libpurple/wrapper/Cipher.cs 6fa0d2192c52b3653a034b0808ae5ff859948b5d
+++ libpurple/wrapper/Cipher.cs d608397d2572baff56baefd11eb88a4cad116b06
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,83 +40,77 @@ namespace PurpleWrapper
{
public class Cipher
{
- /*
- * gchar * purple_cipher_get_name(PurpleCipher * cipher)
- */
- [DllImport("libpurple.dll")]
- private static extern string purple_cipher_get_name(IntPtr cipher);
+ public enum PurpleCipherBatchMode
+ {
+ PURPLE_CIPHER_BATCH_MODE_ECB,
+ PURPLE_CIPHER_BATCH_MODE_CBC
+ };
- public static string GetName(PurpleCipher cipher)
+ public enum PurpleCipherCaps
{
- throw new NotImplementedException();
- }
+ PURPLE_CIPHER_CAPS_SET_OPT = 1 << 1,
+ PURPLE_CIPHER_CAPS_GET_OPT = 1 << 2,
+ PURPLE_CIPHER_CAPS_INIT = 1 << 3,
+ PURPLE_CIPHER_CAPS_RESET = 1 << 4,
+ PURPLE_CIPHER_CAPS_UNINIT = 1 << 5,
+ PURPLE_CIPHER_CAPS_SET_IV = 1 << 6,
+ PURPLE_CIPHER_CAPS_APPEND = 1 << 7,
+ PURPLE_CIPHER_CAPS_DIGEST = 1 << 8,
+ PURPLE_CIPHER_CAPS_ENCRYPT = 1 << 9,
+ PURPLE_CIPHER_CAPS_DECRYPT = 1 << 10,
+ PURPLE_CIPHER_CAPS_SET_SALT = 1 << 11,
+ PURPLE_CIPHER_CAPS_GET_SALT_SIZE = 1 << 12,
+ PURPLE_CIPHER_CAPS_SET_KEY = 1 << 13,
+ PURPLE_CIPHER_CAPS_GET_KEY_SIZE = 1 << 14,
+ PURPLE_CIPHER_CAPS_SET_BATCH_MODE = 1 << 15,
+ PURPLE_CIPHER_CAPS_GET_BATCH_MODE = 1 << 16,
+ PURPLE_CIPHER_CAPS_GET_BLOCK_SIZE = 1 << 17,
+ PURPLE_CIPHER_CAPS_SET_KEY_WITH_LEN = 1 << 18,
+ PURPLE_CIPHER_CAPS_UNKNOWN = 1 << 19
+ };
/*
- * guint purple_cipher_get_capabilities(PurpleCipher * cipher)
+ * gchar * purple_cipher_get_name(PurpleCipher * cipher)
+ *
+ * Could not generate a wrapper for purple_cipher_get_name in file "cipher.h".
+ * Message: The type could not be resolved (PurpleCipher * cipher).
*/
- [DllImport("libpurple.dll")]
- private static extern uint purple_cipher_get_capabilities(IntPtr cipher);
- public static uint GetCapabilities(PurpleCipher cipher)
- {
- throw new NotImplementedException();
- }
-
/*
- * gboolean purple_cipher_digest_region(gchar * name, guchar * data, size_t data_len, size_t in_len, guchar digest, size_t * out_len)
+ * guint purple_cipher_get_capabilities(PurpleCipher * cipher)
+ *
+ * Could not generate a wrapper for purple_cipher_get_capabilities in file "cipher.h".
+ * Message: The type could not be resolved (PurpleCipher * cipher).
*/
- [DllImport("libpurple.dll")]
- private static extern bool purple_cipher_digest_region(string name, IntPtr data, UNKNOWN data_len, UNKNOWN in_len, UNKNOWN digest, IntPtr out_len);
- public static bool DigestRegion(string name, guchar data, size_t data_len, size_t in_len, guchar digest, size_t out_len)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleCipher * purple_ciphers_find_cipher(gchar * name)
+ *
+ * Could not generate a wrapper for purple_ciphers_find_cipher in file "cipher.h".
+ * Message: The type could not be resolved (PurpleCipher * purple_ciphers_find_cipher(gchar * name)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_ciphers_find_cipher(string name);
- public static PurpleCipher CiphersFindCipher(string name)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleCipher * purple_ciphers_register_cipher(gchar * name, PurpleCipherOps * ops)
+ *
+ * Could not generate a wrapper for purple_ciphers_register_cipher in file "cipher.h".
+ * Message: The type could not be resolved (PurpleCipher * purple_ciphers_register_cipher(gchar * name, PurpleCipherOps * ops)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_ciphers_register_cipher(string name, IntPtr ops);
- public static PurpleCipher CiphersRegisterCipher(string name, PurpleCipherOps ops)
- {
- throw new NotImplementedException();
- }
-
/*
* gboolean purple_ciphers_unregister_cipher(PurpleCipher * cipher)
+ *
+ * Could not generate a wrapper for purple_ciphers_unregister_cipher in file "cipher.h".
+ * Message: The type could not be resolved (PurpleCipher * cipher).
*/
- [DllImport("libpurple.dll")]
- private static extern bool purple_ciphers_unregister_cipher(IntPtr cipher);
- public static bool CiphersUnregisterCipher(PurpleCipher cipher)
- {
- throw new NotImplementedException();
- }
-
/*
* GList * purple_ciphers_get_ciphers()
+ *
+ * Could not generate a wrapper for purple_ciphers_get_ciphers in file "cipher.h".
+ * Message: The type could not be resolved (GList * purple_ciphers_get_ciphers()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_ciphers_get_ciphers();
- public static GList CiphersGetCiphers()
- {
- throw new NotImplementedException();
- }
-
/*
* gpointer purple_ciphers_get_handle()
*/
@@ -123,7 +119,7 @@ namespace PurpleWrapper
public static IntPtr CiphersGetHandle()
{
- throw new NotImplementedException();
+ return purple_ciphers_get_handle();
}
/*
@@ -134,7 +130,7 @@ namespace PurpleWrapper
public static void CiphersInit()
{
- throw new NotImplementedException();
+ purple_ciphers_init();
}
/*
@@ -145,273 +141,135 @@ namespace PurpleWrapper
public static void CiphersUninit()
{
- throw new NotImplementedException();
+ purple_ciphers_uninit();
}
/*
* void purple_cipher_context_set_option(PurpleCipherContext * context, gchar * name, gpointer value)
+ *
+ * Could not generate a wrapper for purple_cipher_context_set_option in file "cipher.h".
+ * Message: The type could not be resolved (PurpleCipherContext * context).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_cipher_context_set_option(IntPtr context, string name, IntPtr value);
- public static void ContextSetOption(PurpleCipherContext context, string name, IntPtr value)
- {
- throw new NotImplementedException();
- }
-
/*
* gpointer purple_cipher_context_get_option(PurpleCipherContext * context, gchar * name)
+ *
+ * Could not generate a wrapper for purple_cipher_context_get_option in file "cipher.h".
+ * Message: The type could not be resolved (PurpleCipherContext * context).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_cipher_context_get_option(IntPtr context, string name);
- public static IntPtr ContextGetOption(PurpleCipherContext context, string name)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleCipherContext * purple_cipher_context_new(PurpleCipher * cipher, void * extra)
+ *
+ * Could not generate a wrapper for purple_cipher_context_new in file "cipher.h".
+ * Message: The type could not be resolved (PurpleCipherContext * purple_cipher_context_new(PurpleCipher * cipher, void * extra)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_cipher_context_new(IntPtr cipher, IntPtr extra);
- public static PurpleCipherContext ContextNew(PurpleCipher cipher, IntPtr extra)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleCipherContext * purple_cipher_context_new_by_name(gchar * name, void * extra)
+ *
+ * Could not generate a wrapper for purple_cipher_context_new_by_name in file "cipher.h".
+ * Message: The type could not be resolved (PurpleCipherContext * purple_cipher_context_new_by_name(gchar * name, void * extra)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_cipher_context_new_by_name(string name, IntPtr extra);
- public static PurpleCipherContext ContextNewByName(string name, IntPtr extra)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_cipher_context_reset(PurpleCipherContext * context, gpointer extra)
+ *
+ * Could not generate a wrapper for purple_cipher_context_reset in file "cipher.h".
+ * Message: The type could not be resolved (PurpleCipherContext * context).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_cipher_context_reset(IntPtr context, IntPtr extra);
- public static void ContextReset(PurpleCipherContext context, IntPtr extra)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_cipher_context_destroy(PurpleCipherContext * context)
+ *
+ * Could not generate a wrapper for purple_cipher_context_destroy in file "cipher.h".
+ * Message: The type could not be resolved (PurpleCipherContext * context).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_cipher_context_destroy(IntPtr context);
- public static void ContextDestroy(PurpleCipherContext context)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_cipher_context_set_iv(PurpleCipherContext * context, guchar * iv, size_t len)
+ *
+ * Could not generate a wrapper for purple_cipher_context_set_iv in file "cipher.h".
+ * Message: The type could not be resolved (PurpleCipherContext * context).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_cipher_context_set_iv(IntPtr context, IntPtr iv, UNKNOWN len);
- public static void ContextSetIv(PurpleCipherContext context, guchar iv, size_t len)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_cipher_context_append(PurpleCipherContext * context, guchar * data, size_t len)
+ *
+ * Could not generate a wrapper for purple_cipher_context_append in file "cipher.h".
+ * Message: The type could not be resolved (PurpleCipherContext * context).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_cipher_context_append(IntPtr context, IntPtr data, UNKNOWN len);
- public static void ContextAppend(PurpleCipherContext context, guchar data, size_t len)
- {
- throw new NotImplementedException();
- }
-
/*
- * gboolean purple_cipher_context_digest(PurpleCipherContext * context, size_t in_len, guchar digest, size_t * out_len)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_cipher_context_digest(IntPtr context, UNKNOWN in_len, UNKNOWN digest, IntPtr out_len);
-
- public static bool ContextDigest(PurpleCipherContext context, size_t in_len, guchar digest, size_t out_len)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gboolean purple_cipher_context_digest_to_str(PurpleCipherContext * context, size_t in_len, gchar digest_s, size_t * out_len)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_cipher_context_digest_to_str(IntPtr context, UNKNOWN in_len, char digest_s, IntPtr out_len);
-
- public static bool ContextDigestToStr(PurpleCipherContext context, size_t in_len, char digest_s, size_t out_len)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gint purple_cipher_context_encrypt(PurpleCipherContext * context, guchar data, size_t len, guchar output, size_t * outlen)
- */
- [DllImport("libpurple.dll")]
- private static extern int purple_cipher_context_encrypt(IntPtr context, UNKNOWN data, UNKNOWN len, UNKNOWN output, IntPtr outlen);
-
- public static int ContextEncrypt(PurpleCipherContext context, guchar data, size_t len, guchar output, size_t outlen)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gint purple_cipher_context_decrypt(PurpleCipherContext * context, guchar data, size_t len, guchar output, size_t * outlen)
- */
- [DllImport("libpurple.dll")]
- private static extern int purple_cipher_context_decrypt(IntPtr context, UNKNOWN data, UNKNOWN len, UNKNOWN output, IntPtr outlen);
-
- public static int ContextDecrypt(PurpleCipherContext context, guchar data, size_t len, guchar output, size_t outlen)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_cipher_context_set_salt(PurpleCipherContext * context, guchar * salt)
+ *
+ * Could not generate a wrapper for purple_cipher_context_set_salt in file "cipher.h".
+ * Message: The type could not be resolved (PurpleCipherContext * context).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_cipher_context_set_salt(IntPtr context, IntPtr salt);
- public static void ContextSetSalt(PurpleCipherContext context, guchar salt)
- {
- throw new NotImplementedException();
- }
-
/*
* size_t purple_cipher_context_get_salt_size(PurpleCipherContext * context)
+ *
+ * Could not generate a wrapper for purple_cipher_context_get_salt_size in file "cipher.h".
+ * Message: The type could not be resolved (PurpleCipherContext * context).
*/
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_cipher_context_get_salt_size(IntPtr context);
- public static size_t ContextGetSaltSize(PurpleCipherContext context)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_cipher_context_set_key(PurpleCipherContext * context, guchar * key)
+ *
+ * Could not generate a wrapper for purple_cipher_context_set_key in file "cipher.h".
+ * Message: The type could not be resolved (PurpleCipherContext * context).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_cipher_context_set_key(IntPtr context, IntPtr key);
- public static void ContextSetKey(PurpleCipherContext context, guchar key)
- {
- throw new NotImplementedException();
- }
-
/*
* size_t purple_cipher_context_get_key_size(PurpleCipherContext * context)
+ *
+ * Could not generate a wrapper for purple_cipher_context_get_key_size in file "cipher.h".
+ * Message: The type could not be resolved (PurpleCipherContext * context).
*/
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_cipher_context_get_key_size(IntPtr context);
- public static size_t ContextGetKeySize(PurpleCipherContext context)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_cipher_context_set_batch_mode(PurpleCipherContext * context, PurpleCipherBatchMode mode)
+ *
+ * Could not generate a wrapper for purple_cipher_context_set_batch_mode in file "cipher.h".
+ * Message: The type could not be resolved (PurpleCipherContext * context).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_cipher_context_set_batch_mode(IntPtr context, UNKNOWN mode);
- public static void ContextSetBatchMode(PurpleCipherContext context, PurpleCipherBatchMode mode)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleCipherBatchMode purple_cipher_context_get_batch_mode(PurpleCipherContext * context)
+ *
+ * Could not generate a wrapper for purple_cipher_context_get_batch_mode in file "cipher.h".
+ * Message: The type could not be resolved (PurpleCipherContext * context).
*/
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_cipher_context_get_batch_mode(IntPtr context);
- public static PurpleCipherBatchMode ContextGetBatchMode(PurpleCipherContext context)
- {
- throw new NotImplementedException();
- }
-
/*
* size_t purple_cipher_context_get_block_size(PurpleCipherContext * context)
+ *
+ * Could not generate a wrapper for purple_cipher_context_get_block_size in file "cipher.h".
+ * Message: The type could not be resolved (PurpleCipherContext * context).
*/
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_cipher_context_get_block_size(IntPtr context);
- public static size_t ContextGetBlockSize(PurpleCipherContext context)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_cipher_context_set_key_with_len(PurpleCipherContext * context, guchar * key, size_t len)
+ *
+ * Could not generate a wrapper for purple_cipher_context_set_key_with_len in file "cipher.h".
+ * Message: The type could not be resolved (PurpleCipherContext * context).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_cipher_context_set_key_with_len(IntPtr context, IntPtr key, UNKNOWN len);
- public static void ContextSetKeyWithLen(PurpleCipherContext context, guchar key, size_t len)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_cipher_context_set_data(PurpleCipherContext * context, gpointer data)
+ *
+ * Could not generate a wrapper for purple_cipher_context_set_data in file "cipher.h".
+ * Message: The type could not be resolved (PurpleCipherContext * context).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_cipher_context_set_data(IntPtr context, IntPtr data);
- public static void ContextSetData(PurpleCipherContext context, IntPtr data)
- {
- throw new NotImplementedException();
- }
-
/*
* gpointer purple_cipher_context_get_data(PurpleCipherContext * context)
+ *
+ * Could not generate a wrapper for purple_cipher_context_get_data in file "cipher.h".
+ * Message: The type could not be resolved (PurpleCipherContext * context).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_cipher_context_get_data(IntPtr context);
- public static IntPtr ContextGetData(PurpleCipherContext context)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gchar * purple_cipher_http_digest_calculate_session_key(gchar * algorithm, gchar * username, gchar * realm, gchar * password, gchar * nonce, gchar * client_nonce)
- */
- [DllImport("libpurple.dll")]
- private static extern string purple_cipher_http_digest_calculate_session_key(string algorithm, string username, string realm, string password, string nonce, string client_nonce);
-
- public static string HttpDigestCalculateSessionKey(string algorithm, string username, string realm, string password, string nonce, string client_nonce)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gchar * purple_cipher_http_digest_calculate_response(gchar * algorithm, gchar * method, gchar * digest_uri, gchar * qop, gchar * entity, gchar * nonce, gchar * nonce_count, gchar * client_nonce, gchar * session_key)
- */
- [DllImport("libpurple.dll")]
- private static extern string purple_cipher_http_digest_calculate_response(string algorithm, string method, string digest_uri, string qop, string entity, string nonce, string nonce_count, string client_nonce, string session_key);
-
- public static string HttpDigestCalculateResponse(string algorithm, string method, string digest_uri, string qop, string entity, string nonce, string nonce_count, string client_nonce, string session_key)
- {
- throw new NotImplementedException();
- }
-
}
}
============================================================
--- libpurple/wrapper/Circbuffer.cs cb58daa3d392c53494e31292553062df9553ef3d
+++ libpurple/wrapper/Circbuffer.cs c9489e4526ea948b540961257cff14f3db1dd990
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -42,11 +44,11 @@ namespace PurpleWrapper
* PurpleCircBuffer * purple_circ_buffer_new(gsize growsize)
*/
[DllImport("libpurple.dll")]
- private static extern IntPtr purple_circ_buffer_new(UNKNOWN growsize);
+ private static extern IntPtr purple_circ_buffer_new(ulong growsize);
- public static PurpleCircBuffer CircBufferNew(gsize growsize)
+ public static PurpleCircBuffer CircBufferNew(ulong growsize)
{
- throw new NotImplementedException();
+ return new PurpleCircBuffer(purple_circ_buffer_new(growsize));
}
/*
@@ -57,40 +59,40 @@ namespace PurpleWrapper
public static void CircBufferDestroy(PurpleCircBuffer buf)
{
- throw new NotImplementedException();
+ purple_circ_buffer_destroy(buf.Reference);
}
/*
* void purple_circ_buffer_append(PurpleCircBuffer * buf, gconstpointer src, gsize len)
*/
[DllImport("libpurple.dll")]
- private static extern void purple_circ_buffer_append(IntPtr buf, UNKNOWN src, UNKNOWN len);
+ private static extern void purple_circ_buffer_append(IntPtr buf, IntPtr src, ulong len);
- public static void CircBufferAppend(PurpleCircBuffer buf, gconstpointer src, gsize len)
+ public static void CircBufferAppend(PurpleCircBuffer buf, IntPtr src, ulong len)
{
- throw new NotImplementedException();
+ purple_circ_buffer_append(buf.Reference, src, len);
}
/*
* gsize purple_circ_buffer_get_max_read(PurpleCircBuffer * buf)
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_circ_buffer_get_max_read(IntPtr buf);
+ private static extern ulong purple_circ_buffer_get_max_read(IntPtr buf);
- public static gsize CircBufferGetMaxRead(PurpleCircBuffer buf)
+ public static ulong CircBufferGetMaxRead(PurpleCircBuffer buf)
{
- throw new NotImplementedException();
+ return purple_circ_buffer_get_max_read(buf.Reference);
}
/*
* gboolean purple_circ_buffer_mark_read(PurpleCircBuffer * buf, gsize len)
*/
[DllImport("libpurple.dll")]
- private static extern bool purple_circ_buffer_mark_read(IntPtr buf, UNKNOWN len);
+ private static extern bool purple_circ_buffer_mark_read(IntPtr buf, ulong len);
- public static bool CircBufferMarkRead(PurpleCircBuffer buf, gsize len)
+ public static bool CircBufferMarkRead(PurpleCircBuffer buf, ulong len)
{
- throw new NotImplementedException();
+ return purple_circ_buffer_mark_read(buf.Reference, len);
}
}
============================================================
--- libpurple/wrapper/Cmds.cs e38cff8d1660c307bf010bbc3df6923c2d145542
+++ libpurple/wrapper/Cmds.cs e8dc6ebfbd3e525d165b7c54fd335f16b0439667
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,61 +40,68 @@ namespace PurpleWrapper
{
public class Cmds
{
- /*
- * PurpleCmdId purple_cmd_register(gchar * cmd, gchar * args, PurpleCmdPriority p, PurpleCmdFlag f, gchar * prpl_id, PurpleCmdFunc func, gchar * helpstr, void * data)
- */
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_cmd_register(string cmd, string args, UNKNOWN p, UNKNOWN f, string prpl_id, UNKNOWN func, string helpstr, IntPtr data);
+ public enum PurpleCmdStatus
+ {
+ PURPLE_CMD_STATUS_OK,
+ PURPLE_CMD_STATUS_FAILED,
+ PURPLE_CMD_STATUS_NOT_FOUND,
+ PURPLE_CMD_STATUS_WRONG_ARGS,
+ PURPLE_CMD_STATUS_WRONG_PRPL,
+ PURPLE_CMD_STATUS_WRONG_TYPE
+ };
- public static PurpleCmdId CmdRegister(string cmd, string args, PurpleCmdPriority p, PurpleCmdFlag f, string prpl_id, PurpleCmdFunc func, string helpstr, IntPtr data)
+ public enum PurpleCmdRet
{
- throw new NotImplementedException();
- }
+ PURPLE_CMD_RET_OK,
+ PURPLE_CMD_RET_FAILED,
+ PURPLE_CMD_RET_CONTINUE
+ };
- /*
- * void purple_cmd_unregister(PurpleCmdId id)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_cmd_unregister(UNKNOWN id);
+ public enum PurpleCmdPriority
+ {
+ PURPLE_CMD_P_VERY_LOW = -1000,
+ PURPLE_CMD_P_LOW = 0,
+ PURPLE_CMD_P_DEFAULT = 1000,
+ PURPLE_CMD_P_PRPL = 2000,
+ PURPLE_CMD_P_PLUGIN = 3000,
+ PURPLE_CMD_P_ALIAS = 4000,
+ PURPLE_CMD_P_HIGH = 5000,
+ PURPLE_CMD_P_VERY_HIGH = 6000
+ };
- public static void CmdUnregister(PurpleCmdId id)
+ public enum PurpleCmdFlag
{
- throw new NotImplementedException();
- }
+ PURPLE_CMD_FLAG_IM = 0x01,
+ PURPLE_CMD_FLAG_CHAT = 0x02,
+ PURPLE_CMD_FLAG_PRPL_ONLY = 0x04,
+ PURPLE_CMD_FLAG_ALLOW_WRONG_ARGS = 0x08
+ };
/*
- * PurpleCmdStatus purple_cmd_do_command(PurpleConversation * conv, gchar * cmdline, gchar * markup, gchar ** errormsg)
+ * void purple_cmd_unregister(PurpleCmdId id)
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_cmd_do_command(IntPtr conv, string cmdline, string markup, IntPtr errormsg);
+ private static extern void purple_cmd_unregister(uint id);
- public static PurpleCmdStatus CmdDoCommand(PurpleConversation conv, string cmdline, string markup, gchar errormsg)
+ public static void CmdUnregister(uint id)
{
- throw new NotImplementedException();
+ purple_cmd_unregister(id);
}
/*
* GList * purple_cmd_list(PurpleConversation * conv)
+ *
+ * Could not generate a wrapper for purple_cmd_list in file "cmds.h".
+ * Message: The type could not be resolved (GList * purple_cmd_list(PurpleConversation * conv)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_cmd_list(IntPtr conv);
- public static GList CmdList(PurpleConversation conv)
- {
- throw new NotImplementedException();
- }
-
/*
* GList * purple_cmd_help(PurpleConversation * conv, gchar * cmd)
+ *
+ * Could not generate a wrapper for purple_cmd_help in file "cmds.h".
+ * Message: The type could not be resolved (GList * purple_cmd_help(PurpleConversation * conv, gchar * cmd)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_cmd_help(IntPtr conv, string cmd);
- public static GList CmdHelp(PurpleConversation conv, string cmd)
- {
- throw new NotImplementedException();
- }
-
/*
* gpointer purple_cmds_get_handle()
*/
@@ -101,7 +110,7 @@ namespace PurpleWrapper
public static IntPtr GetHandle()
{
- throw new NotImplementedException();
+ return purple_cmds_get_handle();
}
/*
@@ -112,7 +121,7 @@ namespace PurpleWrapper
public static void Init()
{
- throw new NotImplementedException();
+ purple_cmds_init();
}
/*
@@ -123,7 +132,7 @@ namespace PurpleWrapper
public static void Uninit()
{
- throw new NotImplementedException();
+ purple_cmds_uninit();
}
}
============================================================
--- libpurple/wrapper/Config.cs 9940c35e2f6e2804575f1b65280f5406c842251d
+++ libpurple/wrapper/Config.cs 81ec3145c181871fb27de27ae3fb89cc46eea514
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -46,7 +48,7 @@ namespace PurpleWrapper
public static void StaticProtoInit()
{
- throw new NotImplementedException();
+ static_proto_init();
}
}
============================================================
--- libpurple/wrapper/Connection.cs 240fd18be4019a6e932adc021e8fdf26c6c69a13
+++ libpurple/wrapper/Connection.cs a58cc36f21ddcccf9ab9b712fcf99af23ce12a5a
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,28 +40,54 @@ namespace PurpleWrapper
{
public class Connection
{
- /*
- * void purple_connection_new(PurpleAccount * account, gboolean regist, char * password)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_connection_new(IntPtr account, bool regist, string password);
+ public enum PurpleConnectionFlags
+ {
+ PURPLE_CONNECTION_HTML = 0x0001,
+ PURPLE_CONNECTION_NO_BGCOLOR = 0x0002,
+ PURPLE_CONNECTION_AUTO_RESP = 0x0004,
+ PURPLE_CONNECTION_FORMATTING_WBFO = 0x0008,
+ PURPLE_CONNECTION_NO_NEWLINES = 0x0010,
+ PURPLE_CONNECTION_NO_FONTSIZE = 0x0020,
+ PURPLE_CONNECTION_NO_URLDESC = 0x0040,
+ PURPLE_CONNECTION_NO_IMAGES = 0x0080,
+ PURPLE_CONNECTION_ALLOW_CUSTOM_SMILEY = 0x0100
+ };
- public static void New(PurpleAccount account, bool regist, string password)
+ public enum PurpleConnectionState
{
- throw new NotImplementedException();
- }
+ PURPLE_DISCONNECTED = 0,
+ PURPLE_CONNECTED,
+ PURPLE_CONNECTING
+ };
+ public enum PurpleConnectionError
+ {
+ PURPLE_CONNECTION_ERROR_NETWORK_ERROR = 0,
+ PURPLE_CONNECTION_ERROR_INVALID_USERNAME = 1,
+ PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED = 2,
+ PURPLE_CONNECTION_ERROR_AUTHENTICATION_IMPOSSIBLE = 3,
+ PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT = 4,
+ PURPLE_CONNECTION_ERROR_ENCRYPTION_ERROR = 5,
+ PURPLE_CONNECTION_ERROR_NAME_IN_USE = 6,
+ PURPLE_CONNECTION_ERROR_INVALID_SETTINGS = 7,
+ PURPLE_CONNECTION_ERROR_CERT_NOT_PROVIDED = 8,
+ PURPLE_CONNECTION_ERROR_CERT_UNTRUSTED = 9,
+ PURPLE_CONNECTION_ERROR_CERT_EXPIRED = 10,
+ PURPLE_CONNECTION_ERROR_CERT_NOT_ACTIVATED = 11,
+ PURPLE_CONNECTION_ERROR_CERT_HOSTNAME_MISMATCH = 12,
+ PURPLE_CONNECTION_ERROR_CERT_FINGERPRINT_MISMATCH = 13,
+ PURPLE_CONNECTION_ERROR_CERT_SELF_SIGNED = 14,
+ PURPLE_CONNECTION_ERROR_CERT_OTHER_ERROR = 15,
+ PURPLE_CONNECTION_ERROR_OTHER_ERROR = 16
+ };
+
/*
* void purple_connection_new_unregister(PurpleAccount * account, char * password, PurpleAccountUnregistrationCb cb, void * user_data)
+ *
+ * Could not generate a wrapper for purple_connection_new_unregister in file "connection.h".
+ * Message: The type could not be resolved (PurpleAccountUnregistrationCb cb).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_connection_new_unregister(IntPtr account, string password, UNKNOWN cb, IntPtr user_data);
- public static void NewUnregister(PurpleAccount account, string password, PurpleAccountUnregistrationCb cb, IntPtr user_data)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_connection_destroy(PurpleConnection * gc)
*/
@@ -68,17 +96,18 @@ namespace PurpleWrapper
public static void Destroy(PurpleConnection gc)
{
- throw new NotImplementedException();
+ purple_connection_destroy(gc.Reference);
}
/*
* void purple_connection_set_state(PurpleConnection * gc, PurpleConnectionState state)
*/
[DllImport("libpurple.dll")]
- private static extern void purple_connection_set_state(IntPtr gc, UNKNOWN state);
+ private static extern void purple_connection_set_state(IntPtr gc, Connection.PurpleConnectionState state);
- public static void SetState(PurpleConnection gc, PurpleConnectionState state)
+ public static void SetState(PurpleConnection gc, Connection.PurpleConnectionState state)
{
+ /* Unable to process state, a KnownEnum. */
throw new NotImplementedException();
}
@@ -90,7 +119,7 @@ namespace PurpleWrapper
public static void SetAccount(PurpleConnection gc, PurpleAccount account)
{
- throw new NotImplementedException();
+ purple_connection_set_account(gc.Reference, account.Reference);
}
/*
@@ -101,7 +130,7 @@ namespace PurpleWrapper
public static void SetDisplayName(PurpleConnection gc, string name)
{
- throw new NotImplementedException();
+ purple_connection_set_display_name(gc.Reference, name);
}
/*
@@ -112,18 +141,19 @@ namespace PurpleWrapper
public static void SetProtocolData(PurpleConnection connection, IntPtr proto_data)
{
- throw new NotImplementedException();
+ purple_connection_set_protocol_data(connection.Reference, proto_data);
}
/*
* PurpleConnectionState purple_connection_get_state(PurpleConnection * gc)
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_connection_get_state(IntPtr gc);
+ private static extern Connection.PurpleConnectionState purple_connection_get_state(IntPtr gc);
- public static PurpleConnectionState GetState(PurpleConnection gc)
+ public static Connection.PurpleConnectionState GetState(PurpleConnection gc)
{
- throw new NotImplementedException();
+ /* Unable to process purple_connection_get_state, a KnownEnum. */
+
}
/*
@@ -134,10 +164,21 @@ namespace PurpleWrapper
public static PurpleAccount GetAccount(PurpleConnection gc)
{
- throw new NotImplementedException();
+ return new PurpleAccount(purple_connection_get_account(gc.Reference));
}
/*
+ * PurplePlugin * purple_connection_get_prpl(PurpleConnection * gc)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_connection_get_prpl(IntPtr gc);
+
+ public static PurplePlugin GetPrpl(PurpleConnection gc)
+ {
+ return new PurplePlugin(purple_connection_get_prpl(gc.Reference));
+ }
+
+ /*
* char * purple_connection_get_password(PurpleConnection * gc)
*/
[DllImport("libpurple.dll")]
@@ -145,7 +186,7 @@ namespace PurpleWrapper
public static string GetPassword(PurpleConnection gc)
{
- throw new NotImplementedException();
+ return purple_connection_get_password(gc.Reference);
}
/*
@@ -156,7 +197,7 @@ namespace PurpleWrapper
public static string GetDisplayName(PurpleConnection gc)
{
- throw new NotImplementedException();
+ return purple_connection_get_display_name(gc.Reference);
}
/*
@@ -167,21 +208,10 @@ namespace PurpleWrapper
public static IntPtr GetProtocolData(PurpleConnection connection)
{
- throw new NotImplementedException();
+ return purple_connection_get_protocol_data(connection.Reference);
}
/*
- * void purple_connection_update_progress(PurpleConnection * gc, char * text, size_t step, size_t count)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_connection_update_progress(IntPtr gc, string text, UNKNOWN step, UNKNOWN count);
-
- public static void UpdateProgress(PurpleConnection gc, string text, size_t step, size_t count)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_connection_notice(PurpleConnection * gc, char * text)
*/
[DllImport("libpurple.dll")]
@@ -189,7 +219,7 @@ namespace PurpleWrapper
public static void Notice(PurpleConnection gc, string text)
{
- throw new NotImplementedException();
+ purple_connection_notice(gc.Reference, text);
}
/*
@@ -200,39 +230,18 @@ namespace PurpleWrapper
public static void Error(PurpleConnection gc, string reason)
{
- throw new NotImplementedException();
+ purple_connection_error(gc.Reference, reason);
}
/*
- * void purple_connection_error_reason(PurpleConnection * gc, PurpleConnectionError reason, char * description)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_connection_error_reason(IntPtr gc, UNKNOWN reason, string description);
-
- public static void ErrorReason(PurpleConnection gc, PurpleConnectionError reason, string description)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_connection_ssl_error(PurpleConnection * gc, PurpleSslErrorType ssl_error)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_connection_ssl_error(IntPtr gc, UNKNOWN ssl_error);
-
- public static void SslError(PurpleConnection gc, PurpleSslErrorType ssl_error)
- {
- throw new NotImplementedException();
- }
-
- /*
* gboolean purple_connection_error_is_fatal(PurpleConnectionError reason)
*/
[DllImport("libpurple.dll")]
- private static extern bool purple_connection_error_is_fatal(UNKNOWN reason);
+ private static extern bool purple_connection_error_is_fatal(Connection.PurpleConnectionError reason);
- public static bool ErrorIsFatal(PurpleConnectionError reason)
+ public static bool ErrorIsFatal(Connection.PurpleConnectionError reason)
{
+ /* Unable to process reason, a KnownEnum. */
throw new NotImplementedException();
}
@@ -244,53 +253,37 @@ namespace PurpleWrapper
public static void ConnectionsDisconnectAll()
{
- throw new NotImplementedException();
+ purple_connections_disconnect_all();
}
/*
* GList * purple_connections_get_all()
+ *
+ * Could not generate a wrapper for purple_connections_get_all in file "connection.h".
+ * Message: The type could not be resolved (GList * purple_connections_get_all()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_connections_get_all();
- public static GList ConnectionsGetAll()
- {
- throw new NotImplementedException();
- }
-
/*
* GList * purple_connections_get_connecting()
+ *
+ * Could not generate a wrapper for purple_connections_get_connecting in file "connection.h".
+ * Message: The type could not be resolved (GList * purple_connections_get_connecting()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_connections_get_connecting();
- public static GList ConnectionsGetConnecting()
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_connections_set_ui_ops(PurpleConnectionUiOps * ops)
+ *
+ * Could not generate a wrapper for purple_connections_set_ui_ops in file "connection.h".
+ * Message: The type could not be resolved (PurpleConnectionUiOps * ops).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_connections_set_ui_ops(IntPtr ops);
- public static void ConnectionsSetUiOps(PurpleConnectionUiOps ops)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleConnectionUiOps * purple_connections_get_ui_ops()
+ *
+ * Could not generate a wrapper for purple_connections_get_ui_ops in file "connection.h".
+ * Message: The type could not be resolved (PurpleConnectionUiOps * purple_connections_get_ui_ops()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_connections_get_ui_ops();
- public static PurpleConnectionUiOps ConnectionsGetUiOps()
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_connections_init()
*/
@@ -299,7 +292,7 @@ namespace PurpleWrapper
public static void ConnectionsInit()
{
- throw new NotImplementedException();
+ purple_connections_init();
}
/*
@@ -310,7 +303,7 @@ namespace PurpleWrapper
public static void ConnectionsUninit()
{
- throw new NotImplementedException();
+ purple_connections_uninit();
}
/*
@@ -321,7 +314,7 @@ namespace PurpleWrapper
public static IntPtr ConnectionsGetHandle()
{
- throw new NotImplementedException();
+ return purple_connections_get_handle();
}
}
============================================================
--- libpurple/wrapper/Conversation.cs 2678e5a205e179d0fa6e79f9ba43e94ddc14045c
+++ libpurple/wrapper/Conversation.cs 34ee3343a49d5aa9229563b88afef6b3d06d5d38
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,17 +40,69 @@ namespace PurpleWrapper
{
public class Conversation
{
- /*
- * PurpleConversation * purple_conversation_new(PurpleConversationType type, PurpleAccount * account, char * name)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_conversation_new(UNKNOWN type, IntPtr account, string name);
+ public enum PurpleConversationType
+ {
+ PURPLE_CONV_TYPE_UNKNOWN = 0,
+ PURPLE_CONV_TYPE_IM,
+ PURPLE_CONV_TYPE_CHAT,
+ PURPLE_CONV_TYPE_MISC,
+ PURPLE_CONV_TYPE_ANY
+ };
- public static PurpleConversation New(PurpleConversationType type, PurpleAccount account, string name)
+ public enum PurpleConvUpdateType
{
- throw new NotImplementedException();
- }
+ PURPLE_CONV_UPDATE_ADD = 0,
+ PURPLE_CONV_UPDATE_REMOVE,
+ PURPLE_CONV_UPDATE_ACCOUNT,
+ PURPLE_CONV_UPDATE_TYPING,
+ PURPLE_CONV_UPDATE_UNSEEN,
+ PURPLE_CONV_UPDATE_LOGGING,
+ PURPLE_CONV_UPDATE_TOPIC,
+ PURPLE_CONV_ACCOUNT_ONLINE,
+ PURPLE_CONV_ACCOUNT_OFFLINE,
+ PURPLE_CONV_UPDATE_AWAY,
+ PURPLE_CONV_UPDATE_ICON,
+ PURPLE_CONV_UPDATE_TITLE,
+ PURPLE_CONV_UPDATE_CHATLEFT,
+ PURPLE_CONV_UPDATE_FEATURES
+ };
+ public enum PurpleTypingState
+ {
+ PURPLE_NOT_TYPING = 0,
+ PURPLE_TYPING,
+ PURPLE_TYPED
+ };
+
+ public enum PurpleMessageFlags
+ {
+ PURPLE_MESSAGE_SEND = 0x0001,
+ PURPLE_MESSAGE_RECV = 0x0002,
+ PURPLE_MESSAGE_SYSTEM = 0x0004,
+ PURPLE_MESSAGE_AUTO_RESP = 0x0008,
+ PURPLE_MESSAGE_ACTIVE_ONLY = 0x0010,
+ PURPLE_MESSAGE_NICK = 0x0020,
+ PURPLE_MESSAGE_NO_LOG = 0x0040,
+ PURPLE_MESSAGE_WHISPER = 0x0080,
+ PURPLE_MESSAGE_ERROR = 0x0200,
+ PURPLE_MESSAGE_DELAYED = 0x0400,
+ PURPLE_MESSAGE_RAW = 0x0800,
+ PURPLE_MESSAGE_IMAGES = 0x1000,
+ PURPLE_MESSAGE_NOTIFY = 0x2000,
+ PURPLE_MESSAGE_NO_LINKIFY = 0x4000,
+ PURPLE_MESSAGE_INVISIBLE = 0x8000
+ };
+
+ public enum PurpleConvChatBuddyFlags
+ {
+ PURPLE_CBFLAGS_NONE = 0x0000,
+ PURPLE_CBFLAGS_VOICE = 0x0001,
+ PURPLE_CBFLAGS_HALFOP = 0x0002,
+ PURPLE_CBFLAGS_OP = 0x0004,
+ PURPLE_CBFLAGS_FOUNDER = 0x0008,
+ PURPLE_CBFLAGS_TYPING = 0x0010
+ };
+
/*
* void purple_conversation_destroy(PurpleConversation * conv)
*/
@@ -57,7 +111,7 @@ namespace PurpleWrapper
public static void Destroy(PurpleConversation conv)
{
- throw new NotImplementedException();
+ purple_conversation_destroy(conv.Reference);
}
/*
@@ -68,32 +122,22 @@ namespace PurpleWrapper
public static void Present(PurpleConversation conv)
{
- throw new NotImplementedException();
+ purple_conversation_present(conv.Reference);
}
/*
* PurpleConversationType purple_conversation_get_type(PurpleConversation * conv)
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_conversation_get_type(IntPtr conv);
+ private static extern Conversation.PurpleConversationType purple_conversation_get_type(IntPtr conv);
- public static PurpleConversationType GetType(PurpleConversation conv)
+ public static Conversation.PurpleConversationType GetType(PurpleConversation conv)
{
- throw new NotImplementedException();
+ /* Unable to process purple_conversation_get_type, a KnownEnum. */
+
}
/*
- * void purple_conversation_set_ui_ops(PurpleConversation * conv, PurpleConversationUiOps * ops)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_conversation_set_ui_ops(IntPtr conv, IntPtr ops);
-
- public static void SetUiOps(PurpleConversation conv, PurpleConversationUiOps ops)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_conversations_set_ui_ops(PurpleConversationUiOps * ops)
*/
[DllImport("libpurple.dll")]
@@ -101,32 +145,10 @@ namespace PurpleWrapper
public static void ConversationsSetUiOps(PurpleConversationUiOps ops)
{
- throw new NotImplementedException();
+ purple_conversations_set_ui_ops(ops.Reference);
}
/*
- * PurpleConversationUiOps * purple_conversation_get_ui_ops(PurpleConversation * conv)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_conversation_get_ui_ops(IntPtr conv);
-
- public static PurpleConversationUiOps GetUiOps(PurpleConversation conv)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_conversation_set_account(PurpleConversation * conv, PurpleAccount * account)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_conversation_set_account(IntPtr conv, IntPtr account);
-
- public static void SetAccount(PurpleConversation conv, PurpleAccount account)
- {
- throw new NotImplementedException();
- }
-
- /*
* PurpleAccount * purple_conversation_get_account(PurpleConversation * conv)
*/
[DllImport("libpurple.dll")]
@@ -134,7 +156,7 @@ namespace PurpleWrapper
public static PurpleAccount GetAccount(PurpleConversation conv)
{
- throw new NotImplementedException();
+ return new PurpleAccount(purple_conversation_get_account(conv.Reference));
}
/*
@@ -145,7 +167,7 @@ namespace PurpleWrapper
public static PurpleConnection GetGc(PurpleConversation conv)
{
- throw new NotImplementedException();
+ return new PurpleConnection(purple_conversation_get_gc(conv.Reference));
}
/*
@@ -156,7 +178,7 @@ namespace PurpleWrapper
public static void SetTitle(PurpleConversation conv, string title)
{
- throw new NotImplementedException();
+ purple_conversation_set_title(conv.Reference, title);
}
/*
@@ -167,7 +189,7 @@ namespace PurpleWrapper
public static string GetTitle(PurpleConversation conv)
{
- throw new NotImplementedException();
+ return purple_conversation_get_title(conv.Reference);
}
/*
@@ -178,7 +200,7 @@ namespace PurpleWrapper
public static void AutosetTitle(PurpleConversation conv)
{
- throw new NotImplementedException();
+ purple_conversation_autoset_title(conv.Reference);
}
/*
@@ -189,7 +211,7 @@ namespace PurpleWrapper
public static void SetName(PurpleConversation conv, string name)
{
- throw new NotImplementedException();
+ purple_conversation_set_name(conv.Reference, name);
}
/*
@@ -200,7 +222,7 @@ namespace PurpleWrapper
public static string GetName(PurpleConversation conv)
{
- throw new NotImplementedException();
+ return purple_conversation_get_name(conv.Reference);
}
/*
@@ -211,7 +233,7 @@ namespace PurpleWrapper
public static void SetLogging(PurpleConversation conv, bool log)
{
- throw new NotImplementedException();
+ purple_conversation_set_logging(conv.Reference, log);
}
/*
@@ -222,7 +244,7 @@ namespace PurpleWrapper
public static bool IsLogging(PurpleConversation conv)
{
- throw new NotImplementedException();
+ return purple_conversation_is_logging(conv.Reference);
}
/*
@@ -233,7 +255,7 @@ namespace PurpleWrapper
public static void CloseLogs(PurpleConversation conv)
{
- throw new NotImplementedException();
+ purple_conversation_close_logs(conv.Reference);
}
/*
@@ -244,7 +266,7 @@ namespace PurpleWrapper
public static PurpleConvIm GetImData(PurpleConversation conv)
{
- throw new NotImplementedException();
+ return new PurpleConvIm(purple_conversation_get_im_data(conv.Reference));
}
/*
@@ -255,21 +277,10 @@ namespace PurpleWrapper
public static PurpleConvChat GetChatData(PurpleConversation conv)
{
- throw new NotImplementedException();
+ return new PurpleConvChat(purple_conversation_get_chat_data(conv.Reference));
}
/*
- * void purple_conversation_set_data(PurpleConversation * conv, char * key, gpointer data)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_conversation_set_data(IntPtr conv, string key, IntPtr data);
-
- public static void SetData(PurpleConversation conv, string key, IntPtr data)
- {
- throw new NotImplementedException();
- }
-
- /*
* gpointer purple_conversation_get_data(PurpleConversation * conv, char * key)
*/
[DllImport("libpurple.dll")]
@@ -277,84 +288,40 @@ namespace PurpleWrapper
public static IntPtr GetData(PurpleConversation conv, string key)
{
- throw new NotImplementedException();
+ return purple_conversation_get_data(conv.Reference, key);
}
/*
* GList * purple_get_conversations()
+ *
+ * Could not generate a wrapper for purple_get_conversations in file "conversation.h".
+ * Message: The type could not be resolved (GList * purple_get_conversations()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_get_conversations();
- public static GList GetConversations()
- {
- throw new NotImplementedException();
- }
-
/*
* GList * purple_get_ims()
+ *
+ * Could not generate a wrapper for purple_get_ims in file "conversation.h".
+ * Message: The type could not be resolved (GList * purple_get_ims()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_get_ims();
- public static GList GetIms()
- {
- throw new NotImplementedException();
- }
-
/*
* GList * purple_get_chats()
+ *
+ * Could not generate a wrapper for purple_get_chats in file "conversation.h".
+ * Message: The type could not be resolved (GList * purple_get_chats()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_get_chats();
- public static GList GetChats()
- {
- throw new NotImplementedException();
- }
-
/*
- * PurpleConversation * purple_find_conversation_with_account(PurpleConversationType type, char * name, PurpleAccount * account)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_find_conversation_with_account(UNKNOWN type, string name, IntPtr account);
-
- public static PurpleConversation FindConversationWithAccount(PurpleConversationType type, string name, PurpleAccount account)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_conversation_write(PurpleConversation * conv, char * who, char * message, PurpleMessageFlags flags, time_t mtime)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_conversation_write(IntPtr conv, string who, string message, UNKNOWN flags, UNKNOWN mtime);
-
- public static void Write(PurpleConversation conv, string who, string message, PurpleMessageFlags flags, time_t mtime)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_conversation_set_features(PurpleConversation * conv, PurpleConnectionFlags features)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_conversation_set_features(IntPtr conv, UNKNOWN features);
-
- public static void SetFeatures(PurpleConversation conv, PurpleConnectionFlags features)
- {
- throw new NotImplementedException();
- }
-
- /*
* PurpleConnectionFlags purple_conversation_get_features(PurpleConversation * conv)
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_conversation_get_features(IntPtr conv);
+ private static extern Connection.PurpleConnectionFlags purple_conversation_get_features(IntPtr conv);
- public static PurpleConnectionFlags GetFeatures(PurpleConversation conv)
+ public static Connection.PurpleConnectionFlags GetFeatures(PurpleConversation conv)
{
- throw new NotImplementedException();
+ /* Unable to process purple_conversation_get_features, a KnownEnum. */
+
}
/*
@@ -365,42 +332,28 @@ namespace PurpleWrapper
public static bool HasFocus(PurpleConversation conv)
{
- throw new NotImplementedException();
+ return purple_conversation_has_focus(conv.Reference);
}
/*
* void purple_conversation_update(PurpleConversation * conv, PurpleConvUpdateType type)
*/
[DllImport("libpurple.dll")]
- private static extern void purple_conversation_update(IntPtr conv, UNKNOWN type);
+ private static extern void purple_conversation_update(IntPtr conv, Conversation.PurpleConvUpdateType type);
- public static void Update(PurpleConversation conv, PurpleConvUpdateType type)
+ public static void Update(PurpleConversation conv, Conversation.PurpleConvUpdateType type)
{
+ /* Unable to process type, a KnownEnum. */
throw new NotImplementedException();
}
/*
- * void purple_conversation_foreach( )
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_conversation_foreach(UNKNOWN );
-
- public static void Foreach( )
- {
- throw new NotImplementedException();
- }
-
- /*
* GList * purple_conversation_get_message_history(PurpleConversation * conv)
+ *
+ * Could not generate a wrapper for purple_conversation_get_message_history in file "conversation.h".
+ * Message: The type could not be resolved (GList * purple_conversation_get_message_history(PurpleConversation * conv)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_conversation_get_message_history(IntPtr conv);
- public static GList GetMessageHistory(PurpleConversation conv)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_conversation_clear_message_history(PurpleConversation * conv)
*/
@@ -409,7 +362,7 @@ namespace PurpleWrapper
public static void ClearMessageHistory(PurpleConversation conv)
{
- throw new NotImplementedException();
+ purple_conversation_clear_message_history(conv.Reference);
}
/*
@@ -420,7 +373,7 @@ namespace PurpleWrapper
public static string MessageGetSender(PurpleConvMessage msg)
{
- throw new NotImplementedException();
+ return purple_conversation_message_get_sender(msg.Reference);
}
/*
@@ -431,29 +384,31 @@ namespace PurpleWrapper
public static string MessageGetMessage(PurpleConvMessage msg)
{
- throw new NotImplementedException();
+ return purple_conversation_message_get_message(msg.Reference);
}
/*
* PurpleMessageFlags purple_conversation_message_get_flags(PurpleConvMessage * msg)
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_conversation_message_get_flags(IntPtr msg);
+ private static extern Conversation.PurpleMessageFlags purple_conversation_message_get_flags(IntPtr msg);
- public static PurpleMessageFlags MessageGetFlags(PurpleConvMessage msg)
+ public static Conversation.PurpleMessageFlags MessageGetFlags(PurpleConvMessage msg)
{
- throw new NotImplementedException();
+ /* Unable to process purple_conversation_message_get_flags, a KnownEnum. */
+
}
/*
* time_t purple_conversation_message_get_timestamp(PurpleConvMessage * msg)
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_conversation_message_get_timestamp(IntPtr msg);
+ private static extern ulong purple_conversation_message_get_timestamp(IntPtr msg);
- public static time_t MessageGetTimestamp(PurpleConvMessage msg)
+ public static DateTime MessageGetTimestamp(PurpleConvMessage msg)
{
- throw new NotImplementedException();
+ /* Unable to process purple_conversation_message_get_timestamp, a DateTime. */
+
}
/*
@@ -464,39 +419,32 @@ namespace PurpleWrapper
public static PurpleConversation ConvImGetConversation(PurpleConvIm im)
{
- throw new NotImplementedException();
+ return new PurpleConversation(purple_conv_im_get_conversation(im.Reference));
}
/*
* void purple_conv_im_set_icon(PurpleConvIm * im, PurpleBuddyIcon * icon)
+ *
+ * Could not generate a wrapper for purple_conv_im_set_icon in file "conversation.h".
+ * Message: The type could not be resolved (PurpleBuddyIcon * icon).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_conv_im_set_icon(IntPtr im, IntPtr icon);
- public static void ConvImSetIcon(PurpleConvIm im, PurpleBuddyIcon icon)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleBuddyIcon * purple_conv_im_get_icon(PurpleConvIm * im)
+ *
+ * Could not generate a wrapper for purple_conv_im_get_icon in file "conversation.h".
+ * Message: The type could not be resolved (PurpleBuddyIcon * purple_conv_im_get_icon(PurpleConvIm * im)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_conv_im_get_icon(IntPtr im);
- public static PurpleBuddyIcon ConvImGetIcon(PurpleConvIm im)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_conv_im_set_typing_state(PurpleConvIm * im, PurpleTypingState state)
*/
[DllImport("libpurple.dll")]
- private static extern void purple_conv_im_set_typing_state(IntPtr im, UNKNOWN state);
+ private static extern void purple_conv_im_set_typing_state(IntPtr im, Conversation.PurpleTypingState state);
- public static void ConvImSetTypingState(PurpleConvIm im, PurpleTypingState state)
+ public static void ConvImSetTypingState(PurpleConvIm im, Conversation.PurpleTypingState state)
{
+ /* Unable to process state, a KnownEnum. */
throw new NotImplementedException();
}
@@ -504,11 +452,12 @@ namespace PurpleWrapper
* PurpleTypingState purple_conv_im_get_typing_state(PurpleConvIm * im)
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_conv_im_get_typing_state(IntPtr im);
+ private static extern Conversation.PurpleTypingState purple_conv_im_get_typing_state(IntPtr im);
- public static PurpleTypingState ConvImGetTypingState(PurpleConvIm im)
+ public static Conversation.PurpleTypingState ConvImGetTypingState(PurpleConvIm im)
{
- throw new NotImplementedException();
+ /* Unable to process purple_conv_im_get_typing_state, a KnownEnum. */
+
}
/*
@@ -519,7 +468,7 @@ namespace PurpleWrapper
public static void ConvImStartTypingTimeout(PurpleConvIm im, int timeout)
{
- throw new NotImplementedException();
+ purple_conv_im_start_typing_timeout(im.Reference, timeout);
}
/*
@@ -530,7 +479,7 @@ namespace PurpleWrapper
public static void ConvImStopTypingTimeout(PurpleConvIm im)
{
- throw new NotImplementedException();
+ purple_conv_im_stop_typing_timeout(im.Reference);
}
/*
@@ -541,29 +490,30 @@ namespace PurpleWrapper
public static uint ConvImGetTypingTimeout(PurpleConvIm im)
{
- throw new NotImplementedException();
+ return purple_conv_im_get_typing_timeout(im.Reference);
}
/*
- * void purple_conv_im_set_type_again(PurpleConvIm * im, unsigned int)
+ * void purple_conv_im_set_type_again(PurpleConvIm * im, unsigned int val)
*/
[DllImport("libpurple.dll")]
- private static extern void purple_conv_im_set_type_again(IntPtr im, UNKNOWN int);
+ private static extern void purple_conv_im_set_type_again(IntPtr im, uint val);
- public static void ConvImSetTypeAgain(PurpleConvIm im, unsigned int)
+ public static void ConvImSetTypeAgain(PurpleConvIm im, uint val)
{
- throw new NotImplementedException();
+ purple_conv_im_set_type_again(im.Reference, val);
}
/*
* time_t purple_conv_im_get_type_again(PurpleConvIm * im)
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_conv_im_get_type_again(IntPtr im);
+ private static extern ulong purple_conv_im_get_type_again(IntPtr im);
- public static time_t ConvImGetTypeAgain(PurpleConvIm im)
+ public static DateTime ConvImGetTypeAgain(PurpleConvIm im)
{
- throw new NotImplementedException();
+ /* Unable to process purple_conv_im_get_type_again, a DateTime. */
+
}
/*
@@ -574,7 +524,7 @@ namespace PurpleWrapper
public static void ConvImStartSendTypedTimeout(PurpleConvIm im)
{
- throw new NotImplementedException();
+ purple_conv_im_start_send_typed_timeout(im.Reference);
}
/*
@@ -585,7 +535,7 @@ namespace PurpleWrapper
public static void ConvImStopSendTypedTimeout(PurpleConvIm im)
{
- throw new NotImplementedException();
+ purple_conv_im_stop_send_typed_timeout(im.Reference);
}
/*
@@ -596,7 +546,7 @@ namespace PurpleWrapper
public static uint ConvImGetSendTypedTimeout(PurpleConvIm im)
{
- throw new NotImplementedException();
+ return purple_conv_im_get_send_typed_timeout(im.Reference);
}
/*
@@ -607,21 +557,10 @@ namespace PurpleWrapper
public static void ConvImUpdateTyping(PurpleConvIm im)
{
- throw new NotImplementedException();
+ purple_conv_im_update_typing(im.Reference);
}
/*
- * void purple_conv_im_write(PurpleConvIm * im, char * who, char * message, PurpleMessageFlags flags, time_t mtime)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_conv_im_write(IntPtr im, string who, string message, UNKNOWN flags, UNKNOWN mtime);
-
- public static void ConvImWrite(PurpleConvIm im, string who, string message, PurpleMessageFlags flags, time_t mtime)
- {
- throw new NotImplementedException();
- }
-
- /*
* gboolean purple_conv_present_error(char * who, PurpleAccount * account, char * what)
*/
[DllImport("libpurple.dll")]
@@ -629,7 +568,7 @@ namespace PurpleWrapper
public static bool ConvPresentError(string who, PurpleAccount account, string what)
{
- throw new NotImplementedException();
+ return purple_conv_present_error(who, account.Reference, what);
}
/*
@@ -640,7 +579,7 @@ namespace PurpleWrapper
public static void ConvImSend(PurpleConvIm im, string message)
{
- throw new NotImplementedException();
+ purple_conv_im_send(im.Reference, message);
}
/*
@@ -651,43 +590,22 @@ namespace PurpleWrapper
public static void ConvSendConfirm(PurpleConversation conv, string message)
{
- throw new NotImplementedException();
+ purple_conv_send_confirm(conv.Reference, message);
}
/*
* void purple_conv_im_send_with_flags(PurpleConvIm * im, char * message, PurpleMessageFlags flags)
*/
[DllImport("libpurple.dll")]
- private static extern void purple_conv_im_send_with_flags(IntPtr im, string message, UNKNOWN flags);
+ private static extern void purple_conv_im_send_with_flags(IntPtr im, string message, Conversation.PurpleMessageFlags flags);
- public static void ConvImSendWithFlags(PurpleConvIm im, string message, PurpleMessageFlags flags)
+ public static void ConvImSendWithFlags(PurpleConvIm im, string message, Conversation.PurpleMessageFlags flags)
{
+ /* Unable to process flags, a KnownEnum. */
throw new NotImplementedException();
}
/*
- * gboolean purple_conv_custom_smiley_add(PurpleConversation * conv, char * smile, char * cksum_type, char * chksum, gboolean remote)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_conv_custom_smiley_add(IntPtr conv, string smile, string cksum_type, string chksum, bool remote);
-
- public static bool ConvCustomSmileyAdd(PurpleConversation conv, string smile, string cksum_type, string chksum, bool remote)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_conv_custom_smiley_write(PurpleConversation * conv, char * smile, guchar * data, gsize size)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_conv_custom_smiley_write(IntPtr conv, string smile, IntPtr data, UNKNOWN size);
-
- public static void ConvCustomSmileyWrite(PurpleConversation conv, string smile, guchar data, gsize size)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_conv_custom_smiley_close(PurpleConversation * conv, char * smile)
*/
[DllImport("libpurple.dll")]
@@ -695,7 +613,7 @@ namespace PurpleWrapper
public static void ConvCustomSmileyClose(PurpleConversation conv, string smile)
{
- throw new NotImplementedException();
+ purple_conv_custom_smiley_close(conv.Reference, smile);
}
/*
@@ -706,31 +624,23 @@ namespace PurpleWrapper
public static PurpleConversation ConvChatGetConversation(PurpleConvChat chat)
{
- throw new NotImplementedException();
+ return new PurpleConversation(purple_conv_chat_get_conversation(chat.Reference));
}
/*
* GList * purple_conv_chat_set_users(PurpleConvChat * chat, GList * users)
+ *
+ * Could not generate a wrapper for purple_conv_chat_set_users in file "conversation.h".
+ * Message: The type could not be resolved (GList * purple_conv_chat_set_users(PurpleConvChat * chat, GList * users)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_conv_chat_set_users(IntPtr chat, IntPtr users);
- public static GList ConvChatSetUsers(PurpleConvChat chat, GList users)
- {
- throw new NotImplementedException();
- }
-
/*
* GList * purple_conv_chat_get_users(PurpleConvChat * chat)
+ *
+ * Could not generate a wrapper for purple_conv_chat_get_users in file "conversation.h".
+ * Message: The type could not be resolved (GList * purple_conv_chat_get_users(PurpleConvChat * chat)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_conv_chat_get_users(IntPtr chat);
- public static GList ConvChatGetUsers(PurpleConvChat chat)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_conv_chat_ignore(PurpleConvChat * chat, char * name)
*/
@@ -739,7 +649,7 @@ namespace PurpleWrapper
public static void ConvChatIgnore(PurpleConvChat chat, string name)
{
- throw new NotImplementedException();
+ purple_conv_chat_ignore(chat.Reference, name);
}
/*
@@ -750,65 +660,24 @@ namespace PurpleWrapper
public static void ConvChatUnignore(PurpleConvChat chat, string name)
{
- throw new NotImplementedException();
+ purple_conv_chat_unignore(chat.Reference, name);
}
/*
* GList * purple_conv_chat_set_ignored(PurpleConvChat * chat, GList * ignored)
+ *
+ * Could not generate a wrapper for purple_conv_chat_set_ignored in file "conversation.h".
+ * Message: The type could not be resolved (GList * purple_conv_chat_set_ignored(PurpleConvChat * chat, GList * ignored)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_conv_chat_set_ignored(IntPtr chat, IntPtr ignored);
- public static GList ConvChatSetIgnored(PurpleConvChat chat, GList ignored)
- {
- throw new NotImplementedException();
- }
-
/*
* GList * purple_conv_chat_get_ignored(PurpleConvChat * chat)
+ *
+ * Could not generate a wrapper for purple_conv_chat_get_ignored in file "conversation.h".
+ * Message: The type could not be resolved (GList * purple_conv_chat_get_ignored(PurpleConvChat * chat)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_conv_chat_get_ignored(IntPtr chat);
- public static GList ConvChatGetIgnored(PurpleConvChat chat)
- {
- throw new NotImplementedException();
- }
-
/*
- * char * purple_conv_chat_get_ignored_user(PurpleConvChat * chat, char * user)
- */
- [DllImport("libpurple.dll")]
- private static extern string purple_conv_chat_get_ignored_user(IntPtr chat, string user);
-
- public static string ConvChatGetIgnoredUser(PurpleConvChat chat, string user)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gboolean purple_conv_chat_is_user_ignored(PurpleConvChat * chat, char * user)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_conv_chat_is_user_ignored(IntPtr chat, string user);
-
- public static bool ConvChatIsUserIgnored(PurpleConvChat chat, string user)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_conv_chat_set_topic(PurpleConvChat * chat, char * who, char * topic)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_conv_chat_set_topic(IntPtr chat, string who, string topic);
-
- public static void ConvChatSetTopic(PurpleConvChat chat, string who, string topic)
- {
- throw new NotImplementedException();
- }
-
- /*
* char * purple_conv_chat_get_topic(PurpleConvChat * chat)
*/
[DllImport("libpurple.dll")]
@@ -816,7 +685,7 @@ namespace PurpleWrapper
public static string ConvChatGetTopic(PurpleConvChat chat)
{
- throw new NotImplementedException();
+ return purple_conv_chat_get_topic(chat.Reference);
}
/*
@@ -827,7 +696,7 @@ namespace PurpleWrapper
public static void ConvChatSetId(PurpleConvChat chat, int id)
{
- throw new NotImplementedException();
+ purple_conv_chat_set_id(chat.Reference, id);
}
/*
@@ -838,21 +707,10 @@ namespace PurpleWrapper
public static int ConvChatGetId(PurpleConvChat chat)
{
- throw new NotImplementedException();
+ return purple_conv_chat_get_id(chat.Reference);
}
/*
- * void purple_conv_chat_write(PurpleConvChat * chat, char * who, char * message, PurpleMessageFlags flags, time_t mtime)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_conv_chat_write(IntPtr chat, string who, string message, UNKNOWN flags, UNKNOWN mtime);
-
- public static void ConvChatWrite(PurpleConvChat chat, string who, string message, PurpleMessageFlags flags, time_t mtime)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_conv_chat_send(PurpleConvChat * chat, char * message)
*/
[DllImport("libpurple.dll")]
@@ -860,76 +718,22 @@ namespace PurpleWrapper
public static void ConvChatSend(PurpleConvChat chat, string message)
{
- throw new NotImplementedException();
+ purple_conv_chat_send(chat.Reference, message);
}
/*
* void purple_conv_chat_send_with_flags(PurpleConvChat * chat, char * message, PurpleMessageFlags flags)
*/
[DllImport("libpurple.dll")]
- private static extern void purple_conv_chat_send_with_flags(IntPtr chat, string message, UNKNOWN flags);
+ private static extern void purple_conv_chat_send_with_flags(IntPtr chat, string message, Conversation.PurpleMessageFlags flags);
- public static void ConvChatSendWithFlags(PurpleConvChat chat, string message, PurpleMessageFlags flags)
+ public static void ConvChatSendWithFlags(PurpleConvChat chat, string message, Conversation.PurpleMessageFlags flags)
{
+ /* Unable to process flags, a KnownEnum. */
throw new NotImplementedException();
}
/*
- * void purple_conv_chat_add_user(PurpleConvChat * chat, char * user, char * extra_msg, PurpleConvChatBuddyFlags flags, gboolean new_arrival)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_conv_chat_add_user(IntPtr chat, string user, string extra_msg, UNKNOWN flags, bool new_arrival);
-
- public static void ConvChatAddUser(PurpleConvChat chat, string user, string extra_msg, PurpleConvChatBuddyFlags flags, bool new_arrival)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_conv_chat_add_users(PurpleConvChat * chat, GList * users, GList * extra_msgs, GList * flags, gboolean new_arrivals)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_conv_chat_add_users(IntPtr chat, IntPtr users, IntPtr extra_msgs, IntPtr flags, bool new_arrivals);
-
- public static void ConvChatAddUsers(PurpleConvChat chat, GList users, GList extra_msgs, GList flags, bool new_arrivals)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_conv_chat_rename_user(PurpleConvChat * chat, char * old_user, char * new_user)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_conv_chat_rename_user(IntPtr chat, string old_user, string new_user);
-
- public static void ConvChatRenameUser(PurpleConvChat chat, string old_user, string new_user)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_conv_chat_remove_user(PurpleConvChat * chat, char * user, char * reason)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_conv_chat_remove_user(IntPtr chat, string user, string reason);
-
- public static void ConvChatRemoveUser(PurpleConvChat chat, string user, string reason)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_conv_chat_remove_users(PurpleConvChat * chat, GList * users, char * reason)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_conv_chat_remove_users(IntPtr chat, IntPtr users, string reason);
-
- public static void ConvChatRemoveUsers(PurpleConvChat chat, GList users, string reason)
- {
- throw new NotImplementedException();
- }
-
- /*
* gboolean purple_conv_chat_find_user(PurpleConvChat * chat, char * user)
*/
[DllImport("libpurple.dll")]
@@ -937,32 +741,10 @@ namespace PurpleWrapper
public static bool ConvChatFindUser(PurpleConvChat chat, string user)
{
- throw new NotImplementedException();
+ return purple_conv_chat_find_user(chat.Reference, user);
}
/*
- * void purple_conv_chat_user_set_flags(PurpleConvChat * chat, char * user, PurpleConvChatBuddyFlags flags)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_conv_chat_user_set_flags(IntPtr chat, string user, UNKNOWN flags);
-
- public static void ConvChatUserSetFlags(PurpleConvChat chat, string user, PurpleConvChatBuddyFlags flags)
- {
- throw new NotImplementedException();
- }
-
- /*
- * PurpleConvChatBuddyFlags purple_conv_chat_user_get_flags(PurpleConvChat * chat, char * user)
- */
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_conv_chat_user_get_flags(IntPtr chat, string user);
-
- public static PurpleConvChatBuddyFlags ConvChatUserGetFlags(PurpleConvChat chat, string user)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_conv_chat_clear_users(PurpleConvChat * chat)
*/
[DllImport("libpurple.dll")]
@@ -970,7 +752,7 @@ namespace PurpleWrapper
public static void ConvChatClearUsers(PurpleConvChat chat)
{
- throw new NotImplementedException();
+ purple_conv_chat_clear_users(chat.Reference);
}
/*
@@ -981,7 +763,7 @@ namespace PurpleWrapper
public static void ConvChatSetNick(PurpleConvChat chat, string nick)
{
- throw new NotImplementedException();
+ purple_conv_chat_set_nick(chat.Reference, nick);
}
/*
@@ -992,7 +774,7 @@ namespace PurpleWrapper
public static string ConvChatGetNick(PurpleConvChat chat)
{
- throw new NotImplementedException();
+ return purple_conv_chat_get_nick(chat.Reference);
}
/*
@@ -1003,7 +785,7 @@ namespace PurpleWrapper
public static PurpleConversation FindChat(PurpleConnection gc, int id)
{
- throw new NotImplementedException();
+ return new PurpleConversation(purple_find_chat(gc.Reference, id));
}
/*
@@ -1014,21 +796,10 @@ namespace PurpleWrapper
public static void ConvChatLeft(PurpleConvChat chat)
{
- throw new NotImplementedException();
+ purple_conv_chat_left(chat.Reference);
}
/*
- * void purple_conv_chat_invite_user(PurpleConvChat * chat, char * user, char * message, gboolean confirm)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_conv_chat_invite_user(IntPtr chat, string user, string message, bool confirm);
-
- public static void ConvChatInviteUser(PurpleConvChat chat, string user, string message, bool confirm)
- {
- throw new NotImplementedException();
- }
-
- /*
* gboolean purple_conv_chat_has_left(PurpleConvChat * chat)
*/
[DllImport("libpurple.dll")]
@@ -1036,21 +807,10 @@ namespace PurpleWrapper
public static bool ConvChatHasLeft(PurpleConvChat chat)
{
- throw new NotImplementedException();
+ return purple_conv_chat_has_left(chat.Reference);
}
/*
- * PurpleConvChatBuddy * purple_conv_chat_cb_new(char * name, char * alias, PurpleConvChatBuddyFlags flags)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_conv_chat_cb_new(string name, string alias, UNKNOWN flags);
-
- public static PurpleConvChatBuddy ConvChatCbNew(string name, string alias, PurpleConvChatBuddyFlags flags)
- {
- throw new NotImplementedException();
- }
-
- /*
* PurpleConvChatBuddy * purple_conv_chat_cb_find(PurpleConvChat * chat, char * name)
*/
[DllImport("libpurple.dll")]
@@ -1058,7 +818,7 @@ namespace PurpleWrapper
public static PurpleConvChatBuddy ConvChatCbFind(PurpleConvChat chat, string name)
{
- throw new NotImplementedException();
+ return new PurpleConvChatBuddy(purple_conv_chat_cb_find(chat.Reference, name));
}
/*
@@ -1069,7 +829,7 @@ namespace PurpleWrapper
public static string ConvChatCbGetName(PurpleConvChatBuddy cb)
{
- throw new NotImplementedException();
+ return purple_conv_chat_cb_get_name(cb.Reference);
}
/*
@@ -1080,19 +840,22 @@ namespace PurpleWrapper
public static void ConvChatCbDestroy(PurpleConvChatBuddy cb)
{
- throw new NotImplementedException();
+ purple_conv_chat_cb_destroy(cb.Reference);
}
/*
- * gboolean purple_conversation_do_command(PurpleConversation * conv, gchar * cmdline, gchar * markup, gchar ** error)
+ * GList * purple_conversation_get_extended_menu(PurpleConversation * conv)
+ *
+ * Could not generate a wrapper for purple_conversation_get_extended_menu in file "conversation.h".
+ * Message: The type could not be resolved (GList * purple_conversation_get_extended_menu(PurpleConversation * conv)).
*/
- [DllImport("libpurple.dll")]
- private static extern bool purple_conversation_do_command(IntPtr conv, string cmdline, string markup, IntPtr error);
- public static bool DoCommand(PurpleConversation conv, string cmdline, string markup, gchar error)
- {
- throw new NotImplementedException();
- }
+ /*
+ * gboolean purple_conversation_do_command(PurpleConversation * conv, gchar * cmdline, gchar * markup, gchar ** error)
+ *
+ * Could not generate a wrapper for purple_conversation_do_command in file "conversation.h".
+ * Message: The type could not be resolved (gchar ** error).
+ */
/*
* void * purple_conversations_get_handle()
@@ -1102,7 +865,7 @@ namespace PurpleWrapper
public static IntPtr ConversationsGetHandle()
{
- throw new NotImplementedException();
+ return purple_conversations_get_handle();
}
/*
@@ -1113,7 +876,7 @@ namespace PurpleWrapper
public static void ConversationsInit()
{
- throw new NotImplementedException();
+ purple_conversations_init();
}
/*
@@ -1124,7 +887,7 @@ namespace PurpleWrapper
public static void ConversationsUninit()
{
- throw new NotImplementedException();
+ purple_conversations_uninit();
}
}
============================================================
--- libpurple/wrapper/Core.cs 3a60cd1694524f875b46757389ffebe82089cb66
+++ libpurple/wrapper/Core.cs f4e62e4c9a5dd05796b2d0cfaa9ef31194ed6c7f
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -46,7 +48,7 @@ namespace PurpleWrapper
public static bool Init(string ui)
{
- throw new NotImplementedException();
+ return purple_core_init(ui);
}
/*
@@ -57,7 +59,7 @@ namespace PurpleWrapper
public static void Quit()
{
- throw new NotImplementedException();
+ purple_core_quit();
}
/*
@@ -68,7 +70,7 @@ namespace PurpleWrapper
public static bool QuitCb(IntPtr unused)
{
- throw new NotImplementedException();
+ return purple_core_quit_cb(unused);
}
/*
@@ -79,7 +81,7 @@ namespace PurpleWrapper
public static string GetVersion()
{
- throw new NotImplementedException();
+ return purple_core_get_version();
}
/*
@@ -90,42 +92,30 @@ namespace PurpleWrapper
public static string GetUi()
{
- throw new NotImplementedException();
+ return purple_core_get_ui();
}
/*
* PurpleCore * purple_get_core()
+ *
+ * Could not generate a wrapper for purple_get_core in file "core.h".
+ * Message: The type could not be resolved (PurpleCore * purple_get_core()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_get_core();
- public static PurpleCore GetCore()
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_core_set_ui_ops(PurpleCoreUiOps * ops)
+ *
+ * Could not generate a wrapper for purple_core_set_ui_ops in file "core.h".
+ * Message: The type could not be resolved (PurpleCoreUiOps * ops).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_core_set_ui_ops(IntPtr ops);
- public static void SetUiOps(PurpleCoreUiOps ops)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleCoreUiOps * purple_core_get_ui_ops()
+ *
+ * Could not generate a wrapper for purple_core_get_ui_ops in file "core.h".
+ * Message: The type could not be resolved (PurpleCoreUiOps * purple_core_get_ui_ops()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_core_get_ui_ops();
- public static PurpleCoreUiOps GetUiOps()
- {
- throw new NotImplementedException();
- }
-
/*
* gboolean purple_core_migrate()
*/
@@ -134,7 +124,7 @@ namespace PurpleWrapper
public static bool Migrate()
{
- throw new NotImplementedException();
+ return purple_core_migrate();
}
/*
@@ -145,9 +135,16 @@ namespace PurpleWrapper
public static bool EnsureSingleInstance()
{
- throw new NotImplementedException();
+ return purple_core_ensure_single_instance();
}
+ /*
+ * GHashTable* purple_core_get_ui_info()
+ *
+ * Could not generate a wrapper for purple_core_get_ui_info in file "core.h".
+ * Message: The type could not be resolved (GHashTable* purple_core_get_ui_info()).
+ */
+
}
}
============================================================
--- libpurple/wrapper/Debug.cs cc587e78038680088455af17195310b70cc568e4
+++ libpurple/wrapper/Debug.cs 4cde7bf4fb6c1dba78b1d554aef51f148a727108
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,73 +40,17 @@ namespace PurpleWrapper
{
public class Debug
{
- /*
- * void purple_debug(PurpleDebugLevel level, char * category, char * format, ...)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_debug(UNKNOWN level, string category, string format, ...);
-
- public static void Debug(PurpleDebugLevel level, string category, string format, ...)
+ public enum PurpleDebugLevel
{
- throw new NotImplementedException();
- }
+ PURPLE_DEBUG_ALL = 0,
+ PURPLE_DEBUG_MISC,
+ PURPLE_DEBUG_INFO,
+ PURPLE_DEBUG_WARNING,
+ PURPLE_DEBUG_ERROR,
+ PURPLE_DEBUG_FATAL
+ };
/*
- * void purple_debug_misc(char * category, char * format, ...)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_debug_misc(string category, string format, ...);
-
- public static void Misc(string category, string format, ...)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_debug_info(char * category, char * format, ...)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_debug_info(string category, string format, ...);
-
- public static void Info(string category, string format, ...)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_debug_warning(char * category, char * format, ...)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_debug_warning(string category, string format, ...);
-
- public static void Warning(string category, string format, ...)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_debug_error(char * category, char * format, ...)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_debug_error(string category, string format, ...);
-
- public static void Error(string category, string format, ...)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_debug_fatal(char * category, char * format, ...)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_debug_fatal(string category, string format, ...);
-
- public static void Fatal(string category, string format, ...)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_debug_set_enabled(gboolean enabled)
*/
[DllImport("libpurple.dll")]
@@ -112,7 +58,7 @@ namespace PurpleWrapper
public static void SetEnabled(bool enabled)
{
- throw new NotImplementedException();
+ purple_debug_set_enabled(enabled);
}
/*
@@ -123,31 +69,23 @@ namespace PurpleWrapper
public static bool IsEnabled()
{
- throw new NotImplementedException();
+ return purple_debug_is_enabled();
}
/*
* void purple_debug_set_ui_ops(PurpleDebugUiOps * ops)
+ *
+ * Could not generate a wrapper for purple_debug_set_ui_ops in file "debug.h".
+ * Message: The type could not be resolved (PurpleDebugUiOps * ops).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_debug_set_ui_ops(IntPtr ops);
- public static void SetUiOps(PurpleDebugUiOps ops)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleDebugUiOps * purple_debug_get_ui_ops()
+ *
+ * Could not generate a wrapper for purple_debug_get_ui_ops in file "debug.h".
+ * Message: The type could not be resolved (PurpleDebugUiOps * purple_debug_get_ui_ops()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_debug_get_ui_ops();
- public static PurpleDebugUiOps GetUiOps()
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_debug_init()
*/
@@ -156,7 +94,7 @@ namespace PurpleWrapper
public static void Init()
{
- throw new NotImplementedException();
+ purple_debug_init();
}
}
============================================================
--- libpurple/wrapper/Desktopitem.cs 89df04813015ea3ea4d0fdb85c40dc9c5ac219e2
+++ libpurple/wrapper/Desktopitem.cs 487522f0ae61ae31362f83117b2bc96e8fbba4df
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,72 +40,59 @@ namespace PurpleWrapper
{
public class Desktopitem
{
+ public enum PurpleDesktopItemType
+ {
+ PURPLE_DESKTOP_ITEM_TYPE_NULL = 0,
+ PURPLE_DESKTOP_ITEM_TYPE_OTHER,
+ PURPLE_DESKTOP_ITEM_TYPE_APPLICATION,
+ PURPLE_DESKTOP_ITEM_TYPE_LINK,
+ PURPLE_DESKTOP_ITEM_TYPE_FSDEVICE,
+ PURPLE_DESKTOP_ITEM_TYPE_MIME_TYPE,
+ PURPLE_DESKTOP_ITEM_TYPE_DIRECTORY,
+ PURPLE_DESKTOP_ITEM_TYPE_SERVICE,
+ PURPLE_DESKTOP_ITEM_TYPE_SERVICE_TYPE
+ };
+
/*
* GType purple_desktop_item_get_type()
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_desktop_item_get_type();
+ private static extern IntPtr purple_desktop_item_get_type();
- public static GType DesktopItemGetType()
+ public static /* libgobject */ IntPtr DesktopItemGetType()
{
- throw new NotImplementedException();
+ /* Unable to process purple_desktop_item_get_type, a GObjectObject. */
+
}
/*
* PurpleDesktopItem * purple_desktop_item_new_from_file(char * filename)
+ *
+ * Could not generate a wrapper for purple_desktop_item_new_from_file in file "desktopitem.h".
+ * Message: The type could not be resolved (PurpleDesktopItem * purple_desktop_item_new_from_file(char * filename)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_desktop_item_new_from_file(string filename);
- public static PurpleDesktopItem DesktopItemNewFromFile(string filename)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleDesktopItemType purple_desktop_item_get_entry_type(PurpleDesktopItem * item)
+ *
+ * Could not generate a wrapper for purple_desktop_item_get_entry_type in file "desktopitem.h".
+ * Message: The type could not be resolved (PurpleDesktopItem * item).
*/
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_desktop_item_get_entry_type(IntPtr item);
- public static PurpleDesktopItemType DesktopItemGetEntryType(PurpleDesktopItem item)
- {
- throw new NotImplementedException();
- }
-
/*
- * char * purple_desktop_item_get_string(PurpleDesktopItem * item, char * attr)
- */
- [DllImport("libpurple.dll")]
- private static extern string purple_desktop_item_get_string(IntPtr item, string attr);
-
- public static string DesktopItemGetString(PurpleDesktopItem item, string attr)
- {
- throw new NotImplementedException();
- }
-
- /*
* PurpleDesktopItem * purple_desktop_item_copy(PurpleDesktopItem * item)
+ *
+ * Could not generate a wrapper for purple_desktop_item_copy in file "desktopitem.h".
+ * Message: The type could not be resolved (PurpleDesktopItem * purple_desktop_item_copy(PurpleDesktopItem * item)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_desktop_item_copy(IntPtr item);
- public static PurpleDesktopItem DesktopItemCopy(PurpleDesktopItem item)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_desktop_item_unref(PurpleDesktopItem * item)
+ *
+ * Could not generate a wrapper for purple_desktop_item_unref in file "desktopitem.h".
+ * Message: The type could not be resolved (PurpleDesktopItem * item).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_desktop_item_unref(IntPtr item);
- public static void DesktopItemUnref(PurpleDesktopItem item)
- {
- throw new NotImplementedException();
- }
-
}
}
============================================================
--- libpurple/wrapper/Dnsquery.cs dbea6537cbef1fdc63b20299c18d165ec86985a9
+++ libpurple/wrapper/Dnsquery.cs 1c4c525d9db110a602fc437d49e80c0917286537
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -40,70 +42,46 @@ namespace PurpleWrapper
{
/*
* PurpleDnsQueryData * purple_dnsquery_a(char * hostname, int port, PurpleDnsQueryConnectFunction callback, gpointer data)
+ *
+ * Could not generate a wrapper for purple_dnsquery_a in file "dnsquery.h".
+ * Message: The type could not be resolved (PurpleDnsQueryConnectFunction callback).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_dnsquery_a(string hostname, int port, UNKNOWN callback, IntPtr data);
- public static PurpleDnsQueryData A(string hostname, int port, PurpleDnsQueryConnectFunction callback, IntPtr data)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_dnsquery_destroy(PurpleDnsQueryData * query_data)
+ *
+ * Could not generate a wrapper for purple_dnsquery_destroy in file "dnsquery.h".
+ * Message: The type could not be resolved (PurpleDnsQueryData * query_data).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_dnsquery_destroy(IntPtr query_data);
- public static void Destroy(PurpleDnsQueryData query_data)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_dnsquery_set_ui_ops(PurpleDnsQueryUiOps * ops)
+ *
+ * Could not generate a wrapper for purple_dnsquery_set_ui_ops in file "dnsquery.h".
+ * Message: The type could not be resolved (PurpleDnsQueryUiOps * ops).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_dnsquery_set_ui_ops(IntPtr ops);
- public static void SetUiOps(PurpleDnsQueryUiOps ops)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleDnsQueryUiOps * purple_dnsquery_get_ui_ops()
+ *
+ * Could not generate a wrapper for purple_dnsquery_get_ui_ops in file "dnsquery.h".
+ * Message: The type could not be resolved (PurpleDnsQueryUiOps * purple_dnsquery_get_ui_ops()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_dnsquery_get_ui_ops();
- public static PurpleDnsQueryUiOps GetUiOps()
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_dnsquery_get_host(PurpleDnsQueryData * query_data)
+ *
+ * Could not generate a wrapper for purple_dnsquery_get_host in file "dnsquery.h".
+ * Message: The type could not be resolved (PurpleDnsQueryData * query_data).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_dnsquery_get_host(IntPtr query_data);
- public static string GetHost(PurpleDnsQueryData query_data)
- {
- throw new NotImplementedException();
- }
-
/*
- * short purple_dnsquery_get_port(PurpleDnsQueryData * query_data)
+ * unsigned short purple_dnsquery_get_port(PurpleDnsQueryData * query_data)
+ *
+ * Could not generate a wrapper for purple_dnsquery_get_port in file "dnsquery.h".
+ * Message: The type could not be resolved (PurpleDnsQueryData * query_data).
*/
- [DllImport("libpurple.dll")]
- private static extern short purple_dnsquery_get_port(IntPtr query_data);
- public static short GetPort(PurpleDnsQueryData query_data)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_dnsquery_init()
*/
@@ -112,7 +90,7 @@ namespace PurpleWrapper
public static void Init()
{
- throw new NotImplementedException();
+ purple_dnsquery_init();
}
/*
@@ -123,7 +101,7 @@ namespace PurpleWrapper
public static void Uninit()
{
- throw new NotImplementedException();
+ purple_dnsquery_uninit();
}
}
============================================================
--- libpurple/wrapper/Dnssrv.cs bcfa494b2a88ae8e1b4d62fa093cf19d9b8f9498
+++ libpurple/wrapper/Dnssrv.cs ce96ae0c6f2de69c4b574ecdf4d007b5d67c0a11
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -40,70 +42,46 @@ namespace PurpleWrapper
{
/*
* PurpleSrvQueryData * purple_srv_resolve(char * protocol, char * transport, char * domain, PurpleSrvCallback cb, gpointer extradata)
+ *
+ * Could not generate a wrapper for purple_srv_resolve in file "dnssrv.h".
+ * Message: The type could not be resolved (PurpleSrvCallback cb).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_srv_resolve(string protocol, string transport, string domain, UNKNOWN cb, IntPtr extradata);
- public static PurpleSrvQueryData SrvResolve(string protocol, string transport, string domain, PurpleSrvCallback cb, IntPtr extradata)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_srv_cancel(PurpleSrvQueryData * query_data)
+ *
+ * Could not generate a wrapper for purple_srv_cancel in file "dnssrv.h".
+ * Message: The type could not be resolved (PurpleSrvQueryData * query_data).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_srv_cancel(IntPtr query_data);
- public static void SrvCancel(PurpleSrvQueryData query_data)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleSrvQueryData * purple_txt_resolve(char * owner, char * domain, PurpleTxtCallback cb, gpointer extradata)
+ *
+ * Could not generate a wrapper for purple_txt_resolve in file "dnssrv.h".
+ * Message: The type could not be resolved (PurpleTxtCallback cb).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_txt_resolve(string owner, string domain, UNKNOWN cb, IntPtr extradata);
- public static PurpleSrvQueryData TxtResolve(string owner, string domain, PurpleTxtCallback cb, IntPtr extradata)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_txt_cancel(PurpleSrvQueryData * query_data)
+ *
+ * Could not generate a wrapper for purple_txt_cancel in file "dnssrv.h".
+ * Message: The type could not be resolved (PurpleSrvQueryData * query_data).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_txt_cancel(IntPtr query_data);
- public static void TxtCancel(PurpleSrvQueryData query_data)
- {
- throw new NotImplementedException();
- }
-
/*
* gchar * purple_txt_response_get_content(PurpleTxtResponse * resp)
+ *
+ * Could not generate a wrapper for purple_txt_response_get_content in file "dnssrv.h".
+ * Message: The type could not be resolved (PurpleTxtResponse * resp).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_txt_response_get_content(IntPtr resp);
- public static string TxtResponseGetContent(PurpleTxtResponse resp)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_txt_response_destroy(PurpleTxtResponse * resp)
+ *
+ * Could not generate a wrapper for purple_txt_response_destroy in file "dnssrv.h".
+ * Message: The type could not be resolved (PurpleTxtResponse * resp).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_txt_response_destroy(IntPtr resp);
- public static void TxtResponseDestroy(PurpleTxtResponse resp)
- {
- throw new NotImplementedException();
- }
-
}
}
============================================================
--- libpurple/wrapper/Eventloop.cs 58d05562d886b39513e58cb904fc1ebf9b5324ca
+++ libpurple/wrapper/Eventloop.cs dde9b3a062e0eebdb9cf78eaf78b81cce19ebe95
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,14 +40,21 @@ namespace PurpleWrapper
{
public class Eventloop
{
+ public enum PurpleInputCondition
+ {
+ PURPLE_INPUT_READ = 1 << 0,
+ PURPLE_INPUT_WRITE = 1 << 1
+ };
+
/*
* guint purple_timeout_add(guint interval, GSourceFunc function, gpointer data)
*/
[DllImport("libpurple.dll")]
- private static extern uint purple_timeout_add(uint interval, UNKNOWN function, IntPtr data);
+ private static extern uint purple_timeout_add(uint interval, IntPtr function, IntPtr data);
- public static uint TimeoutAdd(uint interval, GSourceFunc function, IntPtr data)
+ public static uint TimeoutAdd(uint interval, /* libgobject */ IntPtr function, IntPtr data)
{
+ /* Unable to process function, a GObjectObject. */
throw new NotImplementedException();
}
@@ -53,10 +62,11 @@ namespace PurpleWrapper
* guint purple_timeout_add_seconds(guint interval, GSourceFunc function, gpointer data)
*/
[DllImport("libpurple.dll")]
- private static extern uint purple_timeout_add_seconds(uint interval, UNKNOWN function, IntPtr data);
+ private static extern uint purple_timeout_add_seconds(uint interval, IntPtr function, IntPtr data);
- public static uint TimeoutAddSeconds(uint interval, GSourceFunc function, IntPtr data)
+ public static uint TimeoutAddSeconds(uint interval, /* libgobject */ IntPtr function, IntPtr data)
{
+ /* Unable to process function, a GObjectObject. */
throw new NotImplementedException();
}
@@ -68,21 +78,10 @@ namespace PurpleWrapper
public static bool TimeoutRemove(uint handle)
{
- throw new NotImplementedException();
+ return purple_timeout_remove(handle);
}
/*
- * guint purple_input_add(int fd, PurpleInputCondition cond, PurpleInputFunction func, gpointer user_data)
- */
- [DllImport("libpurple.dll")]
- private static extern uint purple_input_add(int fd, UNKNOWN cond, UNKNOWN func, IntPtr user_data);
-
- public static uint InputAdd(int fd, PurpleInputCondition cond, PurpleInputFunction func, IntPtr user_data)
- {
- throw new NotImplementedException();
- }
-
- /*
* gboolean purple_input_remove(guint handle)
*/
[DllImport("libpurple.dll")]
@@ -90,20 +89,16 @@ namespace PurpleWrapper
public static bool InputRemove(uint handle)
{
- throw new NotImplementedException();
+ return purple_input_remove(handle);
}
/*
* int purple_input_get_error(int fd, int * error)
+ *
+ * Could not generate a wrapper for purple_input_get_error in file "eventloop.h".
+ * Message: The type could not be resolved (int * error).
*/
- [DllImport("libpurple.dll")]
- private static extern int purple_input_get_error(int fd, IntPtr error);
- public static int InputGetError(int fd, int error)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_eventloop_set_ui_ops(PurpleEventLoopUiOps * ops)
*/
@@ -112,7 +107,7 @@ namespace PurpleWrapper
public static void SetUiOps(PurpleEventLoopUiOps ops)
{
- throw new NotImplementedException();
+ purple_eventloop_set_ui_ops(ops.Reference);
}
/*
@@ -123,7 +118,7 @@ namespace PurpleWrapper
public static PurpleEventLoopUiOps GetUiOps()
{
- throw new NotImplementedException();
+ return new PurpleEventLoopUiOps(purple_eventloop_get_ui_ops());
}
}
============================================================
--- libpurple/wrapper/Ft.cs 65769ab4f81adf72fa51dd74311010fdcf0c6ec1
+++ libpurple/wrapper/Ft.cs 4650ae4af8fe1fd9ed3267ffd62d9d8e73babfc4
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,28 +40,31 @@ namespace PurpleWrapper
{
public class Ft
{
- /*
- * PurpleXfer * purple_xfer_new(PurpleAccount * account, PurpleXferType type, char * who)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_xfer_new(IntPtr account, UNKNOWN type, string who);
+ public enum PurpleXferType
+ {
+ PURPLE_XFER_UNKNOWN = 0,
+ PURPLE_XFER_SEND,
+ PURPLE_XFER_RECEIVE
+ };
- public static PurpleXfer XferNew(PurpleAccount account, PurpleXferType type, string who)
+ public enum PurpleXferStatusType
{
- throw new NotImplementedException();
- }
+ PURPLE_XFER_STATUS_UNKNOWN = 0,
+ PURPLE_XFER_STATUS_NOT_STARTED,
+ PURPLE_XFER_STATUS_ACCEPTED,
+ PURPLE_XFER_STATUS_STARTED,
+ PURPLE_XFER_STATUS_DONE,
+ PURPLE_XFER_STATUS_CANCEL_LOCAL,
+ PURPLE_XFER_STATUS_CANCEL_REMOTE
+ };
/*
* GList * purple_xfers_get_all()
+ *
+ * Could not generate a wrapper for purple_xfers_get_all in file "ft.h".
+ * Message: The type could not be resolved (GList * purple_xfers_get_all()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_xfers_get_all();
- public static GList XfersGetAll()
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_xfer_ref(PurpleXfer * xfer)
*/
@@ -68,7 +73,7 @@ namespace PurpleWrapper
public static void XferRef(PurpleXfer xfer)
{
- throw new NotImplementedException();
+ purple_xfer_ref(xfer.Reference);
}
/*
@@ -79,7 +84,7 @@ namespace PurpleWrapper
public static void XferUnref(PurpleXfer xfer)
{
- throw new NotImplementedException();
+ purple_xfer_unref(xfer.Reference);
}
/*
@@ -90,7 +95,7 @@ namespace PurpleWrapper
public static void XferRequest(PurpleXfer xfer)
{
- throw new NotImplementedException();
+ purple_xfer_request(xfer.Reference);
}
/*
@@ -101,7 +106,7 @@ namespace PurpleWrapper
public static void XferRequestAccepted(PurpleXfer xfer, string filename)
{
- throw new NotImplementedException();
+ purple_xfer_request_accepted(xfer.Reference, filename);
}
/*
@@ -112,18 +117,19 @@ namespace PurpleWrapper
public static void XferRequestDenied(PurpleXfer xfer)
{
- throw new NotImplementedException();
+ purple_xfer_request_denied(xfer.Reference);
}
/*
* PurpleXferType purple_xfer_get_type(PurpleXfer * xfer)
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_xfer_get_type(IntPtr xfer);
+ private static extern Ft.PurpleXferType purple_xfer_get_type(IntPtr xfer);
- public static PurpleXferType XferGetType(PurpleXfer xfer)
+ public static Ft.PurpleXferType XferGetType(PurpleXfer xfer)
{
- throw new NotImplementedException();
+ /* Unable to process purple_xfer_get_type, a KnownEnum. */
+
}
/*
@@ -134,7 +140,7 @@ namespace PurpleWrapper
public static PurpleAccount XferGetAccount(PurpleXfer xfer)
{
- throw new NotImplementedException();
+ return new PurpleAccount(purple_xfer_get_account(xfer.Reference));
}
/*
@@ -145,18 +151,19 @@ namespace PurpleWrapper
public static string XferGetRemoteUser(PurpleXfer xfer)
{
- throw new NotImplementedException();
+ return purple_xfer_get_remote_user(xfer.Reference);
}
/*
* PurpleXferStatusType purple_xfer_get_status(PurpleXfer * xfer)
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_xfer_get_status(IntPtr xfer);
+ private static extern Ft.PurpleXferStatusType purple_xfer_get_status(IntPtr xfer);
- public static PurpleXferStatusType XferGetStatus(PurpleXfer xfer)
+ public static Ft.PurpleXferStatusType XferGetStatus(PurpleXfer xfer)
{
- throw new NotImplementedException();
+ /* Unable to process purple_xfer_get_status, a KnownEnum. */
+
}
/*
@@ -167,7 +174,7 @@ namespace PurpleWrapper
public static bool XferIsCanceled(PurpleXfer xfer)
{
- throw new NotImplementedException();
+ return purple_xfer_is_canceled(xfer.Reference);
}
/*
@@ -178,7 +185,7 @@ namespace PurpleWrapper
public static bool XferIsCompleted(PurpleXfer xfer)
{
- throw new NotImplementedException();
+ return purple_xfer_is_completed(xfer.Reference);
}
/*
@@ -189,7 +196,7 @@ namespace PurpleWrapper
public static string XferGetFilename(PurpleXfer xfer)
{
- throw new NotImplementedException();
+ return purple_xfer_get_filename(xfer.Reference);
}
/*
@@ -200,40 +207,40 @@ namespace PurpleWrapper
public static string XferGetLocalFilename(PurpleXfer xfer)
{
- throw new NotImplementedException();
+ return purple_xfer_get_local_filename(xfer.Reference);
}
/*
* size_t purple_xfer_get_bytes_sent(PurpleXfer * xfer)
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_xfer_get_bytes_sent(IntPtr xfer);
+ private static extern ulong purple_xfer_get_bytes_sent(IntPtr xfer);
- public static size_t XferGetBytesSent(PurpleXfer xfer)
+ public static ulong XferGetBytesSent(PurpleXfer xfer)
{
- throw new NotImplementedException();
+ return purple_xfer_get_bytes_sent(xfer.Reference);
}
/*
* size_t purple_xfer_get_bytes_remaining(PurpleXfer * xfer)
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_xfer_get_bytes_remaining(IntPtr xfer);
+ private static extern ulong purple_xfer_get_bytes_remaining(IntPtr xfer);
- public static size_t XferGetBytesRemaining(PurpleXfer xfer)
+ public static ulong XferGetBytesRemaining(PurpleXfer xfer)
{
- throw new NotImplementedException();
+ return purple_xfer_get_bytes_remaining(xfer.Reference);
}
/*
* size_t purple_xfer_get_size(PurpleXfer * xfer)
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_xfer_get_size(IntPtr xfer);
+ private static extern ulong purple_xfer_get_size(IntPtr xfer);
- public static size_t XferGetSize(PurpleXfer xfer)
+ public static ulong XferGetSize(PurpleXfer xfer)
{
- throw new NotImplementedException();
+ return purple_xfer_get_size(xfer.Reference);
}
/*
@@ -244,18 +251,18 @@ namespace PurpleWrapper
public static double XferGetProgress(PurpleXfer xfer)
{
- throw new NotImplementedException();
+ return purple_xfer_get_progress(xfer.Reference);
}
/*
- * int purple_xfer_get_local_port(PurpleXfer * xfer)
+ * unsigned int purple_xfer_get_local_port(PurpleXfer * xfer)
*/
[DllImport("libpurple.dll")]
- private static extern int purple_xfer_get_local_port(IntPtr xfer);
+ private static extern uint purple_xfer_get_local_port(IntPtr xfer);
- public static int XferGetLocalPort(PurpleXfer xfer)
+ public static uint XferGetLocalPort(PurpleXfer xfer)
{
- throw new NotImplementedException();
+ return purple_xfer_get_local_port(xfer.Reference);
}
/*
@@ -266,40 +273,42 @@ namespace PurpleWrapper
public static string XferGetRemoteIp(PurpleXfer xfer)
{
- throw new NotImplementedException();
+ return purple_xfer_get_remote_ip(xfer.Reference);
}
/*
- * int purple_xfer_get_remote_port(PurpleXfer * xfer)
+ * unsigned int purple_xfer_get_remote_port(PurpleXfer * xfer)
*/
[DllImport("libpurple.dll")]
- private static extern int purple_xfer_get_remote_port(IntPtr xfer);
+ private static extern uint purple_xfer_get_remote_port(IntPtr xfer);
- public static int XferGetRemotePort(PurpleXfer xfer)
+ public static uint XferGetRemotePort(PurpleXfer xfer)
{
- throw new NotImplementedException();
+ return purple_xfer_get_remote_port(xfer.Reference);
}
/*
* time_t purple_xfer_get_start_time(PurpleXfer * xfer)
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_xfer_get_start_time(IntPtr xfer);
+ private static extern ulong purple_xfer_get_start_time(IntPtr xfer);
- public static time_t XferGetStartTime(PurpleXfer xfer)
+ public static DateTime XferGetStartTime(PurpleXfer xfer)
{
- throw new NotImplementedException();
+ /* Unable to process purple_xfer_get_start_time, a DateTime. */
+
}
/*
* time_t purple_xfer_get_end_time(PurpleXfer * xfer)
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_xfer_get_end_time(IntPtr xfer);
+ private static extern ulong purple_xfer_get_end_time(IntPtr xfer);
- public static time_t XferGetEndTime(PurpleXfer xfer)
+ public static DateTime XferGetEndTime(PurpleXfer xfer)
{
- throw new NotImplementedException();
+ /* Unable to process purple_xfer_get_end_time, a DateTime. */
+
}
/*
@@ -310,7 +319,7 @@ namespace PurpleWrapper
public static void XferSetCompleted(PurpleXfer xfer, bool completed)
{
- throw new NotImplementedException();
+ purple_xfer_set_completed(xfer.Reference, completed);
}
/*
@@ -321,7 +330,7 @@ namespace PurpleWrapper
public static void XferSetMessage(PurpleXfer xfer, string message)
{
- throw new NotImplementedException();
+ purple_xfer_set_message(xfer.Reference, message);
}
/*
@@ -332,7 +341,7 @@ namespace PurpleWrapper
public static void XferSetFilename(PurpleXfer xfer, string filename)
{
- throw new NotImplementedException();
+ purple_xfer_set_filename(xfer.Reference, filename);
}
/*
@@ -343,175 +352,53 @@ namespace PurpleWrapper
public static void XferSetLocalFilename(PurpleXfer xfer, string filename)
{
- throw new NotImplementedException();
+ purple_xfer_set_local_filename(xfer.Reference, filename);
}
/*
* void purple_xfer_set_size(PurpleXfer * xfer, size_t size)
*/
[DllImport("libpurple.dll")]
- private static extern void purple_xfer_set_size(IntPtr xfer, UNKNOWN size);
+ private static extern void purple_xfer_set_size(IntPtr xfer, ulong size);
- public static void XferSetSize(PurpleXfer xfer, size_t size)
+ public static void XferSetSize(PurpleXfer xfer, ulong size)
{
- throw new NotImplementedException();
+ purple_xfer_set_size(xfer.Reference, size);
}
/*
* void purple_xfer_set_bytes_sent(PurpleXfer * xfer, size_t bytes_sent)
*/
[DllImport("libpurple.dll")]
- private static extern void purple_xfer_set_bytes_sent(IntPtr xfer, UNKNOWN bytes_sent);
+ private static extern void purple_xfer_set_bytes_sent(IntPtr xfer, ulong bytes_sent);
- public static void XferSetBytesSent(PurpleXfer xfer, size_t bytes_sent)
+ public static void XferSetBytesSent(PurpleXfer xfer, ulong bytes_sent)
{
- throw new NotImplementedException();
+ purple_xfer_set_bytes_sent(xfer.Reference, bytes_sent);
}
/*
* PurpleXferUiOps * purple_xfer_get_ui_ops(PurpleXfer * xfer)
+ *
+ * Could not generate a wrapper for purple_xfer_get_ui_ops in file "ft.h".
+ * Message: The type could not be resolved (PurpleXferUiOps * purple_xfer_get_ui_ops(PurpleXfer * xfer)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_xfer_get_ui_ops(IntPtr xfer);
- public static PurpleXferUiOps XferGetUiOps(PurpleXfer xfer)
- {
- throw new NotImplementedException();
- }
-
/*
- * void purple_xfer_set_read_fnc(PurpleXfer * xfer, )
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_xfer_set_read_fnc(IntPtr xfer, UNKNOWN );
-
- public static void XferSetReadFnc(PurpleXfer xfer, )
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_xfer_set_write_fnc(PurpleXfer * xfer, )
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_xfer_set_write_fnc(IntPtr xfer, UNKNOWN );
-
- public static void XferSetWriteFnc(PurpleXfer xfer, )
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_xfer_set_ack_fnc(PurpleXfer * xfer, )
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_xfer_set_ack_fnc(IntPtr xfer, UNKNOWN );
-
- public static void XferSetAckFnc(PurpleXfer xfer, )
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_xfer_set_request_denied_fnc(PurpleXfer * xfer, )
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_xfer_set_request_denied_fnc(IntPtr xfer, UNKNOWN );
-
- public static void XferSetRequestDeniedFnc(PurpleXfer xfer, )
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_xfer_set_init_fnc(PurpleXfer * xfer, )
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_xfer_set_init_fnc(IntPtr xfer, UNKNOWN );
-
- public static void XferSetInitFnc(PurpleXfer xfer, )
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_xfer_set_start_fnc(PurpleXfer * xfer, )
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_xfer_set_start_fnc(IntPtr xfer, UNKNOWN );
-
- public static void XferSetStartFnc(PurpleXfer xfer, )
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_xfer_set_end_fnc(PurpleXfer * xfer, )
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_xfer_set_end_fnc(IntPtr xfer, UNKNOWN );
-
- public static void XferSetEndFnc(PurpleXfer xfer, )
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_xfer_set_cancel_send_fnc(PurpleXfer * xfer, )
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_xfer_set_cancel_send_fnc(IntPtr xfer, UNKNOWN );
-
- public static void XferSetCancelSendFnc(PurpleXfer xfer, )
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_xfer_set_cancel_recv_fnc(PurpleXfer * xfer, )
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_xfer_set_cancel_recv_fnc(IntPtr xfer, UNKNOWN );
-
- public static void XferSetCancelRecvFnc(PurpleXfer xfer, )
- {
- throw new NotImplementedException();
- }
-
- /*
* gssize purple_xfer_read(PurpleXfer * xfer, guchar ** buffer)
+ *
+ * Could not generate a wrapper for purple_xfer_read in file "ft.h".
+ * Message: The type could not be resolved (guchar ** buffer).
*/
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_xfer_read(IntPtr xfer, IntPtr buffer);
- public static gssize XferRead(PurpleXfer xfer, guchar buffer)
- {
- throw new NotImplementedException();
- }
-
/*
* gssize purple_xfer_write(PurpleXfer * xfer, guchar * buffer, gsize size)
+ *
+ * Could not generate a wrapper for purple_xfer_write in file "ft.h".
+ * Message: The type could not be resolved (guchar * buffer).
*/
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_xfer_write(IntPtr xfer, IntPtr buffer, UNKNOWN size);
- public static gssize XferWrite(PurpleXfer xfer, guchar buffer, gsize size)
- {
- throw new NotImplementedException();
- }
-
/*
- * void purple_xfer_start(PurpleXfer * xfer, int fd, char * ip, unsigned int)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_xfer_start(IntPtr xfer, int fd, string ip, UNKNOWN int);
-
- public static void XferStart(PurpleXfer xfer, int fd, string ip, unsigned int)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_xfer_end(PurpleXfer * xfer)
*/
[DllImport("libpurple.dll")]
@@ -519,7 +406,7 @@ namespace PurpleWrapper
public static void XferEnd(PurpleXfer xfer)
{
- throw new NotImplementedException();
+ purple_xfer_end(xfer.Reference);
}
/*
@@ -530,7 +417,7 @@ namespace PurpleWrapper
public static void XferAdd(PurpleXfer xfer)
{
- throw new NotImplementedException();
+ purple_xfer_add(xfer.Reference);
}
/*
@@ -541,7 +428,7 @@ namespace PurpleWrapper
public static void XferCancelLocal(PurpleXfer xfer)
{
- throw new NotImplementedException();
+ purple_xfer_cancel_local(xfer.Reference);
}
/*
@@ -552,17 +439,18 @@ namespace PurpleWrapper
public static void XferCancelRemote(PurpleXfer xfer)
{
- throw new NotImplementedException();
+ purple_xfer_cancel_remote(xfer.Reference);
}
/*
* void purple_xfer_error(PurpleXferType type, PurpleAccount * account, char * who, char * msg)
*/
[DllImport("libpurple.dll")]
- private static extern void purple_xfer_error(UNKNOWN type, IntPtr account, string who, string msg);
+ private static extern void purple_xfer_error(Ft.PurpleXferType type, IntPtr account, string who, string msg);
- public static void XferError(PurpleXferType type, PurpleAccount account, string who, string msg)
+ public static void XferError(Ft.PurpleXferType type, PurpleAccount account, string who, string msg)
{
+ /* Unable to process type, a KnownEnum. */
throw new NotImplementedException();
}
@@ -574,7 +462,7 @@ namespace PurpleWrapper
public static void XferUpdateProgress(PurpleXfer xfer)
{
- throw new NotImplementedException();
+ purple_xfer_update_progress(xfer.Reference);
}
/*
@@ -585,7 +473,7 @@ namespace PurpleWrapper
public static void XferConversationWrite(PurpleXfer xfer, string message, bool is_error)
{
- throw new NotImplementedException();
+ purple_xfer_conversation_write(xfer.Reference, message, is_error);
}
/*
@@ -596,7 +484,7 @@ namespace PurpleWrapper
public static IntPtr XfersGetHandle()
{
- throw new NotImplementedException();
+ return purple_xfers_get_handle();
}
/*
@@ -607,7 +495,7 @@ namespace PurpleWrapper
public static void XfersInit()
{
- throw new NotImplementedException();
+ purple_xfers_init();
}
/*
@@ -618,31 +506,23 @@ namespace PurpleWrapper
public static void XfersUninit()
{
- throw new NotImplementedException();
+ purple_xfers_uninit();
}
/*
* void purple_xfers_set_ui_ops(PurpleXferUiOps * ops)
+ *
+ * Could not generate a wrapper for purple_xfers_set_ui_ops in file "ft.h".
+ * Message: The type could not be resolved (PurpleXferUiOps * ops).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_xfers_set_ui_ops(IntPtr ops);
- public static void XfersSetUiOps(PurpleXferUiOps ops)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleXferUiOps * purple_xfers_get_ui_ops()
+ *
+ * Could not generate a wrapper for purple_xfers_get_ui_ops in file "ft.h".
+ * Message: The type could not be resolved (PurpleXferUiOps * purple_xfers_get_ui_ops()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_xfers_get_ui_ops();
- public static PurpleXferUiOps XfersGetUiOps()
- {
- throw new NotImplementedException();
- }
-
}
}
============================================================
--- libpurple/wrapper/Idle.cs db72710e10f3af61497e269b6628131f669a7129
+++ libpurple/wrapper/Idle.cs 542b1820ca77abe61e391568b34e40cb61227da3
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -46,42 +48,35 @@ namespace PurpleWrapper
public static void Touch()
{
- throw new NotImplementedException();
+ purple_idle_touch();
}
/*
* void purple_idle_set(time_t time)
*/
[DllImport("libpurple.dll")]
- private static extern void purple_idle_set(UNKNOWN time);
+ private static extern void purple_idle_set(ulong time);
- public static void Set(time_t time)
+ public static void Set(DateTime time)
{
- throw new NotImplementedException();
+ ulong _PurpleWrapper_arg0 = (ulong)(time - new DateTime(1970, 1, 1)).TotalSeconds;
+ purple_idle_set(_PurpleWrapper_arg0);
}
/*
* void purple_idle_set_ui_ops(PurpleIdleUiOps * ops)
+ *
+ * Could not generate a wrapper for purple_idle_set_ui_ops in file "idle.h".
+ * Message: The type could not be resolved (PurpleIdleUiOps * ops).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_idle_set_ui_ops(IntPtr ops);
- public static void SetUiOps(PurpleIdleUiOps ops)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleIdleUiOps * purple_idle_get_ui_ops()
+ *
+ * Could not generate a wrapper for purple_idle_get_ui_ops in file "idle.h".
+ * Message: The type could not be resolved (PurpleIdleUiOps * purple_idle_get_ui_ops()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_idle_get_ui_ops();
- public static PurpleIdleUiOps GetUiOps()
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_idle_init()
*/
@@ -90,7 +85,7 @@ namespace PurpleWrapper
public static void Init()
{
- throw new NotImplementedException();
+ purple_idle_init();
}
/*
@@ -101,7 +96,7 @@ namespace PurpleWrapper
public static void Uninit()
{
- throw new NotImplementedException();
+ purple_idle_uninit();
}
}
============================================================
--- libpurple/wrapper/Imgstore.cs d95f6da0cba34a57ab0133016aeb4dc97e5c01f9
+++ libpurple/wrapper/Imgstore.cs 70368d2bf81e528c02a79b321be31bc232e5aeee
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -39,70 +41,78 @@ namespace PurpleWrapper
public class Imgstore
{
/*
+ * PurpleStoredImage * purple_imgstore_add(gpointer data, size_t size, char * filename)
+ *
+ * Could not generate a wrapper for purple_imgstore_add in file "imgstore.h".
+ * Message: The type could not be resolved (PurpleStoredImage * purple_imgstore_add(gpointer data, size_t size, char * filename)).
+ */
+
+ /*
+ * PurpleStoredImage * purple_imgstore_new_from_file(char * path)
+ *
+ * Could not generate a wrapper for purple_imgstore_new_from_file in file "imgstore.h".
+ * Message: The type could not be resolved (PurpleStoredImage * purple_imgstore_new_from_file(char * path)).
+ */
+
+ /*
* int purple_imgstore_add_with_id(gpointer data, size_t size, char * filename)
*/
[DllImport("libpurple.dll")]
- private static extern int purple_imgstore_add_with_id(IntPtr data, UNKNOWN size, string filename);
+ private static extern int purple_imgstore_add_with_id(IntPtr data, ulong size, string filename);
- public static int AddWithId(IntPtr data, size_t size, string filename)
+ public static int AddWithId(IntPtr data, ulong size, string filename)
{
- throw new NotImplementedException();
+ return purple_imgstore_add_with_id(data, size, filename);
}
/*
* PurpleStoredImage * purple_imgstore_find_by_id(int id)
+ *
+ * Could not generate a wrapper for purple_imgstore_find_by_id in file "imgstore.h".
+ * Message: The type could not be resolved (PurpleStoredImage * purple_imgstore_find_by_id(int id)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_imgstore_find_by_id(int id);
- public static PurpleStoredImage FindById(int id)
- {
- throw new NotImplementedException();
- }
-
/*
* gconstpointer purple_imgstore_get_data(PurpleStoredImage * img)
+ *
+ * Could not generate a wrapper for purple_imgstore_get_data in file "imgstore.h".
+ * Message: The type could not be resolved (PurpleStoredImage * img).
*/
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_imgstore_get_data(IntPtr img);
- public static gconstpointer GetData(PurpleStoredImage img)
- {
- throw new NotImplementedException();
- }
-
/*
* size_t purple_imgstore_get_size(PurpleStoredImage * img)
+ *
+ * Could not generate a wrapper for purple_imgstore_get_size in file "imgstore.h".
+ * Message: The type could not be resolved (PurpleStoredImage * img).
*/
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_imgstore_get_size(IntPtr img);
- public static size_t GetSize(PurpleStoredImage img)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_imgstore_get_filename(PurpleStoredImage * img)
+ *
+ * Could not generate a wrapper for purple_imgstore_get_filename in file "imgstore.h".
+ * Message: The type could not be resolved (PurpleStoredImage * img).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_imgstore_get_filename(IntPtr img);
- public static string GetFilename(PurpleStoredImage img)
- {
- throw new NotImplementedException();
- }
+ /*
+ * char * purple_imgstore_get_extension(PurpleStoredImage * img)
+ *
+ * Could not generate a wrapper for purple_imgstore_get_extension in file "imgstore.h".
+ * Message: The type could not be resolved (PurpleStoredImage * img).
+ */
/*
- * char * purple_imgstore_get_extension(PurpleStoredImage * img)
+ * PurpleStoredImage * purple_imgstore_ref(PurpleStoredImage * img)
+ *
+ * Could not generate a wrapper for purple_imgstore_ref in file "imgstore.h".
+ * Message: The type could not be resolved (PurpleStoredImage * purple_imgstore_ref(PurpleStoredImage * img)).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_imgstore_get_extension(IntPtr img);
- public static string GetExtension(PurpleStoredImage img)
- {
- throw new NotImplementedException();
- }
+ /*
+ * PurpleStoredImage * purple_imgstore_unref(PurpleStoredImage * img)
+ *
+ * Could not generate a wrapper for purple_imgstore_unref in file "imgstore.h".
+ * Message: The type could not be resolved (PurpleStoredImage * purple_imgstore_unref(PurpleStoredImage * img)).
+ */
/*
* void purple_imgstore_ref_by_id(int id)
@@ -112,7 +122,7 @@ namespace PurpleWrapper
public static void RefById(int id)
{
- throw new NotImplementedException();
+ purple_imgstore_ref_by_id(id);
}
/*
@@ -123,7 +133,7 @@ namespace PurpleWrapper
public static void UnrefById(int id)
{
- throw new NotImplementedException();
+ purple_imgstore_unref_by_id(id);
}
/*
@@ -134,7 +144,7 @@ namespace PurpleWrapper
public static IntPtr GetHandle()
{
- throw new NotImplementedException();
+ return purple_imgstore_get_handle();
}
/*
@@ -145,7 +155,7 @@ namespace PurpleWrapper
public static void Init()
{
- throw new NotImplementedException();
+ purple_imgstore_init();
}
/*
@@ -156,7 +166,7 @@ namespace PurpleWrapper
public static void Uninit()
{
- throw new NotImplementedException();
+ purple_imgstore_uninit();
}
}
============================================================
--- libpurple/wrapper/Log.cs 590ff3a5d74bb783d6af29df2d07758b8d44aec5
+++ libpurple/wrapper/Log.cs ed257feea610f439619e9d018b4550fb6ed37bcf
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,16 +40,17 @@ namespace PurpleWrapper
{
public class Log
{
- /*
- * PurpleLog * purple_log_new(PurpleLogType type, char * name, PurpleAccount * account, PurpleConversation * conv, time_t time, struct tm)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_log_new(UNKNOWN type, string name, IntPtr account, IntPtr conv, UNKNOWN time, UNKNOWN tm);
+ public enum PurpleLogType
+ {
+ PURPLE_LOG_IM,
+ PURPLE_LOG_CHAT,
+ PURPLE_LOG_SYSTEM
+ };
- public static PurpleLog New(PurpleLogType type, string name, PurpleAccount account, PurpleConversation conv, time_t time, struct tm)
+ public enum PurpleLogReadFlags
{
- throw new NotImplementedException();
- }
+ PURPLE_LOG_READ_NO_NEWLINE = 1
+ };
/*
* void purple_log_free(PurpleLog * log)
@@ -57,64 +60,42 @@ namespace PurpleWrapper
public static void Free(PurpleLog log)
{
- throw new NotImplementedException();
+ purple_log_free(log.Reference);
}
/*
- * void purple_log_write(PurpleLog * log, PurpleMessageFlags type, char * from, time_t time, char * message)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_log_write(IntPtr log, UNKNOWN type, string from, UNKNOWN time, string message);
-
- public static void Write(PurpleLog log, PurpleMessageFlags type, string from, time_t time, string message)
- {
- throw new NotImplementedException();
- }
-
- /*
* char * purple_log_read(PurpleLog * log, PurpleLogReadFlags * flags)
*/
[DllImport("libpurple.dll")]
- private static extern string purple_log_read(IntPtr log, IntPtr flags);
+ private static extern string purple_log_read(IntPtr log, Log.PurpleLogReadFlags flags);
- public static string Read(PurpleLog log, PurpleLogReadFlags flags)
+ public static string Read(PurpleLog log, Log.PurpleLogReadFlags flags)
{
+ /* Unable to process flags, a KnownEnum. */
throw new NotImplementedException();
}
/*
* GList * purple_log_get_logs(PurpleLogType type, char * name, PurpleAccount * account)
+ *
+ * Could not generate a wrapper for purple_log_get_logs in file "log.h".
+ * Message: The type could not be resolved (GList * purple_log_get_logs(PurpleLogType type, char * name, PurpleAccount * account)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_log_get_logs(UNKNOWN type, string name, IntPtr account);
- public static GList GetLogs(PurpleLogType type, string name, PurpleAccount account)
- {
- throw new NotImplementedException();
- }
-
/*
* GHashTable * purple_log_get_log_sets()
+ *
+ * Could not generate a wrapper for purple_log_get_log_sets in file "log.h".
+ * Message: The type could not be resolved (GHashTable * purple_log_get_log_sets()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_log_get_log_sets();
- public static GHashTable GetLogSets()
- {
- throw new NotImplementedException();
- }
-
/*
* GList * purple_log_get_system_logs(PurpleAccount * account)
+ *
+ * Could not generate a wrapper for purple_log_get_system_logs in file "log.h".
+ * Message: The type could not be resolved (GList * purple_log_get_system_logs(PurpleAccount * account)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_log_get_system_logs(IntPtr account);
- public static GList GetSystemLogs(PurpleAccount account)
- {
- throw new NotImplementedException();
- }
-
/*
* int purple_log_get_size(PurpleLog * log)
*/
@@ -123,17 +104,18 @@ namespace PurpleWrapper
public static int GetSize(PurpleLog log)
{
- throw new NotImplementedException();
+ return purple_log_get_size(log.Reference);
}
/*
* int purple_log_get_total_size(PurpleLogType type, char * name, PurpleAccount * account)
*/
[DllImport("libpurple.dll")]
- private static extern int purple_log_get_total_size(UNKNOWN type, string name, IntPtr account);
+ private static extern int purple_log_get_total_size(Log.PurpleLogType type, string name, IntPtr account);
- public static int GetTotalSize(PurpleLogType type, string name, PurpleAccount account)
+ public static int GetTotalSize(Log.PurpleLogType type, string name, PurpleAccount account)
{
+ /* Unable to process type, a KnownEnum. */
throw new NotImplementedException();
}
@@ -141,10 +123,11 @@ namespace PurpleWrapper
* int purple_log_get_activity_score(PurpleLogType type, char * name, PurpleAccount * account)
*/
[DllImport("libpurple.dll")]
- private static extern int purple_log_get_activity_score(UNKNOWN type, string name, IntPtr account);
+ private static extern int purple_log_get_activity_score(Log.PurpleLogType type, string name, IntPtr account);
- public static int GetActivityScore(PurpleLogType type, string name, PurpleAccount account)
+ public static int GetActivityScore(Log.PurpleLogType type, string name, PurpleAccount account)
{
+ /* Unable to process type, a KnownEnum. */
throw new NotImplementedException();
}
@@ -156,7 +139,7 @@ namespace PurpleWrapper
public static bool IsDeletable(PurpleLog log)
{
- throw new NotImplementedException();
+ return purple_log_is_deletable(log.Reference);
}
/*
@@ -167,17 +150,18 @@ namespace PurpleWrapper
public static bool Delete(PurpleLog log)
{
- throw new NotImplementedException();
+ return purple_log_delete(log.Reference);
}
/*
* char * purple_log_get_log_dir(PurpleLogType type, char * name, PurpleAccount * account)
*/
[DllImport("libpurple.dll")]
- private static extern string purple_log_get_log_dir(UNKNOWN type, string name, IntPtr account);
+ private static extern string purple_log_get_log_dir(Log.PurpleLogType type, string name, IntPtr account);
- public static string GetLogDir(PurpleLogType type, string name, PurpleAccount account)
+ public static string GetLogDir(Log.PurpleLogType type, string name, PurpleAccount account)
{
+ /* Unable to process type, a KnownEnum. */
throw new NotImplementedException();
}
@@ -185,22 +169,22 @@ namespace PurpleWrapper
* gint purple_log_compare(gconstpointer y, gconstpointer z)
*/
[DllImport("libpurple.dll")]
- private static extern int purple_log_compare(UNKNOWN y, UNKNOWN z);
+ private static extern int purple_log_compare(IntPtr y, IntPtr z);
- public static int Compare(gconstpointer y, gconstpointer z)
+ public static int Compare(IntPtr y, IntPtr z)
{
- throw new NotImplementedException();
+ return purple_log_compare(y, z);
}
/*
* gint purple_log_set_compare(gconstpointer y, gconstpointer z)
*/
[DllImport("libpurple.dll")]
- private static extern int purple_log_set_compare(UNKNOWN y, UNKNOWN z);
+ private static extern int purple_log_set_compare(IntPtr y, IntPtr z);
- public static int SetCompare(gconstpointer y, gconstpointer z)
+ public static int SetCompare(IntPtr y, IntPtr z)
{
- throw new NotImplementedException();
+ return purple_log_set_compare(y, z);
}
/*
@@ -211,7 +195,7 @@ namespace PurpleWrapper
public static void SetFree(PurpleLogSet set)
{
- throw new NotImplementedException();
+ purple_log_set_free(set.Reference);
}
/*
@@ -222,32 +206,10 @@ namespace PurpleWrapper
public static void CommonWriter(PurpleLog log, string ext)
{
- throw new NotImplementedException();
+ purple_log_common_writer(log.Reference, ext);
}
/*
- * GList * purple_log_common_lister(PurpleLogType type, char * name, PurpleAccount * account, char * ext, PurpleLogLogger * logger)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_log_common_lister(UNKNOWN type, string name, IntPtr account, string ext, IntPtr logger);
-
- public static GList CommonLister(PurpleLogType type, string name, PurpleAccount account, string ext, PurpleLogLogger logger)
- {
- throw new NotImplementedException();
- }
-
- /*
- * int purple_log_common_total_sizer(PurpleLogType type, char * name, PurpleAccount * account, char * ext)
- */
- [DllImport("libpurple.dll")]
- private static extern int purple_log_common_total_sizer(UNKNOWN type, string name, IntPtr account, string ext);
-
- public static int CommonTotalSizer(PurpleLogType type, string name, PurpleAccount account, string ext)
- {
- throw new NotImplementedException();
- }
-
- /*
* int purple_log_common_sizer(PurpleLog * log)
*/
[DllImport("libpurple.dll")]
@@ -255,7 +217,7 @@ namespace PurpleWrapper
public static int CommonSizer(PurpleLog log)
{
- throw new NotImplementedException();
+ return purple_log_common_sizer(log.Reference);
}
/*
@@ -266,7 +228,7 @@ namespace PurpleWrapper
public static bool CommonDeleter(PurpleLog log)
{
- throw new NotImplementedException();
+ return purple_log_common_deleter(log.Reference);
}
/*
@@ -277,21 +239,10 @@ namespace PurpleWrapper
public static bool CommonIsDeletable(PurpleLog log)
{
- throw new NotImplementedException();
+ return purple_log_common_is_deletable(log.Reference);
}
/*
- * PurpleLogLogger * purple_log_logger_new(char * id, char * name, int functions, ...)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_log_logger_new(string id, string name, int functions, ...);
-
- public static PurpleLogLogger LoggerNew(string id, string name, int functions, ...)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_log_logger_free(PurpleLogLogger * logger)
*/
[DllImport("libpurple.dll")]
@@ -299,7 +250,7 @@ namespace PurpleWrapper
public static void LoggerFree(PurpleLogLogger logger)
{
- throw new NotImplementedException();
+ purple_log_logger_free(logger.Reference);
}
/*
@@ -310,7 +261,7 @@ namespace PurpleWrapper
public static void LoggerAdd(PurpleLogLogger logger)
{
- throw new NotImplementedException();
+ purple_log_logger_add(logger.Reference);
}
/*
@@ -321,7 +272,7 @@ namespace PurpleWrapper
public static void LoggerRemove(PurpleLogLogger logger)
{
- throw new NotImplementedException();
+ purple_log_logger_remove(logger.Reference);
}
/*
@@ -332,7 +283,7 @@ namespace PurpleWrapper
public static void LoggerSet(PurpleLogLogger logger)
{
- throw new NotImplementedException();
+ purple_log_logger_set(logger.Reference);
}
/*
@@ -343,20 +294,16 @@ namespace PurpleWrapper
public static PurpleLogLogger LoggerGet()
{
- throw new NotImplementedException();
+ return new PurpleLogLogger(purple_log_logger_get());
}
/*
* GList * purple_log_logger_get_options()
+ *
+ * Could not generate a wrapper for purple_log_logger_get_options in file "log.h".
+ * Message: The type could not be resolved (GList * purple_log_logger_get_options()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_log_logger_get_options();
- public static GList LoggerGetOptions()
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_log_init()
*/
@@ -365,7 +312,7 @@ namespace PurpleWrapper
public static void Init()
{
- throw new NotImplementedException();
+ purple_log_init();
}
/*
@@ -376,7 +323,7 @@ namespace PurpleWrapper
public static IntPtr GetHandle()
{
- throw new NotImplementedException();
+ return purple_log_get_handle();
}
/*
@@ -387,7 +334,7 @@ namespace PurpleWrapper
public static void Uninit()
{
- throw new NotImplementedException();
+ purple_log_uninit();
}
}
============================================================
--- libpurple/wrapper/Media.cs fc6e2ab2653d4f4c9fca694a4bff3ddd0c2fb421
+++ libpurple/wrapper/Media.cs d9e8403ac69f95d45607c8807769993fd7f78602
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,666 +40,382 @@ namespace PurpleWrapper
{
public class Media
{
+ public enum PurpleMediaCaps
+ {
+ PURPLE_MEDIA_CAPS_NONE = 0,
+ PURPLE_MEDIA_CAPS_AUDIO = 1,
+ PURPLE_MEDIA_CAPS_AUDIO_SINGLE_DIRECTION = 1 << 1,
+ PURPLE_MEDIA_CAPS_VIDEO = 1 << 2,
+ PURPLE_MEDIA_CAPS_VIDEO_SINGLE_DIRECTION = 1 << 3,
+ PURPLE_MEDIA_CAPS_AUDIO_VIDEO = 1 << 4,
+ PURPLE_MEDIA_CAPS_MODIFY_SESSION = 1 << 5,
+ PURPLE_MEDIA_CAPS_CHANGE_DIRECTION = 1 << 6
+ };
+
+ public enum PurpleMediaSessionType
+ {
+ PURPLE_MEDIA_NONE = 0,
+ PURPLE_MEDIA_RECV_AUDIO = 1 << 0,
+ PURPLE_MEDIA_SEND_AUDIO = 1 << 1,
+ PURPLE_MEDIA_RECV_VIDEO = 1 << 2,
+ PURPLE_MEDIA_SEND_VIDEO = 1 << 3,
+ PURPLE_MEDIA_AUDIO = PURPLE_MEDIA_RECV_AUDIO | PURPLE_MEDIA_SEND_AUDIO,
+ PURPLE_MEDIA_VIDEO = PURPLE_MEDIA_RECV_VIDEO | PURPLE_MEDIA_SEND_VIDEO
+ };
+
+ public enum PurpleMediaState
+ {
+ PURPLE_MEDIA_STATE_NEW = 0,
+ PURPLE_MEDIA_STATE_CONNECTED,
+ PURPLE_MEDIA_STATE_END
+ };
+
+ public enum PurpleMediaInfoType
+ {
+ PURPLE_MEDIA_INFO_HANGUP = 0,
+ PURPLE_MEDIA_INFO_ACCEPT,
+ PURPLE_MEDIA_INFO_REJECT,
+ PURPLE_MEDIA_INFO_MUTE,
+ PURPLE_MEDIA_INFO_UNMUTE,
+ PURPLE_MEDIA_INFO_HOLD,
+ PURPLE_MEDIA_INFO_UNHOLD
+ };
+
+ public enum PurpleMediaCandidateType
+ {
+ PURPLE_MEDIA_CANDIDATE_TYPE_HOST,
+ PURPLE_MEDIA_CANDIDATE_TYPE_SRFLX,
+ PURPLE_MEDIA_CANDIDATE_TYPE_PRFLX,
+ PURPLE_MEDIA_CANDIDATE_TYPE_RELAY,
+ PURPLE_MEDIA_CANDIDATE_TYPE_MULTICAST
+ };
+
+ public enum PurpleMediaComponentType
+ {
+ PURPLE_MEDIA_COMPONENT_NONE = 0,
+ PURPLE_MEDIA_COMPONENT_RTP = 1,
+ PURPLE_MEDIA_COMPONENT_RTCP = 2
+ };
+
+ public enum PurpleMediaNetworkProtocol
+ {
+ PURPLE_MEDIA_NETWORK_PROTOCOL_UDP,
+ PURPLE_MEDIA_NETWORK_PROTOCOL_TCP
+ };
+
/*
* GType purple_media_session_type_get_type()
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_media_session_type_get_type();
+ private static extern IntPtr purple_media_session_type_get_type();
- public static GType SessionTypeGetType()
+ public static /* libgobject */ IntPtr SessionTypeGetType()
{
- throw new NotImplementedException();
+ /* Unable to process purple_media_session_type_get_type, a GObjectObject. */
+
}
/*
* GType purple_media_candidate_type_get_type()
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_media_candidate_type_get_type();
+ private static extern IntPtr purple_media_candidate_type_get_type();
- public static GType CandidateTypeGetType()
+ public static /* libgobject */ IntPtr CandidateTypeGetType()
{
- throw new NotImplementedException();
+ /* Unable to process purple_media_candidate_type_get_type, a GObjectObject. */
+
}
/*
* GType purple_media_network_protocol_get_type()
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_media_network_protocol_get_type();
+ private static extern IntPtr purple_media_network_protocol_get_type();
- public static GType NetworkProtocolGetType()
+ public static /* libgobject */ IntPtr NetworkProtocolGetType()
{
- throw new NotImplementedException();
+ /* Unable to process purple_media_network_protocol_get_type, a GObjectObject. */
+
}
/*
* GType purple_media_get_type()
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_media_get_type();
+ private static extern IntPtr purple_media_get_type();
- public static GType GetType()
+ public static /* libgobject */ IntPtr GetType()
{
- throw new NotImplementedException();
+ /* Unable to process purple_media_get_type, a GObjectObject. */
+
}
/*
* GType purple_media_state_changed_get_type()
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_media_state_changed_get_type();
+ private static extern IntPtr purple_media_state_changed_get_type();
- public static GType StateChangedGetType()
+ public static /* libgobject */ IntPtr StateChangedGetType()
{
- throw new NotImplementedException();
+ /* Unable to process purple_media_state_changed_get_type, a GObjectObject. */
+
}
/*
* GType purple_media_info_type_get_type()
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_media_info_type_get_type();
+ private static extern IntPtr purple_media_info_type_get_type();
- public static GType InfoTypeGetType()
+ public static /* libgobject */ IntPtr InfoTypeGetType()
{
- throw new NotImplementedException();
+ /* Unable to process purple_media_info_type_get_type, a GObjectObject. */
+
}
/*
* GType purple_media_candidate_get_type()
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_media_candidate_get_type();
+ private static extern IntPtr purple_media_candidate_get_type();
- public static GType CandidateGetType()
+ public static /* libgobject */ IntPtr CandidateGetType()
{
- throw new NotImplementedException();
+ /* Unable to process purple_media_candidate_get_type, a GObjectObject. */
+
}
/*
- * PurpleMediaCandidate * purple_media_candidate_new(gchar * foundation, guint component_id, PurpleMediaCandidateType type, PurpleMediaNetworkProtocol proto, gchar * ip, guint port)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_media_candidate_new(string foundation, uint component_id, UNKNOWN type, UNKNOWN proto, string ip, uint port);
-
- public static PurpleMediaCandidate CandidateNew(string foundation, uint component_id, PurpleMediaCandidateType type, PurpleMediaNetworkProtocol proto, string ip, uint port)
- {
- throw new NotImplementedException();
- }
-
- /*
* GList * purple_media_candidate_list_copy(GList * candidates)
+ *
+ * Could not generate a wrapper for purple_media_candidate_list_copy in file "media.h".
+ * Message: The type could not be resolved (GList * purple_media_candidate_list_copy(GList * candidates)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_media_candidate_list_copy(IntPtr candidates);
- public static GList CandidateListCopy(GList candidates)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_media_candidate_list_free(GList * candidates)
+ *
+ * Could not generate a wrapper for purple_media_candidate_list_free in file "media.h".
+ * Message: The type could not be resolved (GList * candidates).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_media_candidate_list_free(IntPtr candidates);
- public static void CandidateListFree(GList candidates)
- {
- throw new NotImplementedException();
- }
-
/*
* gchar * purple_media_candidate_get_foundation(PurpleMediaCandidate * candidate)
+ *
+ * Could not generate a wrapper for purple_media_candidate_get_foundation in file "media.h".
+ * Message: The type could not be resolved (PurpleMediaCandidate * candidate).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_media_candidate_get_foundation(IntPtr candidate);
- public static string CandidateGetFoundation(PurpleMediaCandidate candidate)
- {
- throw new NotImplementedException();
- }
-
/*
* guint purple_media_candidate_get_component_id(PurpleMediaCandidate * candidate)
+ *
+ * Could not generate a wrapper for purple_media_candidate_get_component_id in file "media.h".
+ * Message: The type could not be resolved (PurpleMediaCandidate * candidate).
*/
- [DllImport("libpurple.dll")]
- private static extern uint purple_media_candidate_get_component_id(IntPtr candidate);
- public static uint CandidateGetComponentId(PurpleMediaCandidate candidate)
- {
- throw new NotImplementedException();
- }
-
/*
* gchar * purple_media_candidate_get_ip(PurpleMediaCandidate * candidate)
+ *
+ * Could not generate a wrapper for purple_media_candidate_get_ip in file "media.h".
+ * Message: The type could not be resolved (PurpleMediaCandidate * candidate).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_media_candidate_get_ip(IntPtr candidate);
- public static string CandidateGetIp(PurpleMediaCandidate candidate)
- {
- throw new NotImplementedException();
- }
-
/*
* guint16 purple_media_candidate_get_port(PurpleMediaCandidate * candidate)
+ *
+ * Could not generate a wrapper for purple_media_candidate_get_port in file "media.h".
+ * Message: The type could not be resolved (PurpleMediaCandidate * candidate).
*/
- [DllImport("libpurple.dll")]
- private static extern ushort purple_media_candidate_get_port(IntPtr candidate);
- public static ushort CandidateGetPort(PurpleMediaCandidate candidate)
- {
- throw new NotImplementedException();
- }
-
/*
* gchar * purple_media_candidate_get_base_ip(PurpleMediaCandidate * candidate)
+ *
+ * Could not generate a wrapper for purple_media_candidate_get_base_ip in file "media.h".
+ * Message: The type could not be resolved (PurpleMediaCandidate * candidate).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_media_candidate_get_base_ip(IntPtr candidate);
- public static string CandidateGetBaseIp(PurpleMediaCandidate candidate)
- {
- throw new NotImplementedException();
- }
-
/*
* guint16 purple_media_candidate_get_base_port(PurpleMediaCandidate * candidate)
+ *
+ * Could not generate a wrapper for purple_media_candidate_get_base_port in file "media.h".
+ * Message: The type could not be resolved (PurpleMediaCandidate * candidate).
*/
- [DllImport("libpurple.dll")]
- private static extern ushort purple_media_candidate_get_base_port(IntPtr candidate);
- public static ushort CandidateGetBasePort(PurpleMediaCandidate candidate)
- {
- throw new NotImplementedException();
- }
-
/*
- * PurpleMediaNetworkProtocol purple_media_candidate_get_protocol(PurpleMediaCandidate * candidate)
- */
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_media_candidate_get_protocol(IntPtr candidate);
-
- public static PurpleMediaNetworkProtocol CandidateGetProtocol(PurpleMediaCandidate candidate)
- {
- throw new NotImplementedException();
- }
-
- /*
* guint32 purple_media_candidate_get_priority(PurpleMediaCandidate * candidate)
+ *
+ * Could not generate a wrapper for purple_media_candidate_get_priority in file "media.h".
+ * Message: The type could not be resolved (PurpleMediaCandidate * candidate).
*/
- [DllImport("libpurple.dll")]
- private static extern uint purple_media_candidate_get_priority(IntPtr candidate);
- public static uint CandidateGetPriority(PurpleMediaCandidate candidate)
- {
- throw new NotImplementedException();
- }
-
/*
- * PurpleMediaCandidateType purple_media_candidate_get_candidate_type(PurpleMediaCandidate * candidate)
- */
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_media_candidate_get_candidate_type(IntPtr candidate);
-
- public static PurpleMediaCandidateType CandidateGetCandidateType(PurpleMediaCandidate candidate)
- {
- throw new NotImplementedException();
- }
-
- /*
* gchar * purple_media_candidate_get_username(PurpleMediaCandidate * candidate)
+ *
+ * Could not generate a wrapper for purple_media_candidate_get_username in file "media.h".
+ * Message: The type could not be resolved (PurpleMediaCandidate * candidate).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_media_candidate_get_username(IntPtr candidate);
- public static string CandidateGetUsername(PurpleMediaCandidate candidate)
- {
- throw new NotImplementedException();
- }
-
/*
* gchar * purple_media_candidate_get_password(PurpleMediaCandidate * candidate)
+ *
+ * Could not generate a wrapper for purple_media_candidate_get_password in file "media.h".
+ * Message: The type could not be resolved (PurpleMediaCandidate * candidate).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_media_candidate_get_password(IntPtr candidate);
- public static string CandidateGetPassword(PurpleMediaCandidate candidate)
- {
- throw new NotImplementedException();
- }
-
/*
* guint purple_media_candidate_get_ttl(PurpleMediaCandidate * candidate)
+ *
+ * Could not generate a wrapper for purple_media_candidate_get_ttl in file "media.h".
+ * Message: The type could not be resolved (PurpleMediaCandidate * candidate).
*/
- [DllImport("libpurple.dll")]
- private static extern uint purple_media_candidate_get_ttl(IntPtr candidate);
- public static uint CandidateGetTtl(PurpleMediaCandidate candidate)
- {
- throw new NotImplementedException();
- }
-
/*
* GType purple_media_codec_get_type()
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_media_codec_get_type();
+ private static extern IntPtr purple_media_codec_get_type();
- public static GType CodecGetType()
+ public static /* libgobject */ IntPtr CodecGetType()
{
- throw new NotImplementedException();
+ /* Unable to process purple_media_codec_get_type, a GObjectObject. */
+
}
/*
- * PurpleMediaCodec * purple_media_codec_new(int id, char * encoding_name, PurpleMediaSessionType media_type, guint clock_rate)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_media_codec_new(int id, string encoding_name, UNKNOWN media_type, uint clock_rate);
-
- public static PurpleMediaCodec CodecNew(int id, string encoding_name, PurpleMediaSessionType media_type, uint clock_rate)
- {
- throw new NotImplementedException();
- }
-
- /*
* guint purple_media_codec_get_id(PurpleMediaCodec * codec)
+ *
+ * Could not generate a wrapper for purple_media_codec_get_id in file "media.h".
+ * Message: The type could not be resolved (PurpleMediaCodec * codec).
*/
- [DllImport("libpurple.dll")]
- private static extern uint purple_media_codec_get_id(IntPtr codec);
- public static uint CodecGetId(PurpleMediaCodec codec)
- {
- throw new NotImplementedException();
- }
-
/*
* gchar * purple_media_codec_get_encoding_name(PurpleMediaCodec * codec)
+ *
+ * Could not generate a wrapper for purple_media_codec_get_encoding_name in file "media.h".
+ * Message: The type could not be resolved (PurpleMediaCodec * codec).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_media_codec_get_encoding_name(IntPtr codec);
- public static string CodecGetEncodingName(PurpleMediaCodec codec)
- {
- throw new NotImplementedException();
- }
-
/*
* guint purple_media_codec_get_clock_rate(PurpleMediaCodec * codec)
+ *
+ * Could not generate a wrapper for purple_media_codec_get_clock_rate in file "media.h".
+ * Message: The type could not be resolved (PurpleMediaCodec * codec).
*/
- [DllImport("libpurple.dll")]
- private static extern uint purple_media_codec_get_clock_rate(IntPtr codec);
- public static uint CodecGetClockRate(PurpleMediaCodec codec)
- {
- throw new NotImplementedException();
- }
-
/*
* guint purple_media_codec_get_channels(PurpleMediaCodec * codec)
+ *
+ * Could not generate a wrapper for purple_media_codec_get_channels in file "media.h".
+ * Message: The type could not be resolved (PurpleMediaCodec * codec).
*/
- [DllImport("libpurple.dll")]
- private static extern uint purple_media_codec_get_channels(IntPtr codec);
- public static uint CodecGetChannels(PurpleMediaCodec codec)
- {
- throw new NotImplementedException();
- }
-
/*
* GList * purple_media_codec_get_optional_parameters(PurpleMediaCodec * codec)
+ *
+ * Could not generate a wrapper for purple_media_codec_get_optional_parameters in file "media.h".
+ * Message: The type could not be resolved (GList * purple_media_codec_get_optional_parameters(PurpleMediaCodec * codec)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_media_codec_get_optional_parameters(IntPtr codec);
- public static GList CodecGetOptionalParameters(PurpleMediaCodec codec)
- {
- throw new NotImplementedException();
- }
-
/*
* gchar * purple_media_codec_to_string(PurpleMediaCodec * codec)
+ *
+ * Could not generate a wrapper for purple_media_codec_to_string in file "media.h".
+ * Message: The type could not be resolved (PurpleMediaCodec * codec).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_media_codec_to_string(IntPtr codec);
- public static string CodecToString(PurpleMediaCodec codec)
- {
- throw new NotImplementedException();
- }
-
/*
- * void purple_media_codec_add_optional_parameter(PurpleMediaCodec * codec, gchar * name, gchar * value)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_media_codec_add_optional_parameter(IntPtr codec, string name, string value);
-
- public static void CodecAddOptionalParameter(PurpleMediaCodec codec, string name, string value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_media_codec_remove_optional_parameter(PurpleMediaCodec * codec, PurpleKeyValuePair * param)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_media_codec_remove_optional_parameter(IntPtr codec, IntPtr param);
-
- public static void CodecRemoveOptionalParameter(PurpleMediaCodec codec, PurpleKeyValuePair param)
- {
- throw new NotImplementedException();
- }
-
- /*
- * PurpleKeyValuePair * purple_media_codec_get_optional_parameter(PurpleMediaCodec * codec, gchar * name, gchar * value)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_media_codec_get_optional_parameter(IntPtr codec, string name, string value);
-
- public static PurpleKeyValuePair CodecGetOptionalParameter(PurpleMediaCodec codec, string name, string value)
- {
- throw new NotImplementedException();
- }
-
- /*
* GList * purple_media_codec_list_copy(GList * codecs)
+ *
+ * Could not generate a wrapper for purple_media_codec_list_copy in file "media.h".
+ * Message: The type could not be resolved (GList * purple_media_codec_list_copy(GList * codecs)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_media_codec_list_copy(IntPtr codecs);
- public static GList CodecListCopy(GList codecs)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_media_codec_list_free(GList * codecs)
+ *
+ * Could not generate a wrapper for purple_media_codec_list_free in file "media.h".
+ * Message: The type could not be resolved (GList * codecs).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_media_codec_list_free(IntPtr codecs);
- public static void CodecListFree(GList codecs)
- {
- throw new NotImplementedException();
- }
-
/*
* GList * purple_media_get_session_ids(PurpleMedia * media)
+ *
+ * Could not generate a wrapper for purple_media_get_session_ids in file "media.h".
+ * Message: The type could not be resolved (GList * purple_media_get_session_ids(PurpleMedia * media)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_media_get_session_ids(IntPtr media);
- public static GList GetSessionIds(PurpleMedia media)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleAccount * purple_media_get_account(PurpleMedia * media)
+ *
+ * Could not generate a wrapper for purple_media_get_account in file "media.h".
+ * Message: The type could not be resolved (PurpleMedia * media).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_media_get_account(IntPtr media);
- public static PurpleAccount GetAccount(PurpleMedia media)
- {
- throw new NotImplementedException();
- }
-
/*
* gpointer purple_media_get_prpl_data(PurpleMedia * media)
+ *
+ * Could not generate a wrapper for purple_media_get_prpl_data in file "media.h".
+ * Message: The type could not be resolved (PurpleMedia * media).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_media_get_prpl_data(IntPtr media);
- public static IntPtr GetPrplData(PurpleMedia media)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_media_set_prpl_data(PurpleMedia * media, gpointer prpl_data)
+ *
+ * Could not generate a wrapper for purple_media_set_prpl_data in file "media.h".
+ * Message: The type could not be resolved (PurpleMedia * media).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_media_set_prpl_data(IntPtr media, IntPtr prpl_data);
- public static void SetPrplData(PurpleMedia media, IntPtr prpl_data)
- {
- throw new NotImplementedException();
- }
-
/*
- * void purple_media_error(PurpleMedia * media, gchar * error, ...)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_media_error(IntPtr media, string error, ...);
-
- public static void Error(PurpleMedia media, string error, ...)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_media_end(PurpleMedia * media, gchar * session_id, gchar * participant)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_media_end(IntPtr media, string session_id, string participant);
-
- public static void End(PurpleMedia media, string session_id, string participant)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_media_stream_info(PurpleMedia * media, PurpleMediaInfoType type, gchar * session_id, gchar * participant, gboolean local)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_media_stream_info(IntPtr media, UNKNOWN type, string session_id, string participant, bool local);
-
- public static void StreamInfo(PurpleMedia media, PurpleMediaInfoType type, string session_id, string participant, bool local)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gboolean purple_media_add_stream(PurpleMedia * media, gchar * sess_id, gchar * who, PurpleMediaSessionType type, gboolean initiator, gchar * transmitter, guint num_params, GParameter * params)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_media_add_stream(IntPtr media, string sess_id, string who, UNKNOWN type, bool initiator, string transmitter, uint num_params, IntPtr params);
-
- public static bool AddStream(PurpleMedia media, string sess_id, string who, PurpleMediaSessionType type, bool initiator, string transmitter, uint num_params, GParameter params)
- {
- throw new NotImplementedException();
- }
-
- /*
* PurpleMediaSessionType purple_media_get_session_type(PurpleMedia * media, gchar * sess_id)
+ *
+ * Could not generate a wrapper for purple_media_get_session_type in file "media.h".
+ * Message: The type could not be resolved (PurpleMedia * media).
*/
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_media_get_session_type(IntPtr media, string sess_id);
- public static PurpleMediaSessionType GetSessionType(PurpleMedia media, string sess_id)
- {
- throw new NotImplementedException();
- }
-
/*
* _PurpleMediaManager * purple_media_get_manager(PurpleMedia * media)
+ *
+ * Could not generate a wrapper for purple_media_get_manager in file "media.h".
+ * Message: The type could not be resolved (_PurpleMediaManager * purple_media_get_manager(PurpleMedia * media)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_media_get_manager(IntPtr media);
- public static _PurpleMediaManager GetManager(PurpleMedia media)
- {
- throw new NotImplementedException();
- }
-
/*
* GList * purple_media_get_codecs(PurpleMedia * media, gchar * sess_id)
+ *
+ * Could not generate a wrapper for purple_media_get_codecs in file "media.h".
+ * Message: The type could not be resolved (GList * purple_media_get_codecs(PurpleMedia * media, gchar * sess_id)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_media_get_codecs(IntPtr media, string sess_id);
- public static GList GetCodecs(PurpleMedia media, string sess_id)
- {
- throw new NotImplementedException();
- }
-
/*
- * void purple_media_add_remote_candidates(PurpleMedia * media, gchar * sess_id, gchar * participant, GList * remote_candidates)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_media_add_remote_candidates(IntPtr media, string sess_id, string participant, IntPtr remote_candidates);
-
- public static void AddRemoteCandidates(PurpleMedia media, string sess_id, string participant, GList remote_candidates)
- {
- throw new NotImplementedException();
- }
-
- /*
- * GList * purple_media_get_local_candidates(PurpleMedia * media, gchar * sess_id, gchar * participant)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_media_get_local_candidates(IntPtr media, string sess_id, string participant);
-
- public static GList GetLocalCandidates(PurpleMedia media, string sess_id, string participant)
- {
- throw new NotImplementedException();
- }
-
- /*
- * GList * purple_media_get_active_local_candidates(PurpleMedia * media, gchar * sess_id, gchar * participant)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_media_get_active_local_candidates(IntPtr media, string sess_id, string participant);
-
- public static GList GetActiveLocalCandidates(PurpleMedia media, string sess_id, string participant)
- {
- throw new NotImplementedException();
- }
-
- /*
- * GList * purple_media_get_active_remote_candidates(PurpleMedia * media, gchar * sess_id, gchar * participant)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_media_get_active_remote_candidates(IntPtr media, string sess_id, string participant);
-
- public static GList GetActiveRemoteCandidates(PurpleMedia media, string sess_id, string participant)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gboolean purple_media_set_remote_codecs(PurpleMedia * media, gchar * sess_id, gchar * participant, GList * codecs)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_media_set_remote_codecs(IntPtr media, string sess_id, string participant, IntPtr codecs);
-
- public static bool SetRemoteCodecs(PurpleMedia media, string sess_id, string participant, GList codecs)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gboolean purple_media_candidates_prepared(PurpleMedia * media, gchar * session_id, gchar * participant)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_media_candidates_prepared(IntPtr media, string session_id, string participant);
-
- public static bool CandidatesPrepared(PurpleMedia media, string session_id, string participant)
- {
- throw new NotImplementedException();
- }
-
- /*
* gboolean purple_media_set_send_codec(PurpleMedia * media, gchar * sess_id, PurpleMediaCodec * codec)
+ *
+ * Could not generate a wrapper for purple_media_set_send_codec in file "media.h".
+ * Message: The type could not be resolved (PurpleMedia * media).
*/
- [DllImport("libpurple.dll")]
- private static extern bool purple_media_set_send_codec(IntPtr media, string sess_id, IntPtr codec);
- public static bool SetSendCodec(PurpleMedia media, string sess_id, PurpleMediaCodec codec)
- {
- throw new NotImplementedException();
- }
-
/*
* gboolean purple_media_codecs_ready(PurpleMedia * media, gchar * sess_id)
+ *
+ * Could not generate a wrapper for purple_media_codecs_ready in file "media.h".
+ * Message: The type could not be resolved (PurpleMedia * media).
*/
- [DllImport("libpurple.dll")]
- private static extern bool purple_media_codecs_ready(IntPtr media, string sess_id);
- public static bool CodecsReady(PurpleMedia media, string sess_id)
- {
- throw new NotImplementedException();
- }
-
/*
- * gboolean purple_media_is_initiator(PurpleMedia * media, gchar * sess_id, gchar * participant)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_media_is_initiator(IntPtr media, string sess_id, string participant);
-
- public static bool IsInitiator(PurpleMedia media, string sess_id, string participant)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gboolean purple_media_accepted(PurpleMedia * media, gchar * sess_id, gchar * participant)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_media_accepted(IntPtr media, string sess_id, string participant);
-
- public static bool Accepted(PurpleMedia media, string sess_id, string participant)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_media_set_input_volume(PurpleMedia * media, gchar * session_id, double level)
+ *
+ * Could not generate a wrapper for purple_media_set_input_volume in file "media.h".
+ * Message: The type could not be resolved (PurpleMedia * media).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_media_set_input_volume(IntPtr media, string session_id, double level);
- public static void SetInputVolume(PurpleMedia media, string session_id, double level)
- {
- throw new NotImplementedException();
- }
-
/*
- * void purple_media_set_output_volume(PurpleMedia * media, gchar * session_id, gchar * participant, double level)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_media_set_output_volume(IntPtr media, string session_id, string participant, double level);
-
- public static void SetOutputVolume(PurpleMedia media, string session_id, string participant, double level)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gulong purple_media_set_output_window(PurpleMedia * media, gchar * session_id, gchar * participant, gulong window_id)
- */
- [DllImport("libpurple.dll")]
- private static extern ulong purple_media_set_output_window(IntPtr media, string session_id, string participant, ulong window_id);
-
- public static ulong SetOutputWindow(PurpleMedia media, string session_id, string participant, ulong window_id)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_media_remove_output_windows(PurpleMedia * media)
+ *
+ * Could not generate a wrapper for purple_media_remove_output_windows in file "media.h".
+ * Message: The type could not be resolved (PurpleMedia * media).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_media_remove_output_windows(IntPtr media);
- public static void RemoveOutputWindows(PurpleMedia media)
- {
- throw new NotImplementedException();
- }
-
}
}
============================================================
--- libpurple/wrapper/Mediamanager.cs 041e5f99d1fec6c0d4679252fb0757f94091f10c
+++ libpurple/wrapper/Mediamanager.cs 8d8563e1659ab45477d539cd32b0da8be0370d48
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -42,134 +44,35 @@ namespace PurpleWrapper
* GType purple_media_manager_get_type()
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_media_manager_get_type();
+ private static extern IntPtr purple_media_manager_get_type();
- public static GType MediaManagerGetType()
+ public static /* libgobject */ IntPtr MediaManagerGetType()
{
- throw new NotImplementedException();
+ /* Unable to process purple_media_manager_get_type, a GObjectObject. */
+
}
/*
* PurpleMediaManager * purple_media_manager_get()
+ *
+ * Could not generate a wrapper for purple_media_manager_get in file "mediamanager.h".
+ * Message: The type could not be resolved (PurpleMediaManager * purple_media_manager_get()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_media_manager_get();
- public static PurpleMediaManager MediaManagerGet()
- {
- throw new NotImplementedException();
- }
-
/*
- * PurpleMedia * purple_media_manager_create_media(PurpleMediaManager * manager, PurpleAccount * account, char * conference_type, char * remote_user, gboolean initiator)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_media_manager_create_media(IntPtr manager, IntPtr account, string conference_type, string remote_user, bool initiator);
-
- public static PurpleMedia MediaManagerCreateMedia(PurpleMediaManager manager, PurpleAccount account, string conference_type, string remote_user, bool initiator)
- {
- throw new NotImplementedException();
- }
-
- /*
* GList * purple_media_manager_get_media(PurpleMediaManager * manager)
+ *
+ * Could not generate a wrapper for purple_media_manager_get_media in file "mediamanager.h".
+ * Message: The type could not be resolved (GList * purple_media_manager_get_media(PurpleMediaManager * manager)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_media_manager_get_media(IntPtr manager);
- public static GList MediaManagerGetMedia(PurpleMediaManager manager)
- {
- throw new NotImplementedException();
- }
-
/*
- * GList * purple_media_manager_get_media_by_account(PurpleMediaManager * manager, PurpleAccount * account)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_media_manager_get_media_by_account(IntPtr manager, IntPtr account);
-
- public static GList MediaManagerGetMediaByAccount(PurpleMediaManager manager, PurpleAccount account)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_media_manager_remove_media(PurpleMediaManager * manager, PurpleMedia * media)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_media_manager_remove_media(IntPtr manager, IntPtr media);
-
- public static void MediaManagerRemoveMedia(PurpleMediaManager manager, PurpleMedia media)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gboolean purple_media_manager_create_output_window(PurpleMediaManager * manager, PurpleMedia * media, gchar * session_id, gchar * participant)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_media_manager_create_output_window(IntPtr manager, IntPtr media, string session_id, string participant);
-
- public static bool MediaManagerCreateOutputWindow(PurpleMediaManager manager, PurpleMedia media, string session_id, string participant)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gulong purple_media_manager_set_output_window(PurpleMediaManager * manager, PurpleMedia * media, gchar * session_id, gchar * participant, gulong window_id)
- */
- [DllImport("libpurple.dll")]
- private static extern ulong purple_media_manager_set_output_window(IntPtr manager, IntPtr media, string session_id, string participant, ulong window_id);
-
- public static ulong MediaManagerSetOutputWindow(PurpleMediaManager manager, PurpleMedia media, string session_id, string participant, ulong window_id)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gboolean purple_media_manager_remove_output_window(PurpleMediaManager * manager, gulong output_window_id)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_media_manager_remove_output_window(IntPtr manager, ulong output_window_id);
-
- public static bool MediaManagerRemoveOutputWindow(PurpleMediaManager manager, ulong output_window_id)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_media_manager_remove_output_windows(PurpleMediaManager * manager, PurpleMedia * media, gchar * session_id, gchar * participant)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_media_manager_remove_output_windows(IntPtr manager, IntPtr media, string session_id, string participant);
-
- public static void MediaManagerRemoveOutputWindows(PurpleMediaManager manager, PurpleMedia media, string session_id, string participant)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_media_manager_set_ui_caps(PurpleMediaManager * manager, PurpleMediaCaps caps)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_media_manager_set_ui_caps(IntPtr manager, UNKNOWN caps);
-
- public static void MediaManagerSetUiCaps(PurpleMediaManager manager, PurpleMediaCaps caps)
- {
- throw new NotImplementedException();
- }
-
- /*
* PurpleMediaCaps purple_media_manager_get_ui_caps(PurpleMediaManager * manager)
+ *
+ * Could not generate a wrapper for purple_media_manager_get_ui_caps in file "mediamanager.h".
+ * Message: The type could not be resolved (PurpleMediaManager * manager).
*/
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_media_manager_get_ui_caps(IntPtr manager);
- public static PurpleMediaCaps MediaManagerGetUiCaps(PurpleMediaManager manager)
- {
- throw new NotImplementedException();
- }
-
}
}
============================================================
--- libpurple/wrapper/Mime.cs 3a2a87fbb809e5fed1bd800f1a6b59c246bda462
+++ libpurple/wrapper/Mime.cs d84a768a94c72d44c0dbfcee8daba95b81020cfc
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -40,202 +42,88 @@ namespace PurpleWrapper
{
/*
* PurpleMimeDocument * purple_mime_document_new()
+ *
+ * Could not generate a wrapper for purple_mime_document_new in file "mime.h".
+ * Message: The type could not be resolved (PurpleMimeDocument * purple_mime_document_new()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_mime_document_new();
- public static PurpleMimeDocument DocumentNew()
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_mime_document_free(PurpleMimeDocument * doc)
+ *
+ * Could not generate a wrapper for purple_mime_document_free in file "mime.h".
+ * Message: The type could not be resolved (PurpleMimeDocument * doc).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_mime_document_free(IntPtr doc);
- public static void DocumentFree(PurpleMimeDocument doc)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleMimeDocument * purple_mime_document_parse(char * buf)
+ *
+ * Could not generate a wrapper for purple_mime_document_parse in file "mime.h".
+ * Message: The type could not be resolved (PurpleMimeDocument * purple_mime_document_parse(char * buf)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_mime_document_parse(string buf);
- public static PurpleMimeDocument DocumentParse(string buf)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleMimeDocument * purple_mime_document_parsen(char * buf, gsize len)
+ *
+ * Could not generate a wrapper for purple_mime_document_parsen in file "mime.h".
+ * Message: The type could not be resolved (PurpleMimeDocument * purple_mime_document_parsen(char * buf, gsize len)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_mime_document_parsen(string buf, UNKNOWN len);
- public static PurpleMimeDocument DocumentParsen(string buf, gsize len)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_mime_document_write(PurpleMimeDocument * doc, GString * str)
+ *
+ * Could not generate a wrapper for purple_mime_document_write in file "mime.h".
+ * Message: The type could not be resolved (PurpleMimeDocument * doc).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_mime_document_write(IntPtr doc, IntPtr str);
- public static void DocumentWrite(PurpleMimeDocument doc, GString str)
- {
- throw new NotImplementedException();
- }
-
/*
* GList * purple_mime_document_get_fields(PurpleMimeDocument * doc)
+ *
+ * Could not generate a wrapper for purple_mime_document_get_fields in file "mime.h".
+ * Message: The type could not be resolved (GList * purple_mime_document_get_fields(PurpleMimeDocument * doc)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_mime_document_get_fields(IntPtr doc);
- public static GList DocumentGetFields(PurpleMimeDocument doc)
- {
- throw new NotImplementedException();
- }
-
/*
- * char * purple_mime_document_get_field(PurpleMimeDocument * doc, char * field)
- */
- [DllImport("libpurple.dll")]
- private static extern string purple_mime_document_get_field(IntPtr doc, string field);
-
- public static string DocumentGetField(PurpleMimeDocument doc, string field)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_mime_document_set_field(PurpleMimeDocument * doc, char * field, char * value)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_mime_document_set_field(IntPtr doc, string field, string value);
-
- public static void DocumentSetField(PurpleMimeDocument doc, string field, string value)
- {
- throw new NotImplementedException();
- }
-
- /*
* GList * purple_mime_document_get_parts(PurpleMimeDocument * doc)
+ *
+ * Could not generate a wrapper for purple_mime_document_get_parts in file "mime.h".
+ * Message: The type could not be resolved (GList * purple_mime_document_get_parts(PurpleMimeDocument * doc)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_mime_document_get_parts(IntPtr doc);
- public static GList DocumentGetParts(PurpleMimeDocument doc)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleMimePart * purple_mime_part_new(PurpleMimeDocument * doc)
+ *
+ * Could not generate a wrapper for purple_mime_part_new in file "mime.h".
+ * Message: The type could not be resolved (PurpleMimePart * purple_mime_part_new(PurpleMimeDocument * doc)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_mime_part_new(IntPtr doc);
- public static PurpleMimePart PartNew(PurpleMimeDocument doc)
- {
- throw new NotImplementedException();
- }
-
/*
* GList * purple_mime_part_get_fields(PurpleMimePart * part)
+ *
+ * Could not generate a wrapper for purple_mime_part_get_fields in file "mime.h".
+ * Message: The type could not be resolved (GList * purple_mime_part_get_fields(PurpleMimePart * part)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_mime_part_get_fields(IntPtr part);
- public static GList PartGetFields(PurpleMimePart part)
- {
- throw new NotImplementedException();
- }
-
/*
- * char * purple_mime_part_get_field(PurpleMimePart * part, char * field)
- */
- [DllImport("libpurple.dll")]
- private static extern string purple_mime_part_get_field(IntPtr part, string field);
-
- public static string PartGetField(PurpleMimePart part, string field)
- {
- throw new NotImplementedException();
- }
-
- /*
- * char * purple_mime_part_get_field_decoded(PurpleMimePart * part, char * field)
- */
- [DllImport("libpurple.dll")]
- private static extern string purple_mime_part_get_field_decoded(IntPtr part, string field);
-
- public static string PartGetFieldDecoded(PurpleMimePart part, string field)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_mime_part_set_field(PurpleMimePart * part, char * field, char * value)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_mime_part_set_field(IntPtr part, string field, string value);
-
- public static void PartSetField(PurpleMimePart part, string field, string value)
- {
- throw new NotImplementedException();
- }
-
- /*
* char * purple_mime_part_get_data(PurpleMimePart * part)
+ *
+ * Could not generate a wrapper for purple_mime_part_get_data in file "mime.h".
+ * Message: The type could not be resolved (PurpleMimePart * part).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_mime_part_get_data(IntPtr part);
- public static string PartGetData(PurpleMimePart part)
- {
- throw new NotImplementedException();
- }
-
/*
- * void purple_mime_part_get_data_decoded(PurpleMimePart * part, guchar ** data, gsize * len)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_mime_part_get_data_decoded(IntPtr part, IntPtr data, IntPtr len);
-
- public static void PartGetDataDecoded(PurpleMimePart part, guchar data, gsize len)
- {
- throw new NotImplementedException();
- }
-
- /*
* gsize purple_mime_part_get_length(PurpleMimePart * part)
+ *
+ * Could not generate a wrapper for purple_mime_part_get_length in file "mime.h".
+ * Message: The type could not be resolved (PurpleMimePart * part).
*/
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_mime_part_get_length(IntPtr part);
- public static gsize PartGetLength(PurpleMimePart part)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_mime_part_set_data(PurpleMimePart * part, char * data)
+ *
+ * Could not generate a wrapper for purple_mime_part_set_data in file "mime.h".
+ * Message: The type could not be resolved (PurpleMimePart * part).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_mime_part_set_data(IntPtr part, string data);
- public static void PartSetData(PurpleMimePart part, string data)
- {
- throw new NotImplementedException();
- }
-
}
}
============================================================
--- libpurple/wrapper/NatPmp.cs 184a8d5346ef7751e9fb90723b15b6095a39d315
+++ libpurple/wrapper/NatPmp.cs 52afa781fa1baa9418804accece568863f8013c2
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,6 +40,12 @@ namespace PurpleWrapper
{
public class NatPmp
{
+ public enum PurplePmpType
+ {
+ PURPLE_PMP_TYPE_UDP,
+ PURPLE_PMP_TYPE_TCP
+ };
+
/*
* void purple_pmp_init()
*/
@@ -46,7 +54,7 @@ namespace PurpleWrapper
public static void PmpInit()
{
- throw new NotImplementedException();
+ purple_pmp_init();
}
/*
@@ -57,28 +65,30 @@ namespace PurpleWrapper
public static string PmpGetPublicIp()
{
- throw new NotImplementedException();
+ return purple_pmp_get_public_ip();
}
/*
- * gboolean purple_pmp_create_map(PurplePmpType type, unsigned short, unsigned short, int lifetime)
+ * gboolean purple_pmp_create_map(PurplePmpType type, unsigned short privateport, unsigned short publicport, int lifetime)
*/
[DllImport("libpurple.dll")]
- private static extern bool purple_pmp_create_map(UNKNOWN type, UNKNOWN short, UNKNOWN short, int lifetime);
+ private static extern bool purple_pmp_create_map(NatPmp.PurplePmpType type, ushort privateport, ushort publicport, int lifetime);
- public static bool PmpCreateMap(PurplePmpType type, unsigned short, unsigned short, int lifetime)
+ public static bool PmpCreateMap(NatPmp.PurplePmpType type, ushort privateport, ushort publicport, int lifetime)
{
+ /* Unable to process type, a KnownEnum. */
throw new NotImplementedException();
}
/*
- * gboolean purple_pmp_destroy_map(PurplePmpType type, unsigned short)
+ * gboolean purple_pmp_destroy_map(PurplePmpType type, unsigned short privateport)
*/
[DllImport("libpurple.dll")]
- private static extern bool purple_pmp_destroy_map(UNKNOWN type, UNKNOWN short);
+ private static extern bool purple_pmp_destroy_map(NatPmp.PurplePmpType type, ushort privateport);
- public static bool PmpDestroyMap(PurplePmpType type, unsigned short)
+ public static bool PmpDestroyMap(NatPmp.PurplePmpType type, ushort privateport)
{
+ /* Unable to process type, a KnownEnum. */
throw new NotImplementedException();
}
============================================================
--- libpurple/wrapper/Network.cs 75195b5f5664821413f14bf8393a68f6e699d07c
+++ libpurple/wrapper/Network.cs b4201f486d6bca8abad5afa55d9d85c61f3fd862
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -39,16 +41,12 @@ namespace PurpleWrapper
public class Network
{
/*
- * char * purple_network_ip_atoi(char * ip)
+ * unsigned char * purple_network_ip_atoi(char * ip)
+ *
+ * Could not generate a wrapper for purple_network_ip_atoi in file "network.h".
+ * Message: The type could not be resolved (unsigned char * purple_network_ip_atoi(char * ip)).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_network_ip_atoi(string ip);
- public static string IpAtoi(string ip)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_network_set_public_ip(char * ip)
*/
@@ -57,7 +55,7 @@ namespace PurpleWrapper
public static void SetPublicIp(string ip)
{
- throw new NotImplementedException();
+ purple_network_set_public_ip(ip);
}
/*
@@ -68,7 +66,7 @@ namespace PurpleWrapper
public static string GetPublicIp()
{
- throw new NotImplementedException();
+ return purple_network_get_public_ip();
}
/*
@@ -79,7 +77,7 @@ namespace PurpleWrapper
public static string GetLocalSystemIp(int fd)
{
- throw new NotImplementedException();
+ return purple_network_get_local_system_ip(fd);
}
/*
@@ -90,7 +88,7 @@ namespace PurpleWrapper
public static string GetMyIp(int fd)
{
- throw new NotImplementedException();
+ return purple_network_get_my_ip(fd);
}
/*
@@ -101,51 +99,25 @@ namespace PurpleWrapper
public static void ListenMapExternal(bool map_external)
{
- throw new NotImplementedException();
+ purple_network_listen_map_external(map_external);
}
/*
- * PurpleNetworkListenData * purple_network_listen(unsigned short, int socket_type, PurpleNetworkListenCallback cb, gpointer cb_data)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_network_listen(UNKNOWN short, int socket_type, UNKNOWN cb, IntPtr cb_data);
-
- public static PurpleNetworkListenData Listen(unsigned short, int socket_type, PurpleNetworkListenCallback cb, IntPtr cb_data)
- {
- throw new NotImplementedException();
- }
-
- /*
- * PurpleNetworkListenData * purple_network_listen_range(unsigned short, unsigned short, int socket_type, PurpleNetworkListenCallback cb, gpointer cb_data)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_network_listen_range(UNKNOWN short, UNKNOWN short, int socket_type, UNKNOWN cb, IntPtr cb_data);
-
- public static PurpleNetworkListenData ListenRange(unsigned short, unsigned short, int socket_type, PurpleNetworkListenCallback cb, IntPtr cb_data)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_network_listen_cancel(PurpleNetworkListenData * listen_data)
+ *
+ * Could not generate a wrapper for purple_network_listen_cancel in file "network.h".
+ * Message: The type could not be resolved (PurpleNetworkListenData * listen_data).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_network_listen_cancel(IntPtr listen_data);
- public static void ListenCancel(PurpleNetworkListenData listen_data)
- {
- throw new NotImplementedException();
- }
-
/*
- * short purple_network_get_port_from_fd(int fd)
+ * unsigned short purple_network_get_port_from_fd(int fd)
*/
[DllImport("libpurple.dll")]
- private static extern short purple_network_get_port_from_fd(int fd);
+ private static extern ushort purple_network_get_port_from_fd(int fd);
- public static short GetPortFromFd(int fd)
+ public static ushort GetPortFromFd(int fd)
{
- throw new NotImplementedException();
+ return purple_network_get_port_from_fd(fd);
}
/*
@@ -156,7 +128,7 @@ namespace PurpleWrapper
public static bool IsAvailable()
{
- throw new NotImplementedException();
+ return purple_network_is_available();
}
/*
@@ -167,7 +139,7 @@ namespace PurpleWrapper
public static void ForceOnline()
{
- throw new NotImplementedException();
+ purple_network_force_online();
}
/*
@@ -178,7 +150,7 @@ namespace PurpleWrapper
public static IntPtr GetHandle()
{
- throw new NotImplementedException();
+ return purple_network_get_handle();
}
/*
@@ -189,7 +161,7 @@ namespace PurpleWrapper
public static void SetStunServer(string stun_server)
{
- throw new NotImplementedException();
+ purple_network_set_stun_server(stun_server);
}
/*
@@ -200,7 +172,7 @@ namespace PurpleWrapper
public static string GetStunIp()
{
- throw new NotImplementedException();
+ return purple_network_get_stun_ip();
}
/*
@@ -211,7 +183,7 @@ namespace PurpleWrapper
public static void SetTurnServer(string stun_server)
{
- throw new NotImplementedException();
+ purple_network_set_turn_server(stun_server);
}
/*
@@ -222,7 +194,7 @@ namespace PurpleWrapper
public static string GetTurnIp()
{
- throw new NotImplementedException();
+ return purple_network_get_turn_ip();
}
/*
@@ -233,7 +205,7 @@ namespace PurpleWrapper
public static void Init()
{
- throw new NotImplementedException();
+ purple_network_init();
}
/*
@@ -244,7 +216,7 @@ namespace PurpleWrapper
public static void Uninit()
{
- throw new NotImplementedException();
+ purple_network_uninit();
}
}
============================================================
--- libpurple/wrapper/Notify.cs 1f1539bc627036b4f3859fb40bdd044a9df5ddcb
+++ libpurple/wrapper/Notify.cs 6973472a8319c42a88a4f27fb64316ca37d7e7cc
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,414 +40,204 @@ namespace PurpleWrapper
{
public class Notify
{
- /*
- * void * purple_notify_searchresults(PurpleConnection * gc, char * title, char * primary, char * secondary, PurpleNotifySearchResults * results, PurpleNotifyCloseCallback cb, gpointer user_data)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_notify_searchresults(IntPtr gc, string title, string primary, string secondary, IntPtr results, UNKNOWN cb, IntPtr user_data);
-
- public static IntPtr Searchresults(PurpleConnection gc, string title, string primary, string secondary, PurpleNotifySearchResults results, PurpleNotifyCloseCallback cb, IntPtr user_data)
+ public enum PurpleNotifyType
{
- throw new NotImplementedException();
- }
+ PURPLE_NOTIFY_MESSAGE = 0,
+ PURPLE_NOTIFY_EMAIL,
+ PURPLE_NOTIFY_EMAILS,
+ PURPLE_NOTIFY_FORMATTED,
+ PURPLE_NOTIFY_SEARCHRESULTS,
+ PURPLE_NOTIFY_USERINFO,
+ PURPLE_NOTIFY_URI
+ };
- /*
- * void purple_notify_searchresults_free(PurpleNotifySearchResults * results)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_notify_searchresults_free(IntPtr results);
-
- public static void SearchresultsFree(PurpleNotifySearchResults results)
+ public enum PurpleNotifyMsgType
{
- throw new NotImplementedException();
- }
+ PURPLE_NOTIFY_MSG_ERROR = 0,
+ PURPLE_NOTIFY_MSG_WARNING,
+ PURPLE_NOTIFY_MSG_INFO
+ };
- /*
- * void purple_notify_searchresults_new_rows(PurpleConnection * gc, PurpleNotifySearchResults * results, void * data)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_notify_searchresults_new_rows(IntPtr gc, IntPtr results, IntPtr data);
-
- public static void SearchresultsNewRows(PurpleConnection gc, PurpleNotifySearchResults results, IntPtr data)
+ public enum PurpleNotifySearchButtonType
{
- throw new NotImplementedException();
- }
+ PURPLE_NOTIFY_BUTTON_LABELED = 0,
+ PURPLE_NOTIFY_BUTTON_CONTINUE = 1,
+ PURPLE_NOTIFY_BUTTON_ADD,
+ PURPLE_NOTIFY_BUTTON_INFO,
+ PURPLE_NOTIFY_BUTTON_IM,
+ PURPLE_NOTIFY_BUTTON_JOIN,
+ PURPLE_NOTIFY_BUTTON_INVITE
+ };
- /*
- * void purple_notify_searchresults_button_add(PurpleNotifySearchResults * results, PurpleNotifySearchButtonType type, PurpleNotifySearchResultsCallback cb)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_notify_searchresults_button_add(IntPtr results, UNKNOWN type, UNKNOWN cb);
-
- public static void SearchresultsButtonAdd(PurpleNotifySearchResults results, PurpleNotifySearchButtonType type, PurpleNotifySearchResultsCallback cb)
+ public enum PurpleNotifyUserInfoEntryType
{
- throw new NotImplementedException();
- }
+ PURPLE_NOTIFY_USER_INFO_ENTRY_PAIR = 0,
+ PURPLE_NOTIFY_USER_INFO_ENTRY_SECTION_BREAK,
+ PURPLE_NOTIFY_USER_INFO_ENTRY_SECTION_HEADER
+ };
/*
- * void purple_notify_searchresults_button_add_labeled(PurpleNotifySearchResults * results, char * label, PurpleNotifySearchResultsCallback cb)
+ * void purple_notify_searchresults_free(PurpleNotifySearchResults * results)
+ *
+ * Could not generate a wrapper for purple_notify_searchresults_free in file "notify.h".
+ * Message: The type could not be resolved (PurpleNotifySearchResults * results).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_notify_searchresults_button_add_labeled(IntPtr results, string label, UNKNOWN cb);
- public static void SearchresultsButtonAddLabeled(PurpleNotifySearchResults results, string label, PurpleNotifySearchResultsCallback cb)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleNotifySearchResults * purple_notify_searchresults_new()
+ *
+ * Could not generate a wrapper for purple_notify_searchresults_new in file "notify.h".
+ * Message: The type could not be resolved (PurpleNotifySearchResults * purple_notify_searchresults_new()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_notify_searchresults_new();
- public static PurpleNotifySearchResults SearchresultsNew()
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleNotifySearchColumn * purple_notify_searchresults_column_new(char * title)
+ *
+ * Could not generate a wrapper for purple_notify_searchresults_column_new in file "notify.h".
+ * Message: The type could not be resolved (PurpleNotifySearchColumn * purple_notify_searchresults_column_new(char * title)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_notify_searchresults_column_new(string title);
- public static PurpleNotifySearchColumn SearchresultsColumnNew(string title)
- {
- throw new NotImplementedException();
- }
-
/*
- * void purple_notify_searchresults_column_add(PurpleNotifySearchResults * results, PurpleNotifySearchColumn * column)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_notify_searchresults_column_add(IntPtr results, IntPtr column);
-
- public static void SearchresultsColumnAdd(PurpleNotifySearchResults results, PurpleNotifySearchColumn column)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_notify_searchresults_row_add(PurpleNotifySearchResults * results, GList * row)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_notify_searchresults_row_add(IntPtr results, IntPtr row);
-
- public static void SearchresultsRowAdd(PurpleNotifySearchResults results, GList row)
- {
- throw new NotImplementedException();
- }
-
- /*
* guint purple_notify_searchresults_get_rows_count(PurpleNotifySearchResults * results)
+ *
+ * Could not generate a wrapper for purple_notify_searchresults_get_rows_count in file "notify.h".
+ * Message: The type could not be resolved (PurpleNotifySearchResults * results).
*/
- [DllImport("libpurple.dll")]
- private static extern uint purple_notify_searchresults_get_rows_count(IntPtr results);
- public static uint SearchresultsGetRowsCount(PurpleNotifySearchResults results)
- {
- throw new NotImplementedException();
- }
-
/*
* guint purple_notify_searchresults_get_columns_count(PurpleNotifySearchResults * results)
+ *
+ * Could not generate a wrapper for purple_notify_searchresults_get_columns_count in file "notify.h".
+ * Message: The type could not be resolved (PurpleNotifySearchResults * results).
*/
- [DllImport("libpurple.dll")]
- private static extern uint purple_notify_searchresults_get_columns_count(IntPtr results);
- public static uint SearchresultsGetColumnsCount(PurpleNotifySearchResults results)
- {
- throw new NotImplementedException();
- }
-
/*
- * GList * purple_notify_searchresults_row_get(PurpleNotifySearchResults * results, unsigned int)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_notify_searchresults_row_get(IntPtr results, UNKNOWN int);
-
- public static GList SearchresultsRowGet(PurpleNotifySearchResults results, unsigned int)
- {
- throw new NotImplementedException();
- }
-
- /*
- * char * purple_notify_searchresults_column_get_title(PurpleNotifySearchResults * results, unsigned int)
- */
- [DllImport("libpurple.dll")]
- private static extern string purple_notify_searchresults_column_get_title(IntPtr results, UNKNOWN int);
-
- public static string SearchresultsColumnGetTitle(PurpleNotifySearchResults results, unsigned int)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void * purple_notify_message(void * handle, PurpleNotifyMsgType type, char * title, char * primary, char * secondary, PurpleNotifyCloseCallback cb, gpointer user_data)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_notify_message(IntPtr handle, UNKNOWN type, string title, string primary, string secondary, UNKNOWN cb, IntPtr user_data);
-
- public static IntPtr Message(IntPtr handle, PurpleNotifyMsgType type, string title, string primary, string secondary, PurpleNotifyCloseCallback cb, IntPtr user_data)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void * purple_notify_email(void * handle, char * subject, char * from, char * to, char * url, PurpleNotifyCloseCallback cb, gpointer user_data)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_notify_email(IntPtr handle, string subject, string from, string to, string url, UNKNOWN cb, IntPtr user_data);
-
- public static IntPtr Email(IntPtr handle, string subject, string from, string to, string url, PurpleNotifyCloseCallback cb, IntPtr user_data)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void * purple_notify_emails(void * handle, size_t count, gboolean detailed, char ** subjects, char ** froms, char ** tos, char ** urls, PurpleNotifyCloseCallback cb, gpointer user_data)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_notify_emails(IntPtr handle, UNKNOWN count, bool detailed, IntPtr subjects, IntPtr froms, IntPtr tos, IntPtr urls, UNKNOWN cb, IntPtr user_data);
-
- public static IntPtr Emails(IntPtr handle, size_t count, bool detailed, char subjects, char froms, char tos, char urls, PurpleNotifyCloseCallback cb, IntPtr user_data)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void * purple_notify_formatted(void * handle, char * title, char * primary, char * secondary, char * text, PurpleNotifyCloseCallback cb, gpointer user_data)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_notify_formatted(IntPtr handle, string title, string primary, string secondary, string text, UNKNOWN cb, IntPtr user_data);
-
- public static IntPtr Formatted(IntPtr handle, string title, string primary, string secondary, string text, PurpleNotifyCloseCallback cb, IntPtr user_data)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void * purple_notify_userinfo(PurpleConnection * gc, char * who, PurpleNotifyUserInfo * user_info, PurpleNotifyCloseCallback cb, gpointer user_data)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_notify_userinfo(IntPtr gc, string who, IntPtr user_info, UNKNOWN cb, IntPtr user_data);
-
- public static IntPtr Userinfo(PurpleConnection gc, string who, PurpleNotifyUserInfo user_info, PurpleNotifyCloseCallback cb, IntPtr user_data)
- {
- throw new NotImplementedException();
- }
-
- /*
* PurpleNotifyUserInfo * purple_notify_user_info_new()
+ *
+ * Could not generate a wrapper for purple_notify_user_info_new in file "notify.h".
+ * Message: The type could not be resolved (PurpleNotifyUserInfo * purple_notify_user_info_new()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_notify_user_info_new();
- public static PurpleNotifyUserInfo UserInfoNew()
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_notify_user_info_destroy(PurpleNotifyUserInfo * user_info)
+ *
+ * Could not generate a wrapper for purple_notify_user_info_destroy in file "notify.h".
+ * Message: The type could not be resolved (PurpleNotifyUserInfo * user_info).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_notify_user_info_destroy(IntPtr user_info);
- public static void UserInfoDestroy(PurpleNotifyUserInfo user_info)
- {
- throw new NotImplementedException();
- }
-
/*
* GList * purple_notify_user_info_get_entries(PurpleNotifyUserInfo * user_info)
+ *
+ * Could not generate a wrapper for purple_notify_user_info_get_entries in file "notify.h".
+ * Message: The type could not be resolved (GList * purple_notify_user_info_get_entries(PurpleNotifyUserInfo * user_info)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_notify_user_info_get_entries(IntPtr user_info);
- public static GList UserInfoGetEntries(PurpleNotifyUserInfo user_info)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_notify_user_info_get_text_with_newline(PurpleNotifyUserInfo * user_info, char * newline)
+ *
+ * Could not generate a wrapper for purple_notify_user_info_get_text_with_newline in file "notify.h".
+ * Message: The type could not be resolved (PurpleNotifyUserInfo * user_info).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_notify_user_info_get_text_with_newline(IntPtr user_info, string newline);
- public static string UserInfoGetTextWithNewline(PurpleNotifyUserInfo user_info, string newline)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_notify_user_info_add_pair(PurpleNotifyUserInfo * user_info, char * label, char * value)
+ *
+ * Could not generate a wrapper for purple_notify_user_info_add_pair in file "notify.h".
+ * Message: The type could not be resolved (PurpleNotifyUserInfo * user_info).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_notify_user_info_add_pair(IntPtr user_info, string label, string value);
- public static void UserInfoAddPair(PurpleNotifyUserInfo user_info, string label, string value)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_notify_user_info_prepend_pair(PurpleNotifyUserInfo * user_info, char * label, char * value)
+ *
+ * Could not generate a wrapper for purple_notify_user_info_prepend_pair in file "notify.h".
+ * Message: The type could not be resolved (PurpleNotifyUserInfo * user_info).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_notify_user_info_prepend_pair(IntPtr user_info, string label, string value);
- public static void UserInfoPrependPair(PurpleNotifyUserInfo user_info, string label, string value)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_notify_user_info_remove_entry(PurpleNotifyUserInfo * user_info, PurpleNotifyUserInfoEntry * user_info_entry)
+ *
+ * Could not generate a wrapper for purple_notify_user_info_remove_entry in file "notify.h".
+ * Message: The type could not be resolved (PurpleNotifyUserInfo * user_info).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_notify_user_info_remove_entry(IntPtr user_info, IntPtr user_info_entry);
- public static void UserInfoRemoveEntry(PurpleNotifyUserInfo user_info, PurpleNotifyUserInfoEntry user_info_entry)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleNotifyUserInfoEntry * purple_notify_user_info_entry_new(char * label, char * value)
+ *
+ * Could not generate a wrapper for purple_notify_user_info_entry_new in file "notify.h".
+ * Message: The type could not be resolved (PurpleNotifyUserInfoEntry * purple_notify_user_info_entry_new(char * label, char * value)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_notify_user_info_entry_new(string label, string value);
- public static PurpleNotifyUserInfoEntry UserInfoEntryNew(string label, string value)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_notify_user_info_add_section_break(PurpleNotifyUserInfo * user_info)
+ *
+ * Could not generate a wrapper for purple_notify_user_info_add_section_break in file "notify.h".
+ * Message: The type could not be resolved (PurpleNotifyUserInfo * user_info).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_notify_user_info_add_section_break(IntPtr user_info);
- public static void UserInfoAddSectionBreak(PurpleNotifyUserInfo user_info)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_notify_user_info_prepend_section_break(PurpleNotifyUserInfo * user_info)
+ *
+ * Could not generate a wrapper for purple_notify_user_info_prepend_section_break in file "notify.h".
+ * Message: The type could not be resolved (PurpleNotifyUserInfo * user_info).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_notify_user_info_prepend_section_break(IntPtr user_info);
- public static void UserInfoPrependSectionBreak(PurpleNotifyUserInfo user_info)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_notify_user_info_add_section_header(PurpleNotifyUserInfo * user_info, char * label)
+ *
+ * Could not generate a wrapper for purple_notify_user_info_add_section_header in file "notify.h".
+ * Message: The type could not be resolved (PurpleNotifyUserInfo * user_info).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_notify_user_info_add_section_header(IntPtr user_info, string label);
- public static void UserInfoAddSectionHeader(PurpleNotifyUserInfo user_info, string label)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_notify_user_info_prepend_section_header(PurpleNotifyUserInfo * user_info, char * label)
+ *
+ * Could not generate a wrapper for purple_notify_user_info_prepend_section_header in file "notify.h".
+ * Message: The type could not be resolved (PurpleNotifyUserInfo * user_info).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_notify_user_info_prepend_section_header(IntPtr user_info, string label);
- public static void UserInfoPrependSectionHeader(PurpleNotifyUserInfo user_info, string label)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_notify_user_info_remove_last_item(PurpleNotifyUserInfo * user_info)
+ *
+ * Could not generate a wrapper for purple_notify_user_info_remove_last_item in file "notify.h".
+ * Message: The type could not be resolved (PurpleNotifyUserInfo * user_info).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_notify_user_info_remove_last_item(IntPtr user_info);
- public static void UserInfoRemoveLastItem(PurpleNotifyUserInfo user_info)
- {
- throw new NotImplementedException();
- }
-
/*
* gchar * purple_notify_user_info_entry_get_label(PurpleNotifyUserInfoEntry * user_info_entry)
+ *
+ * Could not generate a wrapper for purple_notify_user_info_entry_get_label in file "notify.h".
+ * Message: The type could not be resolved (PurpleNotifyUserInfoEntry * user_info_entry).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_notify_user_info_entry_get_label(IntPtr user_info_entry);
- public static string UserInfoEntryGetLabel(PurpleNotifyUserInfoEntry user_info_entry)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_notify_user_info_entry_set_label(PurpleNotifyUserInfoEntry * user_info_entry, char * label)
+ *
+ * Could not generate a wrapper for purple_notify_user_info_entry_set_label in file "notify.h".
+ * Message: The type could not be resolved (PurpleNotifyUserInfoEntry * user_info_entry).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_notify_user_info_entry_set_label(IntPtr user_info_entry, string label);
- public static void UserInfoEntrySetLabel(PurpleNotifyUserInfoEntry user_info_entry, string label)
- {
- throw new NotImplementedException();
- }
-
/*
* gchar * purple_notify_user_info_entry_get_value(PurpleNotifyUserInfoEntry * user_info_entry)
+ *
+ * Could not generate a wrapper for purple_notify_user_info_entry_get_value in file "notify.h".
+ * Message: The type could not be resolved (PurpleNotifyUserInfoEntry * user_info_entry).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_notify_user_info_entry_get_value(IntPtr user_info_entry);
- public static string UserInfoEntryGetValue(PurpleNotifyUserInfoEntry user_info_entry)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_notify_user_info_entry_set_value(PurpleNotifyUserInfoEntry * user_info_entry, char * value)
+ *
+ * Could not generate a wrapper for purple_notify_user_info_entry_set_value in file "notify.h".
+ * Message: The type could not be resolved (PurpleNotifyUserInfoEntry * user_info_entry).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_notify_user_info_entry_set_value(IntPtr user_info_entry, string value);
- public static void UserInfoEntrySetValue(PurpleNotifyUserInfoEntry user_info_entry, string value)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleNotifyUserInfoEntryType purple_notify_user_info_entry_get_type(PurpleNotifyUserInfoEntry * user_info_entry)
+ *
+ * Could not generate a wrapper for purple_notify_user_info_entry_get_type in file "notify.h".
+ * Message: The type could not be resolved (PurpleNotifyUserInfoEntry * user_info_entry).
*/
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_notify_user_info_entry_get_type(IntPtr user_info_entry);
- public static PurpleNotifyUserInfoEntryType UserInfoEntryGetType(PurpleNotifyUserInfoEntry user_info_entry)
- {
- throw new NotImplementedException();
- }
-
/*
- * void purple_notify_user_info_entry_set_type(PurpleNotifyUserInfoEntry * user_info_entry, PurpleNotifyUserInfoEntryType type)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_notify_user_info_entry_set_type(IntPtr user_info_entry, UNKNOWN type);
-
- public static void UserInfoEntrySetType(PurpleNotifyUserInfoEntry user_info_entry, PurpleNotifyUserInfoEntryType type)
- {
- throw new NotImplementedException();
- }
-
- /*
* void * purple_notify_uri(void * handle, char * uri)
*/
[DllImport("libpurple.dll")]
@@ -453,17 +245,18 @@ namespace PurpleWrapper
public static IntPtr Uri(IntPtr handle, string uri)
{
- throw new NotImplementedException();
+ return purple_notify_uri(handle, uri);
}
/*
* void purple_notify_close(PurpleNotifyType type, void * ui_handle)
*/
[DllImport("libpurple.dll")]
- private static extern void purple_notify_close(UNKNOWN type, IntPtr ui_handle);
+ private static extern void purple_notify_close(Notify.PurpleNotifyType type, IntPtr ui_handle);
- public static void Close(PurpleNotifyType type, IntPtr ui_handle)
+ public static void Close(Notify.PurpleNotifyType type, IntPtr ui_handle)
{
+ /* Unable to process type, a KnownEnum. */
throw new NotImplementedException();
}
@@ -475,31 +268,23 @@ namespace PurpleWrapper
public static void CloseWithHandle(IntPtr handle)
{
- throw new NotImplementedException();
+ purple_notify_close_with_handle(handle);
}
/*
* void purple_notify_set_ui_ops(PurpleNotifyUiOps * ops)
+ *
+ * Could not generate a wrapper for purple_notify_set_ui_ops in file "notify.h".
+ * Message: The type could not be resolved (PurpleNotifyUiOps * ops).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_notify_set_ui_ops(IntPtr ops);
- public static void SetUiOps(PurpleNotifyUiOps ops)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleNotifyUiOps * purple_notify_get_ui_ops()
+ *
+ * Could not generate a wrapper for purple_notify_get_ui_ops in file "notify.h".
+ * Message: The type could not be resolved (PurpleNotifyUiOps * purple_notify_get_ui_ops()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_notify_get_ui_ops();
- public static PurpleNotifyUiOps GetUiOps()
- {
- throw new NotImplementedException();
- }
-
/*
* void * purple_notify_get_handle()
*/
@@ -508,7 +293,7 @@ namespace PurpleWrapper
public static IntPtr GetHandle()
{
- throw new NotImplementedException();
+ return purple_notify_get_handle();
}
/*
@@ -519,7 +304,7 @@ namespace PurpleWrapper
public static void Init()
{
- throw new NotImplementedException();
+ purple_notify_init();
}
/*
@@ -530,7 +315,7 @@ namespace PurpleWrapper
public static void Uninit()
{
- throw new NotImplementedException();
+ purple_notify_uninit();
}
}
============================================================
--- libpurple/wrapper/Ntlm.cs 92a5717a2815ff4058b0fff2e1da9dd8d4c0ba10
+++ libpurple/wrapper/Ntlm.cs c6a1fca1a527a7df0c95ba0a440e9be9839ed79c
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -46,31 +48,23 @@ namespace PurpleWrapper
public static string GenType1(string hostname, string domain)
{
- throw new NotImplementedException();
+ return purple_ntlm_gen_type1(hostname, domain);
}
/*
* guint8 * purple_ntlm_parse_type2(gchar * type2, guint32 * flags)
+ *
+ * Could not generate a wrapper for purple_ntlm_parse_type2 in file "ntlm.h".
+ * Message: The type could not be resolved (guint8 * purple_ntlm_parse_type2(gchar * type2, guint32 * flags)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_ntlm_parse_type2(string type2, IntPtr flags);
- public static guint8 ParseType2(string type2, guint32 flags)
- {
- throw new NotImplementedException();
- }
-
/*
* gchar * purple_ntlm_gen_type3(gchar * username, gchar * passw, gchar * hostname, gchar * domain, guint8 * nonce, guint32 * flags)
+ *
+ * Could not generate a wrapper for purple_ntlm_gen_type3 in file "ntlm.h".
+ * Message: The type could not be resolved (guint8 * nonce).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_ntlm_gen_type3(string username, string passw, string hostname, string domain, IntPtr nonce, IntPtr flags);
- public static string GenType3(string username, string passw, string hostname, string domain, guint8 nonce, guint32 flags)
- {
- throw new NotImplementedException();
- }
-
}
}
============================================================
--- libpurple/wrapper/Plugin.cs b812ff8d30fec18ed5474623d412787ba7b0c44b
+++ libpurple/wrapper/Plugin.cs 7634af0836dad44f16f8ee1fc60e0e40c4e4a330
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,73 +40,15 @@ namespace PurpleWrapper
{
public class Plugin
{
- /*
- * gboolean _FUNC_NAME( )
- */
- [DllImport("libpurple.dll")]
- private static extern bool _FUNC_NAME(UNKNOWN );
-
- public static bool _funcName( )
+ public enum PurplePluginType
{
- throw new NotImplementedException();
- }
+ PURPLE_PLUGIN_UNKNOWN = -1,
+ PURPLE_PLUGIN_STANDARD = 0,
+ PURPLE_PLUGIN_LOADER,
+ PURPLE_PLUGIN_PROTOCOL
+ };
/*
- * gboolean _FUNC_NAME( )
- */
- [DllImport("libpurple.dll")]
- private static extern bool _FUNC_NAME(UNKNOWN );
-
- public static bool _funcName( )
- {
- throw new NotImplementedException();
- }
-
- /*
- * return purple_plugin_register( )
- */
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_plugin_register(UNKNOWN );
-
- public static return Register( )
- {
- throw new NotImplementedException();
- }
-
- /*
- * gboolean purple_init_plugin(PurplePlugin * plugin)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_init_plugin(IntPtr plugin);
-
- public static bool InitPlugin(PurplePlugin plugin)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gboolean purple_init_plugin(PurplePlugin * plugin)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_init_plugin(IntPtr plugin);
-
- public static bool InitPlugin(PurplePlugin plugin)
- {
- throw new NotImplementedException();
- }
-
- /*
- * return purple_plugin_register( )
- */
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_plugin_register(UNKNOWN );
-
- public static return Register( )
- {
- throw new NotImplementedException();
- }
-
- /*
* PurplePlugin * purple_plugin_new(gboolean native, char * path)
*/
[DllImport("libpurple.dll")]
@@ -112,7 +56,7 @@ namespace PurpleWrapper
public static PurplePlugin New(bool native, string path)
{
- throw new NotImplementedException();
+ return new PurplePlugin(purple_plugin_new(native, path));
}
/*
@@ -123,7 +67,7 @@ namespace PurpleWrapper
public static PurplePlugin Probe(string filename)
{
- throw new NotImplementedException();
+ return new PurplePlugin(purple_plugin_probe(filename));
}
/*
@@ -134,7 +78,7 @@ namespace PurpleWrapper
public static bool Register(PurplePlugin plugin)
{
- throw new NotImplementedException();
+ return purple_plugin_register(plugin.Reference);
}
/*
@@ -145,7 +89,7 @@ namespace PurpleWrapper
public static bool Load(PurplePlugin plugin)
{
- throw new NotImplementedException();
+ return purple_plugin_load(plugin.Reference);
}
/*
@@ -156,7 +100,7 @@ namespace PurpleWrapper
public static bool Unload(PurplePlugin plugin)
{
- throw new NotImplementedException();
+ return purple_plugin_unload(plugin.Reference);
}
/*
@@ -167,7 +111,7 @@ namespace PurpleWrapper
public static void Disable(PurplePlugin plugin)
{
- throw new NotImplementedException();
+ purple_plugin_disable(plugin.Reference);
}
/*
@@ -178,7 +122,7 @@ namespace PurpleWrapper
public static bool Reload(PurplePlugin plugin)
{
- throw new NotImplementedException();
+ return purple_plugin_reload(plugin.Reference);
}
/*
@@ -189,7 +133,7 @@ namespace PurpleWrapper
public static void Destroy(PurplePlugin plugin)
{
- throw new NotImplementedException();
+ purple_plugin_destroy(plugin.Reference);
}
/*
@@ -200,7 +144,7 @@ namespace PurpleWrapper
public static bool IsLoaded(PurplePlugin plugin)
{
- throw new NotImplementedException();
+ return purple_plugin_is_loaded(plugin.Reference);
}
/*
@@ -211,7 +155,7 @@ namespace PurpleWrapper
public static bool IsUnloadable(PurplePlugin plugin)
{
- throw new NotImplementedException();
+ return purple_plugin_is_unloadable(plugin.Reference);
}
/*
@@ -222,7 +166,7 @@ namespace PurpleWrapper
public static string GetId(PurplePlugin plugin)
{
- throw new NotImplementedException();
+ return purple_plugin_get_id(plugin.Reference);
}
/*
@@ -233,7 +177,7 @@ namespace PurpleWrapper
public static string GetName(PurplePlugin plugin)
{
- throw new NotImplementedException();
+ return purple_plugin_get_name(plugin.Reference);
}
/*
@@ -244,7 +188,7 @@ namespace PurpleWrapper
public static string GetVersion(PurplePlugin plugin)
{
- throw new NotImplementedException();
+ return purple_plugin_get_version(plugin.Reference);
}
/*
@@ -255,7 +199,7 @@ namespace PurpleWrapper
public static string GetSummary(PurplePlugin plugin)
{
- throw new NotImplementedException();
+ return purple_plugin_get_summary(plugin.Reference);
}
/*
@@ -266,7 +210,7 @@ namespace PurpleWrapper
public static string GetDescription(PurplePlugin plugin)
{
- throw new NotImplementedException();
+ return purple_plugin_get_description(plugin.Reference);
}
/*
@@ -277,7 +221,7 @@ namespace PurpleWrapper
public static string GetAuthor(PurplePlugin plugin)
{
- throw new NotImplementedException();
+ return purple_plugin_get_author(plugin.Reference);
}
/*
@@ -288,21 +232,10 @@ namespace PurpleWrapper
public static string GetHomepage(PurplePlugin plugin)
{
- throw new NotImplementedException();
+ return purple_plugin_get_homepage(plugin.Reference);
}
/*
- * gboolean purple_plugin_ipc_register(PurplePlugin * plugin, char * command, PurpleCallback func, PurpleSignalMarshalFunc marshal, PurpleValue * ret_value, int num_params, ...)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_plugin_ipc_register(IntPtr plugin, string command, UNKNOWN func, UNKNOWN marshal, IntPtr ret_value, int num_params, ...);
-
- public static bool IpcRegister(PurplePlugin plugin, string command, PurpleCallback func, PurpleSignalMarshalFunc marshal, PurpleValue ret_value, int num_params, ...)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_plugin_ipc_unregister(PurplePlugin * plugin, char * command)
*/
[DllImport("libpurple.dll")]
@@ -310,7 +243,7 @@ namespace PurpleWrapper
public static void IpcUnregister(PurplePlugin plugin, string command)
{
- throw new NotImplementedException();
+ purple_plugin_ipc_unregister(plugin.Reference, command);
}
/*
@@ -321,32 +254,10 @@ namespace PurpleWrapper
public static void IpcUnregisterAll(PurplePlugin plugin)
{
- throw new NotImplementedException();
+ purple_plugin_ipc_unregister_all(plugin.Reference);
}
/*
- * gboolean purple_plugin_ipc_get_params(PurplePlugin * plugin, char * command, PurpleValue ** ret_value, int * num_params, PurpleValue *** params)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_plugin_ipc_get_params(IntPtr plugin, string command, IntPtr ret_value, IntPtr num_params, IntPtr params);
-
- public static bool IpcGetParams(PurplePlugin plugin, string command, PurpleValue ret_value, int num_params, PurpleValue params)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void * purple_plugin_ipc_call(PurplePlugin * plugin, char * command, gboolean * ok, ...)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_plugin_ipc_call(IntPtr plugin, string command, IntPtr ok, ...);
-
- public static IntPtr IpcCall(PurplePlugin plugin, string command, gboolean ok, ...)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_plugins_add_search_path(char * path)
*/
[DllImport("libpurple.dll")]
@@ -354,7 +265,7 @@ namespace PurpleWrapper
public static void PluginsAddSearchPath(string path)
{
- throw new NotImplementedException();
+ purple_plugins_add_search_path(path);
}
/*
@@ -365,17 +276,18 @@ namespace PurpleWrapper
public static void PluginsUnloadAll()
{
- throw new NotImplementedException();
+ purple_plugins_unload_all();
}
/*
* void purple_plugins_unload(PurplePluginType type)
*/
[DllImport("libpurple.dll")]
- private static extern void purple_plugins_unload(UNKNOWN type);
+ private static extern void purple_plugins_unload(Plugin.PurplePluginType type);
- public static void PluginsUnload(PurplePluginType type)
+ public static void PluginsUnload(Plugin.PurplePluginType type)
{
+ /* Unable to process type, a KnownEnum. */
throw new NotImplementedException();
}
@@ -387,7 +299,7 @@ namespace PurpleWrapper
public static void PluginsDestroyAll()
{
- throw new NotImplementedException();
+ purple_plugins_destroy_all();
}
/*
@@ -398,7 +310,7 @@ namespace PurpleWrapper
public static void PluginsSaveLoaded(string key)
{
- throw new NotImplementedException();
+ purple_plugins_save_loaded(key);
}
/*
@@ -409,7 +321,7 @@ namespace PurpleWrapper
public static void PluginsLoadSaved(string key)
{
- throw new NotImplementedException();
+ purple_plugins_load_saved(key);
}
/*
@@ -420,7 +332,7 @@ namespace PurpleWrapper
public static void PluginsProbe(string ext)
{
- throw new NotImplementedException();
+ purple_plugins_probe(ext);
}
/*
@@ -431,76 +343,10 @@ namespace PurpleWrapper
public static bool PluginsEnabled()
{
- throw new NotImplementedException();
+ return purple_plugins_enabled();
}
/*
- * void purple_plugins_register_probe_notify_cb( )
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_plugins_register_probe_notify_cb(UNKNOWN );
-
- public static void PluginsRegisterProbeNotifyCb( )
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_plugins_unregister_probe_notify_cb( )
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_plugins_unregister_probe_notify_cb(UNKNOWN );
-
- public static void PluginsUnregisterProbeNotifyCb( )
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_plugins_register_load_notify_cb( )
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_plugins_register_load_notify_cb(UNKNOWN );
-
- public static void PluginsRegisterLoadNotifyCb( )
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_plugins_unregister_load_notify_cb( )
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_plugins_unregister_load_notify_cb(UNKNOWN );
-
- public static void PluginsUnregisterLoadNotifyCb( )
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_plugins_register_unload_notify_cb( )
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_plugins_register_unload_notify_cb(UNKNOWN );
-
- public static void PluginsRegisterUnloadNotifyCb( )
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_plugins_unregister_unload_notify_cb( )
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_plugins_unregister_unload_notify_cb(UNKNOWN );
-
- public static void PluginsUnregisterUnloadNotifyCb( )
- {
- throw new NotImplementedException();
- }
-
- /*
* PurplePlugin * purple_plugins_find_with_name(char * name)
*/
[DllImport("libpurple.dll")]
@@ -508,7 +354,7 @@ namespace PurpleWrapper
public static PurplePlugin PluginsFindWithName(string name)
{
- throw new NotImplementedException();
+ return new PurplePlugin(purple_plugins_find_with_name(name));
}
/*
@@ -519,7 +365,7 @@ namespace PurpleWrapper
public static PurplePlugin PluginsFindWithFilename(string filename)
{
- throw new NotImplementedException();
+ return new PurplePlugin(purple_plugins_find_with_filename(filename));
}
/*
@@ -530,7 +376,7 @@ namespace PurpleWrapper
public static PurplePlugin PluginsFindWithBasename(string basename)
{
- throw new NotImplementedException();
+ return new PurplePlugin(purple_plugins_find_with_basename(basename));
}
/*
@@ -541,42 +387,30 @@ namespace PurpleWrapper
public static PurplePlugin PluginsFindWithId(string id)
{
- throw new NotImplementedException();
+ return new PurplePlugin(purple_plugins_find_with_id(id));
}
/*
* GList * purple_plugins_get_loaded()
+ *
+ * Could not generate a wrapper for purple_plugins_get_loaded in file "plugin.h".
+ * Message: The type could not be resolved (GList * purple_plugins_get_loaded()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_plugins_get_loaded();
- public static GList PluginsGetLoaded()
- {
- throw new NotImplementedException();
- }
-
/*
* GList * purple_plugins_get_protocols()
+ *
+ * Could not generate a wrapper for purple_plugins_get_protocols in file "plugin.h".
+ * Message: The type could not be resolved (GList * purple_plugins_get_protocols()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_plugins_get_protocols();
- public static GList PluginsGetProtocols()
- {
- throw new NotImplementedException();
- }
-
/*
* GList * purple_plugins_get_all()
+ *
+ * Could not generate a wrapper for purple_plugins_get_all in file "plugin.h".
+ * Message: The type could not be resolved (GList * purple_plugins_get_all()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_plugins_get_all();
- public static GList PluginsGetAll()
- {
- throw new NotImplementedException();
- }
-
/*
* void * purple_plugins_get_handle()
*/
@@ -585,7 +419,7 @@ namespace PurpleWrapper
public static IntPtr PluginsGetHandle()
{
- throw new NotImplementedException();
+ return purple_plugins_get_handle();
}
/*
@@ -596,7 +430,7 @@ namespace PurpleWrapper
public static void PluginsInit()
{
- throw new NotImplementedException();
+ purple_plugins_init();
}
/*
@@ -607,21 +441,10 @@ namespace PurpleWrapper
public static void PluginsUninit()
{
- throw new NotImplementedException();
+ purple_plugins_uninit();
}
/*
- * PurplePluginAction * purple_plugin_action_new( , )
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_plugin_action_new(UNKNOWN , UNKNOWN );
-
- public static PurplePluginAction ActionNew( , )
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_plugin_action_free(PurplePluginAction * action)
*/
[DllImport("libpurple.dll")]
@@ -629,7 +452,7 @@ namespace PurpleWrapper
public static void ActionFree(PurplePluginAction action)
{
- throw new NotImplementedException();
+ purple_plugin_action_free(action.Reference);
}
}
============================================================
--- libpurple/wrapper/Pluginpref.cs 5bc34570e9845a5ba6eca9e2eb9a051057a25508
+++ libpurple/wrapper/Pluginpref.cs 930cb445a476260941f19f869906242526f3741f
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,281 +40,196 @@ namespace PurpleWrapper
{
public class Pluginpref
{
+ public enum PurpleStringFormatType
+ {
+ PURPLE_STRING_FORMAT_TYPE_NONE = 0,
+ PURPLE_STRING_FORMAT_TYPE_MULTILINE = 1 << 0,
+ PURPLE_STRING_FORMAT_TYPE_HTML = 1 << 1
+ };
+
+ public enum PurplePluginPrefType
+ {
+ PURPLE_PLUGIN_PREF_NONE,
+ PURPLE_PLUGIN_PREF_CHOICE,
+ PURPLE_PLUGIN_PREF_INFO,
+ PURPLE_PLUGIN_PREF_STRING_FORMAT
+ };
+
/*
* PurplePluginPrefFrame * purple_plugin_pref_frame_new()
+ *
+ * Could not generate a wrapper for purple_plugin_pref_frame_new in file "pluginpref.h".
+ * Message: The type could not be resolved (PurplePluginPrefFrame * purple_plugin_pref_frame_new()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_plugin_pref_frame_new();
- public static PurplePluginPrefFrame PluginPrefFrameNew()
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_plugin_pref_frame_destroy(PurplePluginPrefFrame * frame)
+ *
+ * Could not generate a wrapper for purple_plugin_pref_frame_destroy in file "pluginpref.h".
+ * Message: The type could not be resolved (PurplePluginPrefFrame * frame).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_plugin_pref_frame_destroy(IntPtr frame);
- public static void PluginPrefFrameDestroy(PurplePluginPrefFrame frame)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_plugin_pref_frame_add(PurplePluginPrefFrame * frame, PurplePluginPref * pref)
+ *
+ * Could not generate a wrapper for purple_plugin_pref_frame_add in file "pluginpref.h".
+ * Message: The type could not be resolved (PurplePluginPrefFrame * frame).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_plugin_pref_frame_add(IntPtr frame, IntPtr pref);
- public static void PluginPrefFrameAdd(PurplePluginPrefFrame frame, PurplePluginPref pref)
- {
- throw new NotImplementedException();
- }
-
/*
* GList * purple_plugin_pref_frame_get_prefs(PurplePluginPrefFrame * frame)
+ *
+ * Could not generate a wrapper for purple_plugin_pref_frame_get_prefs in file "pluginpref.h".
+ * Message: The type could not be resolved (GList * purple_plugin_pref_frame_get_prefs(PurplePluginPrefFrame * frame)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_plugin_pref_frame_get_prefs(IntPtr frame);
- public static GList PluginPrefFrameGetPrefs(PurplePluginPrefFrame frame)
- {
- throw new NotImplementedException();
- }
-
/*
* PurplePluginPref * purple_plugin_pref_new()
+ *
+ * Could not generate a wrapper for purple_plugin_pref_new in file "pluginpref.h".
+ * Message: The type could not be resolved (PurplePluginPref * purple_plugin_pref_new()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_plugin_pref_new();
- public static PurplePluginPref PluginPrefNew()
- {
- throw new NotImplementedException();
- }
-
/*
* PurplePluginPref * purple_plugin_pref_new_with_name(char * name)
+ *
+ * Could not generate a wrapper for purple_plugin_pref_new_with_name in file "pluginpref.h".
+ * Message: The type could not be resolved (PurplePluginPref * purple_plugin_pref_new_with_name(char * name)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_plugin_pref_new_with_name(string name);
- public static PurplePluginPref PluginPrefNewWithName(string name)
- {
- throw new NotImplementedException();
- }
-
/*
* PurplePluginPref * purple_plugin_pref_new_with_label(char * label)
+ *
+ * Could not generate a wrapper for purple_plugin_pref_new_with_label in file "pluginpref.h".
+ * Message: The type could not be resolved (PurplePluginPref * purple_plugin_pref_new_with_label(char * label)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_plugin_pref_new_with_label(string label);
- public static PurplePluginPref PluginPrefNewWithLabel(string label)
- {
- throw new NotImplementedException();
- }
-
/*
* PurplePluginPref * purple_plugin_pref_new_with_name_and_label(char * name, char * label)
+ *
+ * Could not generate a wrapper for purple_plugin_pref_new_with_name_and_label in file "pluginpref.h".
+ * Message: The type could not be resolved (PurplePluginPref * purple_plugin_pref_new_with_name_and_label(char * name, char * label)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_plugin_pref_new_with_name_and_label(string name, string label);
- public static PurplePluginPref PluginPrefNewWithNameAndLabel(string name, string label)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_plugin_pref_destroy(PurplePluginPref * pref)
+ *
+ * Could not generate a wrapper for purple_plugin_pref_destroy in file "pluginpref.h".
+ * Message: The type could not be resolved (PurplePluginPref * pref).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_plugin_pref_destroy(IntPtr pref);
- public static void PluginPrefDestroy(PurplePluginPref pref)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_plugin_pref_set_name(PurplePluginPref * pref, char * name)
+ *
+ * Could not generate a wrapper for purple_plugin_pref_set_name in file "pluginpref.h".
+ * Message: The type could not be resolved (PurplePluginPref * pref).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_plugin_pref_set_name(IntPtr pref, string name);
- public static void PluginPrefSetName(PurplePluginPref pref, string name)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_plugin_pref_get_name(PurplePluginPref * pref)
+ *
+ * Could not generate a wrapper for purple_plugin_pref_get_name in file "pluginpref.h".
+ * Message: The type could not be resolved (PurplePluginPref * pref).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_plugin_pref_get_name(IntPtr pref);
- public static string PluginPrefGetName(PurplePluginPref pref)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_plugin_pref_set_label(PurplePluginPref * pref, char * label)
+ *
+ * Could not generate a wrapper for purple_plugin_pref_set_label in file "pluginpref.h".
+ * Message: The type could not be resolved (PurplePluginPref * pref).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_plugin_pref_set_label(IntPtr pref, string label);
- public static void PluginPrefSetLabel(PurplePluginPref pref, string label)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_plugin_pref_get_label(PurplePluginPref * pref)
+ *
+ * Could not generate a wrapper for purple_plugin_pref_get_label in file "pluginpref.h".
+ * Message: The type could not be resolved (PurplePluginPref * pref).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_plugin_pref_get_label(IntPtr pref);
- public static string PluginPrefGetLabel(PurplePluginPref pref)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_plugin_pref_set_bounds(PurplePluginPref * pref, int min, int max)
+ *
+ * Could not generate a wrapper for purple_plugin_pref_set_bounds in file "pluginpref.h".
+ * Message: The type could not be resolved (PurplePluginPref * pref).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_plugin_pref_set_bounds(IntPtr pref, int min, int max);
- public static void PluginPrefSetBounds(PurplePluginPref pref, int min, int max)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_plugin_pref_get_bounds(PurplePluginPref * pref, int * min, int * max)
+ *
+ * Could not generate a wrapper for purple_plugin_pref_get_bounds in file "pluginpref.h".
+ * Message: The type could not be resolved (int * min).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_plugin_pref_get_bounds(IntPtr pref, IntPtr min, IntPtr max);
- public static void PluginPrefGetBounds(PurplePluginPref pref, int min, int max)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_plugin_pref_set_type(PurplePluginPref * pref, PurplePluginPrefType type)
+ *
+ * Could not generate a wrapper for purple_plugin_pref_set_type in file "pluginpref.h".
+ * Message: The type could not be resolved (PurplePluginPref * pref).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_plugin_pref_set_type(IntPtr pref, UNKNOWN type);
- public static void PluginPrefSetType(PurplePluginPref pref, PurplePluginPrefType type)
- {
- throw new NotImplementedException();
- }
-
/*
* PurplePluginPrefType purple_plugin_pref_get_type(PurplePluginPref * pref)
+ *
+ * Could not generate a wrapper for purple_plugin_pref_get_type in file "pluginpref.h".
+ * Message: The type could not be resolved (PurplePluginPref * pref).
*/
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_plugin_pref_get_type(IntPtr pref);
- public static PurplePluginPrefType PluginPrefGetType(PurplePluginPref pref)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_plugin_pref_add_choice(PurplePluginPref * pref, char * label, gpointer choice)
+ *
+ * Could not generate a wrapper for purple_plugin_pref_add_choice in file "pluginpref.h".
+ * Message: The type could not be resolved (PurplePluginPref * pref).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_plugin_pref_add_choice(IntPtr pref, string label, IntPtr choice);
- public static void PluginPrefAddChoice(PurplePluginPref pref, string label, IntPtr choice)
- {
- throw new NotImplementedException();
- }
-
/*
* GList * purple_plugin_pref_get_choices(PurplePluginPref * pref)
+ *
+ * Could not generate a wrapper for purple_plugin_pref_get_choices in file "pluginpref.h".
+ * Message: The type could not be resolved (GList * purple_plugin_pref_get_choices(PurplePluginPref * pref)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_plugin_pref_get_choices(IntPtr pref);
- public static GList PluginPrefGetChoices(PurplePluginPref pref)
- {
- throw new NotImplementedException();
- }
-
/*
- * void purple_plugin_pref_set_max_length(PurplePluginPref * pref, unsigned int)
+ * void purple_plugin_pref_set_max_length(PurplePluginPref * pref, unsigned int max_length)
+ *
+ * Could not generate a wrapper for purple_plugin_pref_set_max_length in file "pluginpref.h".
+ * Message: The type could not be resolved (PurplePluginPref * pref).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_plugin_pref_set_max_length(IntPtr pref, UNKNOWN int);
- public static void PluginPrefSetMaxLength(PurplePluginPref pref, unsigned int)
- {
- throw new NotImplementedException();
- }
-
/*
- * int purple_plugin_pref_get_max_length(PurplePluginPref * pref)
+ * unsigned int purple_plugin_pref_get_max_length(PurplePluginPref * pref)
+ *
+ * Could not generate a wrapper for purple_plugin_pref_get_max_length in file "pluginpref.h".
+ * Message: The type could not be resolved (PurplePluginPref * pref).
*/
- [DllImport("libpurple.dll")]
- private static extern int purple_plugin_pref_get_max_length(IntPtr pref);
- public static int PluginPrefGetMaxLength(PurplePluginPref pref)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_plugin_pref_set_masked(PurplePluginPref * pref, gboolean mask)
+ *
+ * Could not generate a wrapper for purple_plugin_pref_set_masked in file "pluginpref.h".
+ * Message: The type could not be resolved (PurplePluginPref * pref).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_plugin_pref_set_masked(IntPtr pref, bool mask);
- public static void PluginPrefSetMasked(PurplePluginPref pref, bool mask)
- {
- throw new NotImplementedException();
- }
-
/*
* gboolean purple_plugin_pref_get_masked(PurplePluginPref * pref)
+ *
+ * Could not generate a wrapper for purple_plugin_pref_get_masked in file "pluginpref.h".
+ * Message: The type could not be resolved (PurplePluginPref * pref).
*/
- [DllImport("libpurple.dll")]
- private static extern bool purple_plugin_pref_get_masked(IntPtr pref);
- public static bool PluginPrefGetMasked(PurplePluginPref pref)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_plugin_pref_set_format_type(PurplePluginPref * pref, PurpleStringFormatType format)
+ *
+ * Could not generate a wrapper for purple_plugin_pref_set_format_type in file "pluginpref.h".
+ * Message: The type could not be resolved (PurplePluginPref * pref).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_plugin_pref_set_format_type(IntPtr pref, UNKNOWN format);
- public static void PluginPrefSetFormatType(PurplePluginPref pref, PurpleStringFormatType format)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleStringFormatType purple_plugin_pref_get_format_type(PurplePluginPref * pref)
+ *
+ * Could not generate a wrapper for purple_plugin_pref_get_format_type in file "pluginpref.h".
+ * Message: The type could not be resolved (PurplePluginPref * pref).
*/
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_plugin_pref_get_format_type(IntPtr pref);
- public static PurpleStringFormatType PluginPrefGetFormatType(PurplePluginPref pref)
- {
- throw new NotImplementedException();
- }
-
}
}
============================================================
--- libpurple/wrapper/Pounce.cs d73876a171f1f42bb9cde032f393a4d9bc30095a
+++ libpurple/wrapper/Pounce.cs 5ae50b0aa66da74eb091182dfa1ed663e06c4c24
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,16 +40,26 @@ namespace PurpleWrapper
{
public class Pounce
{
- /*
- * PurplePounce * purple_pounce_new(char * ui_type, PurpleAccount * pouncer, char * pouncee, PurplePounceEvent event, PurplePounceOption option)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_pounce_new(string ui_type, IntPtr pouncer, string pouncee, UNKNOWN event, UNKNOWN option);
+ public enum PurplePounceEvent
+ {
+ PURPLE_POUNCE_NONE = 0x000,
+ PURPLE_POUNCE_SIGNON = 0x001,
+ PURPLE_POUNCE_SIGNOFF = 0x002,
+ PURPLE_POUNCE_AWAY = 0x004,
+ PURPLE_POUNCE_AWAY_RETURN = 0x008,
+ PURPLE_POUNCE_IDLE = 0x010,
+ PURPLE_POUNCE_IDLE_RETURN = 0x020,
+ PURPLE_POUNCE_TYPING = 0x040,
+ PURPLE_POUNCE_TYPED = 0x080,
+ PURPLE_POUNCE_TYPING_STOPPED = 0x100,
+ PURPLE_POUNCE_MESSAGE_RECEIVED = 0x200
+ };
- public static PurplePounce New(string ui_type, PurpleAccount pouncer, string pouncee, PurplePounceEvent event, PurplePounceOption option)
+ public enum PurplePounceOption
{
- throw new NotImplementedException();
- }
+ PURPLE_POUNCE_OPTION_NONE = 0x00,
+ PURPLE_POUNCE_OPTION_AWAY = 0x01
+ };
/*
* void purple_pounce_destroy(PurplePounce * pounce)
@@ -57,7 +69,7 @@ namespace PurpleWrapper
public static void Destroy(PurplePounce pounce)
{
- throw new NotImplementedException();
+ purple_pounce_destroy(pounce.Reference);
}
/*
@@ -68,17 +80,18 @@ namespace PurpleWrapper
public static void DestroyAllByAccount(PurpleAccount account)
{
- throw new NotImplementedException();
+ purple_pounce_destroy_all_by_account(account.Reference);
}
/*
* void purple_pounce_set_events(PurplePounce * pounce, PurplePounceEvent events)
*/
[DllImport("libpurple.dll")]
- private static extern void purple_pounce_set_events(IntPtr pounce, UNKNOWN events);
+ private static extern void purple_pounce_set_events(IntPtr pounce, Pounce.PurplePounceEvent events);
- public static void SetEvents(PurplePounce pounce, PurplePounceEvent events)
+ public static void SetEvents(PurplePounce pounce, Pounce.PurplePounceEvent events)
{
+ /* Unable to process events, a KnownEnum. */
throw new NotImplementedException();
}
@@ -86,10 +99,11 @@ namespace PurpleWrapper
* void purple_pounce_set_options(PurplePounce * pounce, PurplePounceOption options)
*/
[DllImport("libpurple.dll")]
- private static extern void purple_pounce_set_options(IntPtr pounce, UNKNOWN options);
+ private static extern void purple_pounce_set_options(IntPtr pounce, Pounce.PurplePounceOption options);
- public static void SetOptions(PurplePounce pounce, PurplePounceOption options)
+ public static void SetOptions(PurplePounce pounce, Pounce.PurplePounceOption options)
{
+ /* Unable to process options, a KnownEnum. */
throw new NotImplementedException();
}
@@ -101,7 +115,7 @@ namespace PurpleWrapper
public static void SetPouncer(PurplePounce pounce, PurpleAccount pouncer)
{
- throw new NotImplementedException();
+ purple_pounce_set_pouncer(pounce.Reference, pouncer.Reference);
}
/*
@@ -112,7 +126,7 @@ namespace PurpleWrapper
public static void SetPouncee(PurplePounce pounce, string pouncee)
{
- throw new NotImplementedException();
+ purple_pounce_set_pouncee(pounce.Reference, pouncee);
}
/*
@@ -123,7 +137,7 @@ namespace PurpleWrapper
public static void SetSave(PurplePounce pounce, bool save)
{
- throw new NotImplementedException();
+ purple_pounce_set_save(pounce.Reference, save);
}
/*
@@ -134,32 +148,10 @@ namespace PurpleWrapper
public static void ActionRegister(PurplePounce pounce, string name)
{
- throw new NotImplementedException();
+ purple_pounce_action_register(pounce.Reference, name);
}
/*
- * void purple_pounce_action_set_enabled(PurplePounce * pounce, char * action, gboolean enabled)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_pounce_action_set_enabled(IntPtr pounce, string action, bool enabled);
-
- public static void ActionSetEnabled(PurplePounce pounce, string action, bool enabled)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_pounce_action_set_attribute(PurplePounce * pounce, char * action, char * attr, char * value)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_pounce_action_set_attribute(IntPtr pounce, string action, string attr, string value);
-
- public static void ActionSetAttribute(PurplePounce pounce, string action, string attr, string value)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_pounce_set_data(PurplePounce * pounce, void * data)
*/
[DllImport("libpurple.dll")]
@@ -167,29 +159,31 @@ namespace PurpleWrapper
public static void SetData(PurplePounce pounce, IntPtr data)
{
- throw new NotImplementedException();
+ purple_pounce_set_data(pounce.Reference, data);
}
/*
* PurplePounceEvent purple_pounce_get_events(PurplePounce * pounce)
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_pounce_get_events(IntPtr pounce);
+ private static extern Pounce.PurplePounceEvent purple_pounce_get_events(IntPtr pounce);
- public static PurplePounceEvent GetEvents(PurplePounce pounce)
+ public static Pounce.PurplePounceEvent GetEvents(PurplePounce pounce)
{
- throw new NotImplementedException();
+ /* Unable to process purple_pounce_get_events, a KnownEnum. */
+
}
/*
* PurplePounceOption purple_pounce_get_options(PurplePounce * pounce)
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_pounce_get_options(IntPtr pounce);
+ private static extern Pounce.PurplePounceOption purple_pounce_get_options(IntPtr pounce);
- public static PurplePounceOption GetOptions(PurplePounce pounce)
+ public static Pounce.PurplePounceOption GetOptions(PurplePounce pounce)
{
- throw new NotImplementedException();
+ /* Unable to process purple_pounce_get_options, a KnownEnum. */
+
}
/*
@@ -200,7 +194,7 @@ namespace PurpleWrapper
public static PurpleAccount GetPouncer(PurplePounce pounce)
{
- throw new NotImplementedException();
+ return new PurpleAccount(purple_pounce_get_pouncer(pounce.Reference));
}
/*
@@ -211,7 +205,7 @@ namespace PurpleWrapper
public static string GetPouncee(PurplePounce pounce)
{
- throw new NotImplementedException();
+ return purple_pounce_get_pouncee(pounce.Reference);
}
/*
@@ -222,32 +216,10 @@ namespace PurpleWrapper
public static bool GetSave(PurplePounce pounce)
{
- throw new NotImplementedException();
+ return purple_pounce_get_save(pounce.Reference);
}
/*
- * gboolean purple_pounce_action_is_enabled(PurplePounce * pounce, char * action)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_pounce_action_is_enabled(IntPtr pounce, string action);
-
- public static bool ActionIsEnabled(PurplePounce pounce, string action)
- {
- throw new NotImplementedException();
- }
-
- /*
- * char * purple_pounce_action_get_attribute(PurplePounce * pounce, char * action, char * attr)
- */
- [DllImport("libpurple.dll")]
- private static extern string purple_pounce_action_get_attribute(IntPtr pounce, string action, string attr);
-
- public static string ActionGetAttribute(PurplePounce pounce, string action, string attr)
- {
- throw new NotImplementedException();
- }
-
- /*
* void * purple_pounce_get_data(PurplePounce * pounce)
*/
[DllImport("libpurple.dll")]
@@ -255,32 +227,10 @@ namespace PurpleWrapper
public static IntPtr GetData(PurplePounce pounce)
{
- throw new NotImplementedException();
+ return purple_pounce_get_data(pounce.Reference);
}
/*
- * void purple_pounce_execute(PurpleAccount * pouncer, char * pouncee, PurplePounceEvent events)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_pounce_execute(IntPtr pouncer, string pouncee, UNKNOWN events);
-
- public static void Execute(PurpleAccount pouncer, string pouncee, PurplePounceEvent events)
- {
- throw new NotImplementedException();
- }
-
- /*
- * PurplePounce * purple_find_pounce(PurpleAccount * pouncer, char * pouncee, PurplePounceEvent events)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_find_pounce(IntPtr pouncer, string pouncee, UNKNOWN events);
-
- public static PurplePounce FindPounce(PurpleAccount pouncer, string pouncee, PurplePounceEvent events)
- {
- throw new NotImplementedException();
- }
-
- /*
* gboolean purple_pounces_load()
*/
[DllImport("libpurple.dll")]
@@ -288,21 +238,10 @@ namespace PurpleWrapper
public static bool PouncesLoad()
{
- throw new NotImplementedException();
+ return purple_pounces_load();
}
/*
- * void purple_pounces_register_handler(char * ui, PurplePounceCb cb, )
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_pounces_register_handler(string ui, UNKNOWN cb, UNKNOWN );
-
- public static void PouncesRegisterHandler(string ui, PurplePounceCb cb, )
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_pounces_unregister_handler(char * ui)
*/
[DllImport("libpurple.dll")]
@@ -310,31 +249,23 @@ namespace PurpleWrapper
public static void PouncesUnregisterHandler(string ui)
{
- throw new NotImplementedException();
+ purple_pounces_unregister_handler(ui);
}
/*
* GList * purple_pounces_get_all()
+ *
+ * Could not generate a wrapper for purple_pounces_get_all in file "pounce.h".
+ * Message: The type could not be resolved (GList * purple_pounces_get_all()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_pounces_get_all();
- public static GList PouncesGetAll()
- {
- throw new NotImplementedException();
- }
-
/*
* GList * purple_pounces_get_all_for_ui(char * ui)
+ *
+ * Could not generate a wrapper for purple_pounces_get_all_for_ui in file "pounce.h".
+ * Message: The type could not be resolved (GList * purple_pounces_get_all_for_ui(char * ui)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_pounces_get_all_for_ui(string ui);
- public static GList PouncesGetAllForUi(string ui)
- {
- throw new NotImplementedException();
- }
-
/*
* void * purple_pounces_get_handle()
*/
@@ -343,7 +274,7 @@ namespace PurpleWrapper
public static IntPtr PouncesGetHandle()
{
- throw new NotImplementedException();
+ return purple_pounces_get_handle();
}
/*
@@ -354,7 +285,7 @@ namespace PurpleWrapper
public static void PouncesInit()
{
- throw new NotImplementedException();
+ purple_pounces_init();
}
/*
@@ -365,7 +296,7 @@ namespace PurpleWrapper
public static void PouncesUninit()
{
- throw new NotImplementedException();
+ purple_pounces_uninit();
}
}
============================================================
--- libpurple/wrapper/Prefs.cs efd47832daa59dfcf43fa14679d89011ea69409c
+++ libpurple/wrapper/Prefs.cs fcd050772520a62821abed53fb3a9cd575a1e762
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,6 +40,17 @@ namespace PurpleWrapper
{
public class Prefs
{
+ public enum PurplePrefType
+ {
+ PURPLE_PREF_NONE,
+ PURPLE_PREF_BOOLEAN,
+ PURPLE_PREF_INT,
+ PURPLE_PREF_STRING,
+ PURPLE_PREF_STRING_LIST,
+ PURPLE_PREF_PATH,
+ PURPLE_PREF_PATH_LIST
+ };
+
/*
* void * purple_prefs_get_handle()
*/
@@ -46,7 +59,7 @@ namespace PurpleWrapper
public static IntPtr GetHandle()
{
- throw new NotImplementedException();
+ return purple_prefs_get_handle();
}
/*
@@ -57,7 +70,7 @@ namespace PurpleWrapper
public static void Init()
{
- throw new NotImplementedException();
+ purple_prefs_init();
}
/*
@@ -68,7 +81,7 @@ namespace PurpleWrapper
public static void Uninit()
{
- throw new NotImplementedException();
+ purple_prefs_uninit();
}
/*
@@ -79,7 +92,7 @@ namespace PurpleWrapper
public static void AddNone(string name)
{
- throw new NotImplementedException();
+ purple_prefs_add_none(name);
}
/*
@@ -90,7 +103,7 @@ namespace PurpleWrapper
public static void AddBool(string name, bool value)
{
- throw new NotImplementedException();
+ purple_prefs_add_bool(name, value);
}
/*
@@ -101,7 +114,7 @@ namespace PurpleWrapper
public static void AddInt(string name, int value)
{
- throw new NotImplementedException();
+ purple_prefs_add_int(name, value);
}
/*
@@ -112,20 +125,16 @@ namespace PurpleWrapper
public static void AddString(string name, string value)
{
- throw new NotImplementedException();
+ purple_prefs_add_string(name, value);
}
/*
* void purple_prefs_add_string_list(char * name, GList * value)
+ *
+ * Could not generate a wrapper for purple_prefs_add_string_list in file "prefs.h".
+ * Message: The type could not be resolved (GList * value).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_prefs_add_string_list(string name, IntPtr value);
- public static void AddStringList(string name, GList value)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_prefs_add_path(char * name, char * value)
*/
@@ -134,20 +143,16 @@ namespace PurpleWrapper
public static void AddPath(string name, string value)
{
- throw new NotImplementedException();
+ purple_prefs_add_path(name, value);
}
/*
* void purple_prefs_add_path_list(char * name, GList * value)
+ *
+ * Could not generate a wrapper for purple_prefs_add_path_list in file "prefs.h".
+ * Message: The type could not be resolved (GList * value).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_prefs_add_path_list(string name, IntPtr value);
- public static void AddPathList(string name, GList value)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_prefs_remove(char * name)
*/
@@ -156,7 +161,7 @@ namespace PurpleWrapper
public static void Remove(string name)
{
- throw new NotImplementedException();
+ purple_prefs_remove(name);
}
/*
@@ -167,7 +172,7 @@ namespace PurpleWrapper
public static void Rename(string oldname, string newname)
{
- throw new NotImplementedException();
+ purple_prefs_rename(oldname, newname);
}
/*
@@ -178,7 +183,7 @@ namespace PurpleWrapper
public static void RenameBooleanToggle(string oldname, string newname)
{
- throw new NotImplementedException();
+ purple_prefs_rename_boolean_toggle(oldname, newname);
}
/*
@@ -189,7 +194,7 @@ namespace PurpleWrapper
public static void Destroy()
{
- throw new NotImplementedException();
+ purple_prefs_destroy();
}
/*
@@ -200,7 +205,7 @@ namespace PurpleWrapper
public static void SetGeneric(string name, IntPtr value)
{
- throw new NotImplementedException();
+ purple_prefs_set_generic(name, value);
}
/*
@@ -211,7 +216,7 @@ namespace PurpleWrapper
public static void SetBool(string name, bool value)
{
- throw new NotImplementedException();
+ purple_prefs_set_bool(name, value);
}
/*
@@ -222,7 +227,7 @@ namespace PurpleWrapper
public static void SetInt(string name, int value)
{
- throw new NotImplementedException();
+ purple_prefs_set_int(name, value);
}
/*
@@ -233,20 +238,16 @@ namespace PurpleWrapper
public static void SetString(string name, string value)
{
- throw new NotImplementedException();
+ purple_prefs_set_string(name, value);
}
/*
* void purple_prefs_set_string_list(char * name, GList * value)
+ *
+ * Could not generate a wrapper for purple_prefs_set_string_list in file "prefs.h".
+ * Message: The type could not be resolved (GList * value).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_prefs_set_string_list(string name, IntPtr value);
- public static void SetStringList(string name, GList value)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_prefs_set_path(char * name, char * value)
*/
@@ -255,20 +256,16 @@ namespace PurpleWrapper
public static void SetPath(string name, string value)
{
- throw new NotImplementedException();
+ purple_prefs_set_path(name, value);
}
/*
* void purple_prefs_set_path_list(char * name, GList * value)
+ *
+ * Could not generate a wrapper for purple_prefs_set_path_list in file "prefs.h".
+ * Message: The type could not be resolved (GList * value).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_prefs_set_path_list(string name, IntPtr value);
- public static void SetPathList(string name, GList value)
- {
- throw new NotImplementedException();
- }
-
/*
* gboolean purple_prefs_exists(char * name)
*/
@@ -277,18 +274,19 @@ namespace PurpleWrapper
public static bool Exists(string name)
{
- throw new NotImplementedException();
+ return purple_prefs_exists(name);
}
/*
* PurplePrefType purple_prefs_get_type(char * name)
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_prefs_get_type(string name);
+ private static extern Prefs.PurplePrefType purple_prefs_get_type(string name);
- public static PurplePrefType GetType(string name)
+ public static Prefs.PurplePrefType GetType(string name)
{
- throw new NotImplementedException();
+ /* Unable to process purple_prefs_get_type, a KnownEnum. */
+
}
/*
@@ -299,7 +297,7 @@ namespace PurpleWrapper
public static bool GetBool(string name)
{
- throw new NotImplementedException();
+ return purple_prefs_get_bool(name);
}
/*
@@ -310,7 +308,7 @@ namespace PurpleWrapper
public static int GetInt(string name)
{
- throw new NotImplementedException();
+ return purple_prefs_get_int(name);
}
/*
@@ -321,20 +319,16 @@ namespace PurpleWrapper
public static string GetString(string name)
{
- throw new NotImplementedException();
+ return purple_prefs_get_string(name);
}
/*
* GList * purple_prefs_get_string_list(char * name)
+ *
+ * Could not generate a wrapper for purple_prefs_get_string_list in file "prefs.h".
+ * Message: The type could not be resolved (GList * purple_prefs_get_string_list(char * name)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_prefs_get_string_list(string name);
- public static GList GetStringList(string name)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_prefs_get_path(char * name)
*/
@@ -343,43 +337,24 @@ namespace PurpleWrapper
public static string GetPath(string name)
{
- throw new NotImplementedException();
+ return purple_prefs_get_path(name);
}
/*
* GList * purple_prefs_get_path_list(char * name)
+ *
+ * Could not generate a wrapper for purple_prefs_get_path_list in file "prefs.h".
+ * Message: The type could not be resolved (GList * purple_prefs_get_path_list(char * name)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_prefs_get_path_list(string name);
- public static GList GetPathList(string name)
- {
- throw new NotImplementedException();
- }
-
/*
* GList * purple_prefs_get_children_names(char * name)
+ *
+ * Could not generate a wrapper for purple_prefs_get_children_names in file "prefs.h".
+ * Message: The type could not be resolved (GList * purple_prefs_get_children_names(char * name)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_prefs_get_children_names(string name);
- public static GList GetChildrenNames(string name)
- {
- throw new NotImplementedException();
- }
-
/*
- * guint purple_prefs_connect_callback(void * handle, char * name, PurplePrefCallback cb, gpointer data)
- */
- [DllImport("libpurple.dll")]
- private static extern uint purple_prefs_connect_callback(IntPtr handle, string name, UNKNOWN cb, IntPtr data);
-
- public static uint ConnectCallback(IntPtr handle, string name, PurplePrefCallback cb, IntPtr data)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_prefs_disconnect_callback(guint callback_id)
*/
[DllImport("libpurple.dll")]
@@ -387,7 +362,7 @@ namespace PurpleWrapper
public static void DisconnectCallback(uint callback_id)
{
- throw new NotImplementedException();
+ purple_prefs_disconnect_callback(callback_id);
}
/*
@@ -398,7 +373,7 @@ namespace PurpleWrapper
public static void DisconnectByHandle(IntPtr handle)
{
- throw new NotImplementedException();
+ purple_prefs_disconnect_by_handle(handle);
}
/*
@@ -409,7 +384,7 @@ namespace PurpleWrapper
public static void TriggerCallback(string name)
{
- throw new NotImplementedException();
+ purple_prefs_trigger_callback(name);
}
/*
@@ -420,7 +395,7 @@ namespace PurpleWrapper
public static bool Load()
{
- throw new NotImplementedException();
+ return purple_prefs_load();
}
/*
@@ -431,7 +406,7 @@ namespace PurpleWrapper
public static void UpdateOld()
{
- throw new NotImplementedException();
+ purple_prefs_update_old();
}
}
============================================================
--- libpurple/wrapper/Privacy.cs dea43fea4b6136d9a31f6dc1a421e969ee2c4848
+++ libpurple/wrapper/Privacy.cs 70658146080aa90c4246b8b12ef321b453e77310
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,73 +40,16 @@ namespace PurpleWrapper
{
public class Privacy
{
- /*
- * gboolean purple_privacy_permit_add(PurpleAccount * account, char * name, gboolean local_only)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_privacy_permit_add(IntPtr account, string name, bool local_only);
-
- public static bool PermitAdd(PurpleAccount account, string name, bool local_only)
+ public enum PurplePrivacyType
{
- throw new NotImplementedException();
- }
+ PURPLE_PRIVACY_ALLOW_ALL = 1,
+ PURPLE_PRIVACY_DENY_ALL,
+ PURPLE_PRIVACY_ALLOW_USERS,
+ PURPLE_PRIVACY_DENY_USERS,
+ PURPLE_PRIVACY_ALLOW_BUDDYLIST
+ };
/*
- * gboolean purple_privacy_permit_remove(PurpleAccount * account, char * name, gboolean local_only)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_privacy_permit_remove(IntPtr account, string name, bool local_only);
-
- public static bool PermitRemove(PurpleAccount account, string name, bool local_only)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gboolean purple_privacy_deny_add(PurpleAccount * account, char * name, gboolean local_only)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_privacy_deny_add(IntPtr account, string name, bool local_only);
-
- public static bool DenyAdd(PurpleAccount account, string name, bool local_only)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gboolean purple_privacy_deny_remove(PurpleAccount * account, char * name, gboolean local_only)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_privacy_deny_remove(IntPtr account, string name, bool local_only);
-
- public static bool DenyRemove(PurpleAccount account, string name, bool local_only)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_privacy_allow(PurpleAccount * account, char * who, gboolean local, gboolean restore)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_privacy_allow(IntPtr account, string who, bool local, bool restore);
-
- public static void Allow(PurpleAccount account, string who, bool local, bool restore)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_privacy_deny(PurpleAccount * account, char * who, gboolean local, gboolean restore)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_privacy_deny(IntPtr account, string who, bool local, bool restore);
-
- public static void Deny(PurpleAccount account, string who, bool local, bool restore)
- {
- throw new NotImplementedException();
- }
-
- /*
* gboolean purple_privacy_check(PurpleAccount * account, char * who)
*/
[DllImport("libpurple.dll")]
@@ -112,31 +57,23 @@ namespace PurpleWrapper
public static bool Check(PurpleAccount account, string who)
{
- throw new NotImplementedException();
+ return purple_privacy_check(account.Reference, who);
}
/*
* void purple_privacy_set_ui_ops(PurplePrivacyUiOps * ops)
+ *
+ * Could not generate a wrapper for purple_privacy_set_ui_ops in file "privacy.h".
+ * Message: The type could not be resolved (PurplePrivacyUiOps * ops).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_privacy_set_ui_ops(IntPtr ops);
- public static void SetUiOps(PurplePrivacyUiOps ops)
- {
- throw new NotImplementedException();
- }
-
/*
* PurplePrivacyUiOps * purple_privacy_get_ui_ops()
+ *
+ * Could not generate a wrapper for purple_privacy_get_ui_ops in file "privacy.h".
+ * Message: The type could not be resolved (PurplePrivacyUiOps * purple_privacy_get_ui_ops()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_privacy_get_ui_ops();
- public static PurplePrivacyUiOps GetUiOps()
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_privacy_init()
*/
@@ -145,7 +82,7 @@ namespace PurpleWrapper
public static void Init()
{
- throw new NotImplementedException();
+ purple_privacy_init();
}
}
============================================================
--- libpurple/wrapper/Proxy.cs 77fb0b88d96aacf393f246c64704cabde6ac10f1
+++ libpurple/wrapper/Proxy.cs 1deacb96f025f790b85142e8014e8bd7669a0101
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,160 +40,114 @@ namespace PurpleWrapper
{
public class Proxy
{
+ public enum PurpleProxyType
+ {
+ PURPLE_PROXY_USE_GLOBAL = -1,
+ PURPLE_PROXY_NONE = 0,
+ PURPLE_PROXY_HTTP,
+ PURPLE_PROXY_SOCKS4,
+ PURPLE_PROXY_SOCKS5,
+ PURPLE_PROXY_USE_ENVVAR
+ };
+
/*
* PurpleProxyInfo * purple_proxy_info_new()
+ *
+ * Could not generate a wrapper for purple_proxy_info_new in file "proxy.h".
+ * Message: The type could not be resolved (PurpleProxyInfo * purple_proxy_info_new()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_proxy_info_new();
- public static PurpleProxyInfo InfoNew()
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_proxy_info_destroy(PurpleProxyInfo * info)
+ *
+ * Could not generate a wrapper for purple_proxy_info_destroy in file "proxy.h".
+ * Message: The type could not be resolved (PurpleProxyInfo * info).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_proxy_info_destroy(IntPtr info);
- public static void InfoDestroy(PurpleProxyInfo info)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_proxy_info_set_type(PurpleProxyInfo * info, PurpleProxyType type)
+ *
+ * Could not generate a wrapper for purple_proxy_info_set_type in file "proxy.h".
+ * Message: The type could not be resolved (PurpleProxyInfo * info).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_proxy_info_set_type(IntPtr info, UNKNOWN type);
- public static void InfoSetType(PurpleProxyInfo info, PurpleProxyType type)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_proxy_info_set_host(PurpleProxyInfo * info, char * host)
+ *
+ * Could not generate a wrapper for purple_proxy_info_set_host in file "proxy.h".
+ * Message: The type could not be resolved (PurpleProxyInfo * info).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_proxy_info_set_host(IntPtr info, string host);
- public static void InfoSetHost(PurpleProxyInfo info, string host)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_proxy_info_set_port(PurpleProxyInfo * info, int port)
+ *
+ * Could not generate a wrapper for purple_proxy_info_set_port in file "proxy.h".
+ * Message: The type could not be resolved (PurpleProxyInfo * info).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_proxy_info_set_port(IntPtr info, int port);
- public static void InfoSetPort(PurpleProxyInfo info, int port)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_proxy_info_set_username(PurpleProxyInfo * info, char * username)
+ *
+ * Could not generate a wrapper for purple_proxy_info_set_username in file "proxy.h".
+ * Message: The type could not be resolved (PurpleProxyInfo * info).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_proxy_info_set_username(IntPtr info, string username);
- public static void InfoSetUsername(PurpleProxyInfo info, string username)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_proxy_info_set_password(PurpleProxyInfo * info, char * password)
+ *
+ * Could not generate a wrapper for purple_proxy_info_set_password in file "proxy.h".
+ * Message: The type could not be resolved (PurpleProxyInfo * info).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_proxy_info_set_password(IntPtr info, string password);
- public static void InfoSetPassword(PurpleProxyInfo info, string password)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleProxyType purple_proxy_info_get_type(PurpleProxyInfo * info)
+ *
+ * Could not generate a wrapper for purple_proxy_info_get_type in file "proxy.h".
+ * Message: The type could not be resolved (PurpleProxyInfo * info).
*/
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_proxy_info_get_type(IntPtr info);
- public static PurpleProxyType InfoGetType(PurpleProxyInfo info)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_proxy_info_get_host(PurpleProxyInfo * info)
+ *
+ * Could not generate a wrapper for purple_proxy_info_get_host in file "proxy.h".
+ * Message: The type could not be resolved (PurpleProxyInfo * info).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_proxy_info_get_host(IntPtr info);
- public static string InfoGetHost(PurpleProxyInfo info)
- {
- throw new NotImplementedException();
- }
-
/*
* int purple_proxy_info_get_port(PurpleProxyInfo * info)
+ *
+ * Could not generate a wrapper for purple_proxy_info_get_port in file "proxy.h".
+ * Message: The type could not be resolved (PurpleProxyInfo * info).
*/
- [DllImport("libpurple.dll")]
- private static extern int purple_proxy_info_get_port(IntPtr info);
- public static int InfoGetPort(PurpleProxyInfo info)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_proxy_info_get_username(PurpleProxyInfo * info)
+ *
+ * Could not generate a wrapper for purple_proxy_info_get_username in file "proxy.h".
+ * Message: The type could not be resolved (PurpleProxyInfo * info).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_proxy_info_get_username(IntPtr info);
- public static string InfoGetUsername(PurpleProxyInfo info)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_proxy_info_get_password(PurpleProxyInfo * info)
+ *
+ * Could not generate a wrapper for purple_proxy_info_get_password in file "proxy.h".
+ * Message: The type could not be resolved (PurpleProxyInfo * info).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_proxy_info_get_password(IntPtr info);
- public static string InfoGetPassword(PurpleProxyInfo info)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleProxyInfo * purple_global_proxy_get_info()
+ *
+ * Could not generate a wrapper for purple_global_proxy_get_info in file "proxy.h".
+ * Message: The type could not be resolved (PurpleProxyInfo * purple_global_proxy_get_info()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_global_proxy_get_info();
- public static PurpleProxyInfo GlobalProxyGetInfo()
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_global_proxy_set_info(PurpleProxyInfo * info)
+ *
+ * Could not generate a wrapper for purple_global_proxy_set_info in file "proxy.h".
+ * Message: The type could not be resolved (PurpleProxyInfo * info).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_global_proxy_set_info(IntPtr info);
- public static void GlobalProxySetInfo(PurpleProxyInfo info)
- {
- throw new NotImplementedException();
- }
-
/*
* void * purple_proxy_get_handle()
*/
@@ -200,7 +156,7 @@ namespace PurpleWrapper
public static IntPtr GetHandle()
{
- throw new NotImplementedException();
+ return purple_proxy_get_handle();
}
/*
@@ -211,7 +167,7 @@ namespace PurpleWrapper
public static void Init()
{
- throw new NotImplementedException();
+ purple_proxy_init();
}
/*
@@ -222,64 +178,23 @@ namespace PurpleWrapper
public static void Uninit()
{
- throw new NotImplementedException();
+ purple_proxy_uninit();
}
/*
* PurpleProxyInfo * purple_proxy_get_setup(PurpleAccount * account)
+ *
+ * Could not generate a wrapper for purple_proxy_get_setup in file "proxy.h".
+ * Message: The type could not be resolved (PurpleProxyInfo * purple_proxy_get_setup(PurpleAccount * account)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_proxy_get_setup(IntPtr account);
- public static PurpleProxyInfo GetSetup(PurpleAccount account)
- {
- throw new NotImplementedException();
- }
-
/*
- * PurpleProxyConnectData * purple_proxy_connect(void * handle, PurpleAccount * account, char * host, int port, PurpleProxyConnectFunction connect_cb, gpointer data)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_proxy_connect(IntPtr handle, IntPtr account, string host, int port, UNKNOWN connect_cb, IntPtr data);
-
- public static PurpleProxyConnectData Connect(IntPtr handle, PurpleAccount account, string host, int port, PurpleProxyConnectFunction connect_cb, IntPtr data)
- {
- throw new NotImplementedException();
- }
-
- /*
- * PurpleProxyConnectData * purple_proxy_connect_udp(void * handle, PurpleAccount * account, char * host, int port, PurpleProxyConnectFunction connect_cb, gpointer data)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_proxy_connect_udp(IntPtr handle, IntPtr account, string host, int port, UNKNOWN connect_cb, IntPtr data);
-
- public static PurpleProxyConnectData ConnectUdp(IntPtr handle, PurpleAccount account, string host, int port, PurpleProxyConnectFunction connect_cb, IntPtr data)
- {
- throw new NotImplementedException();
- }
-
- /*
- * PurpleProxyConnectData * purple_proxy_connect_socks5(void * handle, PurpleProxyInfo * gpi, char * host, int port, PurpleProxyConnectFunction connect_cb, gpointer data)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_proxy_connect_socks5(IntPtr handle, IntPtr gpi, string host, int port, UNKNOWN connect_cb, IntPtr data);
-
- public static PurpleProxyConnectData ConnectSocks5(IntPtr handle, PurpleProxyInfo gpi, string host, int port, PurpleProxyConnectFunction connect_cb, IntPtr data)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_proxy_connect_cancel(PurpleProxyConnectData * connect_data)
+ *
+ * Could not generate a wrapper for purple_proxy_connect_cancel in file "proxy.h".
+ * Message: The type could not be resolved (PurpleProxyConnectData * connect_data).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_proxy_connect_cancel(IntPtr connect_data);
- public static void ConnectCancel(PurpleProxyConnectData connect_data)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_proxy_connect_cancel_with_handle(void * handle)
*/
@@ -288,7 +203,7 @@ namespace PurpleWrapper
public static void ConnectCancelWithHandle(IntPtr handle)
{
- throw new NotImplementedException();
+ purple_proxy_connect_cancel_with_handle(handle);
}
}
============================================================
--- libpurple/wrapper/Prpl.cs 881501dece6309dc38f5c610ff8b41b18276d74c
+++ libpurple/wrapper/Prpl.cs 2c4af579392a0151f8f46e88aae823657673545b
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,28 +40,32 @@ namespace PurpleWrapper
{
public class Prpl
{
- /*
- * unsigned int( )
- */
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN int(UNKNOWN );
+ public enum PurpleIconScaleRules
+ {
+ PURPLE_ICON_SCALE_DISPLAY = 0x01,
+ PURPLE_ICON_SCALE_SEND = 0x02
+ };
- public static unsigned Int( )
+ public enum PurpleProtocolOptions
{
- throw new NotImplementedException();
- }
+ OPT_PROTO_UNIQUE_CHATNAME = 0x00000004,
+ OPT_PROTO_CHAT_TOPIC = 0x00000008,
+ OPT_PROTO_NO_PASSWORD = 0x00000010,
+ OPT_PROTO_MAIL_CHECK = 0x00000020,
+ OPT_PROTO_IM_IMAGE = 0x00000040,
+ OPT_PROTO_PASSWORD_OPTIONAL = 0x00000080,
+ OPT_PROTO_USE_POINTSIZE = 0x00000100,
+ OPT_PROTO_REGISTER_NOSCREENNAME = 0x00000200,
+ OPT_PROTO_SLASH_COMMANDS_NATIVE = 0x00000400
+ };
/*
- * PurpleAttentionType * purple_attention_type_new(char * ulname, char * name, char * inc_desc, char * out_desc)
+ * unsigned int( )
+ *
+ * Could not generate a wrapper for int in file "prpl.h".
+ * Message: The type could not be resolved (unsigned int( )).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_attention_type_new(string ulname, string name, string inc_desc, string out_desc);
- public static PurpleAttentionType AttentionTypeNew(string ulname, string name, string inc_desc, string out_desc)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_attention_type_set_name(PurpleAttentionType * type, char * name)
*/
@@ -68,7 +74,7 @@ namespace PurpleWrapper
public static void AttentionTypeSetName(PurpleAttentionType type, string name)
{
- throw new NotImplementedException();
+ purple_attention_type_set_name(type.Reference, name);
}
/*
@@ -79,7 +85,7 @@ namespace PurpleWrapper
public static void AttentionTypeSetIncomingDesc(PurpleAttentionType type, string desc)
{
- throw new NotImplementedException();
+ purple_attention_type_set_incoming_desc(type.Reference, desc);
}
/*
@@ -90,7 +96,7 @@ namespace PurpleWrapper
public static void AttentionTypeSetOutgoingDesc(PurpleAttentionType type, string desc)
{
- throw new NotImplementedException();
+ purple_attention_type_set_outgoing_desc(type.Reference, desc);
}
/*
@@ -101,7 +107,7 @@ namespace PurpleWrapper
public static void AttentionTypeSetIconName(PurpleAttentionType type, string name)
{
- throw new NotImplementedException();
+ purple_attention_type_set_icon_name(type.Reference, name);
}
/*
@@ -112,7 +118,7 @@ namespace PurpleWrapper
public static void AttentionTypeSetUnlocalizedName(PurpleAttentionType type, string ulname)
{
- throw new NotImplementedException();
+ purple_attention_type_set_unlocalized_name(type.Reference, ulname);
}
/*
@@ -123,7 +129,7 @@ namespace PurpleWrapper
public static string AttentionTypeGetName(PurpleAttentionType type)
{
- throw new NotImplementedException();
+ return purple_attention_type_get_name(type.Reference);
}
/*
@@ -134,7 +140,7 @@ namespace PurpleWrapper
public static string AttentionTypeGetIncomingDesc(PurpleAttentionType type)
{
- throw new NotImplementedException();
+ return purple_attention_type_get_incoming_desc(type.Reference);
}
/*
@@ -145,7 +151,7 @@ namespace PurpleWrapper
public static string AttentionTypeGetOutgoingDesc(PurpleAttentionType type)
{
- throw new NotImplementedException();
+ return purple_attention_type_get_outgoing_desc(type.Reference);
}
/*
@@ -156,7 +162,7 @@ namespace PurpleWrapper
public static string AttentionTypeGetIconName(PurpleAttentionType type)
{
- throw new NotImplementedException();
+ return purple_attention_type_get_icon_name(type.Reference);
}
/*
@@ -167,43 +173,22 @@ namespace PurpleWrapper
public static string AttentionTypeGetUnlocalizedName(PurpleAttentionType type)
{
- throw new NotImplementedException();
+ return purple_attention_type_get_unlocalized_name(type.Reference);
}
/*
- * void purple_prpl_got_account_idle(PurpleAccount * account, gboolean idle, time_t idle_time)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_prpl_got_account_idle(IntPtr account, bool idle, UNKNOWN idle_time);
-
- public static void GotAccountIdle(PurpleAccount account, bool idle, time_t idle_time)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_prpl_got_account_login_time(PurpleAccount * account, time_t login_time)
*/
[DllImport("libpurple.dll")]
- private static extern void purple_prpl_got_account_login_time(IntPtr account, UNKNOWN login_time);
+ private static extern void purple_prpl_got_account_login_time(IntPtr account, ulong login_time);
- public static void GotAccountLoginTime(PurpleAccount account, time_t login_time)
+ public static void GotAccountLoginTime(PurpleAccount account, DateTime login_time)
{
- throw new NotImplementedException();
+ ulong _PurpleWrapper_arg1 = (ulong)(login_time - new DateTime(1970, 1, 1)).TotalSeconds;
+ purple_prpl_got_account_login_time(account.Reference, _PurpleWrapper_arg1);
}
/*
- * void purple_prpl_got_account_status(PurpleAccount * account, char * status_id, ...)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_prpl_got_account_status(IntPtr account, string status_id, ...);
-
- public static void GotAccountStatus(PurpleAccount account, string status_id, ...)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_prpl_got_account_actions(PurpleAccount * account)
*/
[DllImport("libpurple.dll")]
@@ -211,75 +196,16 @@ namespace PurpleWrapper
public static void GotAccountActions(PurpleAccount account)
{
- throw new NotImplementedException();
+ purple_prpl_got_account_actions(account.Reference);
}
/*
- * void purple_prpl_got_user_idle(PurpleAccount * account, char * name, gboolean idle, time_t idle_time)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_prpl_got_user_idle(IntPtr account, string name, bool idle, UNKNOWN idle_time);
-
- public static void GotUserIdle(PurpleAccount account, string name, bool idle, time_t idle_time)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_prpl_got_user_login_time(PurpleAccount * account, char * name, time_t login_time)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_prpl_got_user_login_time(IntPtr account, string name, UNKNOWN login_time);
-
- public static void GotUserLoginTime(PurpleAccount account, string name, time_t login_time)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_prpl_got_user_status(PurpleAccount * account, char * name, char * status_id, ...)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_prpl_got_user_status(IntPtr account, string name, string status_id, ...);
-
- public static void GotUserStatus(PurpleAccount account, string name, string status_id, ...)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_prpl_got_user_status_deactive(PurpleAccount * account, char * name, char * status_id)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_prpl_got_user_status_deactive(IntPtr account, string name, string status_id);
-
- public static void GotUserStatusDeactive(PurpleAccount account, string name, string status_id)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_prpl_change_account_status(PurpleAccount * account, PurpleStatus * old_status, PurpleStatus * new_status)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_prpl_change_account_status(IntPtr account, IntPtr old_status, IntPtr new_status);
-
- public static void ChangeAccountStatus(PurpleAccount account, PurpleStatus old_status, PurpleStatus new_status)
- {
- throw new NotImplementedException();
- }
-
- /*
* GList * purple_prpl_get_statuses(PurpleAccount * account, PurplePresence * presence)
+ *
+ * Could not generate a wrapper for purple_prpl_get_statuses in file "prpl.h".
+ * Message: The type could not be resolved (GList * purple_prpl_get_statuses(PurpleAccount * account, PurplePresence * presence)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_prpl_get_statuses(IntPtr account, IntPtr presence);
- public static GList GetStatuses(PurpleAccount account, PurplePresence presence)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_prpl_send_attention(PurpleConnection * gc, char * who, guint type_code)
*/
@@ -288,7 +214,7 @@ namespace PurpleWrapper
public static void SendAttention(PurpleConnection gc, string who, uint type_code)
{
- throw new NotImplementedException();
+ purple_prpl_send_attention(gc.Reference, who, type_code);
}
/*
@@ -299,7 +225,7 @@ namespace PurpleWrapper
public static void GotAttention(PurpleConnection gc, string who, uint type_code)
{
- throw new NotImplementedException();
+ purple_prpl_got_attention(gc.Reference, who, type_code);
}
/*
@@ -310,32 +236,10 @@ namespace PurpleWrapper
public static void GotAttentionInChat(PurpleConnection gc, int id, string who, uint type_code)
{
- throw new NotImplementedException();
+ purple_prpl_got_attention_in_chat(gc.Reference, id, who, type_code);
}
/*
- * PurpleMediaCaps purple_prpl_get_media_caps(PurpleAccount * account, char * who)
- */
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_prpl_get_media_caps(IntPtr account, string who);
-
- public static PurpleMediaCaps GetMediaCaps(PurpleAccount account, string who)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gboolean purple_prpl_initiate_media(PurpleAccount * account, char * who, PurpleMediaSessionType type)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_prpl_initiate_media(IntPtr account, string who, UNKNOWN type);
-
- public static bool InitiateMedia(PurpleAccount account, string who, PurpleMediaSessionType type)
- {
- throw new NotImplementedException();
- }
-
- /*
* PurplePlugin * purple_find_prpl(char * id)
*/
[DllImport("libpurple.dll")]
@@ -343,7 +247,7 @@ namespace PurpleWrapper
public static PurplePlugin FindPrpl(string id)
{
- throw new NotImplementedException();
+ return new PurplePlugin(purple_find_prpl(id));
}
}
============================================================
--- libpurple/wrapper/PurpleAccount.cs f30d444cbe85a062d2e4dde8bb47b38498c2b26e
+++ libpurple/wrapper/PurpleAccount.cs a5e413399bb31044d1477819d2d0eb5582fcb7c5
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,462 +40,24 @@ namespace PurpleWrapper
{
public class PurpleAccount : UnmanagedWrapper<_PurpleAccount>
{
+ /*
+ * Could not generate a wrapper for PurpleAccount in file "account.h".
+ * Message: The type could not be resolved (GHashTable * settings).
+ */
+
public PurpleAccount()
{
+ throw new NotImplementedException();
}
public PurpleAccount(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurpleAccount)Marshal.PtrToStructure(this.Reference, typeof(_PurpleAccount));
+ throw new NotImplementedException();
}
- public string username
- {
- get
- {
- return this.Data.username;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.username = value;
- }
- }
-
- public string alias
- {
- get
- {
- return this.Data.alias;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.alias = value;
- }
- }
-
- public string password
- {
- get
- {
- return this.Data.password;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.password = value;
- }
- }
-
- public string user_info
- {
- get
- {
- return this.Data.user_info;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.user_info = value;
- }
- }
-
- public string buddy_icon_path
- {
- get
- {
- return this.Data.buddy_icon_path;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.buddy_icon_path = value;
- }
- }
-
- public bool remember_pass
- {
- get
- {
- return this.Data.remember_pass;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.remember_pass = value;
- }
- }
-
- public string protocol_id
- {
- get
- {
- return this.Data.protocol_id;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.protocol_id = value;
- }
- }
-
- public PurpleConnection gc
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public bool disconnecting
- {
- get
- {
- return this.Data.disconnecting;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.disconnecting = value;
- }
- }
-
- public GHashTable settings
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public GHashTable ui_settings
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleProxyInfo proxy_info
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public GSList permit
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public GSList deny
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurplePrivacyType perm_deny
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public GList status_types
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurplePresence presence
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleLog system_log
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public IntPtr ui_data
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleAccountRegistrationCb registration_cb
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public IntPtr registration_cb_user_data
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public IntPtr priv
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurpleAccount
- {
- /*
- * char * username
- */
- string username;
-
- /*
- * char * alias
- */
- string alias;
-
- /*
- * char * password
- */
- string password;
-
- /*
- * char * user_info
- */
- string user_info;
-
- /*
- * char * buddy_icon_path
- */
- string buddy_icon_path;
-
- /*
- * gboolean remember_pass
- */
- bool remember_pass;
-
- /*
- * char * protocol_id
- */
- string protocol_id;
-
- /*
- * PurpleConnection * gc
- */
- IntPtr gc;
-
- /*
- * gboolean disconnecting
- */
- bool disconnecting;
-
- /*
- * GHashTable * settings
- */
- IntPtr settings;
-
- /*
- * GHashTable * ui_settings
- */
- IntPtr ui_settings;
-
- /*
- * PurpleProxyInfo * proxy_info
- */
- IntPtr proxy_info;
-
- /*
- * GSList * permit
- */
- IntPtr permit;
-
- /*
- * GSList * deny
- */
- IntPtr deny;
-
- /*
- * PurplePrivacyType perm_deny
- */
- UNKNOWN perm_deny;
-
- /*
- * GList * status_types
- */
- IntPtr status_types;
-
- /*
- * PurplePresence * presence
- */
- IntPtr presence;
-
- /*
- * PurpleLog * system_log
- */
- IntPtr system_log;
-
- /*
- * void * ui_data
- */
- IntPtr ui_data;
-
- /*
- * PurpleAccountRegistrationCb registration_cb
- */
- UNKNOWN registration_cb;
-
- /*
- * void * registration_cb_user_data
- */
- IntPtr registration_cb_user_data;
-
- /*
- * gpointer priv
- */
- IntPtr priv;
-
- }
+ class _PurpleAccount { }
}
============================================================
--- libpurple/wrapper/PurpleAccountUiOps.cs 116f58485640b0decd2946febbdd8dc8555e81aa
+++ libpurple/wrapper/PurpleAccountUiOps.cs cbe5cca35e4540f8e11bd3bf6bb05140874d571f
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -123,7 +125,7 @@ namespace PurpleWrapper
}
}
- public void _purple_reserved1
+ public void purple_reserved1
{
get
{
@@ -138,7 +140,7 @@ namespace PurpleWrapper
}
}
- public void _purple_reserved2
+ public void purple_reserved2
{
get
{
@@ -153,7 +155,7 @@ namespace PurpleWrapper
}
}
- public void _purple_reserved3
+ public void purple_reserved3
{
get
{
@@ -168,7 +170,7 @@ namespace PurpleWrapper
}
}
- public void _purple_reserved4
+ public void purple_reserved4
{
get
{
@@ -215,25 +217,26 @@ namespace PurpleWrapper
void close_account_request;
/*
- * void (*_purple_reserved1)()
+ * void (*purple_reserved1)()
*/
- void _purple_reserved1;
+ void purple_reserved1;
/*
- * void (*_purple_reserved2)()
+ * void (*purple_reserved2)()
*/
- void _purple_reserved2;
+ void purple_reserved2;
/*
- * void (*_purple_reserved3)()
+ * void (*purple_reserved3)()
*/
- void _purple_reserved3;
+ void purple_reserved3;
/*
- * void (*_purple_reserved4)()
+ * void (*purple_reserved4)()
*/
- void _purple_reserved4;
+ void purple_reserved4;
}
+
}
============================================================
--- libpurple/wrapper/PurpleAttentionType.cs 21a5c2915860fc22f69c917d1c5d391b0892418a
+++ libpurple/wrapper/PurpleAttentionType.cs 464f2eb5404d9d803d904a2ce5cc299d984af90e
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,182 +40,24 @@ namespace PurpleWrapper
{
public class PurpleAttentionType : UnmanagedWrapper<_PurpleAttentionType>
{
+ /*
+ * Could not generate a wrapper for PurpleAttentionType in file "prpl.h".
+ * Message: The type could not be resolved (const char * name).
+ */
+
public PurpleAttentionType()
{
+ throw new NotImplementedException();
}
public PurpleAttentionType(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurpleAttentionType)Marshal.PtrToStructure(this.Reference, typeof(_PurpleAttentionType));
+ throw new NotImplementedException();
}
- public const char *name
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public const char *incoming_description
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public const char *outgoing_description
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public const char *icon_name
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public const char *unlocalized_name
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public IntPtr _reserved2
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public IntPtr _reserved3
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public IntPtr _reserved4
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurpleAttentionType
- {
- /*
- * const char *name
- */
- UNKNOWN char *name;
-
- /*
- * const char *incoming_description
- */
- UNKNOWN char *incoming_description;
-
- /*
- * const char *outgoing_description
- */
- UNKNOWN char *outgoing_description;
-
- /*
- * const char *icon_name
- */
- UNKNOWN char *icon_name;
-
- /*
- * const char *unlocalized_name
- */
- UNKNOWN char *unlocalized_name;
-
- /*
- * gpointer _reserved2
- */
- IntPtr _reserved2;
-
- /*
- * gpointer _reserved3
- */
- IntPtr _reserved3;
-
- /*
- * gpointer _reserved4
- */
- IntPtr _reserved4;
-
- }
+ class _PurpleAttentionType { }
}
============================================================
--- libpurple/wrapper/PurpleBlistNode.cs 2f5cf13875c2ad80380e3b60f14d38f5d7a3d30d
+++ libpurple/wrapper/PurpleBlistNode.cs 197992599e3d9c68467e30dd392f73058664c037
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,182 +40,24 @@ namespace PurpleWrapper
{
public class PurpleBlistNode : UnmanagedWrapper<_PurpleBlistNode>
{
+ /*
+ * Could not generate a wrapper for PurpleBlistNode in file "blist.h".
+ * Message: The type could not be resolved (GHashTable * settings).
+ */
+
public PurpleBlistNode()
{
+ throw new NotImplementedException();
}
public PurpleBlistNode(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurpleBlistNode)Marshal.PtrToStructure(this.Reference, typeof(_PurpleBlistNode));
+ throw new NotImplementedException();
}
- public PurpleBlistNodeType type
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleBlistNode prev
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleBlistNode next
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleBlistNode parent
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleBlistNode child
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public GHashTable settings
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void ui_data
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleBlistNodeFlags flags
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurpleBlistNode
- {
- /*
- * PurpleBlistNodeType type
- */
- UNKNOWN type;
-
- /*
- * PurpleBlistNode * prev
- */
- IntPtr prev;
-
- /*
- * PurpleBlistNode * next
- */
- IntPtr next;
-
- /*
- * PurpleBlistNode * parent
- */
- IntPtr parent;
-
- /*
- * PurpleBlistNode * child
- */
- IntPtr child;
-
- /*
- * GHashTable * settings
- */
- IntPtr settings;
-
- /*
- * void * ui_data
- */
- IntPtr ui_data;
-
- /*
- * PurpleBlistNodeFlags flags
- */
- UNKNOWN flags;
-
- }
+ class _PurpleBlistNode { }
}
============================================================
--- libpurple/wrapper/PurpleBlistUiOps.cs 0cac1ede6b13ef2b4ac9591e99b02cbd7f9aa465
+++ libpurple/wrapper/PurpleBlistUiOps.cs 3acf16daf1d1c066817eddab86a1ec6c38e79077
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -198,7 +200,7 @@ namespace PurpleWrapper
}
}
- public void _purple_reserved1
+ public void purple_reserved1
{
get
{
@@ -213,7 +215,7 @@ namespace PurpleWrapper
}
}
- public void _purple_reserved2
+ public void purple_reserved2
{
get
{
@@ -228,7 +230,7 @@ namespace PurpleWrapper
}
}
- public void _purple_reserved3
+ public void purple_reserved3
{
get
{
@@ -243,7 +245,7 @@ namespace PurpleWrapper
}
}
- public void _purple_reserved4
+ public void purple_reserved4
{
get
{
@@ -315,25 +317,26 @@ namespace PurpleWrapper
void request_add_group;
/*
- * void (*_purple_reserved1)()
+ * void (*purple_reserved1)()
*/
- void _purple_reserved1;
+ void purple_reserved1;
/*
- * void (*_purple_reserved2)()
+ * void (*purple_reserved2)()
*/
- void _purple_reserved2;
+ void purple_reserved2;
/*
- * void (*_purple_reserved3)()
+ * void (*purple_reserved3)()
*/
- void _purple_reserved3;
+ void purple_reserved3;
/*
- * void (*_purple_reserved4)()
+ * void (*purple_reserved4)()
*/
- void _purple_reserved4;
+ void purple_reserved4;
}
+
}
============================================================
--- libpurple/wrapper/PurpleBuddy.cs 9d8ce36c1a71a471396b8cdb2493b02756db4157
+++ libpurple/wrapper/PurpleBuddy.cs 0d62ffdf3d71442293ce0d837b35cb5e7f446539
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,182 +40,24 @@ namespace PurpleWrapper
{
public class PurpleBuddy : UnmanagedWrapper<_PurpleBuddy>
{
+ /*
+ * Could not generate a wrapper for PurpleBuddy in file "blist.h".
+ * Message: The type resolved to a known struct but not a pointer to that struct (PurpleBlistNode node).
+ */
+
public PurpleBuddy()
{
+ throw new NotImplementedException();
}
public PurpleBuddy(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurpleBuddy)Marshal.PtrToStructure(this.Reference, typeof(_PurpleBuddy));
+ throw new NotImplementedException();
}
- public PurpleBlistNode node
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public string name
- {
- get
- {
- return this.Data.name;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.name = value;
- }
- }
-
- public string alias
- {
- get
- {
- return this.Data.alias;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.alias = value;
- }
- }
-
- public string server_alias
- {
- get
- {
- return this.Data.server_alias;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.server_alias = value;
- }
- }
-
- public IntPtr proto_data
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleBuddyIcon icon
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleAccount account
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurplePresence presence
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurpleBuddy
- {
- /*
- * PurpleBlistNode node
- */
- UNKNOWN node;
-
- /*
- * char * name
- */
- string name;
-
- /*
- * char * alias
- */
- string alias;
-
- /*
- * char * server_alias
- */
- string server_alias;
-
- /*
- * void * proto_data
- */
- IntPtr proto_data;
-
- /*
- * PurpleBuddyIcon * icon
- */
- IntPtr icon;
-
- /*
- * PurpleAccount * account
- */
- IntPtr account;
-
- /*
- * PurplePresence * presence
- */
- IntPtr presence;
-
- }
+ class _PurpleBuddy { }
}
============================================================
--- libpurple/wrapper/PurpleBuddyIconSpec.cs 255c5da9f53d8be99ad1c55a1efac6f8672cb788
+++ libpurple/wrapper/PurpleBuddyIconSpec.cs baa9ee5218d0a86ca69f5e1d0ce617c1dbb5997a
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -123,22 +125,22 @@ namespace PurpleWrapper
}
}
- public size_t max_filesize
+ public ulong max_filesize
{
get
{
- throw new NotImplementedException(); /* Non-native type. */
+ return this.Data.max_filesize;
}
set
{
if (this.Reference != IntPtr.Zero)
this.Reference = IntPtr.Zero;
- throw new NotImplementedException(); /* Non-native type. */
+ this.Data.max_filesize = value;
}
}
- public PurpleIconScaleRules scale_rules
+ public Prpl.PurpleIconScaleRules scale_rules
{
get
{
@@ -187,13 +189,14 @@ namespace PurpleWrapper
/*
* size_t max_filesize
*/
- UNKNOWN max_filesize;
+ ulong max_filesize;
/*
* PurpleIconScaleRules scale_rules
*/
- UNKNOWN scale_rules;
+ Prpl.PurpleIconScaleRules scale_rules;
}
+
}
============================================================
--- libpurple/wrapper/PurpleBuddyList.cs d7d4f8b585d66d545f80a4e1f6e5b99c8dd0b4a6
+++ libpurple/wrapper/PurpleBuddyList.cs ce909e0496424e92ae9242e8b9bcd4186bd0ed29
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,82 +40,24 @@ namespace PurpleWrapper
{
public class PurpleBuddyList : UnmanagedWrapper<_PurpleBuddyList>
{
+ /*
+ * Could not generate a wrapper for PurpleBuddyList in file "blist.h".
+ * Message: The type could not be resolved (GHashTable * buddies).
+ */
+
public PurpleBuddyList()
{
+ throw new NotImplementedException();
}
public PurpleBuddyList(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurpleBuddyList)Marshal.PtrToStructure(this.Reference, typeof(_PurpleBuddyList));
+ throw new NotImplementedException();
}
- public PurpleBlistNode root
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public GHashTable buddies
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public IntPtr ui_data
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurpleBuddyList
- {
- /*
- * PurpleBlistNode * root
- */
- IntPtr root;
-
- /*
- * GHashTable * buddies
- */
- IntPtr buddies;
-
- /*
- * void * ui_data
- */
- IntPtr ui_data;
-
- }
+ class _PurpleBuddyList { }
}
============================================================
--- libpurple/wrapper/PurpleCertificate.cs e717b82338cbabe712e7694d9af148befc65404b
+++ libpurple/wrapper/PurpleCertificate.cs 2d465e3801516b2a9233596875ccb92375cc0bc8
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -95,5 +97,6 @@ namespace PurpleWrapper
IntPtr data;
}
+
}
============================================================
--- libpurple/wrapper/PurpleCertificatePool.cs 7c12fde31e228be96a7e50b39f2a928b5c97f397
+++ libpurple/wrapper/PurpleCertificatePool.cs 7cddce55b06277db481dc6490a998d8a49918082
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,322 +40,24 @@ namespace PurpleWrapper
{
public class PurpleCertificatePool : UnmanagedWrapper<_PurpleCertificatePool>
{
+ /*
+ * Could not generate a wrapper for PurpleCertificatePool in file "certificate.h".
+ * Message: The type could not be resolved (GList * (* get_idlist)(void)).
+ */
+
public PurpleCertificatePool()
{
+ throw new NotImplementedException();
}
public PurpleCertificatePool(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurpleCertificatePool)Marshal.PtrToStructure(this.Reference, typeof(_PurpleCertificatePool));
+ throw new NotImplementedException();
}
- public string scheme_name
- {
- get
- {
- return this.Data.scheme_name;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.scheme_name = value;
- }
- }
-
- public string name
- {
- get
- {
- return this.Data.name;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.name = value;
- }
- }
-
- public string fullname
- {
- get
- {
- return this.Data.fullname;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.fullname = value;
- }
- }
-
- public IntPtr data
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public bool (* init)(void)
- {
- get
- {
- return this.Data.(* init)(void);
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.(* init)(void) = value;
- }
- }
-
- public void (* uninit)(void)
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public bool (* cert_in_pool)(const gchar *id)
- {
- get
- {
- return this.Data.(* cert_in_pool)(const gchar *id);
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.(* cert_in_pool)(const gchar *id) = value;
- }
- }
-
- public PurpleCertificate (* get_cert)(const gchar *id)
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public bool (* put_cert)(const gchar *id, PurpleCertificate *crt)
- {
- get
- {
- return this.Data.(* put_cert)(const gchar *id, PurpleCertificate *crt);
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.(* put_cert)(const gchar *id, PurpleCertificate *crt) = value;
- }
- }
-
- public bool (* delete_cert)(const gchar *id)
- {
- get
- {
- return this.Data.(* delete_cert)(const gchar *id);
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.(* delete_cert)(const gchar *id) = value;
- }
- }
-
- public GList (* get_idlist)(void)
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved1
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved2
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved3
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved4
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurpleCertificatePool
- {
- /*
- * gchar * scheme_name
- */
- string scheme_name;
-
- /*
- * gchar * name
- */
- string name;
-
- /*
- * gchar * fullname
- */
- string fullname;
-
- /*
- * gpointer data
- */
- IntPtr data;
-
- /*
- * gboolean (* init)(void)
- */
- bool (* init)(void);
-
- /*
- * void (* uninit)(void)
- */
- void (* uninit)(void);
-
- /*
- * gboolean (* cert_in_pool)(const gchar *id)
- */
- bool (* cert_in_pool)(const gchar *id);
-
- /*
- * PurpleCertificate * (* get_cert)(const gchar *id)
- */
- IntPtr (* get_cert)(const gchar *id);
-
- /*
- * gboolean (* put_cert)(const gchar *id, PurpleCertificate *crt)
- */
- bool (* put_cert)(const gchar *id, PurpleCertificate *crt);
-
- /*
- * gboolean (* delete_cert)(const gchar *id)
- */
- bool (* delete_cert)(const gchar *id);
-
- /*
- * GList * (* get_idlist)(void)
- */
- IntPtr (* get_idlist)(void);
-
- /*
- * void (*_purple_reserved1)()
- */
- void _purple_reserved1;
-
- /*
- * void (*_purple_reserved2)()
- */
- void _purple_reserved2;
-
- /*
- * void (*_purple_reserved3)()
- */
- void _purple_reserved3;
-
- /*
- * void (*_purple_reserved4)()
- */
- void _purple_reserved4;
-
- }
+ class _PurpleCertificatePool { }
}
============================================================
--- libpurple/wrapper/PurpleCertificateScheme.cs 2faa1720fc4896dcde80c074b50b3c77de589b4a
+++ libpurple/wrapper/PurpleCertificateScheme.cs 16986f3aff51ebc568ae82b59c15c11dc77599db
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,362 +40,24 @@ namespace PurpleWrapper
{
public class PurpleCertificateScheme : UnmanagedWrapper<_PurpleCertificateScheme>
{
+ /*
+ * Could not generate a wrapper for PurpleCertificateScheme in file "certificate.h".
+ * Message: The type could not be resolved (GByteArray * (* get_fingerprint_sha1)(PurpleCertificate *crt)).
+ */
+
public PurpleCertificateScheme()
{
+ throw new NotImplementedException();
}
public PurpleCertificateScheme(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurpleCertificateScheme)Marshal.PtrToStructure(this.Reference, typeof(_PurpleCertificateScheme));
+ throw new NotImplementedException();
}
- public string name
- {
- get
- {
- return this.Data. name;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data. name = value;
- }
- }
-
- public string fullname
- {
- get
- {
- return this.Data. fullname;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data. fullname = value;
- }
- }
-
- public PurpleCertificate (* import_certificate)(const gchar * filename)
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public bool (* export_certificate)(const gchar *filename, PurpleCertificate *crt)
- {
- get
- {
- return this.Data.(* export_certificate)(const gchar *filename, PurpleCertificate *crt);
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.(* export_certificate)(const gchar *filename, PurpleCertificate *crt) = value;
- }
- }
-
- public PurpleCertificate (* copy_certificate)(PurpleCertificate *crt)
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void (* destroy_certificate)(PurpleCertificate * crt)
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public bool signed_by
- {
- get
- {
- return this.Data.signed_by;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.signed_by = value;
- }
- }
-
- public GByteArray (* get_fingerprint_sha1)(PurpleCertificate *crt)
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public string (* get_unique_id)(PurpleCertificate *crt)
- {
- get
- {
- return this.Data. (* get_unique_id)(PurpleCertificate *crt);
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data. (* get_unique_id)(PurpleCertificate *crt) = value;
- }
- }
-
- public string (* get_issuer_unique_id)(PurpleCertificate *crt)
- {
- get
- {
- return this.Data. (* get_issuer_unique_id)(PurpleCertificate *crt);
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data. (* get_issuer_unique_id)(PurpleCertificate *crt) = value;
- }
- }
-
- public string (* get_subject_name)(PurpleCertificate *crt)
- {
- get
- {
- return this.Data. (* get_subject_name)(PurpleCertificate *crt);
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data. (* get_subject_name)(PurpleCertificate *crt) = value;
- }
- }
-
- public bool (* check_subject_name)(PurpleCertificate *crt, const gchar *name)
- {
- get
- {
- return this.Data.(* check_subject_name)(PurpleCertificate *crt, const gchar *name);
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.(* check_subject_name)(PurpleCertificate *crt, const gchar *name) = value;
- }
- }
-
- public bool (* get_times)(PurpleCertificate *crt, time_t *activation, time_t *expiration)
- {
- get
- {
- return this.Data.(* get_times)(PurpleCertificate *crt, time_t *activation, time_t *expiration);
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.(* get_times)(PurpleCertificate *crt, time_t *activation, time_t *expiration) = value;
- }
- }
-
- public void _purple_reserved1
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved2
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved3
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved4
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurpleCertificateScheme
- {
- /*
- * gchar * name
- */
- string name;
-
- /*
- * gchar * fullname
- */
- string fullname;
-
- /*
- * PurpleCertificate * (* import_certificate)(const gchar * filename)
- */
- IntPtr (* import_certificate)(const gchar * filename);
-
- /*
- * gboolean (* export_certificate)(const gchar *filename, PurpleCertificate *crt)
- */
- bool (* export_certificate)(const gchar *filename, PurpleCertificate *crt);
-
- /*
- * PurpleCertificate * (* copy_certificate)(PurpleCertificate *crt)
- */
- IntPtr (* copy_certificate)(PurpleCertificate *crt);
-
- /*
- * void (* destroy_certificate)(PurpleCertificate * crt)
- */
- void (* destroy_certificate)(PurpleCertificate * crt);
-
- /*
- * gboolean (*signed_by)(PurpleCertificate * crt, PurpleCertificate * issuer)
- */
- bool signed_by;
-
- /*
- * GByteArray * (* get_fingerprint_sha1)(PurpleCertificate *crt)
- */
- IntPtr (* get_fingerprint_sha1)(PurpleCertificate *crt);
-
- /*
- * gchar * (* get_unique_id)(PurpleCertificate *crt)
- */
- string (* get_unique_id)(PurpleCertificate *crt);
-
- /*
- * gchar * (* get_issuer_unique_id)(PurpleCertificate *crt)
- */
- string (* get_issuer_unique_id)(PurpleCertificate *crt);
-
- /*
- * gchar * (* get_subject_name)(PurpleCertificate *crt)
- */
- string (* get_subject_name)(PurpleCertificate *crt);
-
- /*
- * gboolean (* check_subject_name)(PurpleCertificate *crt, const gchar *name)
- */
- bool (* check_subject_name)(PurpleCertificate *crt, const gchar *name);
-
- /*
- * gboolean (* get_times)(PurpleCertificate *crt, time_t *activation, time_t *expiration)
- */
- bool (* get_times)(PurpleCertificate *crt, time_t *activation, time_t *expiration);
-
- /*
- * void (*_purple_reserved1)()
- */
- void _purple_reserved1;
-
- /*
- * void (*_purple_reserved2)()
- */
- void _purple_reserved2;
-
- /*
- * void (*_purple_reserved3)()
- */
- void _purple_reserved3;
-
- /*
- * void (*_purple_reserved4)()
- */
- void _purple_reserved4;
-
- }
+ class _PurpleCertificateScheme { }
}
============================================================
--- libpurple/wrapper/PurpleCertificateVerificationRequest.cs d85b01e3ad4c45d889fee9e718a0e7ab64b8bedc
+++ libpurple/wrapper/PurpleCertificateVerificationRequest.cs 5310d9a28a66af6cb620a98c250eb2724998a7cb
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,162 +40,24 @@ namespace PurpleWrapper
{
public class PurpleCertificateVerificationRequest : UnmanagedWrapper<_PurpleCertificateVerificationRequest>
{
+ /*
+ * Could not generate a wrapper for PurpleCertificateVerificationRequest in file "certificate.h".
+ * Message: The type could not be resolved (GList * cert_chain).
+ */
+
public PurpleCertificateVerificationRequest()
{
+ throw new NotImplementedException();
}
public PurpleCertificateVerificationRequest(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurpleCertificateVerificationRequest)Marshal.PtrToStructure(this.Reference, typeof(_PurpleCertificateVerificationRequest));
+ throw new NotImplementedException();
}
- public PurpleCertificateVerifier verifier
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleCertificateScheme scheme
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public string subject_name
- {
- get
- {
- return this.Data.subject_name;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.subject_name = value;
- }
- }
-
- public GList cert_chain
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public IntPtr data
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleCertificateVerifiedCallback cb
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public IntPtr cb_data
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurpleCertificateVerificationRequest
- {
- /*
- * PurpleCertificateVerifier * verifier
- */
- IntPtr verifier;
-
- /*
- * PurpleCertificateScheme * scheme
- */
- IntPtr scheme;
-
- /*
- * gchar * subject_name
- */
- string subject_name;
-
- /*
- * GList * cert_chain
- */
- IntPtr cert_chain;
-
- /*
- * gpointer data
- */
- IntPtr data;
-
- /*
- * PurpleCertificateVerifiedCallback cb
- */
- UNKNOWN cb;
-
- /*
- * gpointer cb_data
- */
- IntPtr cb_data;
-
- }
+ class _PurpleCertificateVerificationRequest { }
}
============================================================
--- libpurple/wrapper/PurpleCertificateVerifier.cs 73640d112fa595880217d516429d2dd5dbca8c93
+++ libpurple/wrapper/PurpleCertificateVerifier.cs 61eb04ed6e562582a5d3d18d21a840ec942a6ae3
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -108,7 +110,7 @@ namespace PurpleWrapper
}
}
- public void _purple_reserved1
+ public void purple_reserved1
{
get
{
@@ -123,7 +125,7 @@ namespace PurpleWrapper
}
}
- public void _purple_reserved2
+ public void purple_reserved2
{
get
{
@@ -138,7 +140,7 @@ namespace PurpleWrapper
}
}
- public void _purple_reserved3
+ public void purple_reserved3
{
get
{
@@ -153,7 +155,7 @@ namespace PurpleWrapper
}
}
- public void _purple_reserved4
+ public void purple_reserved4
{
get
{
@@ -195,25 +197,26 @@ namespace PurpleWrapper
void (* destroy_request)(PurpleCertificateVerificationRequest *vrq);
/*
- * void (*_purple_reserved1)()
+ * void (*purple_reserved1)()
*/
- void _purple_reserved1;
+ void purple_reserved1;
/*
- * void (*_purple_reserved2)()
+ * void (*purple_reserved2)()
*/
- void _purple_reserved2;
+ void purple_reserved2;
/*
- * void (*_purple_reserved3)()
+ * void (*purple_reserved3)()
*/
- void _purple_reserved3;
+ void purple_reserved3;
/*
- * void (*_purple_reserved4)()
+ * void (*purple_reserved4)()
*/
- void _purple_reserved4;
+ void purple_reserved4;
}
+
}
============================================================
--- libpurple/wrapper/PurpleChat.cs 3fdefe40e788b383dec23cb7c1b6dba0cdaece1e
+++ libpurple/wrapper/PurpleChat.cs 7bf01fae0628fdf1eded5f793d243a48b189b719
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,102 +40,24 @@ namespace PurpleWrapper
{
public class PurpleChat : UnmanagedWrapper<_PurpleChat>
{
+ /*
+ * Could not generate a wrapper for PurpleChat in file "blist.h".
+ * Message: The type resolved to a known struct but not a pointer to that struct (PurpleBlistNode node).
+ */
+
public PurpleChat()
{
+ throw new NotImplementedException();
}
public PurpleChat(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurpleChat)Marshal.PtrToStructure(this.Reference, typeof(_PurpleChat));
+ throw new NotImplementedException();
}
- public PurpleBlistNode node
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public string alias
- {
- get
- {
- return this.Data.alias;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.alias = value;
- }
- }
-
- public GHashTable components
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleAccount account
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurpleChat
- {
- /*
- * PurpleBlistNode node
- */
- UNKNOWN node;
-
- /*
- * char * alias
- */
- string alias;
-
- /*
- * GHashTable * components
- */
- IntPtr components;
-
- /*
- * PurpleAccount * account
- */
- IntPtr account;
-
- }
+ class _PurpleChat { }
}
============================================================
--- libpurple/wrapper/PurpleCipherOps.cs dfbdf8790dd1757d66e8c32faaacf19ebfaf1a63
+++ libpurple/wrapper/PurpleCipherOps.cs 85575b543e9e3230ad98b83b66b60a0606a76aec
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -213,18 +215,18 @@ namespace PurpleWrapper
}
}
- public size_t get_salt_size
+ public ulong get_salt_size
{
get
{
- throw new NotImplementedException(); /* Non-native type. */
+ return this.Data.get_salt_size;
}
set
{
if (this.Reference != IntPtr.Zero)
this.Reference = IntPtr.Zero;
- throw new NotImplementedException(); /* Non-native type. */
+ this.Data.get_salt_size = value;
}
}
@@ -243,18 +245,18 @@ namespace PurpleWrapper
}
}
- public size_t get_key_size
+ public ulong get_key_size
{
get
{
- throw new NotImplementedException(); /* Non-native type. */
+ return this.Data.get_key_size;
}
set
{
if (this.Reference != IntPtr.Zero)
this.Reference = IntPtr.Zero;
- throw new NotImplementedException(); /* Non-native type. */
+ this.Data.get_key_size = value;
}
}
@@ -273,7 +275,7 @@ namespace PurpleWrapper
}
}
- public PurpleCipherBatchMode get_batch_mode
+ public Cipher.PurpleCipherBatchMode get_batch_mode
{
get
{
@@ -288,18 +290,18 @@ namespace PurpleWrapper
}
}
- public size_t get_block_size
+ public ulong get_block_size
{
get
{
- throw new NotImplementedException(); /* Non-native type. */
+ return this.Data.get_block_size;
}
set
{
if (this.Reference != IntPtr.Zero)
this.Reference = IntPtr.Zero;
- throw new NotImplementedException(); /* Non-native type. */
+ this.Data.get_block_size = value;
}
}
@@ -360,17 +362,17 @@ namespace PurpleWrapper
void append;
/*
- * gboolean (*digest)(PurpleCipherContext * context, size_t in_len, guchar digest, size_t * out_len)
+ * gboolean (*digest)(PurpleCipherContext * context, size_t in_len, guchar [], size_t * out_len)
*/
bool digest;
/*
- * int (*encrypt)(PurpleCipherContext * context, guchar data, size_t len, guchar output, size_t * outlen)
+ * int (*encrypt)(PurpleCipherContext * context, guchar [], size_t len, guchar [], size_t * outlen)
*/
int encrypt;
/*
- * int (*decrypt)(PurpleCipherContext * context, guchar data, size_t len, guchar output, size_t * outlen)
+ * int (*decrypt)(PurpleCipherContext * context, guchar [], size_t len, guchar [], size_t * outlen)
*/
int decrypt;
@@ -382,7 +384,7 @@ namespace PurpleWrapper
/*
* size_t (*get_salt_size)(PurpleCipherContext * context)
*/
- UNKNOWN get_salt_size;
+ ulong get_salt_size;
/*
* void (*set_key)(PurpleCipherContext * context, guchar * key)
@@ -392,7 +394,7 @@ namespace PurpleWrapper
/*
* size_t (*get_key_size)(PurpleCipherContext * context)
*/
- UNKNOWN get_key_size;
+ ulong get_key_size;
/*
* void (*set_batch_mode)(PurpleCipherContext * context, PurpleCipherBatchMode mode)
@@ -402,12 +404,12 @@ namespace PurpleWrapper
/*
* PurpleCipherBatchMode (*get_batch_mode)(PurpleCipherContext * context)
*/
- UNKNOWN get_batch_mode;
+ Cipher.PurpleCipherBatchMode get_batch_mode;
/*
* size_t (*get_block_size)(PurpleCipherContext * context)
*/
- UNKNOWN get_block_size;
+ ulong get_block_size;
/*
* void (*set_key_with_len)(PurpleCipherContext * context, guchar * key, size_t len)
@@ -415,5 +417,6 @@ namespace PurpleWrapper
void set_key_with_len;
}
+
}
============================================================
--- libpurple/wrapper/PurpleClient.cs c1cdf84dae5d7e9377fff26a9d43f6f1fd942cfe
+++ libpurple/wrapper/PurpleClient.cs 1edab768a243aff5252e94181da3d3c1cd7c4d7e
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -46,7 +48,7 @@ namespace PurpleWrapper
public static void Init()
{
- throw new NotImplementedException();
+ purple_init();
}
}
============================================================
--- libpurple/wrapper/PurpleConnection.cs e922961b95a6fa9c7f1649cbcd4afbbd14ec6c18
+++ libpurple/wrapper/PurpleConnection.cs dd769e17730fe5b01efeaa8c324ae2edbfc33e30
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,282 +40,24 @@ namespace PurpleWrapper
{
public class PurpleConnection : UnmanagedWrapper<_PurpleConnection>
{
+ /*
+ * Could not generate a wrapper for PurpleConnection in file "connection.h".
+ * Message: The type could not be resolved (GSList * buddy_chats).
+ */
+
public PurpleConnection()
{
+ throw new NotImplementedException();
}
public PurpleConnection(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurpleConnection)Marshal.PtrToStructure(this.Reference, typeof(_PurpleConnection));
+ throw new NotImplementedException();
}
- public PurplePlugin prpl
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleConnectionFlags flags
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleConnectionState state
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleAccount account
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public string password
- {
- get
- {
- return this.Data.password;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.password = value;
- }
- }
-
- public int inpa
- {
- get
- {
- return this.Data.inpa;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.inpa = value;
- }
- }
-
- public GSList buddy_chats
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public IntPtr proto_data
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public string display_name
- {
- get
- {
- return this.Data.display_name;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.display_name = value;
- }
- }
-
- public uint keepalive
- {
- get
- {
- return this.Data.keepalive;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.keepalive = value;
- }
- }
-
- public bool wants_to_die
- {
- get
- {
- return this.Data.wants_to_die;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.wants_to_die = value;
- }
- }
-
- public uint disconnect_timeout
- {
- get
- {
- return this.Data.disconnect_timeout;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.disconnect_timeout = value;
- }
- }
-
- public time_t last_received
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurpleConnection
- {
- /*
- * PurplePlugin * prpl
- */
- IntPtr prpl;
-
- /*
- * PurpleConnectionFlags flags
- */
- UNKNOWN flags;
-
- /*
- * PurpleConnectionState state
- */
- UNKNOWN state;
-
- /*
- * PurpleAccount * account
- */
- IntPtr account;
-
- /*
- * char * password
- */
- string password;
-
- /*
- * int inpa
- */
- int inpa;
-
- /*
- * GSList * buddy_chats
- */
- IntPtr buddy_chats;
-
- /*
- * void * proto_data
- */
- IntPtr proto_data;
-
- /*
- * char * display_name
- */
- string display_name;
-
- /*
- * guint keepalive
- */
- uint keepalive;
-
- /*
- * gboolean wants_to_die
- */
- bool wants_to_die;
-
- /*
- * guint disconnect_timeout
- */
- uint disconnect_timeout;
-
- /*
- * time_t last_received
- */
- UNKNOWN last_received;
-
- }
+ class _PurpleConnection { }
}
============================================================
--- libpurple/wrapper/PurpleContact.cs 66ba1bb0b1d8006a3dc9cf06aede310f943758eb
+++ libpurple/wrapper/PurpleContact.cs df0ba4e6246914ebd29d46442f45bae498ab9ab5
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,162 +40,24 @@ namespace PurpleWrapper
{
public class PurpleContact : UnmanagedWrapper<_PurpleContact>
{
+ /*
+ * Could not generate a wrapper for PurpleContact in file "blist.h".
+ * Message: The type resolved to a known struct but not a pointer to that struct (PurpleBlistNode node).
+ */
+
public PurpleContact()
{
+ throw new NotImplementedException();
}
public PurpleContact(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurpleContact)Marshal.PtrToStructure(this.Reference, typeof(_PurpleContact));
+ throw new NotImplementedException();
}
- public PurpleBlistNode node
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public string alias
- {
- get
- {
- return this.Data.alias;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.alias = value;
- }
- }
-
- public int totalsize
- {
- get
- {
- return this.Data.totalsize;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.totalsize = value;
- }
- }
-
- public int currentsize
- {
- get
- {
- return this.Data.currentsize;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.currentsize = value;
- }
- }
-
- public int online
- {
- get
- {
- return this.Data.online;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.online = value;
- }
- }
-
- public PurpleBuddy priority
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public bool priority_valid
- {
- get
- {
- return this.Data.priority_valid;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.priority_valid = value;
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurpleContact
- {
- /*
- * PurpleBlistNode node
- */
- UNKNOWN node;
-
- /*
- * char * alias
- */
- string alias;
-
- /*
- * int totalsize
- */
- int totalsize;
-
- /*
- * int currentsize
- */
- int currentsize;
-
- /*
- * int online
- */
- int online;
-
- /*
- * PurpleBuddy * priority
- */
- IntPtr priority;
-
- /*
- * gboolean priority_valid
- */
- bool priority_valid;
-
- }
+ class _PurpleContact { }
}
============================================================
--- libpurple/wrapper/PurpleConvChat.cs d2f7eb228a16735d1c446f4a3bd338b2dda27e35
+++ libpurple/wrapper/PurpleConvChat.cs 3ac29dde0ff85a7831494c4570d60f5a7b3df240
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,182 +40,24 @@ namespace PurpleWrapper
{
public class PurpleConvChat : UnmanagedWrapper<_PurpleConvChat>
{
+ /*
+ * Could not generate a wrapper for PurpleConvChat in file "conversation.h".
+ * Message: The type could not be resolved (GList * in_room).
+ */
+
public PurpleConvChat()
{
+ throw new NotImplementedException();
}
public PurpleConvChat(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurpleConvChat)Marshal.PtrToStructure(this.Reference, typeof(_PurpleConvChat));
+ throw new NotImplementedException();
}
- public PurpleConversation conv
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public GList in_room
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public GList ignored
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public char who
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public char topic
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public int id
- {
- get
- {
- return this.Data.id;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.id = value;
- }
- }
-
- public string nick
- {
- get
- {
- return this.Data.nick;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.nick = value;
- }
- }
-
- public bool left
- {
- get
- {
- return this.Data.left;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.left = value;
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurpleConvChat
- {
- /*
- * PurpleConversation * conv
- */
- IntPtr conv;
-
- /*
- * GList * in_room
- */
- IntPtr in_room;
-
- /*
- * GList * ignored
- */
- IntPtr ignored;
-
- /*
- * char * who
- */
- IntPtr who;
-
- /*
- * char * topic
- */
- IntPtr topic;
-
- /*
- * int id
- */
- int id;
-
- /*
- * char * nick
- */
- string nick;
-
- /*
- * gboolean left
- */
- bool left;
-
- }
+ class _PurpleConvChat { }
}
============================================================
--- libpurple/wrapper/PurpleConvChatBuddy.cs b39d3f662b398221d4b0a0c43144162f4d5b326a
+++ libpurple/wrapper/PurpleConvChatBuddy.cs be038aa17788a59446200c8020887fec84f1d1d5
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -108,7 +110,7 @@ namespace PurpleWrapper
}
}
- public PurpleConvChatBuddyFlags flags
+ public Conversation.PurpleConvChatBuddyFlags flags
{
get
{
@@ -152,8 +154,9 @@ namespace PurpleWrapper
/*
* PurpleConvChatBuddyFlags flags
*/
- UNKNOWN flags;
+ Conversation.PurpleConvChatBuddyFlags flags;
}
+
}
============================================================
--- libpurple/wrapper/PurpleConvIm.cs 1867ff35ee88c963fab8287bb239e9bbb888809f
+++ libpurple/wrapper/PurpleConvIm.cs ea2ada5874b1bb4bc5ce1a8b381020ea4e20d361
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,142 +40,24 @@ namespace PurpleWrapper
{
public class PurpleConvIm : UnmanagedWrapper<_PurpleConvIm>
{
+ /*
+ * Could not generate a wrapper for PurpleConvIm in file "conversation.h".
+ * Message: The type could not be resolved (PurpleBuddyIcon * icon).
+ */
+
public PurpleConvIm()
{
+ throw new NotImplementedException();
}
public PurpleConvIm(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurpleConvIm)Marshal.PtrToStructure(this.Reference, typeof(_PurpleConvIm));
+ throw new NotImplementedException();
}
- public PurpleConversation conv
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleTypingState typing_state
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public uint typing_timeout
- {
- get
- {
- return this.Data.typing_timeout;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.typing_timeout = value;
- }
- }
-
- public time_t type_again
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public uint send_typed_timeout
- {
- get
- {
- return this.Data.send_typed_timeout;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.send_typed_timeout = value;
- }
- }
-
- public PurpleBuddyIcon icon
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurpleConvIm
- {
- /*
- * PurpleConversation * conv
- */
- IntPtr conv;
-
- /*
- * PurpleTypingState typing_state
- */
- UNKNOWN typing_state;
-
- /*
- * guint typing_timeout
- */
- uint typing_timeout;
-
- /*
- * time_t type_again
- */
- UNKNOWN type_again;
-
- /*
- * guint send_typed_timeout
- */
- uint send_typed_timeout;
-
- /*
- * PurpleBuddyIcon * icon
- */
- IntPtr icon;
-
- }
+ class _PurpleConvIm { }
}
============================================================
--- libpurple/wrapper/PurpleConvMessage.cs 13c7a00605eea942022941986eb3cf57e603b6f3
+++ libpurple/wrapper/PurpleConvMessage.cs cb993757b4b6b593f3d6d6b4fb68a6262c0ae6ff
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -78,7 +80,7 @@ namespace PurpleWrapper
}
}
- public PurpleMessageFlags flags
+ public Conversation.PurpleMessageFlags flags
{
get
{
@@ -93,7 +95,7 @@ namespace PurpleWrapper
}
}
- public time_t when
+ public DateTime when
{
get
{
@@ -157,12 +159,12 @@ namespace PurpleWrapper
/*
* PurpleMessageFlags flags
*/
- UNKNOWN flags;
+ Conversation.PurpleMessageFlags flags;
/*
* time_t when
*/
- UNKNOWN when;
+ ulong when;
/*
* PurpleConversation * conv
@@ -175,5 +177,6 @@ namespace PurpleWrapper
string alias;
}
+
}
============================================================
--- libpurple/wrapper/PurpleConversation.cs cf27ac6b37d0ee0ed575ef2005a899dc445b6859
+++ libpurple/wrapper/PurpleConversation.cs b96c055f0790332967fe41ba50ee5cbf280be3ef
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,305 +40,24 @@ namespace PurpleWrapper
{
public class PurpleConversation : UnmanagedWrapper<_PurpleConversation>
{
+ /*
+ * Could not generate a wrapper for PurpleConversation in file "conversation.h".
+ * Message: The type could not be resolved (GList * logs).
+ */
+
public PurpleConversation()
{
+ throw new NotImplementedException();
}
public PurpleConversation(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurpleConversation)Marshal.PtrToStructure(this.Reference, typeof(_PurpleConversation));
+ throw new NotImplementedException();
}
- public PurpleConversationType type
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleAccount account
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public string name
- {
- get
- {
- return this.Data.name;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.name = value;
- }
- }
-
- public string title
- {
- get
- {
- return this.Data.title;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.title = value;
- }
- }
-
- public bool logging
- {
- get
- {
- return this.Data.logging;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.logging = value;
- }
- }
-
- public GList logs
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public union {
- PurpleConvIm *im
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleConvChat chat
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public IntPtr misc
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleConversationUiOps ui_ops
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public IntPtr ui_data
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public GHashTable data
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleConnectionFlags features
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public GList message_history
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurpleConversation
- {
- /*
- * PurpleConversationType type
- */
- UNKNOWN type;
-
- /*
- * PurpleAccount * account
- */
- IntPtr account;
-
- /*
- * char * name
- */
- string name;
-
- /*
- * char * title
- */
- string title;
-
- /*
- * gboolean logging
- */
- bool logging;
-
- /*
- * GList * logs
- */
- IntPtr logs;
-
- /*
- * union {
- PurpleConvIm *im
- */
- UNKNOWN {
- PurpleConvIm *im;
-
- /*
- * PurpleConvChat * chat
- */
- IntPtr chat;
-
- /*
- * void * misc
- */
- IntPtr misc;
-
- /*
- * PurpleConversationUiOps * ui_ops
- */
- IntPtr ui_ops;
-
- /*
- * void * ui_data
- */
- IntPtr ui_data;
-
- /*
- * GHashTable * data
- */
- IntPtr data;
-
- /*
- * PurpleConnectionFlags features
- */
- UNKNOWN features;
-
- /*
- * GList * message_history
- */
- IntPtr message_history;
-
- }
+ class _PurpleConversation { }
}
============================================================
--- libpurple/wrapper/PurpleConversationUiOps.cs 69112eb4a0ceb5bd549fa42828c211e484e25fb9
+++ libpurple/wrapper/PurpleConversationUiOps.cs cbf4f9df6e19e8977354b84c83ba93a0cf52c935
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -273,7 +275,7 @@ namespace PurpleWrapper
}
}
- public void _purple_reserved1
+ public void purple_reserved1
{
get
{
@@ -288,7 +290,7 @@ namespace PurpleWrapper
}
}
- public void _purple_reserved2
+ public void purple_reserved2
{
get
{
@@ -303,7 +305,7 @@ namespace PurpleWrapper
}
}
- public void _purple_reserved3
+ public void purple_reserved3
{
get
{
@@ -318,7 +320,7 @@ namespace PurpleWrapper
}
}
- public void _purple_reserved4
+ public void purple_reserved4
{
get
{
@@ -415,25 +417,26 @@ namespace PurpleWrapper
void send_confirm;
/*
- * void (*_purple_reserved1)()
+ * void (*purple_reserved1)()
*/
- void _purple_reserved1;
+ void purple_reserved1;
/*
- * void (*_purple_reserved2)()
+ * void (*purple_reserved2)()
*/
- void _purple_reserved2;
+ void purple_reserved2;
/*
- * void (*_purple_reserved3)()
+ * void (*purple_reserved3)()
*/
- void _purple_reserved3;
+ void purple_reserved3;
/*
- * void (*_purple_reserved4)()
+ * void (*purple_reserved4)()
*/
- void _purple_reserved4;
+ void purple_reserved4;
}
+
}
============================================================
--- libpurple/wrapper/PurpleEventLoopUiOps.cs 47c20a415a683ca8d8e93508faf7c4229cb0e5b5
+++ libpurple/wrapper/PurpleEventLoopUiOps.cs 60bab670242475ab2c2acddff37c3efdc3338b1f
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -138,7 +140,7 @@ namespace PurpleWrapper
}
}
- public void _purple_reserved2
+ public void purple_reserved2
{
get
{
@@ -153,7 +155,7 @@ namespace PurpleWrapper
}
}
- public void _purple_reserved3
+ public void purple_reserved3
{
get
{
@@ -168,7 +170,7 @@ namespace PurpleWrapper
}
}
- public void _purple_reserved4
+ public void purple_reserved4
{
get
{
@@ -220,20 +222,21 @@ namespace PurpleWrapper
uint timeout_add_seconds;
/*
- * void (*_purple_reserved2)()
+ * void (*purple_reserved2)()
*/
- void _purple_reserved2;
+ void purple_reserved2;
/*
- * void (*_purple_reserved3)()
+ * void (*purple_reserved3)()
*/
- void _purple_reserved3;
+ void purple_reserved3;
/*
- * void (*_purple_reserved4)()
+ * void (*purple_reserved4)()
*/
- void _purple_reserved4;
+ void purple_reserved4;
}
+
}
============================================================
--- libpurple/wrapper/PurpleGroup.cs 22098e5d15e0d66d82812d9f4929516891ddbbf0
+++ libpurple/wrapper/PurpleGroup.cs 37d75f081a62a417f01bcf0af42b2b6e8535f330
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,122 +40,24 @@ namespace PurpleWrapper
{
public class PurpleGroup : UnmanagedWrapper<_PurpleGroup>
{
+ /*
+ * Could not generate a wrapper for PurpleGroup in file "blist.h".
+ * Message: The type resolved to a known struct but not a pointer to that struct (PurpleBlistNode node).
+ */
+
public PurpleGroup()
{
+ throw new NotImplementedException();
}
public PurpleGroup(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurpleGroup)Marshal.PtrToStructure(this.Reference, typeof(_PurpleGroup));
+ throw new NotImplementedException();
}
- public PurpleBlistNode node
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public string name
- {
- get
- {
- return this.Data.name;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.name = value;
- }
- }
-
- public int totalsize
- {
- get
- {
- return this.Data.totalsize;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.totalsize = value;
- }
- }
-
- public int currentsize
- {
- get
- {
- return this.Data.currentsize;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.currentsize = value;
- }
- }
-
- public int online
- {
- get
- {
- return this.Data.online;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.online = value;
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurpleGroup
- {
- /*
- * PurpleBlistNode node
- */
- UNKNOWN node;
-
- /*
- * char * name
- */
- string name;
-
- /*
- * int totalsize
- */
- int totalsize;
-
- /*
- * int currentsize
- */
- int currentsize;
-
- /*
- * int online
- */
- int online;
-
- }
+ class _PurpleGroup { }
}
============================================================
--- libpurple/wrapper/PurpleKeyValuePair.cs f4586393f96da8b38dc1c3fdd97befeff36a4502
+++ libpurple/wrapper/PurpleKeyValuePair.cs 02498c73f48913f2383b26fea09b192163a28579
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -95,5 +97,6 @@ namespace PurpleWrapper
IntPtr value;
}
+
}
============================================================
--- libpurple/wrapper/PurpleLog.cs fb63edc33f8b39be269652c1fa0716fa08d4f3e8
+++ libpurple/wrapper/PurpleLog.cs 1ae55416f45022f39ac863369fd6ba96fe22e0f2
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,182 +40,24 @@ namespace PurpleWrapper
{
public class PurpleLog : UnmanagedWrapper<_PurpleLog>
{
+ /*
+ * Could not generate a wrapper for PurpleLog in file "log.h".
+ * Message: The struct contains an inner-struct or innter-union and cannot be automatically wrapped.
+ */
+
public PurpleLog()
{
+ throw new NotImplementedException();
}
public PurpleLog(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurpleLog)Marshal.PtrToStructure(this.Reference, typeof(_PurpleLog));
+ throw new NotImplementedException();
}
- public PurpleLogType type
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public string name
- {
- get
- {
- return this.Data.name;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.name = value;
- }
- }
-
- public PurpleAccount account
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleConversation conv
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public time_t time
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleLogLogger logger
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public IntPtr logger_data
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public struct tm *tm
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurpleLog
- {
- /*
- * PurpleLogType type
- */
- UNKNOWN type;
-
- /*
- * char * name
- */
- string name;
-
- /*
- * PurpleAccount * account
- */
- IntPtr account;
-
- /*
- * PurpleConversation * conv
- */
- IntPtr conv;
-
- /*
- * time_t time
- */
- UNKNOWN time;
-
- /*
- * PurpleLogLogger * logger
- */
- IntPtr logger;
-
- /*
- * void * logger_data
- */
- IntPtr logger_data;
-
- /*
- * struct tm *tm
- */
- UNKNOWN tm *tm;
-
- }
+ class _PurpleLog { }
}
============================================================
--- libpurple/wrapper/PurpleLogCommonLoggerData.cs 542283ebad3d78f2825aef0e7876298f16229a54
+++ libpurple/wrapper/PurpleLogCommonLoggerData.cs bbeb0e0c25f8196010a8af062aa14503d0d62d0f
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,82 +40,24 @@ namespace PurpleWrapper
{
public class PurpleLogCommonLoggerData : UnmanagedWrapper<_PurpleLogCommonLoggerData>
{
+ /*
+ * Could not generate a wrapper for PurpleLogCommonLoggerData in file "log.h".
+ * Message: The type could not be resolved (FILE * file).
+ */
+
public PurpleLogCommonLoggerData()
{
+ throw new NotImplementedException();
}
public PurpleLogCommonLoggerData(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurpleLogCommonLoggerData)Marshal.PtrToStructure(this.Reference, typeof(_PurpleLogCommonLoggerData));
+ throw new NotImplementedException();
}
- public string path
- {
- get
- {
- return this.Data.path;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.path = value;
- }
- }
-
- public FILE file
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public IntPtr extra_data
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurpleLogCommonLoggerData
- {
- /*
- * char * path
- */
- string path;
-
- /*
- * FILE * file
- */
- IntPtr file;
-
- /*
- * void * extra_data
- */
- IntPtr extra_data;
-
- }
+ class _PurpleLogCommonLoggerData { }
}
============================================================
--- libpurple/wrapper/PurpleLogLogger.cs 24333eed2e73b7a816969625c605a841d20aea72
+++ libpurple/wrapper/PurpleLogLogger.cs c6abab60a68b9e4e05f7157ecf340664e013ff6a
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,362 +40,24 @@ namespace PurpleWrapper
{
public class PurpleLogLogger : UnmanagedWrapper<_PurpleLogLogger>
{
+ /*
+ * Could not generate a wrapper for PurpleLogLogger in file "log.h".
+ * Message: The type could not be resolved (GList * (*list)(PurpleLogType type, char * name, PurpleAccount * account)).
+ */
+
public PurpleLogLogger()
{
+ throw new NotImplementedException();
}
public PurpleLogLogger(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurpleLogLogger)Marshal.PtrToStructure(this.Reference, typeof(_PurpleLogLogger));
+ throw new NotImplementedException();
}
- public string name
- {
- get
- {
- return this.Data.name;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.name = value;
- }
- }
-
- public string id
- {
- get
- {
- return this.Data.id;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.id = value;
- }
- }
-
- public void create
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public gsize write
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void finalize
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public GList list
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public string read
- {
- get
- {
- return this.Data.read;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.read = value;
- }
- }
-
- public int size
- {
- get
- {
- return this.Data.size;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.size = value;
- }
- }
-
- public int total_size
- {
- get
- {
- return this.Data.total_size;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.total_size = value;
- }
- }
-
- public GList list_syslog
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void get_log_sets
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public bool remove
- {
- get
- {
- return this.Data.remove;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.remove = value;
- }
- }
-
- public bool is_deletable
- {
- get
- {
- return this.Data.is_deletable;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.is_deletable = value;
- }
- }
-
- public void _purple_reserved1
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved2
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved3
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved4
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurpleLogLogger
- {
- /*
- * char * name
- */
- string name;
-
- /*
- * char * id
- */
- string id;
-
- /*
- * void (*create)(PurpleLog * log)
- */
- void create;
-
- /*
- * gsize (*write)(PurpleLog * log, PurpleMessageFlags type, char * from, time_t time, char * message)
- */
- UNKNOWN write;
-
- /*
- * void (*finalize)(PurpleLog * log)
- */
- void finalize;
-
- /*
- * GList * (*list)(PurpleLogType type, char * name, PurpleAccount * account)
- */
- IntPtr list;
-
- /*
- * char * (*read)(PurpleLog * log, PurpleLogReadFlags * flags)
- */
- string read;
-
- /*
- * int (*size)(PurpleLog * log)
- */
- int size;
-
- /*
- * int (*total_size)(PurpleLogType type, char * name, PurpleAccount * account)
- */
- int total_size;
-
- /*
- * GList * (*list_syslog)(PurpleAccount * account)
- */
- IntPtr list_syslog;
-
- /*
- * void (*get_log_sets)(PurpleLogSetCallback cb, GHashTable * sets)
- */
- void get_log_sets;
-
- /*
- * gboolean (*remove)(PurpleLog * log)
- */
- bool remove;
-
- /*
- * gboolean (*is_deletable)(PurpleLog * log)
- */
- bool is_deletable;
-
- /*
- * void (*_purple_reserved1)()
- */
- void _purple_reserved1;
-
- /*
- * void (*_purple_reserved2)()
- */
- void _purple_reserved2;
-
- /*
- * void (*_purple_reserved3)()
- */
- void _purple_reserved3;
-
- /*
- * void (*_purple_reserved4)()
- */
- void _purple_reserved4;
-
- }
+ class _PurpleLogLogger { }
}
============================================================
--- libpurple/wrapper/PurpleLogSet.cs ee511a3d084d44930d23af9c9a97176300c94c05
+++ libpurple/wrapper/PurpleLogSet.cs 78e59157ba92e702f267262d3b2aed7a2ca81c49
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -48,7 +50,7 @@ namespace PurpleWrapper
this.Data = (_PurpleLogSet)Marshal.PtrToStructure(this.Reference, typeof(_PurpleLogSet));
}
- public PurpleLogType type
+ public Log.PurpleLogType type
{
get
{
@@ -132,7 +134,7 @@ namespace PurpleWrapper
/*
* PurpleLogType type
*/
- UNKNOWN type;
+ Log.PurpleLogType type;
/*
* char * name
@@ -155,5 +157,6 @@ namespace PurpleWrapper
string normalized_name;
}
+
}
============================================================
--- libpurple/wrapper/PurpleMenuAction.cs 5c99cee5c84338b0823b7e63c8bea9c95474ca12
+++ libpurple/wrapper/PurpleMenuAction.cs 48877ec4f3db415df65f663f4b0d7befd8b9ea72
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,102 +40,24 @@ namespace PurpleWrapper
{
public class PurpleMenuAction : UnmanagedWrapper<_PurpleMenuAction>
{
+ /*
+ * Could not generate a wrapper for PurpleMenuAction in file "util.h".
+ * Message: The struct contains an object that resolves to a function pointer (PurpleCallback callback).
+ */
+
public PurpleMenuAction()
{
+ throw new NotImplementedException();
}
public PurpleMenuAction(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurpleMenuAction)Marshal.PtrToStructure(this.Reference, typeof(_PurpleMenuAction));
+ throw new NotImplementedException();
}
- public string label
- {
- get
- {
- return this.Data.label;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.label = value;
- }
- }
-
- public PurpleCallback callback
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public IntPtr data
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public GList children
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurpleMenuAction
- {
- /*
- * char * label
- */
- string label;
-
- /*
- * PurpleCallback callback
- */
- UNKNOWN callback;
-
- /*
- * gpointer data
- */
- IntPtr data;
-
- /*
- * GList * children
- */
- IntPtr children;
-
- }
+ class _PurpleMenuAction { }
}
============================================================
--- libpurple/wrapper/PurplePlugin.cs f12e0cf51121b6abbc825d3834d37ee78b2cc02c
+++ libpurple/wrapper/PurplePlugin.cs cd42a2a5630e591d879d20bcafe30501d939b747
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,302 +40,24 @@ namespace PurpleWrapper
{
public class PurplePlugin : UnmanagedWrapper<_PurplePlugin>
{
+ /*
+ * Could not generate a wrapper for PurplePlugin in file "plugin.h".
+ * Message: The type could not be resolved (GList * dependent_plugins).
+ */
+
public PurplePlugin()
{
+ throw new NotImplementedException();
}
public PurplePlugin(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurplePlugin)Marshal.PtrToStructure(this.Reference, typeof(_PurplePlugin));
+ throw new NotImplementedException();
}
- public bool native_plugin
- {
- get
- {
- return this.Data.native_plugin;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.native_plugin = value;
- }
- }
-
- public bool loaded
- {
- get
- {
- return this.Data.loaded;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.loaded = value;
- }
- }
-
- public IntPtr handle
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public string path
- {
- get
- {
- return this.Data.path;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.path = value;
- }
- }
-
- public PurplePluginInfo info
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public string error
- {
- get
- {
- return this.Data.error;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.error = value;
- }
- }
-
- public IntPtr ipc_data
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public IntPtr extra
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public bool unloadable
- {
- get
- {
- return this.Data.unloadable;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.unloadable = value;
- }
- }
-
- public GList dependent_plugins
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved1
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved2
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved3
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved4
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurplePlugin
- {
- /*
- * gboolean native_plugin
- */
- bool native_plugin;
-
- /*
- * gboolean loaded
- */
- bool loaded;
-
- /*
- * void * handle
- */
- IntPtr handle;
-
- /*
- * char * path
- */
- string path;
-
- /*
- * PurplePluginInfo * info
- */
- IntPtr info;
-
- /*
- * char * error
- */
- string error;
-
- /*
- * void * ipc_data
- */
- IntPtr ipc_data;
-
- /*
- * void * extra
- */
- IntPtr extra;
-
- /*
- * gboolean unloadable
- */
- bool unloadable;
-
- /*
- * GList * dependent_plugins
- */
- IntPtr dependent_plugins;
-
- /*
- * void (*_purple_reserved1)()
- */
- void _purple_reserved1;
-
- /*
- * void (*_purple_reserved2)()
- */
- void _purple_reserved2;
-
- /*
- * void (*_purple_reserved3)()
- */
- void _purple_reserved3;
-
- /*
- * void (*_purple_reserved4)()
- */
- void _purple_reserved4;
-
- }
+ class _PurplePlugin { }
}
============================================================
--- libpurple/wrapper/PurplePluginAction.cs 4cd3291351280d040a84a7dcfcd7280f35384f3e
+++ libpurple/wrapper/PurplePluginAction.cs e5e262e392739b2b7b1cb56c2c12f48e11d585be
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -135,7 +137,7 @@ namespace PurpleWrapper
string label;
/*
- * void (*callback)( )
+ * void (*callback)(PurplePluginAction * )
*/
void callback;
@@ -155,5 +157,6 @@ namespace PurpleWrapper
IntPtr user_data;
}
+
}
============================================================
--- libpurple/wrapper/PurplePluginInfo.cs 77bd6db85498b2a0aeb1601e7d2bfebf2ea49744
+++ libpurple/wrapper/PurplePluginInfo.cs 12caa8d44a09e12b902a6ca856c923a4e596c213
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,542 +40,24 @@ namespace PurpleWrapper
{
public class PurplePluginInfo : UnmanagedWrapper<_PurplePluginInfo>
{
+ /*
+ * Could not generate a wrapper for PurplePluginInfo in file "plugin.h".
+ * Message: The type could not be resolved (GList * dependencies).
+ */
+
public PurplePluginInfo()
{
+ throw new NotImplementedException();
}
public PurplePluginInfo(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurplePluginInfo)Marshal.PtrToStructure(this.Reference, typeof(_PurplePluginInfo));
+ throw new NotImplementedException();
}
- public unsigned int magic
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public unsigned int major_version
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public unsigned int minor_version
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurplePluginType type
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public string ui_requirement
- {
- get
- {
- return this.Data.ui_requirement;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.ui_requirement = value;
- }
- }
-
- public unsigned long flags
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public GList dependencies
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurplePluginPriority priority
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public string id
- {
- get
- {
- return this.Data.id;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.id = value;
- }
- }
-
- public string name
- {
- get
- {
- return this.Data.name;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.name = value;
- }
- }
-
- public string version
- {
- get
- {
- return this.Data.version;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.version = value;
- }
- }
-
- public string summary
- {
- get
- {
- return this.Data.summary;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.summary = value;
- }
- }
-
- public string description
- {
- get
- {
- return this.Data.description;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.description = value;
- }
- }
-
- public string author
- {
- get
- {
- return this.Data.author;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.author = value;
- }
- }
-
- public string homepage
- {
- get
- {
- return this.Data.homepage;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.homepage = value;
- }
- }
-
- public bool load
- {
- get
- {
- return this.Data.load;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.load = value;
- }
- }
-
- public bool unload
- {
- get
- {
- return this.Data.unload;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.unload = value;
- }
- }
-
- public void destroy
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public IntPtr ui_info
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public IntPtr extra_info
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurplePluginUiInfo prefs_info
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public GList actions
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved1
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved2
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved3
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved4
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurplePluginInfo
- {
- /*
- * unsigned int magic
- */
- UNKNOWN int magic;
-
- /*
- * unsigned int major_version
- */
- UNKNOWN int major_version;
-
- /*
- * unsigned int minor_version
- */
- UNKNOWN int minor_version;
-
- /*
- * PurplePluginType type
- */
- UNKNOWN type;
-
- /*
- * char * ui_requirement
- */
- string ui_requirement;
-
- /*
- * unsigned long flags
- */
- UNKNOWN long flags;
-
- /*
- * GList * dependencies
- */
- IntPtr dependencies;
-
- /*
- * PurplePluginPriority priority
- */
- UNKNOWN priority;
-
- /*
- * char * id
- */
- string id;
-
- /*
- * char * name
- */
- string name;
-
- /*
- * char * version
- */
- string version;
-
- /*
- * char * summary
- */
- string summary;
-
- /*
- * char * description
- */
- string description;
-
- /*
- * char * author
- */
- string author;
-
- /*
- * char * homepage
- */
- string homepage;
-
- /*
- * gboolean (*load)(PurplePlugin * plugin)
- */
- bool load;
-
- /*
- * gboolean (*unload)(PurplePlugin * plugin)
- */
- bool unload;
-
- /*
- * void (*destroy)(PurplePlugin * plugin)
- */
- void destroy;
-
- /*
- * void * ui_info
- */
- IntPtr ui_info;
-
- /*
- * void * extra_info
- */
- IntPtr extra_info;
-
- /*
- * PurplePluginUiInfo * prefs_info
- */
- IntPtr prefs_info;
-
- /*
- * GList * (*actions)(PurplePlugin * plugin, gpointer context)
- */
- IntPtr actions;
-
- /*
- * void (*_purple_reserved1)()
- */
- void _purple_reserved1;
-
- /*
- * void (*_purple_reserved2)()
- */
- void _purple_reserved2;
-
- /*
- * void (*_purple_reserved3)()
- */
- void _purple_reserved3;
-
- /*
- * void (*_purple_reserved4)()
- */
- void _purple_reserved4;
-
- }
+ class _PurplePluginInfo { }
}
============================================================
--- libpurple/wrapper/PurplePluginLoaderInfo.cs 6b51b690a94a2e2c70eeefb7128554e440af19ab
+++ libpurple/wrapper/PurplePluginLoaderInfo.cs 52f7e79f6c6b5c32457744859870ea3635ab5bbc
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,202 +40,24 @@ namespace PurpleWrapper
{
public class PurplePluginLoaderInfo : UnmanagedWrapper<_PurplePluginLoaderInfo>
{
+ /*
+ * Could not generate a wrapper for PurplePluginLoaderInfo in file "plugin.h".
+ * Message: The type could not be resolved (GList * exts).
+ */
+
public PurplePluginLoaderInfo()
{
+ throw new NotImplementedException();
}
public PurplePluginLoaderInfo(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurplePluginLoaderInfo)Marshal.PtrToStructure(this.Reference, typeof(_PurplePluginLoaderInfo));
+ throw new NotImplementedException();
}
- public GList exts
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public bool probe
- {
- get
- {
- return this.Data.probe;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.probe = value;
- }
- }
-
- public bool load
- {
- get
- {
- return this.Data.load;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.load = value;
- }
- }
-
- public bool unload
- {
- get
- {
- return this.Data.unload;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.unload = value;
- }
- }
-
- public void destroy
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved1
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved2
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved3
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved4
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurplePluginLoaderInfo
- {
- /*
- * GList * exts
- */
- IntPtr exts;
-
- /*
- * gboolean (*probe)(PurplePlugin * plugin)
- */
- bool probe;
-
- /*
- * gboolean (*load)(PurplePlugin * plugin)
- */
- bool load;
-
- /*
- * gboolean (*unload)(PurplePlugin * plugin)
- */
- bool unload;
-
- /*
- * void (*destroy)(PurplePlugin * plugin)
- */
- void destroy;
-
- /*
- * void (*_purple_reserved1)()
- */
- void _purple_reserved1;
-
- /*
- * void (*_purple_reserved2)()
- */
- void _purple_reserved2;
-
- /*
- * void (*_purple_reserved3)()
- */
- void _purple_reserved3;
-
- /*
- * void (*_purple_reserved4)()
- */
- void _purple_reserved4;
-
- }
+ class _PurplePluginLoaderInfo { }
}
============================================================
--- libpurple/wrapper/PurplePluginProtocolInfo.cs 673ba3030b371b8a3ba3a1bea66589a719905cfb
+++ libpurple/wrapper/PurplePluginProtocolInfo.cs 1944c717d405e425da5af72ac9114e9e67e27920
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,1402 +40,24 @@ namespace PurpleWrapper
{
public class PurplePluginProtocolInfo : UnmanagedWrapper<_PurplePluginProtocolInfo>
{
+ /*
+ * Could not generate a wrapper for PurplePluginProtocolInfo in file "prpl.h".
+ * Message: The type could not be resolved (GList * user_splits).
+ */
+
public PurplePluginProtocolInfo()
{
+ throw new NotImplementedException();
}
public PurplePluginProtocolInfo(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurplePluginProtocolInfo)Marshal.PtrToStructure(this.Reference, typeof(_PurplePluginProtocolInfo));
+ throw new NotImplementedException();
}
- public PurpleProtocolOptions options
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public GList user_splits
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public GList protocol_options
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleBuddyIconSpec icon_spec
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public const char *(*list_icon)(PurpleAccount *account, PurpleBuddy *buddy)
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public const char *(*list_emblem)(PurpleBuddy *buddy)
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public string status_text
- {
- get
- {
- return this.Data.status_text;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.status_text = value;
- }
- }
-
- public void tooltip_text
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public GList status_types
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public GList blist_node_menu
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public GList chat_info
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public GHashTable chat_info_defaults
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void login
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void close
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public int send_im
- {
- get
- {
- return this.Data.send_im;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.send_im = value;
- }
- }
-
- public void set_info
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public unsigned int (*send_typing)(PurpleConnection *, const char *name, PurpleTypingState state)
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void get_info
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void set_status
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void set_idle
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void change_passwd
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void add_buddy
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void add_buddies
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void remove_buddy
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void remove_buddies
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void add_permit
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void add_deny
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void rem_permit
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void rem_deny
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void set_permit_deny
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void join_chat
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void reject_chat
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public string get_chat_name
- {
- get
- {
- return this.Data.get_chat_name;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.get_chat_name = value;
- }
- }
-
- public void chat_invite
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void chat_leave
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void chat_whisper
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public int chat_send
- {
- get
- {
- return this.Data.chat_send;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.chat_send = value;
- }
- }
-
- public void keepalive
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void register_user
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void get_cb_info
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void get_cb_away
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void alias_buddy
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void group_buddy
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void rename_group
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void buddy_free
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void convo_closed
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public const char *(*normalize)(const PurpleAccount *, const char *who)
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void set_buddy_icon
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void remove_group
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public string get_cb_real_name
- {
- get
- {
- return this.Data.get_cb_real_name;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.get_cb_real_name = value;
- }
- }
-
- public void set_chat_topic
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleChat find_blist_chat
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleRoomlist roomlist_get_list
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void roomlist_cancel
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void roomlist_expand_category
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public bool can_receive_file
- {
- get
- {
- return this.Data.can_receive_file;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.can_receive_file = value;
- }
- }
-
- public void send_file
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleXfer new_xfer
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public bool offline_message
- {
- get
- {
- return this.Data.offline_message;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.offline_message = value;
- }
- }
-
- public PurpleWhiteboardPrplOps whiteboard_prpl_ops
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public int send_raw
- {
- get
- {
- return this.Data.send_raw;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.send_raw = value;
- }
- }
-
- public string roomlist_room_serialize
- {
- get
- {
- return this.Data.roomlist_room_serialize;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.roomlist_room_serialize = value;
- }
- }
-
- public void unregister_user
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public bool send_attention
- {
- get
- {
- return this.Data.send_attention;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.send_attention = value;
- }
- }
-
- public GList get_attention_types
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public unsigned long struct_size
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public GHashTable get_account_text_table
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public bool initiate_media
- {
- get
- {
- return this.Data.initiate_media;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.initiate_media = value;
- }
- }
-
- public PurpleMediaCaps get_media_caps
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurplePluginProtocolInfo
- {
- /*
- * PurpleProtocolOptions options
- */
- UNKNOWN options;
-
- /*
- * GList * user_splits
- */
- IntPtr user_splits;
-
- /*
- * GList * protocol_options
- */
- IntPtr protocol_options;
-
- /*
- * PurpleBuddyIconSpec icon_spec
- */
- UNKNOWN icon_spec;
-
- /*
- * const char *(*list_icon)(PurpleAccount *account, PurpleBuddy *buddy)
- */
- UNKNOWN char *(*list_icon)(PurpleAccount *account, PurpleBuddy *buddy);
-
- /*
- * const char *(*list_emblem)(PurpleBuddy *buddy)
- */
- UNKNOWN char *(*list_emblem)(PurpleBuddy *buddy);
-
- /*
- * char * (*status_text)(PurpleBuddy * buddy)
- */
- string status_text;
-
- /*
- * void (*tooltip_text)(PurpleBuddy * buddy, PurpleNotifyUserInfo * user_info, gboolean full)
- */
- void tooltip_text;
-
- /*
- * GList * (*status_types)(PurpleAccount * account)
- */
- IntPtr status_types;
-
- /*
- * GList * (*blist_node_menu)(PurpleBlistNode * node)
- */
- IntPtr blist_node_menu;
-
- /*
- * GList * (*chat_info)( )
- */
- IntPtr chat_info;
-
- /*
- * GHashTable * (*chat_info_defaults)( , char * chat_name)
- */
- IntPtr chat_info_defaults;
-
- /*
- * void (*login)( )
- */
- void login;
-
- /*
- * void (*close)( )
- */
- void close;
-
- /*
- * int (*send_im)( , char * who, char * message, PurpleMessageFlags flags)
- */
- int send_im;
-
- /*
- * void (*set_info)( , char * info)
- */
- void set_info;
-
- /*
- * unsigned int (*send_typing)(PurpleConnection *, const char *name, PurpleTypingState state)
- */
- UNKNOWN int (*send_typing)(PurpleConnection *, const char *name, PurpleTypingState state);
-
- /*
- * void (*get_info)( , char * who)
- */
- void get_info;
-
- /*
- * void (*set_status)(PurpleAccount * account, PurpleStatus * status)
- */
- void set_status;
-
- /*
- * void (*set_idle)( , int idletime)
- */
- void set_idle;
-
- /*
- * void (*change_passwd)( , char * old_pass, char * new_pass)
- */
- void change_passwd;
-
- /*
- * void (*add_buddy)( , PurpleBuddy * buddy, PurpleGroup * group)
- */
- void add_buddy;
-
- /*
- * void (*add_buddies)( , GList * buddies, GList * groups)
- */
- void add_buddies;
-
- /*
- * void (*remove_buddy)( , PurpleBuddy * buddy, PurpleGroup * group)
- */
- void remove_buddy;
-
- /*
- * void (*remove_buddies)( , GList * buddies, GList * groups)
- */
- void remove_buddies;
-
- /*
- * void (*add_permit)( , char * name)
- */
- void add_permit;
-
- /*
- * void (*add_deny)( , char * name)
- */
- void add_deny;
-
- /*
- * void (*rem_permit)( , char * name)
- */
- void rem_permit;
-
- /*
- * void (*rem_deny)( , char * name)
- */
- void rem_deny;
-
- /*
- * void (*set_permit_deny)( )
- */
- void set_permit_deny;
-
- /*
- * void (*join_chat)( , GHashTable * components)
- */
- void join_chat;
-
- /*
- * void (*reject_chat)( , GHashTable * components)
- */
- void reject_chat;
-
- /*
- * char * (*get_chat_name)(GHashTable * components)
- */
- string get_chat_name;
-
- /*
- * void (*chat_invite)( , int id, char * message, char * who)
- */
- void chat_invite;
-
- /*
- * void (*chat_leave)( , int id)
- */
- void chat_leave;
-
- /*
- * void (*chat_whisper)( , int id, char * who, char * message)
- */
- void chat_whisper;
-
- /*
- * int (*chat_send)( , int id, char * message, PurpleMessageFlags flags)
- */
- int chat_send;
-
- /*
- * void (*keepalive)( )
- */
- void keepalive;
-
- /*
- * void (*register_user)( )
- */
- void register_user;
-
- /*
- * void (*get_cb_info)( , , char * who)
- */
- void get_cb_info;
-
- /*
- * void (*get_cb_away)( , , char * who)
- */
- void get_cb_away;
-
- /*
- * void (*alias_buddy)( , char * who, char * alias)
- */
- void alias_buddy;
-
- /*
- * void (*group_buddy)( , char * who, char * old_group, char * new_group)
- */
- void group_buddy;
-
- /*
- * void (*rename_group)( , char * old_name, PurpleGroup * group, GList * moved_buddies)
- */
- void rename_group;
-
- /*
- * void (*buddy_free)( )
- */
- void buddy_free;
-
- /*
- * void (*convo_closed)( , char * who)
- */
- void convo_closed;
-
- /*
- * const char *(*normalize)(const PurpleAccount *, const char *who)
- */
- UNKNOWN char *(*normalize)(const PurpleAccount *, const char *who);
-
- /*
- * void (*set_buddy_icon)( , PurpleStoredImage * img)
- */
- void set_buddy_icon;
-
- /*
- * void (*remove_group)(PurpleConnection * gc, PurpleGroup * group)
- */
- void remove_group;
-
- /*
- * char * (*get_cb_real_name)(PurpleConnection * gc, int id, char * who)
- */
- string get_cb_real_name;
-
- /*
- * void (*set_chat_topic)(PurpleConnection * gc, int id, char * topic)
- */
- void set_chat_topic;
-
- /*
- * PurpleChat * (*find_blist_chat)(PurpleAccount * account, char * name)
- */
- IntPtr find_blist_chat;
-
- /*
- * PurpleRoomlist * (*roomlist_get_list)(PurpleConnection * gc)
- */
- IntPtr roomlist_get_list;
-
- /*
- * void (*roomlist_cancel)(PurpleRoomlist * list)
- */
- void roomlist_cancel;
-
- /*
- * void (*roomlist_expand_category)(PurpleRoomlist * list, PurpleRoomlistRoom * category)
- */
- void roomlist_expand_category;
-
- /*
- * gboolean (*can_receive_file)( , char * who)
- */
- bool can_receive_file;
-
- /*
- * void (*send_file)( , char * who, char * filename)
- */
- void send_file;
-
- /*
- * PurpleXfer * (*new_xfer)( , char * who)
- */
- IntPtr new_xfer;
-
- /*
- * gboolean (*offline_message)(PurpleBuddy * buddy)
- */
- bool offline_message;
-
- /*
- * PurpleWhiteboardPrplOps * whiteboard_prpl_ops
- */
- IntPtr whiteboard_prpl_ops;
-
- /*
- * int (*send_raw)(PurpleConnection * gc, char * buf, int len)
- */
- int send_raw;
-
- /*
- * char * (*roomlist_room_serialize)(PurpleRoomlistRoom * room)
- */
- string roomlist_room_serialize;
-
- /*
- * void (*unregister_user)( , PurpleAccountUnregistrationCb cb, void * user_data)
- */
- void unregister_user;
-
- /*
- * gboolean (*send_attention)(PurpleConnection * gc, char * username, guint type)
- */
- bool send_attention;
-
- /*
- * GList * (*get_attention_types)(PurpleAccount * acct)
- */
- IntPtr get_attention_types;
-
- /*
- * unsigned long struct_size
- */
- UNKNOWN long struct_size;
-
- /*
- * GHashTable * (*get_account_text_table)(PurpleAccount * account)
- */
- IntPtr get_account_text_table;
-
- /*
- * gboolean (*initiate_media)(PurpleAccount * account, char * who, PurpleMediaSessionType type)
- */
- bool initiate_media;
-
- /*
- * PurpleMediaCaps (*get_media_caps)(PurpleAccount * account, char * who)
- */
- UNKNOWN get_media_caps;
-
- }
+ class _PurplePluginProtocolInfo { }
}
============================================================
--- libpurple/wrapper/PurplePluginUiInfo.cs d44b1f15f1472669ab1ffdbd57ac38d3a411e627
+++ libpurple/wrapper/PurplePluginUiInfo.cs c81b5347ad038129b014796d65c543ca5c08b96e
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,162 +40,24 @@ namespace PurpleWrapper
{
public class PurplePluginUiInfo : UnmanagedWrapper<_PurplePluginUiInfo>
{
+ /*
+ * Could not generate a wrapper for PurplePluginUiInfo in file "plugin.h".
+ * Message: The type could not be resolved (PurplePluginPrefFrame * (*get_plugin_pref_frame)(PurplePlugin * plugin)).
+ */
+
public PurplePluginUiInfo()
{
+ throw new NotImplementedException();
}
public PurplePluginUiInfo(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurplePluginUiInfo)Marshal.PtrToStructure(this.Reference, typeof(_PurplePluginUiInfo));
+ throw new NotImplementedException();
}
- public PurplePluginPrefFrame get_plugin_pref_frame
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public int page_num
- {
- get
- {
- return this.Data.page_num;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.page_num = value;
- }
- }
-
- public PurplePluginPrefFrame frame
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved1
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved2
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved3
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved4
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurplePluginUiInfo
- {
- /*
- * PurplePluginPrefFrame * (*get_plugin_pref_frame)(PurplePlugin * plugin)
- */
- IntPtr get_plugin_pref_frame;
-
- /*
- * int page_num
- */
- int page_num;
-
- /*
- * PurplePluginPrefFrame * frame
- */
- IntPtr frame;
-
- /*
- * void (*_purple_reserved1)()
- */
- void _purple_reserved1;
-
- /*
- * void (*_purple_reserved2)()
- */
- void _purple_reserved2;
-
- /*
- * void (*_purple_reserved3)()
- */
- void _purple_reserved3;
-
- /*
- * void (*_purple_reserved4)()
- */
- void _purple_reserved4;
-
- }
+ class _PurplePluginUiInfo { }
}
============================================================
--- libpurple/wrapper/PurplePounce.cs c806f60a8c94c13e33a0ca53e67fd5025a76fb06
+++ libpurple/wrapper/PurplePounce.cs aa3c273f48dba7ac7d871826eb758b8cd2eabdd2
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,182 +40,24 @@ namespace PurpleWrapper
{
public class PurplePounce : UnmanagedWrapper<_PurplePounce>
{
+ /*
+ * Could not generate a wrapper for PurplePounce in file "pounce.h".
+ * Message: The type could not be resolved (GHashTable * actions).
+ */
+
public PurplePounce()
{
+ throw new NotImplementedException();
}
public PurplePounce(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurplePounce)Marshal.PtrToStructure(this.Reference, typeof(_PurplePounce));
+ throw new NotImplementedException();
}
- public string ui_type
- {
- get
- {
- return this.Data.ui_type;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.ui_type = value;
- }
- }
-
- public PurplePounceEvent events
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurplePounceOption options
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleAccount pouncer
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public string pouncee
- {
- get
- {
- return this.Data.pouncee;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.pouncee = value;
- }
- }
-
- public GHashTable actions
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public bool save
- {
- get
- {
- return this.Data.save;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.save = value;
- }
- }
-
- public IntPtr data
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurplePounce
- {
- /*
- * char * ui_type
- */
- string ui_type;
-
- /*
- * PurplePounceEvent events
- */
- UNKNOWN events;
-
- /*
- * PurplePounceOption options
- */
- UNKNOWN options;
-
- /*
- * PurpleAccount * pouncer
- */
- IntPtr pouncer;
-
- /*
- * char * pouncee
- */
- string pouncee;
-
- /*
- * GHashTable * actions
- */
- IntPtr actions;
-
- /*
- * gboolean save
- */
- bool save;
-
- /*
- * void * data
- */
- IntPtr data;
-
- }
+ class _PurplePounce { }
}
============================================================
--- libpurple/wrapper/PurpleRequestField.cs 82ed38c768253b58f4db7c62d30de741fc25aebd
+++ libpurple/wrapper/PurpleRequestField.cs 23572808938c1b55a33d77870ed7caa7d6e8ffd6
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,709 +40,24 @@ namespace PurpleWrapper
{
public class PurpleRequestField : UnmanagedWrapper<_PurpleRequestField>
{
+ /*
+ * Could not generate a wrapper for PurpleRequestField in file "request.h".
+ * Message: The type could not be resolved (PurpleRequestFieldGroup * group).
+ */
+
public PurpleRequestField()
{
+ throw new NotImplementedException();
}
public PurpleRequestField(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurpleRequestField)Marshal.PtrToStructure(this.Reference, typeof(_PurpleRequestField));
+ throw new NotImplementedException();
}
- public PurpleRequestFieldType type
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleRequestFieldGroup group
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public string id
- {
- get
- {
- return this.Data.id;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.id = value;
- }
- }
-
- public string label
- {
- get
- {
- return this.Data.label;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.label = value;
- }
- }
-
- public string type_hint
- {
- get
- {
- return this.Data.type_hint;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.type_hint = value;
- }
- }
-
- public bool visible
- {
- get
- {
- return this.Data.visible;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.visible = value;
- }
- }
-
- public bool required
- {
- get
- {
- return this.Data.required;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.required = value;
- }
- }
-
- public union {
- struct
- {
- gboolean multiline
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public bool masked
- {
- get
- {
- return this.Data.masked;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.masked = value;
- }
- }
-
- public bool editable
- {
- get
- {
- return this.Data.editable;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.editable = value;
- }
- }
-
- public string default_value
- {
- get
- {
- return this.Data.default_value;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.default_value = value;
- }
- }
-
- public string value
- {
- get
- {
- return this.Data.value;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.value = value;
- }
- }
-
- public struct {
- int default_value
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public int value
- {
- get
- {
- return this.Data.value;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.value = value;
- }
- }
-
- public struct {
- gboolean default_value
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public bool value
- {
- get
- {
- return this.Data.value;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.value = value;
- }
- }
-
- public struct {
- int default_value
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public int value
- {
- get
- {
- return this.Data.value;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.value = value;
- }
- }
-
- public GList labels
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public struct {
- GList *items
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public GHashTable item_data
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public GList selected
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public GHashTable selected_table
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public bool multiple_selection
- {
- get
- {
- return this.Data.multiple_selection;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.multiple_selection = value;
- }
- }
-
- public struct {
- PurpleAccount *default_account
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleAccount account
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public bool show_all
- {
- get
- {
- return this.Data.show_all;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.show_all = value;
- }
- }
-
- public PurpleFilterAccountFunc filter_func
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public struct {
- unsigned int scale_x
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public unsigned int scale_y
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public const char *buffer
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public gsize size
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public IntPtr ui_data
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurpleRequestField
- {
- /*
- * PurpleRequestFieldType type
- */
- UNKNOWN type;
-
- /*
- * PurpleRequestFieldGroup * group
- */
- IntPtr group;
-
- /*
- * char * id
- */
- string id;
-
- /*
- * char * label
- */
- string label;
-
- /*
- * char * type_hint
- */
- string type_hint;
-
- /*
- * gboolean visible
- */
- bool visible;
-
- /*
- * gboolean required
- */
- bool required;
-
- /*
- * union {
- struct
- {
- gboolean multiline
- */
- UNKNOWN {
- struct
- {
- gboolean multiline;
-
- /*
- * gboolean masked
- */
- bool masked;
-
- /*
- * gboolean editable
- */
- bool editable;
-
- /*
- * char * default_value
- */
- string default_value;
-
- /*
- * char * value
- */
- string value;
-
- /*
- * struct {
- int default_value
- */
- UNKNOWN {
- int default_value;
-
- /*
- * int value
- */
- int value;
-
- /*
- * struct {
- gboolean default_value
- */
- UNKNOWN {
- gboolean default_value;
-
- /*
- * gboolean value
- */
- bool value;
-
- /*
- * struct {
- int default_value
- */
- UNKNOWN {
- int default_value;
-
- /*
- * int value
- */
- int value;
-
- /*
- * GList * labels
- */
- IntPtr labels;
-
- /*
- * struct {
- GList *items
- */
- UNKNOWN {
- GList *items;
-
- /*
- * GHashTable * item_data
- */
- IntPtr item_data;
-
- /*
- * GList * selected
- */
- IntPtr selected;
-
- /*
- * GHashTable * selected_table
- */
- IntPtr selected_table;
-
- /*
- * gboolean multiple_selection
- */
- bool multiple_selection;
-
- /*
- * struct {
- PurpleAccount *default_account
- */
- UNKNOWN {
- PurpleAccount *default_account;
-
- /*
- * PurpleAccount * account
- */
- IntPtr account;
-
- /*
- * gboolean show_all
- */
- bool show_all;
-
- /*
- * PurpleFilterAccountFunc filter_func
- */
- UNKNOWN filter_func;
-
- /*
- * struct {
- unsigned int scale_x
- */
- UNKNOWN {
- unsigned int scale_x;
-
- /*
- * unsigned int scale_y
- */
- UNKNOWN int scale_y;
-
- /*
- * const char *buffer
- */
- UNKNOWN char *buffer;
-
- /*
- * gsize size
- */
- UNKNOWN size;
-
- /*
- * void * ui_data
- */
- IntPtr ui_data;
-
- }
+ class _PurpleRequestField { }
}
============================================================
--- libpurple/wrapper/PurpleRoomlist.cs 08642c5fed77f18bdeea8bf7ff313ac3b712f300
+++ libpurple/wrapper/PurpleRoomlist.cs a69f10dde661444849aecc63c2799b27db5f584f
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,162 +40,24 @@ namespace PurpleWrapper
{
public class PurpleRoomlist : UnmanagedWrapper<_PurpleRoomlist>
{
+ /*
+ * Could not generate a wrapper for PurpleRoomlist in file "roomlist.h".
+ * Message: The type could not be resolved (GList * fields).
+ */
+
public PurpleRoomlist()
{
+ throw new NotImplementedException();
}
public PurpleRoomlist(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurpleRoomlist)Marshal.PtrToStructure(this.Reference, typeof(_PurpleRoomlist));
+ throw new NotImplementedException();
}
- public PurpleAccount account
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public GList fields
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public GList rooms
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public bool in_progress
- {
- get
- {
- return this.Data.in_progress;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.in_progress = value;
- }
- }
-
- public IntPtr ui_data
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public IntPtr proto_data
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public uint ref
- {
- get
- {
- return this.Data.ref;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.ref = value;
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurpleRoomlist
- {
- /*
- * PurpleAccount * account
- */
- IntPtr account;
-
- /*
- * GList * fields
- */
- IntPtr fields;
-
- /*
- * GList * rooms
- */
- IntPtr rooms;
-
- /*
- * gboolean in_progress
- */
- bool in_progress;
-
- /*
- * gpointer ui_data
- */
- IntPtr ui_data;
-
- /*
- * gpointer proto_data
- */
- IntPtr proto_data;
-
- /*
- * guint ref
- */
- uint ref;
-
- }
+ class _PurpleRoomlist { }
}
============================================================
--- libpurple/wrapper/PurpleRoomlistField.cs 54abfd05f6a266d97f37d3269d095dc164409ab0
+++ libpurple/wrapper/PurpleRoomlistField.cs 1f0ee7edf5e19521d54a4387c123ef8b701c7760
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -48,7 +50,7 @@ namespace PurpleWrapper
this.Data = (_PurpleRoomlistField)Marshal.PtrToStructure(this.Reference, typeof(_PurpleRoomlistField));
}
- public PurpleRoomlistFieldType type
+ public Roomlist.PurpleRoomlistFieldType type
{
get
{
@@ -117,7 +119,7 @@ namespace PurpleWrapper
/*
* PurpleRoomlistFieldType type
*/
- UNKNOWN type;
+ Roomlist.PurpleRoomlistFieldType type;
/*
* gchar * label
@@ -135,5 +137,6 @@ namespace PurpleWrapper
bool hidden;
}
+
}
============================================================
--- libpurple/wrapper/PurpleRoomlistRoom.cs f6f805c34e479e361dceb39d429b642abb7ec604
+++ libpurple/wrapper/PurpleRoomlistRoom.cs e2c7312a4d1405f988e5f660c2f9156939678f01
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,122 +40,24 @@ namespace PurpleWrapper
{
public class PurpleRoomlistRoom : UnmanagedWrapper<_PurpleRoomlistRoom>
{
+ /*
+ * Could not generate a wrapper for PurpleRoomlistRoom in file "roomlist.h".
+ * Message: The type could not be resolved (GList * fields).
+ */
+
public PurpleRoomlistRoom()
{
+ throw new NotImplementedException();
}
public PurpleRoomlistRoom(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurpleRoomlistRoom)Marshal.PtrToStructure(this.Reference, typeof(_PurpleRoomlistRoom));
+ throw new NotImplementedException();
}
- public PurpleRoomlistRoomType type
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public string name
- {
- get
- {
- return this.Data.name;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.name = value;
- }
- }
-
- public GList fields
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleRoomlistRoom parent
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public bool expanded_once
- {
- get
- {
- return this.Data.expanded_once;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.expanded_once = value;
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurpleRoomlistRoom
- {
- /*
- * PurpleRoomlistRoomType type
- */
- UNKNOWN type;
-
- /*
- * gchar * name
- */
- string name;
-
- /*
- * GList * fields
- */
- IntPtr fields;
-
- /*
- * PurpleRoomlistRoom * parent
- */
- IntPtr parent;
-
- /*
- * gboolean expanded_once
- */
- bool expanded_once;
-
- }
+ class _PurpleRoomlistRoom { }
}
============================================================
--- libpurple/wrapper/PurpleRoomlistUiOps.cs 17f0fe2a6a13145b9f8d7cc8384b2220df208ddc
+++ libpurple/wrapper/PurpleRoomlistUiOps.cs 5d66a1512c93e587e6d66d4df72be59582272e44
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -138,7 +140,7 @@ namespace PurpleWrapper
}
}
- public void _purple_reserved1
+ public void purple_reserved1
{
get
{
@@ -153,7 +155,7 @@ namespace PurpleWrapper
}
}
- public void _purple_reserved2
+ public void purple_reserved2
{
get
{
@@ -168,7 +170,7 @@ namespace PurpleWrapper
}
}
- public void _purple_reserved3
+ public void purple_reserved3
{
get
{
@@ -183,7 +185,7 @@ namespace PurpleWrapper
}
}
- public void _purple_reserved4
+ public void purple_reserved4
{
get
{
@@ -235,25 +237,26 @@ namespace PurpleWrapper
void destroy;
/*
- * void (*_purple_reserved1)()
+ * void (*purple_reserved1)()
*/
- void _purple_reserved1;
+ void purple_reserved1;
/*
- * void (*_purple_reserved2)()
+ * void (*purple_reserved2)()
*/
- void _purple_reserved2;
+ void purple_reserved2;
/*
- * void (*_purple_reserved3)()
+ * void (*purple_reserved3)()
*/
- void _purple_reserved3;
+ void purple_reserved3;
/*
- * void (*_purple_reserved4)()
+ * void (*purple_reserved4)()
*/
- void _purple_reserved4;
+ void purple_reserved4;
}
+
}
============================================================
--- libpurple/wrapper/PurpleSoundTheme.cs 646b0d842501cc124b0d882d53e7f9c458cf0c63
+++ libpurple/wrapper/PurpleSoundTheme.cs 29786753dc631b46e5a921515b87baccb7592f86
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,62 +40,24 @@ namespace PurpleWrapper
{
public class PurpleSoundTheme : UnmanagedWrapper<_PurpleSoundTheme>
{
+ /*
+ * Could not generate a wrapper for PurpleSoundTheme in file "sound-theme.h".
+ * Message: The type resolved to a known struct but not a pointer to that struct (PurpleTheme parent).
+ */
+
public PurpleSoundTheme()
{
+ throw new NotImplementedException();
}
public PurpleSoundTheme(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurpleSoundTheme)Marshal.PtrToStructure(this.Reference, typeof(_PurpleSoundTheme));
+ throw new NotImplementedException();
}
- public PurpleTheme parent
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public IntPtr priv
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurpleSoundTheme
- {
- /*
- * PurpleTheme parent
- */
- UNKNOWN parent;
-
- /*
- * gpointer priv
- */
- IntPtr priv;
-
- }
+ class _PurpleSoundTheme { }
}
============================================================
--- libpurple/wrapper/PurpleSoundThemeClass.cs 4ba0beb14540e0f3ab3804f9c031264b2b41509d
+++ libpurple/wrapper/PurpleSoundThemeClass.cs cec1b106cac87c218a66ac715ab06ca5690509c4
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,42 +40,24 @@ namespace PurpleWrapper
{
public class PurpleSoundThemeClass : UnmanagedWrapper<_PurpleSoundThemeClass>
{
+ /*
+ * Could not generate a wrapper for PurpleSoundThemeClass in file "sound-theme.h".
+ * Message: The type resolved to a known struct but not a pointer to that struct (PurpleThemeClass parent_class).
+ */
+
public PurpleSoundThemeClass()
{
+ throw new NotImplementedException();
}
public PurpleSoundThemeClass(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurpleSoundThemeClass)Marshal.PtrToStructure(this.Reference, typeof(_PurpleSoundThemeClass));
+ throw new NotImplementedException();
}
- public PurpleThemeClass parent_class
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurpleSoundThemeClass
- {
- /*
- * PurpleThemeClass parent_class
- */
- UNKNOWN parent_class;
-
- }
+ class _PurpleSoundThemeClass { }
}
============================================================
--- libpurple/wrapper/PurpleSoundThemeLoader.cs 4874060a52b4fd847d08bef980ea09edc82de4d6
+++ libpurple/wrapper/PurpleSoundThemeLoader.cs e64db4d0b9b27f8b25b81ce815f0fe1dc22eabcf
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,42 +40,24 @@ namespace PurpleWrapper
{
public class PurpleSoundThemeLoader : UnmanagedWrapper<_PurpleSoundThemeLoader>
{
+ /*
+ * Could not generate a wrapper for PurpleSoundThemeLoader in file "sound-theme-loader.h".
+ * Message: The type resolved to a known struct but not a pointer to that struct (PurpleThemeLoader parent).
+ */
+
public PurpleSoundThemeLoader()
{
+ throw new NotImplementedException();
}
public PurpleSoundThemeLoader(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurpleSoundThemeLoader)Marshal.PtrToStructure(this.Reference, typeof(_PurpleSoundThemeLoader));
+ throw new NotImplementedException();
}
- public PurpleThemeLoader parent
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurpleSoundThemeLoader
- {
- /*
- * PurpleThemeLoader parent
- */
- UNKNOWN parent;
-
- }
+ class _PurpleSoundThemeLoader { }
}
============================================================
--- libpurple/wrapper/PurpleSoundThemeLoaderClass.cs 51ca03c6c82c4f1f2be42b4ce56b7847203c3764
+++ libpurple/wrapper/PurpleSoundThemeLoaderClass.cs c1f9aac9f01113e0f1b32764234bca3c5b35dde1
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,42 +40,24 @@ namespace PurpleWrapper
{
public class PurpleSoundThemeLoaderClass : UnmanagedWrapper<_PurpleSoundThemeLoaderClass>
{
+ /*
+ * Could not generate a wrapper for PurpleSoundThemeLoaderClass in file "sound-theme-loader.h".
+ * Message: The type resolved to a known struct but not a pointer to that struct (PurpleThemeLoaderClass parent_class).
+ */
+
public PurpleSoundThemeLoaderClass()
{
+ throw new NotImplementedException();
}
public PurpleSoundThemeLoaderClass(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurpleSoundThemeLoaderClass)Marshal.PtrToStructure(this.Reference, typeof(_PurpleSoundThemeLoaderClass));
+ throw new NotImplementedException();
}
- public PurpleThemeLoaderClass parent_class
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurpleSoundThemeLoaderClass
- {
- /*
- * PurpleThemeLoaderClass parent_class
- */
- UNKNOWN parent_class;
-
- }
+ class _PurpleSoundThemeLoaderClass { }
}
============================================================
--- libpurple/wrapper/PurpleSrvResponse.cs 71a8af48e75675384fa20f8c75bf61827ecf691e
+++ libpurple/wrapper/PurpleSrvResponse.cs 58bdb110febc7499c250e37c1d5817602aa53185
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -135,5 +137,6 @@ namespace PurpleWrapper
int pref;
}
+
}
============================================================
--- libpurple/wrapper/PurpleSslConnection.cs 59cfad734514f9e61db3176c344193bfe98e2e30
+++ libpurple/wrapper/PurpleSslConnection.cs a6abbd460edef2ac64961aa426f28b1825162f45
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,262 +40,24 @@ namespace PurpleWrapper
{
public class PurpleSslConnection : UnmanagedWrapper<_PurpleSslConnection>
{
+ /*
+ * Could not generate a wrapper for PurpleSslConnection in file "sslconn.h".
+ * Message: The struct contains an object that resolves to a function pointer (PurpleSslInputFunction connect_cb).
+ */
+
public PurpleSslConnection()
{
+ throw new NotImplementedException();
}
public PurpleSslConnection(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurpleSslConnection)Marshal.PtrToStructure(this.Reference, typeof(_PurpleSslConnection));
+ throw new NotImplementedException();
}
- public string host
- {
- get
- {
- return this.Data.host;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.host = value;
- }
- }
-
- public int port
- {
- get
- {
- return this.Data.port;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.port = value;
- }
- }
-
- public IntPtr connect_cb_data
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleSslInputFunction connect_cb
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleSslErrorFunction error_cb
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public IntPtr recv_cb_data
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleSslInputFunction recv_cb
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public int fd
- {
- get
- {
- return this.Data.fd;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.fd = value;
- }
- }
-
- public uint inpa
- {
- get
- {
- return this.Data.inpa;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.inpa = value;
- }
- }
-
- public PurpleProxyConnectData connect_data
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public IntPtr private_data
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleCertificateVerifier verifier
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurpleSslConnection
- {
- /*
- * char * host
- */
- string host;
-
- /*
- * int port
- */
- int port;
-
- /*
- * void * connect_cb_data
- */
- IntPtr connect_cb_data;
-
- /*
- * PurpleSslInputFunction connect_cb
- */
- UNKNOWN connect_cb;
-
- /*
- * PurpleSslErrorFunction error_cb
- */
- UNKNOWN error_cb;
-
- /*
- * void * recv_cb_data
- */
- IntPtr recv_cb_data;
-
- /*
- * PurpleSslInputFunction recv_cb
- */
- UNKNOWN recv_cb;
-
- /*
- * int fd
- */
- int fd;
-
- /*
- * guint inpa
- */
- uint inpa;
-
- /*
- * PurpleProxyConnectData * connect_data
- */
- IntPtr connect_data;
-
- /*
- * void * private_data
- */
- IntPtr private_data;
-
- /*
- * PurpleCertificateVerifier * verifier
- */
- IntPtr verifier;
-
- }
+ class _PurpleSslConnection { }
}
============================================================
--- libpurple/wrapper/PurpleStunNatDiscovery.cs 1e6c28d62d9b005d7a9952b652320b84fc3005b3
+++ libpurple/wrapper/PurpleStunNatDiscovery.cs 52463e3ebaf3d5e974d55595cac98aaacc031e2b
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -48,7 +50,7 @@ namespace PurpleWrapper
this.Data = (_PurpleStunNatDiscovery)Marshal.PtrToStructure(this.Reference, typeof(_PurpleStunNatDiscovery));
}
- public PurpleStunStatus status
+ public Stun.PurpleStunStatus status
{
get
{
@@ -63,7 +65,7 @@ namespace PurpleWrapper
}
}
- public PurpleStunNatType type
+ public Stun.PurpleStunNatType type
{
get
{
@@ -108,7 +110,7 @@ namespace PurpleWrapper
}
}
- public time_t lookup_time
+ public DateTime lookup_time
{
get
{
@@ -132,12 +134,12 @@ namespace PurpleWrapper
/*
* PurpleStunStatus status
*/
- UNKNOWN status;
+ Stun.PurpleStunStatus status;
/*
* PurpleStunNatType type
*/
- UNKNOWN type;
+ Stun.PurpleStunNatType type;
/*
* char publicip[16]
@@ -152,8 +154,9 @@ namespace PurpleWrapper
/*
* time_t lookup_time
*/
- UNKNOWN lookup_time;
+ ulong lookup_time;
}
+
}
============================================================
--- libpurple/wrapper/PurpleTheme.cs 850e7391336f48f1b6978f691c3c96339f44b240
+++ libpurple/wrapper/PurpleTheme.cs 939df3028a452bed02c28f81ae5b9279b3b66c71
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -48,7 +50,7 @@ namespace PurpleWrapper
this.Data = (_PurpleTheme)Marshal.PtrToStructure(this.Reference, typeof(_PurpleTheme));
}
- public GObject parent
+ public /* libgobject */ IntPtr parent
{
get
{
@@ -87,7 +89,7 @@ namespace PurpleWrapper
/*
* GObject parent
*/
- UNKNOWN parent;
+ IntPtr parent;
/*
* gpointer priv
@@ -95,5 +97,6 @@ namespace PurpleWrapper
IntPtr priv;
}
+
}
============================================================
--- libpurple/wrapper/PurpleThemeClass.cs 63bbdf64916118dff29160be0e785b73eb9527db
+++ libpurple/wrapper/PurpleThemeClass.cs 8ef2fdec00651938efe393d5476c7def81b4ac82
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -48,7 +50,7 @@ namespace PurpleWrapper
this.Data = (_PurpleThemeClass)Marshal.PtrToStructure(this.Reference, typeof(_PurpleThemeClass));
}
- public GObjectClass parent_class
+ public /* libgobject */ IntPtr parent_class
{
get
{
@@ -72,8 +74,9 @@ namespace PurpleWrapper
/*
* GObjectClass parent_class
*/
- UNKNOWN parent_class;
+ IntPtr parent_class;
}
+
}
============================================================
--- libpurple/wrapper/PurpleThemeLoader.cs 8c2e4a3d0d1061e6b03a452d89e39a5aa7fd3d66
+++ libpurple/wrapper/PurpleThemeLoader.cs fdebb6118fb87d35214d10697b2337dc02ec2ae0
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -48,7 +50,7 @@ namespace PurpleWrapper
this.Data = (_PurpleThemeLoader)Marshal.PtrToStructure(this.Reference, typeof(_PurpleThemeLoader));
}
- public GObject parent
+ public /* libgobject */ IntPtr parent
{
get
{
@@ -87,7 +89,7 @@ namespace PurpleWrapper
/*
* GObject parent
*/
- UNKNOWN parent;
+ IntPtr parent;
/*
* gpointer priv
@@ -95,5 +97,6 @@ namespace PurpleWrapper
IntPtr priv;
}
+
}
============================================================
--- libpurple/wrapper/PurpleThemeLoaderClass.cs e1b1ccc78ad0b7f7993f6ce81deb27695b971f77
+++ libpurple/wrapper/PurpleThemeLoaderClass.cs db187cd529e825bc07d331cf9c9c73f2d3afbebf
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -48,7 +50,7 @@ namespace PurpleWrapper
this.Data = (_PurpleThemeLoaderClass)Marshal.PtrToStructure(this.Reference, typeof(_PurpleThemeLoaderClass));
}
- public GObjectClass parent_class
+ public /* libgobject */ IntPtr parent_class
{
get
{
@@ -87,7 +89,7 @@ namespace PurpleWrapper
/*
* GObjectClass parent_class
*/
- UNKNOWN parent_class;
+ IntPtr parent_class;
/*
* PurpleTheme * ((*purple_theme_loader_build)(const gchar*))
@@ -95,5 +97,6 @@ namespace PurpleWrapper
IntPtr ((*purple_theme_loader_build)(const gchar*));
}
+
}
============================================================
--- libpurple/wrapper/PurpleThemeManager.cs 28677fb8db28b583ea3c80b57d9b33137444c9a5
+++ libpurple/wrapper/PurpleThemeManager.cs af0701640d2dd00c001f498cab2a39826f3c3b27
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -48,7 +50,7 @@ namespace PurpleWrapper
this.Data = (_PurpleThemeManager)Marshal.PtrToStructure(this.Reference, typeof(_PurpleThemeManager));
}
- public GObject parent
+ public /* libgobject */ IntPtr parent
{
get
{
@@ -72,8 +74,9 @@ namespace PurpleWrapper
/*
* GObject parent
*/
- UNKNOWN parent;
+ IntPtr parent;
}
+
}
============================================================
--- libpurple/wrapper/PurpleThemeManagerClass.cs 66901bd9b2fd40cdb3b94d8861e71f19e1ede31f
+++ libpurple/wrapper/PurpleThemeManagerClass.cs f2956a2743a0088a98b6e8d8997225f9414fa430
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -48,7 +50,7 @@ namespace PurpleWrapper
this.Data = (_PurpleThemeManagerClass)Marshal.PtrToStructure(this.Reference, typeof(_PurpleThemeManagerClass));
}
- public GObjectClass parent_class
+ public /* libgobject */ IntPtr parent_class
{
get
{
@@ -72,8 +74,9 @@ namespace PurpleWrapper
/*
* GObjectClass parent_class
*/
- UNKNOWN parent_class;
+ IntPtr parent_class;
}
+
}
============================================================
--- libpurple/wrapper/PurpleWhiteboard.cs 4047f484a13bd44b7207c627694aa1243d7cdb60
+++ libpurple/wrapper/PurpleWhiteboard.cs 272f8f273e548a37a16274573d15b5dba592dc43
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,634 +40,24 @@ namespace PurpleWrapper
{
public class PurpleWhiteboard : UnmanagedWrapper<_PurpleWhiteboard>
{
+ /*
+ * Could not generate a wrapper for PurpleWhiteboard in file "whiteboard.h".
+ * Message: The type could not be resolved (GList * draw_list).
+ */
+
public PurpleWhiteboard()
{
+ throw new NotImplementedException();
}
public PurpleWhiteboard(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurpleWhiteboard)Marshal.PtrToStructure(this.Reference, typeof(_PurpleWhiteboard));
+ throw new NotImplementedException();
}
- public int state
- {
- get
- {
- return this.Data.state;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.state = value;
- }
- }
-
- public PurpleAccount account
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public string who
- {
- get
- {
- return this.Data.who;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.who = value;
- }
- }
-
- public IntPtr ui_data
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public IntPtr proto_data
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleWhiteboardPrplOps prpl_ops
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public GList draw_list
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public typedef struct _PurpleWhiteboardUiOps
-{
- void (*create)(PurpleWhiteboard *wb)
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void destroy
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void set_dimensions
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void set_brush
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void draw_point
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void draw_line
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void clear
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved1
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved2
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved3
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved4
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public struct _PurpleWhiteboardPrplOps
-{
- void (*start)(PurpleWhiteboard *wb)
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void end
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void get_dimensions
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void set_dimensions
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void get_brush
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void set_brush
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void send_draw_list
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void clear
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved1
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved2
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved3
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void _purple_reserved4
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurpleWhiteboard
- {
- /*
- * int state
- */
- int state;
-
- /*
- * PurpleAccount * account
- */
- IntPtr account;
-
- /*
- * char * who
- */
- string who;
-
- /*
- * void * ui_data
- */
- IntPtr ui_data;
-
- /*
- * void * proto_data
- */
- IntPtr proto_data;
-
- /*
- * PurpleWhiteboardPrplOps * prpl_ops
- */
- IntPtr prpl_ops;
-
- /*
- * GList * draw_list
- */
- IntPtr draw_list;
-
- /*
- * typedef struct _PurpleWhiteboardUiOps
-{
- void (*create)(PurpleWhiteboard *wb)
- */
- UNKNOWN struct _PurpleWhiteboardUiOps
-{
- void (*create)(PurpleWhiteboard *wb);
-
- /*
- * void (*destroy)(PurpleWhiteboard * wb)
- */
- void destroy;
-
- /*
- * void (*set_dimensions)(PurpleWhiteboard * wb, int width, int height)
- */
- void set_dimensions;
-
- /*
- * void (*set_brush)(PurpleWhiteboard * wb, int size, int color)
- */
- void set_brush;
-
- /*
- * void (*draw_point)(PurpleWhiteboard * wb, int x, int y, int color, int size)
- */
- void draw_point;
-
- /*
- * void (*draw_line)(PurpleWhiteboard * wb, int x1, int y1, int x2, int y2, int color, int size)
- */
- void draw_line;
-
- /*
- * void (*clear)(PurpleWhiteboard * wb)
- */
- void clear;
-
- /*
- * void (*_purple_reserved1)()
- */
- void _purple_reserved1;
-
- /*
- * void (*_purple_reserved2)()
- */
- void _purple_reserved2;
-
- /*
- * void (*_purple_reserved3)()
- */
- void _purple_reserved3;
-
- /*
- * void (*_purple_reserved4)()
- */
- void _purple_reserved4;
-
- /*
- * struct _PurpleWhiteboardPrplOps
-{
- void (*start)(PurpleWhiteboard *wb)
- */
- UNKNOWN _PurpleWhiteboardPrplOps
-{
- void (*start)(PurpleWhiteboard *wb);
-
- /*
- * void (*end)(PurpleWhiteboard * wb)
- */
- void end;
-
- /*
- * void (*get_dimensions)(PurpleWhiteboard * wb, int * width, int * height)
- */
- void get_dimensions;
-
- /*
- * void (*set_dimensions)(PurpleWhiteboard * wb, int width, int height)
- */
- void set_dimensions;
-
- /*
- * void (*get_brush)(PurpleWhiteboard * wb, int * size, int * color)
- */
- void get_brush;
-
- /*
- * void (*set_brush)(PurpleWhiteboard * wb, int size, int color)
- */
- void set_brush;
-
- /*
- * void (*send_draw_list)(PurpleWhiteboard * wb, GList * draw_list)
- */
- void send_draw_list;
-
- /*
- * void (*clear)(PurpleWhiteboard * wb)
- */
- void clear;
-
- /*
- * void (*_purple_reserved1)()
- */
- void _purple_reserved1;
-
- /*
- * void (*_purple_reserved2)()
- */
- void _purple_reserved2;
-
- /*
- * void (*_purple_reserved3)()
- */
- void _purple_reserved3;
-
- /*
- * void (*_purple_reserved4)()
- */
- void _purple_reserved4;
-
- }
+ class _PurpleWhiteboard { }
}
============================================================
--- libpurple/wrapper/PurpleXfer.cs fd7446d6268545b9a660de3548500211effa1065
+++ libpurple/wrapper/PurpleXfer.cs 1247e9415c779c0db51e340e700fa0bb689a16bc
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,665 +40,24 @@ namespace PurpleWrapper
{
public class PurpleXfer : UnmanagedWrapper<_PurpleXfer>
{
+ /*
+ * Could not generate a wrapper for PurpleXfer in file "ft.h".
+ * Message: The type could not be resolved (FILE * dest_fp).
+ */
+
public PurpleXfer()
{
+ throw new NotImplementedException();
}
public PurpleXfer(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_PurpleXfer)Marshal.PtrToStructure(this.Reference, typeof(_PurpleXfer));
+ throw new NotImplementedException();
}
- public uint ref
- {
- get
- {
- return this.Data.ref;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.ref = value;
- }
- }
-
- public PurpleXferType type
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleAccount account
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public string who
- {
- get
- {
- return this.Data.who;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.who = value;
- }
- }
-
- public string message
- {
- get
- {
- return this.Data.message;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.message = value;
- }
- }
-
- public string filename
- {
- get
- {
- return this.Data.filename;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.filename = value;
- }
- }
-
- public string local_filename
- {
- get
- {
- return this.Data.local_filename;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.local_filename = value;
- }
- }
-
- public size_t size
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public FILE dest_fp
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public string remote_ip
- {
- get
- {
- return this.Data.remote_ip;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.remote_ip = value;
- }
- }
-
- public int local_port
- {
- get
- {
- return this.Data.local_port;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.local_port = value;
- }
- }
-
- public int remote_port
- {
- get
- {
- return this.Data.remote_port;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.remote_port = value;
- }
- }
-
- public int fd
- {
- get
- {
- return this.Data.fd;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.fd = value;
- }
- }
-
- public int watcher
- {
- get
- {
- return this.Data.watcher;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.watcher = value;
- }
- }
-
- public size_t bytes_sent
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public size_t bytes_remaining
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public time_t start_time
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public time_t end_time
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public size_t current_buffer_size
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleXferStatusType status
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public struct {
- void (*init)(PurpleXfer *xfer)
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void request_denied
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void start
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void end
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void cancel_send
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void cancel_recv
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public gssize read
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public gssize write
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public void ack
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public PurpleXferUiOps ui_ops
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public IntPtr ui_data
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public IntPtr data
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _PurpleXfer
- {
- /*
- * guint ref
- */
- uint ref;
-
- /*
- * PurpleXferType type
- */
- UNKNOWN type;
-
- /*
- * PurpleAccount * account
- */
- IntPtr account;
-
- /*
- * char * who
- */
- string who;
-
- /*
- * char * message
- */
- string message;
-
- /*
- * char * filename
- */
- string filename;
-
- /*
- * char * local_filename
- */
- string local_filename;
-
- /*
- * size_t size
- */
- UNKNOWN size;
-
- /*
- * FILE * dest_fp
- */
- IntPtr dest_fp;
-
- /*
- * char * remote_ip
- */
- string remote_ip;
-
- /*
- * int local_port
- */
- int local_port;
-
- /*
- * int remote_port
- */
- int remote_port;
-
- /*
- * int fd
- */
- int fd;
-
- /*
- * int watcher
- */
- int watcher;
-
- /*
- * size_t bytes_sent
- */
- UNKNOWN bytes_sent;
-
- /*
- * size_t bytes_remaining
- */
- UNKNOWN bytes_remaining;
-
- /*
- * time_t start_time
- */
- UNKNOWN start_time;
-
- /*
- * time_t end_time
- */
- UNKNOWN end_time;
-
- /*
- * size_t current_buffer_size
- */
- UNKNOWN current_buffer_size;
-
- /*
- * PurpleXferStatusType status
- */
- UNKNOWN status;
-
- /*
- * struct {
- void (*init)(PurpleXfer *xfer)
- */
- UNKNOWN {
- void (*init)(PurpleXfer *xfer);
-
- /*
- * void (*request_denied)(PurpleXfer * xfer)
- */
- void request_denied;
-
- /*
- * void (*start)(PurpleXfer * xfer)
- */
- void start;
-
- /*
- * void (*end)(PurpleXfer * xfer)
- */
- void end;
-
- /*
- * void (*cancel_send)(PurpleXfer * xfer)
- */
- void cancel_send;
-
- /*
- * void (*cancel_recv)(PurpleXfer * xfer)
- */
- void cancel_recv;
-
- /*
- * gssize (*read)(guchar ** buffer, PurpleXfer * xfer)
- */
- UNKNOWN read;
-
- /*
- * gssize (*write)(guchar * buffer, size_t size, PurpleXfer * xfer)
- */
- UNKNOWN write;
-
- /*
- * void (*ack)(PurpleXfer * xfer, guchar * buffer, size_t size)
- */
- void ack;
-
- /*
- * PurpleXferUiOps * ui_ops
- */
- IntPtr ui_ops;
-
- /*
- * void * ui_data
- */
- IntPtr ui_data;
-
- /*
- * void * data
- */
- IntPtr data;
-
- }
+ class _PurpleXfer { }
}
============================================================
--- libpurple/wrapper/Request.cs 58f6df146e5eca66831ddfdb2271c0838a2d91f7
+++ libpurple/wrapper/Request.cs 1078bc671ac24a0e702a20209eae86a7373c1682
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,227 +40,72 @@ namespace PurpleWrapper
{
public class Request
{
- /*
- * PurpleRequestFields * purple_request_fields_new()
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_fields_new();
-
- public static PurpleRequestFields FieldsNew()
+ public enum PurpleRequestType
{
- throw new NotImplementedException();
- }
+ PURPLE_REQUEST_INPUT = 0,
+ PURPLE_REQUEST_CHOICE,
+ PURPLE_REQUEST_ACTION,
+ PURPLE_REQUEST_FIELDS,
+ PURPLE_REQUEST_FILE,
+ PURPLE_REQUEST_FOLDER
+ };
- /*
- * void purple_request_fields_destroy(PurpleRequestFields * fields)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_request_fields_destroy(IntPtr fields);
-
- public static void FieldsDestroy(PurpleRequestFields fields)
+ public enum PurpleRequestFieldType
{
- throw new NotImplementedException();
- }
+ PURPLE_REQUEST_FIELD_NONE,
+ PURPLE_REQUEST_FIELD_STRING,
+ PURPLE_REQUEST_FIELD_INTEGER,
+ PURPLE_REQUEST_FIELD_BOOLEAN,
+ PURPLE_REQUEST_FIELD_CHOICE,
+ PURPLE_REQUEST_FIELD_LIST,
+ PURPLE_REQUEST_FIELD_LABEL,
+ PURPLE_REQUEST_FIELD_IMAGE,
+ PURPLE_REQUEST_FIELD_ACCOUNT
+ };
/*
- * void purple_request_fields_add_group(PurpleRequestFields * fields, PurpleRequestFieldGroup * group)
+ * PurpleRequestFields * purple_request_fields_new()
+ *
+ * Could not generate a wrapper for purple_request_fields_new in file "request.h".
+ * Message: The type could not be resolved (PurpleRequestFields * purple_request_fields_new()).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_request_fields_add_group(IntPtr fields, IntPtr group);
- public static void FieldsAddGroup(PurpleRequestFields fields, PurpleRequestFieldGroup group)
- {
- throw new NotImplementedException();
- }
-
/*
- * GList * purple_request_fields_get_groups(PurpleRequestFields * fields)
+ * void purple_request_fields_destroy(PurpleRequestFields * fields)
+ *
+ * Could not generate a wrapper for purple_request_fields_destroy in file "request.h".
+ * Message: The type could not be resolved (PurpleRequestFields * fields).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_fields_get_groups(IntPtr fields);
- public static GList FieldsGetGroups(PurpleRequestFields fields)
- {
- throw new NotImplementedException();
- }
-
/*
- * gboolean purple_request_fields_exists(PurpleRequestFields * fields, char * id)
+ * GList * purple_request_fields_get_groups(PurpleRequestFields * fields)
+ *
+ * Could not generate a wrapper for purple_request_fields_get_groups in file "request.h".
+ * Message: The type could not be resolved (GList * purple_request_fields_get_groups(PurpleRequestFields * fields)).
*/
- [DllImport("libpurple.dll")]
- private static extern bool purple_request_fields_exists(IntPtr fields, string id);
- public static bool FieldsExists(PurpleRequestFields fields, string id)
- {
- throw new NotImplementedException();
- }
-
/*
* GList * purple_request_fields_get_required(PurpleRequestFields * fields)
+ *
+ * Could not generate a wrapper for purple_request_fields_get_required in file "request.h".
+ * Message: The type could not be resolved (GList * purple_request_fields_get_required(PurpleRequestFields * fields)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_fields_get_required(IntPtr fields);
- public static GList FieldsGetRequired(PurpleRequestFields fields)
- {
- throw new NotImplementedException();
- }
-
/*
- * gboolean purple_request_fields_is_field_required(PurpleRequestFields * fields, char * id)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_request_fields_is_field_required(IntPtr fields, string id);
-
- public static bool FieldsIsFieldRequired(PurpleRequestFields fields, string id)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gboolean purple_request_fields_all_required_filled(PurpleRequestFields * fields)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_request_fields_all_required_filled(IntPtr fields);
-
- public static bool FieldsAllRequiredFilled(PurpleRequestFields fields)
- {
- throw new NotImplementedException();
- }
-
- /*
- * PurpleRequestField * purple_request_fields_get_field(PurpleRequestFields * fields, char * id)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_fields_get_field(IntPtr fields, string id);
-
- public static PurpleRequestField FieldsGetField(PurpleRequestFields fields, string id)
- {
- throw new NotImplementedException();
- }
-
- /*
- * char * purple_request_fields_get_string(PurpleRequestFields * fields, char * id)
- */
- [DllImport("libpurple.dll")]
- private static extern string purple_request_fields_get_string(IntPtr fields, string id);
-
- public static string FieldsGetString(PurpleRequestFields fields, string id)
- {
- throw new NotImplementedException();
- }
-
- /*
- * int purple_request_fields_get_integer(PurpleRequestFields * fields, char * id)
- */
- [DllImport("libpurple.dll")]
- private static extern int purple_request_fields_get_integer(IntPtr fields, string id);
-
- public static int FieldsGetInteger(PurpleRequestFields fields, string id)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gboolean purple_request_fields_get_bool(PurpleRequestFields * fields, char * id)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_request_fields_get_bool(IntPtr fields, string id);
-
- public static bool FieldsGetBool(PurpleRequestFields fields, string id)
- {
- throw new NotImplementedException();
- }
-
- /*
- * int purple_request_fields_get_choice(PurpleRequestFields * fields, char * id)
- */
- [DllImport("libpurple.dll")]
- private static extern int purple_request_fields_get_choice(IntPtr fields, string id);
-
- public static int FieldsGetChoice(PurpleRequestFields fields, string id)
- {
- throw new NotImplementedException();
- }
-
- /*
- * PurpleAccount * purple_request_fields_get_account(PurpleRequestFields * fields, char * id)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_fields_get_account(IntPtr fields, string id);
-
- public static PurpleAccount FieldsGetAccount(PurpleRequestFields fields, string id)
- {
- throw new NotImplementedException();
- }
-
- /*
* PurpleRequestFieldGroup * purple_request_field_group_new(char * title)
+ *
+ * Could not generate a wrapper for purple_request_field_group_new in file "request.h".
+ * Message: The type could not be resolved (PurpleRequestFieldGroup * purple_request_field_group_new(char * title)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_field_group_new(string title);
- public static PurpleRequestFieldGroup FieldGroupNew(string title)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_request_field_group_destroy(PurpleRequestFieldGroup * group)
+ *
+ * Could not generate a wrapper for purple_request_field_group_destroy in file "request.h".
+ * Message: The type could not be resolved (PurpleRequestFieldGroup * group).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_request_field_group_destroy(IntPtr group);
- public static void FieldGroupDestroy(PurpleRequestFieldGroup group)
- {
- throw new NotImplementedException();
- }
-
/*
- * void purple_request_field_group_add_field(PurpleRequestFieldGroup * group, PurpleRequestField * field)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_request_field_group_add_field(IntPtr group, IntPtr field);
-
- public static void FieldGroupAddField(PurpleRequestFieldGroup group, PurpleRequestField field)
- {
- throw new NotImplementedException();
- }
-
- /*
- * char * purple_request_field_group_get_title(PurpleRequestFieldGroup * group)
- */
- [DllImport("libpurple.dll")]
- private static extern string purple_request_field_group_get_title(IntPtr group);
-
- public static string FieldGroupGetTitle(PurpleRequestFieldGroup group)
- {
- throw new NotImplementedException();
- }
-
- /*
- * GList * purple_request_field_group_get_fields(PurpleRequestFieldGroup * group)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_field_group_get_fields(IntPtr group);
-
- public static GList FieldGroupGetFields(PurpleRequestFieldGroup group)
- {
- throw new NotImplementedException();
- }
-
- /*
- * PurpleRequestField * purple_request_field_new(char * id, char * text, PurpleRequestFieldType type)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_field_new(string id, string text, UNKNOWN type);
-
- public static PurpleRequestField FieldNew(string id, string text, PurpleRequestFieldType type)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_request_field_destroy(PurpleRequestField * field)
*/
[DllImport("libpurple.dll")]
@@ -266,7 +113,7 @@ namespace PurpleWrapper
public static void FieldDestroy(PurpleRequestField field)
{
- throw new NotImplementedException();
+ purple_request_field_destroy(field.Reference);
}
/*
@@ -277,7 +124,7 @@ namespace PurpleWrapper
public static void FieldSetLabel(PurpleRequestField field, string label)
{
- throw new NotImplementedException();
+ purple_request_field_set_label(field.Reference, label);
}
/*
@@ -288,53 +135,28 @@ namespace PurpleWrapper
public static void FieldSetVisible(PurpleRequestField field, bool visible)
{
- throw new NotImplementedException();
+ purple_request_field_set_visible(field.Reference, visible);
}
/*
- * void purple_request_field_set_type_hint(PurpleRequestField * field, char * type_hint)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_request_field_set_type_hint(IntPtr field, string type_hint);
-
- public static void FieldSetTypeHint(PurpleRequestField field, string type_hint)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_request_field_set_required(PurpleRequestField * field, gboolean required)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_request_field_set_required(IntPtr field, bool required);
-
- public static void FieldSetRequired(PurpleRequestField field, bool required)
- {
- throw new NotImplementedException();
- }
-
- /*
* PurpleRequestFieldType purple_request_field_get_type(PurpleRequestField * field)
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_request_field_get_type(IntPtr field);
+ private static extern Request.PurpleRequestFieldType purple_request_field_get_type(IntPtr field);
- public static PurpleRequestFieldType FieldGetType(PurpleRequestField field)
+ public static Request.PurpleRequestFieldType FieldGetType(PurpleRequestField field)
{
- throw new NotImplementedException();
+ /* Unable to process purple_request_field_get_type, a KnownEnum. */
+
}
/*
* PurpleRequestFieldGroup * purple_request_field_get_group(PurpleRequestField * field)
+ *
+ * Could not generate a wrapper for purple_request_field_get_group in file "request.h".
+ * Message: The type could not be resolved (PurpleRequestFieldGroup * purple_request_field_get_group(PurpleRequestField * field)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_field_get_group(IntPtr field);
- public static PurpleRequestFieldGroup FieldGetGroup(PurpleRequestField field)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_request_field_get_id(PurpleRequestField * field)
*/
@@ -343,7 +165,7 @@ namespace PurpleWrapper
public static string FieldGetId(PurpleRequestField field)
{
- throw new NotImplementedException();
+ return purple_request_field_get_id(field.Reference);
}
/*
@@ -354,7 +176,7 @@ namespace PurpleWrapper
public static string FieldGetLabel(PurpleRequestField field)
{
- throw new NotImplementedException();
+ return purple_request_field_get_label(field.Reference);
}
/*
@@ -365,7 +187,7 @@ namespace PurpleWrapper
public static bool FieldIsVisible(PurpleRequestField field)
{
- throw new NotImplementedException();
+ return purple_request_field_is_visible(field.Reference);
}
/*
@@ -376,7 +198,7 @@ namespace PurpleWrapper
public static string FieldGetTypeHint(PurpleRequestField field)
{
- throw new NotImplementedException();
+ return purple_request_field_get_type_hint(field.Reference);
}
/*
@@ -387,7 +209,7 @@ namespace PurpleWrapper
public static bool FieldIsRequired(PurpleRequestField field)
{
- throw new NotImplementedException();
+ return purple_request_field_is_required(field.Reference);
}
/*
@@ -398,87 +220,10 @@ namespace PurpleWrapper
public static IntPtr FieldGetUiData(PurpleRequestField field)
{
- throw new NotImplementedException();
+ return purple_request_field_get_ui_data(field.Reference);
}
/*
- * void purple_request_field_set_ui_data(PurpleRequestField * field, gpointer ui_data)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_request_field_set_ui_data(IntPtr field, IntPtr ui_data);
-
- public static void FieldSetUiData(PurpleRequestField field, IntPtr ui_data)
- {
- throw new NotImplementedException();
- }
-
- /*
- * PurpleRequestField * purple_request_field_string_new(char * id, char * text, char * default_value, gboolean multiline)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_field_string_new(string id, string text, string default_value, bool multiline);
-
- public static PurpleRequestField FieldStringNew(string id, string text, string default_value, bool multiline)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_request_field_string_set_default_value(PurpleRequestField * field, char * default_value)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_request_field_string_set_default_value(IntPtr field, string default_value);
-
- public static void FieldStringSetDefaultValue(PurpleRequestField field, string default_value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_request_field_string_set_value(PurpleRequestField * field, char * value)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_request_field_string_set_value(IntPtr field, string value);
-
- public static void FieldStringSetValue(PurpleRequestField field, string value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_request_field_string_set_masked(PurpleRequestField * field, gboolean masked)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_request_field_string_set_masked(IntPtr field, bool masked);
-
- public static void FieldStringSetMasked(PurpleRequestField field, bool masked)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_request_field_string_set_editable(PurpleRequestField * field, gboolean editable)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_request_field_string_set_editable(IntPtr field, bool editable);
-
- public static void FieldStringSetEditable(PurpleRequestField field, bool editable)
- {
- throw new NotImplementedException();
- }
-
- /*
- * char * purple_request_field_string_get_default_value(PurpleRequestField * field)
- */
- [DllImport("libpurple.dll")]
- private static extern string purple_request_field_string_get_default_value(IntPtr field);
-
- public static string FieldStringGetDefaultValue(PurpleRequestField field)
- {
- throw new NotImplementedException();
- }
-
- /*
* char * purple_request_field_string_get_value(PurpleRequestField * field)
*/
[DllImport("libpurple.dll")]
@@ -486,7 +231,7 @@ namespace PurpleWrapper
public static string FieldStringGetValue(PurpleRequestField field)
{
- throw new NotImplementedException();
+ return purple_request_field_string_get_value(field.Reference);
}
/*
@@ -497,7 +242,7 @@ namespace PurpleWrapper
public static bool FieldStringIsMultiline(PurpleRequestField field)
{
- throw new NotImplementedException();
+ return purple_request_field_string_is_multiline(field.Reference);
}
/*
@@ -508,7 +253,7 @@ namespace PurpleWrapper
public static bool FieldStringIsMasked(PurpleRequestField field)
{
- throw new NotImplementedException();
+ return purple_request_field_string_is_masked(field.Reference);
}
/*
@@ -519,32 +264,10 @@ namespace PurpleWrapper
public static bool FieldStringIsEditable(PurpleRequestField field)
{
- throw new NotImplementedException();
+ return purple_request_field_string_is_editable(field.Reference);
}
/*
- * PurpleRequestField * purple_request_field_int_new(char * id, char * text, int default_value)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_field_int_new(string id, string text, int default_value);
-
- public static PurpleRequestField FieldIntNew(string id, string text, int default_value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_request_field_int_set_default_value(PurpleRequestField * field, int default_value)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_request_field_int_set_default_value(IntPtr field, int default_value);
-
- public static void FieldIntSetDefaultValue(PurpleRequestField field, int default_value)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_request_field_int_set_value(PurpleRequestField * field, int value)
*/
[DllImport("libpurple.dll")]
@@ -552,7 +275,7 @@ namespace PurpleWrapper
public static void FieldIntSetValue(PurpleRequestField field, int value)
{
- throw new NotImplementedException();
+ purple_request_field_int_set_value(field.Reference, value);
}
/*
@@ -563,7 +286,7 @@ namespace PurpleWrapper
public static int FieldIntGetDefaultValue(PurpleRequestField field)
{
- throw new NotImplementedException();
+ return purple_request_field_int_get_default_value(field.Reference);
}
/*
@@ -574,54 +297,10 @@ namespace PurpleWrapper
public static int FieldIntGetValue(PurpleRequestField field)
{
- throw new NotImplementedException();
+ return purple_request_field_int_get_value(field.Reference);
}
/*
- * PurpleRequestField * purple_request_field_bool_new(char * id, char * text, gboolean default_value)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_field_bool_new(string id, string text, bool default_value);
-
- public static PurpleRequestField FieldBoolNew(string id, string text, bool default_value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_request_field_bool_set_default_value(PurpleRequestField * field, gboolean default_value)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_request_field_bool_set_default_value(IntPtr field, bool default_value);
-
- public static void FieldBoolSetDefaultValue(PurpleRequestField field, bool default_value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_request_field_bool_set_value(PurpleRequestField * field, gboolean value)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_request_field_bool_set_value(IntPtr field, bool value);
-
- public static void FieldBoolSetValue(PurpleRequestField field, bool value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gboolean purple_request_field_bool_get_default_value(PurpleRequestField * field)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_request_field_bool_get_default_value(IntPtr field);
-
- public static bool FieldBoolGetDefaultValue(PurpleRequestField field)
- {
- throw new NotImplementedException();
- }
-
- /*
* gboolean purple_request_field_bool_get_value(PurpleRequestField * field)
*/
[DllImport("libpurple.dll")]
@@ -629,43 +308,10 @@ namespace PurpleWrapper
public static bool FieldBoolGetValue(PurpleRequestField field)
{
- throw new NotImplementedException();
+ return purple_request_field_bool_get_value(field.Reference);
}
/*
- * PurpleRequestField * purple_request_field_choice_new(char * id, char * text, int default_value)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_field_choice_new(string id, string text, int default_value);
-
- public static PurpleRequestField FieldChoiceNew(string id, string text, int default_value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_request_field_choice_add(PurpleRequestField * field, char * label)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_request_field_choice_add(IntPtr field, string label);
-
- public static void FieldChoiceAdd(PurpleRequestField field, string label)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_request_field_choice_set_default_value(PurpleRequestField * field, int default_value)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_request_field_choice_set_default_value(IntPtr field, int default_value);
-
- public static void FieldChoiceSetDefaultValue(PurpleRequestField field, int default_value)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_request_field_choice_set_value(PurpleRequestField * field, int value)
*/
[DllImport("libpurple.dll")]
@@ -673,7 +319,7 @@ namespace PurpleWrapper
public static void FieldChoiceSetValue(PurpleRequestField field, int value)
{
- throw new NotImplementedException();
+ purple_request_field_choice_set_value(field.Reference, value);
}
/*
@@ -684,7 +330,7 @@ namespace PurpleWrapper
public static int FieldChoiceGetDefaultValue(PurpleRequestField field)
{
- throw new NotImplementedException();
+ return purple_request_field_choice_get_default_value(field.Reference);
}
/*
@@ -695,20 +341,16 @@ namespace PurpleWrapper
public static int FieldChoiceGetValue(PurpleRequestField field)
{
- throw new NotImplementedException();
+ return purple_request_field_choice_get_value(field.Reference);
}
/*
* GList * purple_request_field_choice_get_labels(PurpleRequestField * field)
+ *
+ * Could not generate a wrapper for purple_request_field_choice_get_labels in file "request.h".
+ * Message: The type could not be resolved (GList * purple_request_field_choice_get_labels(PurpleRequestField * field)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_field_choice_get_labels(IntPtr field);
- public static GList FieldChoiceGetLabels(PurpleRequestField field)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleRequestField * purple_request_field_list_new(char * id, char * text)
*/
@@ -717,65 +359,10 @@ namespace PurpleWrapper
public static PurpleRequestField FieldListNew(string id, string text)
{
- throw new NotImplementedException();
+ return new PurpleRequestField(purple_request_field_list_new(id, text));
}
/*
- * void purple_request_field_list_set_multi_select(PurpleRequestField * field, gboolean multi_select)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_request_field_list_set_multi_select(IntPtr field, bool multi_select);
-
- public static void FieldListSetMultiSelect(PurpleRequestField field, bool multi_select)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gboolean purple_request_field_list_get_multi_select(PurpleRequestField * field)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_request_field_list_get_multi_select(IntPtr field);
-
- public static bool FieldListGetMultiSelect(PurpleRequestField field)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void * purple_request_field_list_get_data(PurpleRequestField * field, char * text)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_field_list_get_data(IntPtr field, string text);
-
- public static IntPtr FieldListGetData(PurpleRequestField field, string text)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_request_field_list_add(PurpleRequestField * field, char * item, void * data)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_request_field_list_add(IntPtr field, string item, IntPtr data);
-
- public static void FieldListAdd(PurpleRequestField field, string item, IntPtr data)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_request_field_list_add_selected(PurpleRequestField * field, char * item)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_request_field_list_add_selected(IntPtr field, string item);
-
- public static void FieldListAddSelected(PurpleRequestField field, string item)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_request_field_list_clear_selected(PurpleRequestField * field)
*/
[DllImport("libpurple.dll")]
@@ -783,87 +370,28 @@ namespace PurpleWrapper
public static void FieldListClearSelected(PurpleRequestField field)
{
- throw new NotImplementedException();
+ purple_request_field_list_clear_selected(field.Reference);
}
/*
- * void purple_request_field_list_set_selected(PurpleRequestField * field, GList * items)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_request_field_list_set_selected(IntPtr field, IntPtr items);
-
- public static void FieldListSetSelected(PurpleRequestField field, GList items)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gboolean purple_request_field_list_is_selected(PurpleRequestField * field, char * item)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_request_field_list_is_selected(IntPtr field, string item);
-
- public static bool FieldListIsSelected(PurpleRequestField field, string item)
- {
- throw new NotImplementedException();
- }
-
- /*
- * GList * purple_request_field_list_get_selected(PurpleRequestField * field)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_field_list_get_selected(IntPtr field);
-
- public static GList FieldListGetSelected(PurpleRequestField field)
- {
- throw new NotImplementedException();
- }
-
- /*
* GList * purple_request_field_list_get_items(PurpleRequestField * field)
+ *
+ * Could not generate a wrapper for purple_request_field_list_get_items in file "request.h".
+ * Message: The type could not be resolved (GList * purple_request_field_list_get_items(PurpleRequestField * field)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_field_list_get_items(IntPtr field);
- public static GList FieldListGetItems(PurpleRequestField field)
- {
- throw new NotImplementedException();
- }
-
/*
- * PurpleRequestField * purple_request_field_label_new(char * id, char * text)
+ * void purple_request_field_image_set_scale(PurpleRequestField * field, unsigned int x, unsigned int y)
*/
[DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_field_label_new(string id, string text);
+ private static extern void purple_request_field_image_set_scale(IntPtr field, uint x, uint y);
- public static PurpleRequestField FieldLabelNew(string id, string text)
+ public static void FieldImageSetScale(PurpleRequestField field, uint x, uint y)
{
- throw new NotImplementedException();
+ purple_request_field_image_set_scale(field.Reference, x, y);
}
/*
- * PurpleRequestField * purple_request_field_image_new(char * id, char * text, char * buf, gsize size)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_field_image_new(string id, string text, string buf, UNKNOWN size);
-
- public static PurpleRequestField FieldImageNew(string id, string text, string buf, gsize size)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_request_field_image_set_scale(PurpleRequestField * field, unsigned int, unsigned int)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_request_field_image_set_scale(IntPtr field, UNKNOWN int, UNKNOWN int);
-
- public static void FieldImageSetScale(PurpleRequestField field, unsigned int, unsigned int)
- {
- throw new NotImplementedException();
- }
-
- /*
* char * purple_request_field_image_get_buffer(PurpleRequestField * field)
*/
[DllImport("libpurple.dll")]
@@ -871,215 +399,51 @@ namespace PurpleWrapper
public static string FieldImageGetBuffer(PurpleRequestField field)
{
- throw new NotImplementedException();
+ return purple_request_field_image_get_buffer(field.Reference);
}
/*
* gsize purple_request_field_image_get_size(PurpleRequestField * field)
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_request_field_image_get_size(IntPtr field);
+ private static extern ulong purple_request_field_image_get_size(IntPtr field);
- public static gsize FieldImageGetSize(PurpleRequestField field)
+ public static ulong FieldImageGetSize(PurpleRequestField field)
{
- throw new NotImplementedException();
+ return purple_request_field_image_get_size(field.Reference);
}
/*
- * int purple_request_field_image_get_scale_x(PurpleRequestField * field)
+ * unsigned int purple_request_field_image_get_scale_x(PurpleRequestField * field)
*/
[DllImport("libpurple.dll")]
- private static extern int purple_request_field_image_get_scale_x(IntPtr field);
+ private static extern uint purple_request_field_image_get_scale_x(IntPtr field);
- public static int FieldImageGetScaleX(PurpleRequestField field)
+ public static uint FieldImageGetScaleX(PurpleRequestField field)
{
- throw new NotImplementedException();
+ return purple_request_field_image_get_scale_x(field.Reference);
}
/*
- * int purple_request_field_image_get_scale_y(PurpleRequestField * field)
+ * unsigned int purple_request_field_image_get_scale_y(PurpleRequestField * field)
*/
[DllImport("libpurple.dll")]
- private static extern int purple_request_field_image_get_scale_y(IntPtr field);
+ private static extern uint purple_request_field_image_get_scale_y(IntPtr field);
- public static int FieldImageGetScaleY(PurpleRequestField field)
+ public static uint FieldImageGetScaleY(PurpleRequestField field)
{
- throw new NotImplementedException();
+ return purple_request_field_image_get_scale_y(field.Reference);
}
/*
- * PurpleRequestField * purple_request_field_account_new(char * id, char * text, PurpleAccount * account)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_field_account_new(string id, string text, IntPtr account);
-
- public static PurpleRequestField FieldAccountNew(string id, string text, PurpleAccount account)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_request_field_account_set_default_value(PurpleRequestField * field, PurpleAccount * default_value)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_request_field_account_set_default_value(IntPtr field, IntPtr default_value);
-
- public static void FieldAccountSetDefaultValue(PurpleRequestField field, PurpleAccount default_value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_request_field_account_set_value(PurpleRequestField * field, PurpleAccount * value)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_request_field_account_set_value(IntPtr field, IntPtr value);
-
- public static void FieldAccountSetValue(PurpleRequestField field, PurpleAccount value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_request_field_account_set_show_all(PurpleRequestField * field, gboolean show_all)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_request_field_account_set_show_all(IntPtr field, bool show_all);
-
- public static void FieldAccountSetShowAll(PurpleRequestField field, bool show_all)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_request_field_account_set_filter(PurpleRequestField * field, PurpleFilterAccountFunc filter_func)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_request_field_account_set_filter(IntPtr field, UNKNOWN filter_func);
-
- public static void FieldAccountSetFilter(PurpleRequestField field, PurpleFilterAccountFunc filter_func)
- {
- throw new NotImplementedException();
- }
-
- /*
- * PurpleAccount * purple_request_field_account_get_default_value(PurpleRequestField * field)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_field_account_get_default_value(IntPtr field);
-
- public static PurpleAccount FieldAccountGetDefaultValue(PurpleRequestField field)
- {
- throw new NotImplementedException();
- }
-
- /*
- * PurpleAccount * purple_request_field_account_get_value(PurpleRequestField * field)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_field_account_get_value(IntPtr field);
-
- public static PurpleAccount FieldAccountGetValue(PurpleRequestField field)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gboolean purple_request_field_account_get_show_all(PurpleRequestField * field)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_request_field_account_get_show_all(IntPtr field);
-
- public static bool FieldAccountGetShowAll(PurpleRequestField field)
- {
- throw new NotImplementedException();
- }
-
- /*
- * PurpleFilterAccountFunc purple_request_field_account_get_filter(PurpleRequestField * field)
- */
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_request_field_account_get_filter(IntPtr field);
-
- public static PurpleFilterAccountFunc FieldAccountGetFilter(PurpleRequestField field)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void * purple_request_input(void * handle, char * title, char * primary, char * secondary, char * default_value, gboolean multiline, gboolean masked, gchar * hint, char * ok_text, GCallback ok_cb, char * cancel_text, GCallback cancel_cb, PurpleAccount * account, char * who, PurpleConversation * conv, void * user_data)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_input(IntPtr handle, string title, string primary, string secondary, string default_value, bool multiline, bool masked, string hint, string ok_text, UNKNOWN ok_cb, string cancel_text, UNKNOWN cancel_cb, IntPtr account, string who, IntPtr conv, IntPtr user_data);
-
- public static IntPtr Input(IntPtr handle, string title, string primary, string secondary, string default_value, bool multiline, bool masked, string hint, string ok_text, GCallback ok_cb, string cancel_text, GCallback cancel_cb, PurpleAccount account, string who, PurpleConversation conv, IntPtr user_data)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void * purple_request_choice(void * handle, char * title, char * primary, char * secondary, int default_value, char * ok_text, GCallback ok_cb, char * cancel_text, GCallback cancel_cb, PurpleAccount * account, char * who, PurpleConversation * conv, void * user_data, ...)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_choice(IntPtr handle, string title, string primary, string secondary, int default_value, string ok_text, UNKNOWN ok_cb, string cancel_text, UNKNOWN cancel_cb, IntPtr account, string who, IntPtr conv, IntPtr user_data, ...);
-
- public static IntPtr Choice(IntPtr handle, string title, string primary, string secondary, int default_value, string ok_text, GCallback ok_cb, string cancel_text, GCallback cancel_cb, PurpleAccount account, string who, PurpleConversation conv, IntPtr user_data, ...)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void * purple_request_choice_varg(void * handle, char * title, char * primary, char * secondary, int default_value, char * ok_text, GCallback ok_cb, char * cancel_text, GCallback cancel_cb, PurpleAccount * account, char * who, PurpleConversation * conv, void * user_data, va_list choices)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_choice_varg(IntPtr handle, string title, string primary, string secondary, int default_value, string ok_text, UNKNOWN ok_cb, string cancel_text, UNKNOWN cancel_cb, IntPtr account, string who, IntPtr conv, IntPtr user_data, UNKNOWN choices);
-
- public static IntPtr ChoiceVarg(IntPtr handle, string title, string primary, string secondary, int default_value, string ok_text, GCallback ok_cb, string cancel_text, GCallback cancel_cb, PurpleAccount account, string who, PurpleConversation conv, IntPtr user_data, va_list choices)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void * purple_request_action(void * handle, char * title, char * primary, char * secondary, int default_action, PurpleAccount * account, char * who, PurpleConversation * conv, void * user_data, size_t action_count, ...)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_action(IntPtr handle, string title, string primary, string secondary, int default_action, IntPtr account, string who, IntPtr conv, IntPtr user_data, UNKNOWN action_count, ...);
-
- public static IntPtr Action(IntPtr handle, string title, string primary, string secondary, int default_action, PurpleAccount account, string who, PurpleConversation conv, IntPtr user_data, size_t action_count, ...)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void * purple_request_action_varg(void * handle, char * title, char * primary, char * secondary, int default_action, PurpleAccount * account, char * who, PurpleConversation * conv, void * user_data, size_t action_count, va_list actions)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_action_varg(IntPtr handle, string title, string primary, string secondary, int default_action, IntPtr account, string who, IntPtr conv, IntPtr user_data, UNKNOWN action_count, UNKNOWN actions);
-
- public static IntPtr ActionVarg(IntPtr handle, string title, string primary, string secondary, int default_action, PurpleAccount account, string who, PurpleConversation conv, IntPtr user_data, size_t action_count, va_list actions)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void * purple_request_fields(void * handle, char * title, char * primary, char * secondary, PurpleRequestFields * fields, char * ok_text, GCallback ok_cb, char * cancel_text, GCallback cancel_cb, PurpleAccount * account, char * who, PurpleConversation * conv, void * user_data)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_fields(IntPtr handle, string title, string primary, string secondary, IntPtr fields, string ok_text, UNKNOWN ok_cb, string cancel_text, UNKNOWN cancel_cb, IntPtr account, string who, IntPtr conv, IntPtr user_data);
-
- public static IntPtr Fields(IntPtr handle, string title, string primary, string secondary, PurpleRequestFields fields, string ok_text, GCallback ok_cb, string cancel_text, GCallback cancel_cb, PurpleAccount account, string who, PurpleConversation conv, IntPtr user_data)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_request_close(PurpleRequestType type, void * uihandle)
*/
[DllImport("libpurple.dll")]
- private static extern void purple_request_close(UNKNOWN type, IntPtr uihandle);
+ private static extern void purple_request_close(Request.PurpleRequestType type, IntPtr uihandle);
- public static void Close(PurpleRequestType type, IntPtr uihandle)
+ public static void Close(Request.PurpleRequestType type, IntPtr uihandle)
{
+ /* Unable to process type, a KnownEnum. */
throw new NotImplementedException();
}
@@ -1091,53 +455,23 @@ namespace PurpleWrapper
public static void CloseWithHandle(IntPtr handle)
{
- throw new NotImplementedException();
+ purple_request_close_with_handle(handle);
}
/*
- * void * purple_request_file(void * handle, char * title, char * filename, gboolean savedialog, GCallback ok_cb, GCallback cancel_cb, PurpleAccount * account, char * who, PurpleConversation * conv, void * user_data)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_file(IntPtr handle, string title, string filename, bool savedialog, UNKNOWN ok_cb, UNKNOWN cancel_cb, IntPtr account, string who, IntPtr conv, IntPtr user_data);
-
- public static IntPtr File(IntPtr handle, string title, string filename, bool savedialog, GCallback ok_cb, GCallback cancel_cb, PurpleAccount account, string who, PurpleConversation conv, IntPtr user_data)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void * purple_request_folder(void * handle, char * title, char * dirname, GCallback ok_cb, GCallback cancel_cb, PurpleAccount * account, char * who, PurpleConversation * conv, void * user_data)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_folder(IntPtr handle, string title, string dirname, UNKNOWN ok_cb, UNKNOWN cancel_cb, IntPtr account, string who, IntPtr conv, IntPtr user_data);
-
- public static IntPtr Folder(IntPtr handle, string title, string dirname, GCallback ok_cb, GCallback cancel_cb, PurpleAccount account, string who, PurpleConversation conv, IntPtr user_data)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_request_set_ui_ops(PurpleRequestUiOps * ops)
+ *
+ * Could not generate a wrapper for purple_request_set_ui_ops in file "request.h".
+ * Message: The type could not be resolved (PurpleRequestUiOps * ops).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_request_set_ui_ops(IntPtr ops);
- public static void SetUiOps(PurpleRequestUiOps ops)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleRequestUiOps * purple_request_get_ui_ops()
+ *
+ * Could not generate a wrapper for purple_request_get_ui_ops in file "request.h".
+ * Message: The type could not be resolved (PurpleRequestUiOps * purple_request_get_ui_ops()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_request_get_ui_ops();
- public static PurpleRequestUiOps GetUiOps()
- {
- throw new NotImplementedException();
- }
-
}
}
============================================================
--- libpurple/wrapper/Roomlist.cs 06d1c2d0585bc501f6b22dfd52e561ec54c77d8a
+++ libpurple/wrapper/Roomlist.cs 1bd7a0fa7e168818b0412abc55996a9162fc5ec1
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,6 +40,19 @@ namespace PurpleWrapper
{
public class Roomlist
{
+ public enum PurpleRoomlistRoomType
+ {
+ PURPLE_ROOMLIST_ROOMTYPE_CATEGORY = 0x01,
+ PURPLE_ROOMLIST_ROOMTYPE_ROOM = 0x02
+ };
+
+ public enum PurpleRoomlistFieldType
+ {
+ PURPLE_ROOMLIST_FIELD_BOOL,
+ PURPLE_ROOMLIST_FIELD_INT,
+ PURPLE_ROOMLIST_FIELD_STRING
+ };
+
/*
* void purple_roomlist_show_with_account(PurpleAccount * account)
*/
@@ -46,7 +61,7 @@ namespace PurpleWrapper
public static void ShowWithAccount(PurpleAccount account)
{
- throw new NotImplementedException();
+ purple_roomlist_show_with_account(account.Reference);
}
/*
@@ -57,7 +72,7 @@ namespace PurpleWrapper
public static PurpleRoomlist New(PurpleAccount account)
{
- throw new NotImplementedException();
+ return new PurpleRoomlist(purple_roomlist_new(account.Reference));
}
/*
@@ -68,7 +83,7 @@ namespace PurpleWrapper
public static void Ref(PurpleRoomlist list)
{
- throw new NotImplementedException();
+ purple_roomlist_ref(list.Reference);
}
/*
@@ -79,20 +94,16 @@ namespace PurpleWrapper
public static void Unref(PurpleRoomlist list)
{
- throw new NotImplementedException();
+ purple_roomlist_unref(list.Reference);
}
/*
* void purple_roomlist_set_fields(PurpleRoomlist * list, GList * fields)
+ *
+ * Could not generate a wrapper for purple_roomlist_set_fields in file "roomlist.h".
+ * Message: The type could not be resolved (GList * fields).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_roomlist_set_fields(IntPtr list, IntPtr fields);
- public static void SetFields(PurpleRoomlist list, GList fields)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_roomlist_set_in_progress(PurpleRoomlist * list, gboolean in_progress)
*/
@@ -101,7 +112,7 @@ namespace PurpleWrapper
public static void SetInProgress(PurpleRoomlist list, bool in_progress)
{
- throw new NotImplementedException();
+ purple_roomlist_set_in_progress(list.Reference, in_progress);
}
/*
@@ -112,7 +123,7 @@ namespace PurpleWrapper
public static bool GetInProgress(PurpleRoomlist list)
{
- throw new NotImplementedException();
+ return purple_roomlist_get_in_progress(list.Reference);
}
/*
@@ -123,7 +134,7 @@ namespace PurpleWrapper
public static void RoomAdd(PurpleRoomlist list, PurpleRoomlistRoom room)
{
- throw new NotImplementedException();
+ purple_roomlist_room_add(list.Reference, room.Reference);
}
/*
@@ -134,7 +145,7 @@ namespace PurpleWrapper
public static PurpleRoomlist GetList(PurpleConnection gc)
{
- throw new NotImplementedException();
+ return new PurpleRoomlist(purple_roomlist_get_list(gc.Reference));
}
/*
@@ -145,7 +156,7 @@ namespace PurpleWrapper
public static void CancelGetList(PurpleRoomlist list)
{
- throw new NotImplementedException();
+ purple_roomlist_cancel_get_list(list.Reference);
}
/*
@@ -156,29 +167,25 @@ namespace PurpleWrapper
public static void ExpandCategory(PurpleRoomlist list, PurpleRoomlistRoom category)
{
- throw new NotImplementedException();
+ purple_roomlist_expand_category(list.Reference, category.Reference);
}
/*
- * PurpleRoomlistRoom * purple_roomlist_room_new(PurpleRoomlistRoomType type, gchar * name, PurpleRoomlistRoom * parent)
+ * GList * purple_roomlist_get_fields(PurpleRoomlist * roomlist)
+ *
+ * Could not generate a wrapper for purple_roomlist_get_fields in file "roomlist.h".
+ * Message: The type could not be resolved (GList * purple_roomlist_get_fields(PurpleRoomlist * roomlist)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_roomlist_room_new(UNKNOWN type, string name, IntPtr parent);
- public static PurpleRoomlistRoom RoomNew(PurpleRoomlistRoomType type, string name, PurpleRoomlistRoom parent)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_roomlist_room_add_field(PurpleRoomlist * list, PurpleRoomlistRoom * room, gconstpointer field)
*/
[DllImport("libpurple.dll")]
- private static extern void purple_roomlist_room_add_field(IntPtr list, IntPtr room, UNKNOWN field);
+ private static extern void purple_roomlist_room_add_field(IntPtr list, IntPtr room, IntPtr field);
- public static void RoomAddField(PurpleRoomlist list, PurpleRoomlistRoom room, gconstpointer field)
+ public static void RoomAddField(PurpleRoomlist list, PurpleRoomlistRoom room, IntPtr field)
{
- throw new NotImplementedException();
+ purple_roomlist_room_add_field(list.Reference, room.Reference, field);
}
/*
@@ -189,43 +196,74 @@ namespace PurpleWrapper
public static void RoomJoin(PurpleRoomlist list, PurpleRoomlistRoom room)
{
- throw new NotImplementedException();
+ purple_roomlist_room_join(list.Reference, room.Reference);
}
/*
* PurpleRoomlistRoomType purple_roomlist_room_get_type(PurpleRoomlistRoom * room)
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_roomlist_room_get_type(IntPtr room);
+ private static extern Roomlist.PurpleRoomlistRoomType purple_roomlist_room_get_type(IntPtr room);
- public static PurpleRoomlistRoomType RoomGetType(PurpleRoomlistRoom room)
+ public static Roomlist.PurpleRoomlistRoomType RoomGetType(PurpleRoomlistRoom room)
{
- throw new NotImplementedException();
+ /* Unable to process purple_roomlist_room_get_type, a KnownEnum. */
+
}
/*
- * PurpleRoomlistField * purple_roomlist_field_new(PurpleRoomlistFieldType type, gchar * label, gchar * name, gboolean hidden)
+ * char * purple_roomlist_room_get_name(PurpleRoomlistRoom * room)
*/
[DllImport("libpurple.dll")]
- private static extern IntPtr purple_roomlist_field_new(UNKNOWN type, string label, string name, bool hidden);
+ private static extern string purple_roomlist_room_get_name(IntPtr room);
- public static PurpleRoomlistField FieldNew(PurpleRoomlistFieldType type, string label, string name, bool hidden)
+ public static string RoomGetName(PurpleRoomlistRoom room)
{
- throw new NotImplementedException();
+ return purple_roomlist_room_get_name(room.Reference);
}
/*
+ * PurpleRoomlistRoom * purple_roomlist_room_get_parent(PurpleRoomlistRoom * room)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_roomlist_room_get_parent(IntPtr room);
+
+ public static PurpleRoomlistRoom RoomGetParent(PurpleRoomlistRoom room)
+ {
+ return new PurpleRoomlistRoom(purple_roomlist_room_get_parent(room.Reference));
+ }
+
+ /*
+ * GList * purple_roomlist_room_get_fields(PurpleRoomlistRoom * room)
+ *
+ * Could not generate a wrapper for purple_roomlist_room_get_fields in file "roomlist.h".
+ * Message: The type could not be resolved (GList * purple_roomlist_room_get_fields(PurpleRoomlistRoom * room)).
+ */
+
+ /*
* PurpleRoomlistFieldType purple_roomlist_field_get_type(PurpleRoomlistField * field)
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_roomlist_field_get_type(IntPtr field);
+ private static extern Roomlist.PurpleRoomlistFieldType purple_roomlist_field_get_type(IntPtr field);
- public static PurpleRoomlistFieldType FieldGetType(PurpleRoomlistField field)
+ public static Roomlist.PurpleRoomlistFieldType FieldGetType(PurpleRoomlistField field)
{
- throw new NotImplementedException();
+ /* Unable to process purple_roomlist_field_get_type, a KnownEnum. */
+
}
/*
+ * char * purple_roomlist_field_get_label(PurpleRoomlistField * field)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_roomlist_field_get_label(IntPtr field);
+
+ public static string FieldGetLabel(PurpleRoomlistField field)
+ {
+ return purple_roomlist_field_get_label(field.Reference);
+ }
+
+ /*
* gboolean purple_roomlist_field_get_hidden(PurpleRoomlistField * field)
*/
[DllImport("libpurple.dll")]
@@ -233,7 +271,7 @@ namespace PurpleWrapper
public static bool FieldGetHidden(PurpleRoomlistField field)
{
- throw new NotImplementedException();
+ return purple_roomlist_field_get_hidden(field.Reference);
}
/*
@@ -244,7 +282,7 @@ namespace PurpleWrapper
public static void SetUiOps(PurpleRoomlistUiOps ops)
{
- throw new NotImplementedException();
+ purple_roomlist_set_ui_ops(ops.Reference);
}
/*
@@ -255,7 +293,7 @@ namespace PurpleWrapper
public static PurpleRoomlistUiOps GetUiOps()
{
- throw new NotImplementedException();
+ return new PurpleRoomlistUiOps(purple_roomlist_get_ui_ops());
}
}
============================================================
--- libpurple/wrapper/Savedstatuses.cs 3fb330b94d622dfbe907a38f56a4e57d48bedb5d
+++ libpurple/wrapper/Savedstatuses.cs 4dc34d62dd5fc8834b948c67aee71435d39c641e
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -39,72 +41,6 @@ namespace PurpleWrapper
public class Savedstatuses
{
/*
- * PurpleSavedStatus * purple_savedstatus_new(char * title, PurpleStatusPrimitive type)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_savedstatus_new(string title, UNKNOWN type);
-
- public static PurpleSavedStatus SavedstatusNew(string title, PurpleStatusPrimitive type)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_savedstatus_set_title(PurpleSavedStatus * status, char * title)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_savedstatus_set_title(IntPtr status, string title);
-
- public static void SavedstatusSetTitle(PurpleSavedStatus status, string title)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_savedstatus_set_type(PurpleSavedStatus * status, PurpleStatusPrimitive type)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_savedstatus_set_type(IntPtr status, UNKNOWN type);
-
- public static void SavedstatusSetType(PurpleSavedStatus status, PurpleStatusPrimitive type)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_savedstatus_set_message(PurpleSavedStatus * status, char * message)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_savedstatus_set_message(IntPtr status, string message);
-
- public static void SavedstatusSetMessage(PurpleSavedStatus status, string message)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_savedstatus_set_substatus(PurpleSavedStatus * status, PurpleAccount * account, PurpleStatusType * type, char * message)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_savedstatus_set_substatus(IntPtr status, IntPtr account, IntPtr type, string message);
-
- public static void SavedstatusSetSubstatus(PurpleSavedStatus status, PurpleAccount account, PurpleStatusType type, string message)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_savedstatus_unset_substatus(PurpleSavedStatus * saved_status, PurpleAccount * account)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_savedstatus_unset_substatus(IntPtr saved_status, IntPtr account);
-
- public static void SavedstatusUnsetSubstatus(PurpleSavedStatus saved_status, PurpleAccount account)
- {
- throw new NotImplementedException();
- }
-
- /*
* gboolean purple_savedstatus_delete(char * title)
*/
[DllImport("libpurple.dll")]
@@ -112,75 +48,51 @@ namespace PurpleWrapper
public static bool SavedstatusDelete(string title)
{
- throw new NotImplementedException();
+ return purple_savedstatus_delete(title);
}
/*
* void purple_savedstatus_delete_by_status(PurpleSavedStatus * saved_status)
+ *
+ * Could not generate a wrapper for purple_savedstatus_delete_by_status in file "savedstatuses.h".
+ * Message: The type could not be resolved (PurpleSavedStatus * saved_status).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_savedstatus_delete_by_status(IntPtr saved_status);
- public static void SavedstatusDeleteByStatus(PurpleSavedStatus saved_status)
- {
- throw new NotImplementedException();
- }
-
/*
* GList * purple_savedstatuses_get_all()
+ *
+ * Could not generate a wrapper for purple_savedstatuses_get_all in file "savedstatuses.h".
+ * Message: The type could not be resolved (GList * purple_savedstatuses_get_all()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_savedstatuses_get_all();
- public static GList GetAll()
- {
- throw new NotImplementedException();
- }
-
/*
- * GList * purple_savedstatuses_get_popular(unsigned int)
+ * GList * purple_savedstatuses_get_popular(unsigned int how_many)
+ *
+ * Could not generate a wrapper for purple_savedstatuses_get_popular in file "savedstatuses.h".
+ * Message: The type could not be resolved (GList * purple_savedstatuses_get_popular(unsigned int how_many)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_savedstatuses_get_popular(UNKNOWN int);
- public static GList GetPopular(unsigned int)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleSavedStatus * purple_savedstatus_get_current()
+ *
+ * Could not generate a wrapper for purple_savedstatus_get_current in file "savedstatuses.h".
+ * Message: The type could not be resolved (PurpleSavedStatus * purple_savedstatus_get_current()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_savedstatus_get_current();
- public static PurpleSavedStatus SavedstatusGetCurrent()
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleSavedStatus * purple_savedstatus_get_default()
+ *
+ * Could not generate a wrapper for purple_savedstatus_get_default in file "savedstatuses.h".
+ * Message: The type could not be resolved (PurpleSavedStatus * purple_savedstatus_get_default()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_savedstatus_get_default();
- public static PurpleSavedStatus SavedstatusGetDefault()
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleSavedStatus * purple_savedstatus_get_idleaway()
+ *
+ * Could not generate a wrapper for purple_savedstatus_get_idleaway in file "savedstatuses.h".
+ * Message: The type could not be resolved (PurpleSavedStatus * purple_savedstatus_get_idleaway()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_savedstatus_get_idleaway();
- public static PurpleSavedStatus SavedstatusGetIdleaway()
- {
- throw new NotImplementedException();
- }
-
/*
* gboolean purple_savedstatus_is_idleaway()
*/
@@ -189,7 +101,7 @@ namespace PurpleWrapper
public static bool SavedstatusIsIdleaway()
{
- throw new NotImplementedException();
+ return purple_savedstatus_is_idleaway();
}
/*
@@ -200,174 +112,107 @@ namespace PurpleWrapper
public static void SavedstatusSetIdleaway(bool idleaway)
{
- throw new NotImplementedException();
+ purple_savedstatus_set_idleaway(idleaway);
}
/*
* PurpleSavedStatus * purple_savedstatus_get_startup()
+ *
+ * Could not generate a wrapper for purple_savedstatus_get_startup in file "savedstatuses.h".
+ * Message: The type could not be resolved (PurpleSavedStatus * purple_savedstatus_get_startup()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_savedstatus_get_startup();
- public static PurpleSavedStatus SavedstatusGetStartup()
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleSavedStatus * purple_savedstatus_find(char * title)
+ *
+ * Could not generate a wrapper for purple_savedstatus_find in file "savedstatuses.h".
+ * Message: The type could not be resolved (PurpleSavedStatus * purple_savedstatus_find(char * title)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_savedstatus_find(string title);
- public static PurpleSavedStatus SavedstatusFind(string title)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleSavedStatus * purple_savedstatus_find_by_creation_time(time_t creation_time)
+ *
+ * Could not generate a wrapper for purple_savedstatus_find_by_creation_time in file "savedstatuses.h".
+ * Message: The type could not be resolved (PurpleSavedStatus * purple_savedstatus_find_by_creation_time(time_t creation_time)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_savedstatus_find_by_creation_time(UNKNOWN creation_time);
- public static PurpleSavedStatus SavedstatusFindByCreationTime(time_t creation_time)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleSavedStatus * purple_savedstatus_find_transient_by_type_and_message(PurpleStatusPrimitive type, char * message)
+ *
+ * Could not generate a wrapper for purple_savedstatus_find_transient_by_type_and_message in file "savedstatuses.h".
+ * Message: The type could not be resolved (PurpleSavedStatus * purple_savedstatus_find_transient_by_type_and_message(PurpleStatusPrimitive type, char * message)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_savedstatus_find_transient_by_type_and_message(UNKNOWN type, string message);
- public static PurpleSavedStatus SavedstatusFindTransientByTypeAndMessage(PurpleStatusPrimitive type, string message)
- {
- throw new NotImplementedException();
- }
-
/*
* gboolean purple_savedstatus_is_transient(PurpleSavedStatus * saved_status)
+ *
+ * Could not generate a wrapper for purple_savedstatus_is_transient in file "savedstatuses.h".
+ * Message: The type could not be resolved (PurpleSavedStatus * saved_status).
*/
- [DllImport("libpurple.dll")]
- private static extern bool purple_savedstatus_is_transient(IntPtr saved_status);
- public static bool SavedstatusIsTransient(PurpleSavedStatus saved_status)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_savedstatus_get_title(PurpleSavedStatus * saved_status)
+ *
+ * Could not generate a wrapper for purple_savedstatus_get_title in file "savedstatuses.h".
+ * Message: The type could not be resolved (PurpleSavedStatus * saved_status).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_savedstatus_get_title(IntPtr saved_status);
- public static string SavedstatusGetTitle(PurpleSavedStatus saved_status)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleStatusPrimitive purple_savedstatus_get_type(PurpleSavedStatus * saved_status)
+ *
+ * Could not generate a wrapper for purple_savedstatus_get_type in file "savedstatuses.h".
+ * Message: The type could not be resolved (PurpleSavedStatus * saved_status).
*/
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_savedstatus_get_type(IntPtr saved_status);
- public static PurpleStatusPrimitive SavedstatusGetType(PurpleSavedStatus saved_status)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_savedstatus_get_message(PurpleSavedStatus * saved_status)
+ *
+ * Could not generate a wrapper for purple_savedstatus_get_message in file "savedstatuses.h".
+ * Message: The type could not be resolved (PurpleSavedStatus * saved_status).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_savedstatus_get_message(IntPtr saved_status);
- public static string SavedstatusGetMessage(PurpleSavedStatus saved_status)
- {
- throw new NotImplementedException();
- }
-
/*
* time_t purple_savedstatus_get_creation_time(PurpleSavedStatus * saved_status)
+ *
+ * Could not generate a wrapper for purple_savedstatus_get_creation_time in file "savedstatuses.h".
+ * Message: The type could not be resolved (PurpleSavedStatus * saved_status).
*/
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_savedstatus_get_creation_time(IntPtr saved_status);
- public static time_t SavedstatusGetCreationTime(PurpleSavedStatus saved_status)
- {
- throw new NotImplementedException();
- }
-
/*
* gboolean purple_savedstatus_has_substatuses(PurpleSavedStatus * saved_status)
+ *
+ * Could not generate a wrapper for purple_savedstatus_has_substatuses in file "savedstatuses.h".
+ * Message: The type could not be resolved (PurpleSavedStatus * saved_status).
*/
- [DllImport("libpurple.dll")]
- private static extern bool purple_savedstatus_has_substatuses(IntPtr saved_status);
- public static bool SavedstatusHasSubstatuses(PurpleSavedStatus saved_status)
- {
- throw new NotImplementedException();
- }
-
/*
- * PurpleSavedStatusSub * purple_savedstatus_get_substatus(PurpleSavedStatus * saved_status, PurpleAccount * account)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_savedstatus_get_substatus(IntPtr saved_status, IntPtr account);
-
- public static PurpleSavedStatusSub SavedstatusGetSubstatus(PurpleSavedStatus saved_status, PurpleAccount account)
- {
- throw new NotImplementedException();
- }
-
- /*
* PurpleStatusType * purple_savedstatus_substatus_get_type(PurpleSavedStatusSub * substatus)
+ *
+ * Could not generate a wrapper for purple_savedstatus_substatus_get_type in file "savedstatuses.h".
+ * Message: The type could not be resolved (PurpleStatusType * purple_savedstatus_substatus_get_type(PurpleSavedStatusSub * substatus)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_savedstatus_substatus_get_type(IntPtr substatus);
- public static PurpleStatusType SavedstatusSubstatusGetType(PurpleSavedStatusSub substatus)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_savedstatus_substatus_get_message(PurpleSavedStatusSub * substatus)
+ *
+ * Could not generate a wrapper for purple_savedstatus_substatus_get_message in file "savedstatuses.h".
+ * Message: The type could not be resolved (PurpleSavedStatusSub * substatus).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_savedstatus_substatus_get_message(IntPtr substatus);
- public static string SavedstatusSubstatusGetMessage(PurpleSavedStatusSub substatus)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_savedstatus_activate(PurpleSavedStatus * saved_status)
+ *
+ * Could not generate a wrapper for purple_savedstatus_activate in file "savedstatuses.h".
+ * Message: The type could not be resolved (PurpleSavedStatus * saved_status).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_savedstatus_activate(IntPtr saved_status);
- public static void SavedstatusActivate(PurpleSavedStatus saved_status)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_savedstatus_activate_for_account(PurpleSavedStatus * saved_status, PurpleAccount * account)
+ *
+ * Could not generate a wrapper for purple_savedstatus_activate_for_account in file "savedstatuses.h".
+ * Message: The type could not be resolved (PurpleSavedStatus * saved_status).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_savedstatus_activate_for_account(IntPtr saved_status, IntPtr account);
- public static void SavedstatusActivateForAccount(PurpleSavedStatus saved_status, PurpleAccount account)
- {
- throw new NotImplementedException();
- }
-
/*
* void * purple_savedstatuses_get_handle()
*/
@@ -376,7 +221,7 @@ namespace PurpleWrapper
public static IntPtr GetHandle()
{
- throw new NotImplementedException();
+ return purple_savedstatuses_get_handle();
}
/*
@@ -387,7 +232,7 @@ namespace PurpleWrapper
public static void Init()
{
- throw new NotImplementedException();
+ purple_savedstatuses_init();
}
/*
@@ -398,7 +243,7 @@ namespace PurpleWrapper
public static void Uninit()
{
- throw new NotImplementedException();
+ purple_savedstatuses_uninit();
}
}
============================================================
--- libpurple/wrapper/Server.cs c8d4cc5379d85fdbf15cc5bc8d9722bb1877eedd
+++ libpurple/wrapper/Server.cs 7e6ab0d6acdc6b078c717a8839e606078d2505d9
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -39,35 +41,37 @@ namespace PurpleWrapper
public class Server
{
/*
- * int serv_send_typing(PurpleConnection * gc, char * name, PurpleTypingState state)
+ * unsigned int serv_send_typing(PurpleConnection * gc, char * name, PurpleTypingState state)
*/
[DllImport("libpurple.dll")]
- private static extern int serv_send_typing(IntPtr gc, string name, UNKNOWN state);
+ private static extern uint serv_send_typing(IntPtr gc, string name, Conversation.PurpleTypingState state);
- public static int ServSendTyping(PurpleConnection gc, string name, PurpleTypingState state)
+ public static uint ServSendTyping(PurpleConnection gc, string name, Conversation.PurpleTypingState state)
{
+ /* Unable to process state, a KnownEnum. */
throw new NotImplementedException();
}
/*
- * void serv_move_buddy( , , )
+ * void serv_move_buddy(PurpleBuddy * , PurpleGroup * , PurpleGroup * )
*/
[DllImport("libpurple.dll")]
- private static extern void serv_move_buddy(UNKNOWN , UNKNOWN , UNKNOWN );
+ private static extern void serv_move_buddy(IntPtr , IntPtr , IntPtr );
- public static void ServMoveBuddy( , , )
+ public static void ServMoveBuddy(PurpleBuddy , PurpleGroup , PurpleGroup )
{
- throw new NotImplementedException();
+ serv_move_buddy(.Reference, .Reference, .Reference);
}
/*
- * int serv_send_im( , , , PurpleMessageFlags flags)
+ * int serv_send_im(PurpleConnection * , char * , char * , PurpleMessageFlags flags)
*/
[DllImport("libpurple.dll")]
- private static extern int serv_send_im(UNKNOWN , UNKNOWN , UNKNOWN , UNKNOWN flags);
+ private static extern int serv_send_im(IntPtr , string , string , Conversation.PurpleMessageFlags flags);
- public static int ServSendIm( , , , PurpleMessageFlags flags)
+ public static int ServSendIm(PurpleConnection , string , string , Conversation.PurpleMessageFlags flags)
{
+ /* Unable to process flags, a KnownEnum. */
throw new NotImplementedException();
}
@@ -79,7 +83,7 @@ namespace PurpleWrapper
public static PurpleAttentionType GetAttentionTypeFromCode(PurpleAccount account, uint type_code)
{
- throw new NotImplementedException();
+ return new PurpleAttentionType(purple_get_attention_type_from_code(account.Reference, type_code));
}
/*
@@ -90,7 +94,7 @@ namespace PurpleWrapper
public static void ServSendAttention(PurpleConnection gc, string who, uint type_code)
{
- throw new NotImplementedException();
+ serv_send_attention(gc.Reference, who, type_code);
}
/*
@@ -101,139 +105,123 @@ namespace PurpleWrapper
public static void ServGotAttention(PurpleConnection gc, string who, uint type_code)
{
- throw new NotImplementedException();
+ serv_got_attention(gc.Reference, who, type_code);
}
/*
- * void serv_get_info( , )
+ * void serv_get_info(PurpleConnection * , char * )
*/
[DllImport("libpurple.dll")]
- private static extern void serv_get_info(UNKNOWN , UNKNOWN );
+ private static extern void serv_get_info(IntPtr , string );
- public static void ServGetInfo( , )
+ public static void ServGetInfo(PurpleConnection , string )
{
- throw new NotImplementedException();
+ serv_get_info(.Reference, );
}
/*
- * void serv_set_info( , )
+ * void serv_set_info(PurpleConnection * , char * )
*/
[DllImport("libpurple.dll")]
- private static extern void serv_set_info(UNKNOWN , UNKNOWN );
+ private static extern void serv_set_info(IntPtr , string );
- public static void ServSetInfo( , )
+ public static void ServSetInfo(PurpleConnection , string )
{
- throw new NotImplementedException();
+ serv_set_info(.Reference, );
}
/*
- * void serv_add_permit( , )
+ * void serv_add_permit(PurpleConnection * , char * )
*/
[DllImport("libpurple.dll")]
- private static extern void serv_add_permit(UNKNOWN , UNKNOWN );
+ private static extern void serv_add_permit(IntPtr , string );
- public static void ServAddPermit( , )
+ public static void ServAddPermit(PurpleConnection , string )
{
- throw new NotImplementedException();
+ serv_add_permit(.Reference, );
}
/*
- * void serv_add_deny( , )
+ * void serv_add_deny(PurpleConnection * , char * )
*/
[DllImport("libpurple.dll")]
- private static extern void serv_add_deny(UNKNOWN , UNKNOWN );
+ private static extern void serv_add_deny(IntPtr , string );
- public static void ServAddDeny( , )
+ public static void ServAddDeny(PurpleConnection , string )
{
- throw new NotImplementedException();
+ serv_add_deny(.Reference, );
}
/*
- * void serv_rem_permit( , )
+ * void serv_rem_permit(PurpleConnection * , char * )
*/
[DllImport("libpurple.dll")]
- private static extern void serv_rem_permit(UNKNOWN , UNKNOWN );
+ private static extern void serv_rem_permit(IntPtr , string );
- public static void ServRemPermit( , )
+ public static void ServRemPermit(PurpleConnection , string )
{
- throw new NotImplementedException();
+ serv_rem_permit(.Reference, );
}
/*
- * void serv_rem_deny( , )
+ * void serv_rem_deny(PurpleConnection * , char * )
*/
[DllImport("libpurple.dll")]
- private static extern void serv_rem_deny(UNKNOWN , UNKNOWN );
+ private static extern void serv_rem_deny(IntPtr , string );
- public static void ServRemDeny( , )
+ public static void ServRemDeny(PurpleConnection , string )
{
- throw new NotImplementedException();
+ serv_rem_deny(.Reference, );
}
/*
- * void serv_set_permit_deny( )
+ * void serv_set_permit_deny(PurpleConnection * )
*/
[DllImport("libpurple.dll")]
- private static extern void serv_set_permit_deny(UNKNOWN );
+ private static extern void serv_set_permit_deny(IntPtr );
- public static void ServSetPermitDeny( )
+ public static void ServSetPermitDeny(PurpleConnection )
{
- throw new NotImplementedException();
+ serv_set_permit_deny(.Reference);
}
/*
- * void serv_chat_invite( , , , )
+ * void serv_chat_invite(PurpleConnection * , , char * , char * )
+ *
+ * Could not generate a wrapper for serv_chat_invite in file "server.h".
+ * Message: The type could not be resolved ( ).
*/
- [DllImport("libpurple.dll")]
- private static extern void serv_chat_invite(UNKNOWN , UNKNOWN , UNKNOWN , UNKNOWN );
- public static void ServChatInvite( , , , )
- {
- throw new NotImplementedException();
- }
-
/*
- * void serv_chat_leave( , )
+ * void serv_chat_leave(PurpleConnection * , )
+ *
+ * Could not generate a wrapper for serv_chat_leave in file "server.h".
+ * Message: The type could not be resolved ( ).
*/
- [DllImport("libpurple.dll")]
- private static extern void serv_chat_leave(UNKNOWN , UNKNOWN );
- public static void ServChatLeave( , )
- {
- throw new NotImplementedException();
- }
-
/*
- * void serv_chat_whisper( , , , )
+ * void serv_chat_whisper(PurpleConnection * , , char * , char * )
+ *
+ * Could not generate a wrapper for serv_chat_whisper in file "server.h".
+ * Message: The type could not be resolved ( ).
*/
- [DllImport("libpurple.dll")]
- private static extern void serv_chat_whisper(UNKNOWN , UNKNOWN , UNKNOWN , UNKNOWN );
- public static void ServChatWhisper( , , , )
- {
- throw new NotImplementedException();
- }
-
/*
- * int serv_chat_send( , , , PurpleMessageFlags flags)
+ * int serv_chat_send(PurpleConnection * , , char * , PurpleMessageFlags flags)
+ *
+ * Could not generate a wrapper for serv_chat_send in file "server.h".
+ * Message: The type could not be resolved ( ).
*/
- [DllImport("libpurple.dll")]
- private static extern int serv_chat_send(UNKNOWN , UNKNOWN , UNKNOWN , UNKNOWN flags);
- public static int ServChatSend( , , , PurpleMessageFlags flags)
- {
- throw new NotImplementedException();
- }
-
/*
- * void serv_alias_buddy( )
+ * void serv_alias_buddy(PurpleBuddy * )
*/
[DllImport("libpurple.dll")]
- private static extern void serv_alias_buddy(UNKNOWN );
+ private static extern void serv_alias_buddy(IntPtr );
- public static void ServAliasBuddy( )
+ public static void ServAliasBuddy(PurpleBuddy )
{
- throw new NotImplementedException();
+ serv_alias_buddy(.Reference);
}
/*
@@ -244,7 +232,7 @@ namespace PurpleWrapper
public static void ServGotAlias(PurpleConnection gc, string who, string alias)
{
- throw new NotImplementedException();
+ serv_got_alias(gc.Reference, who, alias);
}
/*
@@ -255,21 +243,10 @@ namespace PurpleWrapper
public static void ServGotPrivateAlias(PurpleConnection gc, string who, string alias)
{
- throw new NotImplementedException();
+ purple_serv_got_private_alias(gc.Reference, who, alias);
}
/*
- * void serv_got_typing(PurpleConnection * gc, char * name, int timeout, PurpleTypingState state)
- */
- [DllImport("libpurple.dll")]
- private static extern void serv_got_typing(IntPtr gc, string name, int timeout, UNKNOWN state);
-
- public static void ServGotTyping(PurpleConnection gc, string name, int timeout, PurpleTypingState state)
- {
- throw new NotImplementedException();
- }
-
- /*
* void serv_got_typing_stopped(PurpleConnection * gc, char * name)
*/
[DllImport("libpurple.dll")]
@@ -277,75 +254,30 @@ namespace PurpleWrapper
public static void ServGotTypingStopped(PurpleConnection gc, string name)
{
- throw new NotImplementedException();
+ serv_got_typing_stopped(gc.Reference, name);
}
/*
- * void serv_got_im(PurpleConnection * gc, char * who, char * msg, PurpleMessageFlags flags, time_t mtime)
+ * void serv_join_chat(PurpleConnection * , GHashTable * data)
+ *
+ * Could not generate a wrapper for serv_join_chat in file "server.h".
+ * Message: The type could not be resolved (GHashTable * data).
*/
- [DllImport("libpurple.dll")]
- private static extern void serv_got_im(IntPtr gc, string who, string msg, UNKNOWN flags, UNKNOWN mtime);
- public static void ServGotIm(PurpleConnection gc, string who, string msg, PurpleMessageFlags flags, time_t mtime)
- {
- throw new NotImplementedException();
- }
-
/*
- * void serv_join_chat( , GHashTable * data)
+ * void serv_reject_chat(PurpleConnection * , GHashTable * data)
+ *
+ * Could not generate a wrapper for serv_reject_chat in file "server.h".
+ * Message: The type could not be resolved (GHashTable * data).
*/
- [DllImport("libpurple.dll")]
- private static extern void serv_join_chat(UNKNOWN , IntPtr data);
- public static void ServJoinChat( , GHashTable data)
- {
- throw new NotImplementedException();
- }
-
/*
- * void serv_reject_chat( , GHashTable * data)
- */
- [DllImport("libpurple.dll")]
- private static extern void serv_reject_chat(UNKNOWN , IntPtr data);
-
- public static void ServRejectChat( , GHashTable data)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void serv_got_chat_invite(PurpleConnection * gc, char * name, char * who, char * message, GHashTable * data)
- */
- [DllImport("libpurple.dll")]
- private static extern void serv_got_chat_invite(IntPtr gc, string name, string who, string message, IntPtr data);
-
- public static void ServGotChatInvite(PurpleConnection gc, string name, string who, string message, GHashTable data)
- {
- throw new NotImplementedException();
- }
-
- /*
- * PurpleConversation * serv_got_joined_chat(PurpleConnection * gc, int id, char * name)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr serv_got_joined_chat(IntPtr gc, int id, string name);
-
- public static PurpleConversation ServGotJoinedChat(PurpleConnection gc, int id, string name)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_serv_got_join_chat_failed(PurpleConnection * gc, GHashTable * data)
+ *
+ * Could not generate a wrapper for purple_serv_got_join_chat_failed in file "server.h".
+ * Message: The type could not be resolved (GHashTable * data).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_serv_got_join_chat_failed(IntPtr gc, IntPtr data);
- public static void ServGotJoinChatFailed(PurpleConnection gc, GHashTable data)
- {
- throw new NotImplementedException();
- }
-
/*
* void serv_got_chat_left(PurpleConnection * g, int id)
*/
@@ -354,21 +286,10 @@ namespace PurpleWrapper
public static void ServGotChatLeft(PurpleConnection g, int id)
{
- throw new NotImplementedException();
+ serv_got_chat_left(g.Reference, id);
}
/*
- * void serv_got_chat_in(PurpleConnection * g, int id, char * who, PurpleMessageFlags flags, char * message, time_t mtime)
- */
- [DllImport("libpurple.dll")]
- private static extern void serv_got_chat_in(IntPtr g, int id, string who, UNKNOWN flags, string message, UNKNOWN mtime);
-
- public static void ServGotChatIn(PurpleConnection g, int id, string who, PurpleMessageFlags flags, string message, time_t mtime)
- {
- throw new NotImplementedException();
- }
-
- /*
* void serv_send_file(PurpleConnection * gc, char * who, char * file)
*/
[DllImport("libpurple.dll")]
@@ -376,7 +297,7 @@ namespace PurpleWrapper
public static void ServSendFile(PurpleConnection gc, string who, string file)
{
- throw new NotImplementedException();
+ serv_send_file(gc.Reference, who, file);
}
}
============================================================
--- libpurple/wrapper/Signals.cs 0fd710084b6210ac2048951e6185e31946a31d48
+++ libpurple/wrapper/Signals.cs d93f51f11420ecdafbfce594b0e8a9c275954f1f
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -39,17 +41,6 @@ namespace PurpleWrapper
public class Signals
{
/*
- * gulong purple_signal_register(void * instance, char * signal, PurpleSignalMarshalFunc marshal, PurpleValue * ret_value, int num_values, ...)
- */
- [DllImport("libpurple.dll")]
- private static extern ulong purple_signal_register(IntPtr instance, string signal, UNKNOWN marshal, IntPtr ret_value, int num_values, ...);
-
- public static ulong SignalRegister(IntPtr instance, string signal, PurpleSignalMarshalFunc marshal, PurpleValue ret_value, int num_values, ...)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_signal_unregister(void * instance, char * signal)
*/
[DllImport("libpurple.dll")]
@@ -57,7 +48,7 @@ namespace PurpleWrapper
public static void SignalUnregister(IntPtr instance, string signal)
{
- throw new NotImplementedException();
+ purple_signal_unregister(instance, signal);
}
/*
@@ -68,76 +59,10 @@ namespace PurpleWrapper
public static void UnregisterByInstance(IntPtr instance)
{
- throw new NotImplementedException();
+ purple_signals_unregister_by_instance(instance);
}
/*
- * void purple_signal_get_values(void * instance, char * signal, PurpleValue ** ret_value, int * num_values, PurpleValue *** values)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_signal_get_values(IntPtr instance, string signal, IntPtr ret_value, IntPtr num_values, IntPtr values);
-
- public static void SignalGetValues(IntPtr instance, string signal, PurpleValue ret_value, int num_values, PurpleValue values)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gulong purple_signal_connect_priority(void * instance, char * signal, void * handle, PurpleCallback func, void * data, int priority)
- */
- [DllImport("libpurple.dll")]
- private static extern ulong purple_signal_connect_priority(IntPtr instance, string signal, IntPtr handle, UNKNOWN func, IntPtr data, int priority);
-
- public static ulong SignalConnectPriority(IntPtr instance, string signal, IntPtr handle, PurpleCallback func, IntPtr data, int priority)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gulong purple_signal_connect(void * instance, char * signal, void * handle, PurpleCallback func, void * data)
- */
- [DllImport("libpurple.dll")]
- private static extern ulong purple_signal_connect(IntPtr instance, string signal, IntPtr handle, UNKNOWN func, IntPtr data);
-
- public static ulong SignalConnect(IntPtr instance, string signal, IntPtr handle, PurpleCallback func, IntPtr data)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gulong purple_signal_connect_priority_vargs(void * instance, char * signal, void * handle, PurpleCallback func, void * data, int priority)
- */
- [DllImport("libpurple.dll")]
- private static extern ulong purple_signal_connect_priority_vargs(IntPtr instance, string signal, IntPtr handle, UNKNOWN func, IntPtr data, int priority);
-
- public static ulong SignalConnectPriorityVargs(IntPtr instance, string signal, IntPtr handle, PurpleCallback func, IntPtr data, int priority)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gulong purple_signal_connect_vargs(void * instance, char * signal, void * handle, PurpleCallback func, void * data)
- */
- [DllImport("libpurple.dll")]
- private static extern ulong purple_signal_connect_vargs(IntPtr instance, string signal, IntPtr handle, UNKNOWN func, IntPtr data);
-
- public static ulong SignalConnectVargs(IntPtr instance, string signal, IntPtr handle, PurpleCallback func, IntPtr data)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_signal_disconnect(void * instance, char * signal, void * handle, PurpleCallback func)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_signal_disconnect(IntPtr instance, string signal, IntPtr handle, UNKNOWN func);
-
- public static void SignalDisconnect(IntPtr instance, string signal, IntPtr handle, PurpleCallback func)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_signals_disconnect_by_handle(void * handle)
*/
[DllImport("libpurple.dll")]
@@ -145,54 +70,17 @@ namespace PurpleWrapper
public static void DisconnectByHandle(IntPtr handle)
{
- throw new NotImplementedException();
+ purple_signals_disconnect_by_handle(handle);
}
/*
- * void purple_signal_emit(void * instance, char * signal, ...)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_signal_emit(IntPtr instance, string signal, ...);
-
- public static void SignalEmit(IntPtr instance, string signal, ...)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_signal_emit_vargs(void * instance, char * signal, va_list args)
+ *
+ * Could not generate a wrapper for purple_signal_emit_vargs in file "signals.h".
+ * Message: The type could not be resolved (va_list args).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_signal_emit_vargs(IntPtr instance, string signal, UNKNOWN args);
- public static void SignalEmitVargs(IntPtr instance, string signal, va_list args)
- {
- throw new NotImplementedException();
- }
-
/*
- * void * purple_signal_emit_return_1(void * instance, char * signal, ...)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_signal_emit_return_1(IntPtr instance, string signal, ...);
-
- public static IntPtr SignalEmitReturn1(IntPtr instance, string signal, ...)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void * purple_signal_emit_vargs_return_1(void * instance, char * signal, va_list args)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_signal_emit_vargs_return_1(IntPtr instance, string signal, UNKNOWN args);
-
- public static IntPtr SignalEmitVargsReturn1(IntPtr instance, string signal, va_list args)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_signals_init()
*/
[DllImport("libpurple.dll")]
@@ -200,7 +88,7 @@ namespace PurpleWrapper
public static void Init()
{
- throw new NotImplementedException();
+ purple_signals_init();
}
/*
@@ -211,394 +99,9 @@ namespace PurpleWrapper
public static void Uninit()
{
- throw new NotImplementedException();
+ purple_signals_uninit();
}
- /*
- * void purple_marshal_VOID(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_VOID(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalVoid(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_VOID__INT(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_VOID__INT(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalVoid_int(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_VOID__INT_INT(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_VOID__INT_INT(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalVoid_intInt(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_VOID__POINTER(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_VOID__POINTER(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalVoid_pointer(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_VOID__POINTER_UINT(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_VOID__POINTER_UINT(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalVoid_pointerUint(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_VOID__POINTER_INT_INT(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_VOID__POINTER_INT_INT(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalVoid_pointerIntInt(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_VOID__POINTER_INT_POINTER(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_VOID__POINTER_INT_POINTER(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalVoid_pointerIntPointer(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_VOID__POINTER_POINTER(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_VOID__POINTER_POINTER(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalVoid_pointerPointer(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_VOID__POINTER_POINTER_UINT(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_VOID__POINTER_POINTER_UINT(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalVoid_pointerPointerUint(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_VOID__POINTER_POINTER_UINT_UINT(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_VOID__POINTER_POINTER_UINT_UINT(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalVoid_pointerPointerUintUint(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_VOID__POINTER_POINTER_POINTER(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_VOID__POINTER_POINTER_POINTER(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalVoid_pointerPointerPointer(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalVoid_pointerPointerPointerPointer(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_POINTER(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_POINTER(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalVoid_pointerPointerPointerPointerPointer(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_VOID__POINTER_POINTER_POINTER_UINT(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_VOID__POINTER_POINTER_POINTER_UINT(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalVoid_pointerPointerPointerUint(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_UINT(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_VOID__POINTER_POINTER_POINTER_POINTER_UINT(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalVoid_pointerPointerPointerPointerUint(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_VOID__POINTER_POINTER_POINTER_UINT_UINT(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_VOID__POINTER_POINTER_POINTER_UINT_UINT(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalVoid_pointerPointerPointerUintUint(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_INT__INT(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_INT__INT(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalInt_int(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_INT__INT_INT(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_INT__INT_INT(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalInt_intInt(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_INT__POINTER_POINTER(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_INT__POINTER_POINTER(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalInt_pointerPointer(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_INT__POINTER_POINTER_POINTER_POINTER_POINTER(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_INT__POINTER_POINTER_POINTER_POINTER_POINTER(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalInt_pointerPointerPointerPointerPointer(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_BOOLEAN__POINTER(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_BOOLEAN__POINTER(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalBoolean_pointer(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_BOOLEAN__POINTER_POINTER(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_BOOLEAN__POINTER_POINTER(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalBoolean_pointerPointer(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_BOOLEAN__POINTER_POINTER_POINTER(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_BOOLEAN__POINTER_POINTER_POINTER(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalBoolean_pointerPointerPointer(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_BOOLEAN__POINTER_POINTER_UINT(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_BOOLEAN__POINTER_POINTER_UINT(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalBoolean_pointerPointerUint(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_UINT(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_UINT(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalBoolean_pointerPointerPointerUint(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalBoolean_pointerPointerPointerPointer(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalBoolean_pointerPointerPointerPointerPointer(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_UINT(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_UINT(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalBoolean_pointerPointerPointerPointerUint(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER_POINTER(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_BOOLEAN__POINTER_POINTER_POINTER_POINTER_POINTER_POINTER(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalBoolean_pointerPointerPointerPointerPointerPointer(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_BOOLEAN__INT_POINTER(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_BOOLEAN__INT_POINTER(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalBoolean_intPointer(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_POINTER__POINTER_INT(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_POINTER__POINTER_INT(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalPointer_pointerInt(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_POINTER__POINTER_INT64(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_POINTER__POINTER_INT64(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalPointer_pointerInt64(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_POINTER__POINTER_INT_BOOLEAN(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_POINTER__POINTER_INT_BOOLEAN(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalPointer_pointerIntBoolean(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_POINTER__POINTER_INT64_BOOLEAN(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_POINTER__POINTER_INT64_BOOLEAN(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalPointer_pointerInt64Boolean(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_marshal_POINTER__POINTER_POINTER(PurpleCallback cb, va_list args, void * data, void ** return_val)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_marshal_POINTER__POINTER_POINTER(UNKNOWN cb, UNKNOWN args, IntPtr data, IntPtr return_val);
-
- public static void MarshalPointer_pointerPointer(PurpleCallback cb, va_list args, IntPtr data, void return_val)
- {
- throw new NotImplementedException();
- }
-
}
}
============================================================
--- libpurple/wrapper/Smiley.cs 925c41152f40e63c74859bd6e35e8926965fbc11
+++ libpurple/wrapper/Smiley.cs 1082add9ff24240a7e9b2eacf6a09ab9340b61f4
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -42,111 +44,104 @@ namespace PurpleWrapper
* GType purple_smiley_get_type()
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_smiley_get_type();
+ private static extern IntPtr purple_smiley_get_type();
- public static GType GetType()
+ public static /* libgobject */ IntPtr GetType()
{
- throw new NotImplementedException();
+ /* Unable to process purple_smiley_get_type, a GObjectObject. */
+
}
/*
- * void purple_smiley_delete(PurpleSmiley * smiley)
+ * PurpleSmiley * purple_smiley_new(PurpleStoredImage * img, char * shortcut)
+ *
+ * Could not generate a wrapper for purple_smiley_new in file "smiley.h".
+ * Message: The type could not be resolved (PurpleSmiley * purple_smiley_new(PurpleStoredImage * img, char * shortcut)).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_smiley_delete(IntPtr smiley);
- public static void Delete(PurpleSmiley smiley)
- {
- throw new NotImplementedException();
- }
-
/*
- * gboolean purple_smiley_set_shortcut(PurpleSmiley * smiley, char * shortcut)
+ * PurpleSmiley * purple_smiley_new_from_file(char * shortcut, char * filepath)
+ *
+ * Could not generate a wrapper for purple_smiley_new_from_file in file "smiley.h".
+ * Message: The type could not be resolved (PurpleSmiley * purple_smiley_new_from_file(char * shortcut, char * filepath)).
*/
- [DllImport("libpurple.dll")]
- private static extern bool purple_smiley_set_shortcut(IntPtr smiley, string shortcut);
- public static bool SetShortcut(PurpleSmiley smiley, string shortcut)
- {
- throw new NotImplementedException();
- }
-
/*
- * void purple_smiley_set_data(PurpleSmiley * smiley, guchar * smiley_data, size_t smiley_data_len)
+ * void purple_smiley_delete(PurpleSmiley * smiley)
+ *
+ * Could not generate a wrapper for purple_smiley_delete in file "smiley.h".
+ * Message: The type could not be resolved (PurpleSmiley * smiley).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_smiley_set_data(IntPtr smiley, IntPtr smiley_data, UNKNOWN smiley_data_len);
- public static void SetData(PurpleSmiley smiley, guchar smiley_data, size_t smiley_data_len)
- {
- throw new NotImplementedException();
- }
+ /*
+ * gboolean purple_smiley_set_shortcut(PurpleSmiley * smiley, char * shortcut)
+ *
+ * Could not generate a wrapper for purple_smiley_set_shortcut in file "smiley.h".
+ * Message: The type could not be resolved (PurpleSmiley * smiley).
+ */
/*
* char * purple_smiley_get_shortcut(PurpleSmiley * smiley)
+ *
+ * Could not generate a wrapper for purple_smiley_get_shortcut in file "smiley.h".
+ * Message: The type could not be resolved (PurpleSmiley * smiley).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_smiley_get_shortcut(IntPtr smiley);
- public static string GetShortcut(PurpleSmiley smiley)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_smiley_get_checksum(PurpleSmiley * smiley)
+ *
+ * Could not generate a wrapper for purple_smiley_get_checksum in file "smiley.h".
+ * Message: The type could not be resolved (PurpleSmiley * smiley).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_smiley_get_checksum(IntPtr smiley);
- public static string GetChecksum(PurpleSmiley smiley)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleStoredImage * purple_smiley_get_stored_image(PurpleSmiley * smiley)
+ *
+ * Could not generate a wrapper for purple_smiley_get_stored_image in file "smiley.h".
+ * Message: The type could not be resolved (PurpleStoredImage * purple_smiley_get_stored_image(PurpleSmiley * smiley)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_smiley_get_stored_image(IntPtr smiley);
- public static PurpleStoredImage GetStoredImage(PurpleSmiley smiley)
- {
- throw new NotImplementedException();
- }
-
/*
* gconstpointer purple_smiley_get_data(PurpleSmiley * smiley, size_t * len)
+ *
+ * Could not generate a wrapper for purple_smiley_get_data in file "smiley.h".
+ * Message: The type could not be resolved (PurpleSmiley * smiley).
*/
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_smiley_get_data(IntPtr smiley, IntPtr len);
- public static gconstpointer GetData(PurpleSmiley smiley, size_t len)
- {
- throw new NotImplementedException();
- }
+ /*
+ * char * purple_smiley_get_extension(PurpleSmiley * smiley)
+ *
+ * Could not generate a wrapper for purple_smiley_get_extension in file "smiley.h".
+ * Message: The type could not be resolved (PurpleSmiley * smiley).
+ */
/*
- * char * purple_smiley_get_extension(PurpleSmiley * smiley)
+ * char * purple_smiley_get_full_path(PurpleSmiley * smiley)
+ *
+ * Could not generate a wrapper for purple_smiley_get_full_path in file "smiley.h".
+ * Message: The type could not be resolved (PurpleSmiley * smiley).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_smiley_get_extension(IntPtr smiley);
- public static string GetExtension(PurpleSmiley smiley)
- {
- throw new NotImplementedException();
- }
+ /*
+ * GList * purple_smileys_get_all()
+ *
+ * Could not generate a wrapper for purple_smileys_get_all in file "smiley.h".
+ * Message: The type could not be resolved (GList * purple_smileys_get_all()).
+ */
/*
- * char * purple_smiley_get_full_path(PurpleSmiley * smiley)
+ * PurpleSmiley * purple_smileys_find_by_shortcut(char * shortcut)
+ *
+ * Could not generate a wrapper for purple_smileys_find_by_shortcut in file "smiley.h".
+ * Message: The type could not be resolved (PurpleSmiley * purple_smileys_find_by_shortcut(char * shortcut)).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_smiley_get_full_path(IntPtr smiley);
- public static string GetFullPath(PurpleSmiley smiley)
- {
- throw new NotImplementedException();
- }
+ /*
+ * PurpleSmiley * purple_smileys_find_by_checksum(char * checksum)
+ *
+ * Could not generate a wrapper for purple_smileys_find_by_checksum in file "smiley.h".
+ * Message: The type could not be resolved (PurpleSmiley * purple_smileys_find_by_checksum(char * checksum)).
+ */
/*
* char * purple_smileys_get_storing_dir()
@@ -156,7 +151,7 @@ namespace PurpleWrapper
public static string SmileysGetStoringDir()
{
- throw new NotImplementedException();
+ return purple_smileys_get_storing_dir();
}
/*
@@ -167,7 +162,7 @@ namespace PurpleWrapper
public static void SmileysInit()
{
- throw new NotImplementedException();
+ purple_smileys_init();
}
/*
@@ -178,7 +173,7 @@ namespace PurpleWrapper
public static void SmileysUninit()
{
- throw new NotImplementedException();
+ purple_smileys_uninit();
}
}
============================================================
--- libpurple/wrapper/Sound.cs d6a62cb1846c649def2c5d80628c1c7344d9d49e
+++ libpurple/wrapper/Sound.cs fa43998974f9d9ee26240f02274f60d4589bfc6e
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,6 +40,22 @@ namespace PurpleWrapper
{
public class Sound
{
+ public enum PurpleSoundEventID
+ {
+ PURPLE_SOUND_BUDDY_ARRIVE = 0,
+ PURPLE_SOUND_BUDDY_LEAVE,
+ PURPLE_SOUND_RECEIVE,
+ PURPLE_SOUND_FIRST_RECEIVE,
+ PURPLE_SOUND_SEND,
+ PURPLE_SOUND_CHAT_JOIN,
+ PURPLE_SOUND_CHAT_LEAVE,
+ PURPLE_SOUND_CHAT_YOU_SAY,
+ PURPLE_SOUND_CHAT_SAY,
+ PURPLE_SOUND_POUNCE_DEFAULT,
+ PURPLE_SOUND_CHAT_NICK,
+ PURPLE_NUM_SOUNDS
+ };
+
/*
* void purple_sound_play_file(char * filename, PurpleAccount * account)
*/
@@ -46,17 +64,18 @@ namespace PurpleWrapper
public static void PlayFile(string filename, PurpleAccount account)
{
- throw new NotImplementedException();
+ purple_sound_play_file(filename, account.Reference);
}
/*
* void purple_sound_play_event(PurpleSoundEventID event, PurpleAccount * account)
*/
[DllImport("libpurple.dll")]
- private static extern void purple_sound_play_event(UNKNOWN event, IntPtr account);
+ private static extern void purple_sound_play_event(Sound.PurpleSoundEventID event_, IntPtr account);
- public static void PlayEvent(PurpleSoundEventID event, PurpleAccount account)
+ public static void PlayEvent(Sound.PurpleSoundEventID event_, PurpleAccount account)
{
+ /* Unable to process event_, a KnownEnum. */
throw new NotImplementedException();
}
@@ -68,7 +87,7 @@ namespace PurpleWrapper
public static void SetUiOps(PurpleSoundUiOps ops)
{
- throw new NotImplementedException();
+ purple_sound_set_ui_ops(ops.Reference);
}
/*
@@ -79,7 +98,7 @@ namespace PurpleWrapper
public static PurpleSoundUiOps GetUiOps()
{
- throw new NotImplementedException();
+ return new PurpleSoundUiOps(purple_sound_get_ui_ops());
}
/*
@@ -90,7 +109,7 @@ namespace PurpleWrapper
public static void Init()
{
- throw new NotImplementedException();
+ purple_sound_init();
}
/*
@@ -101,7 +120,7 @@ namespace PurpleWrapper
public static void Uninit()
{
- throw new NotImplementedException();
+ purple_sound_uninit();
}
/*
@@ -112,7 +131,7 @@ namespace PurpleWrapper
public static IntPtr SoundsGetHandle()
{
- throw new NotImplementedException();
+ return purple_sounds_get_handle();
}
}
============================================================
--- libpurple/wrapper/SoundTheme.cs 97b59c04a2c2850d4b9ddce97d4009e4e6a9f618
+++ libpurple/wrapper/SoundTheme.cs 3957f860320482f3e6eb70d82104557537b69dab
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -42,46 +44,14 @@ namespace PurpleWrapper
* GType purple_sound_theme_get_type()
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_sound_theme_get_type();
+ private static extern IntPtr purple_sound_theme_get_type();
- public static GType SoundThemeGetType()
+ public static /* libgobject */ IntPtr SoundThemeGetType()
{
- throw new NotImplementedException();
+ /* Unable to process purple_sound_theme_get_type, a GObjectObject. */
+
}
- /*
- * gchar * purple_sound_theme_get_file(PurpleSoundTheme * theme, gchar * event)
- */
- [DllImport("libpurple.dll")]
- private static extern string purple_sound_theme_get_file(IntPtr theme, string event);
-
- public static string SoundThemeGetFile(PurpleSoundTheme theme, string event)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gchar * purple_sound_theme_get_file_full(PurpleSoundTheme * theme, gchar * event)
- */
- [DllImport("libpurple.dll")]
- private static extern string purple_sound_theme_get_file_full(IntPtr theme, string event);
-
- public static string SoundThemeGetFileFull(PurpleSoundTheme theme, string event)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_sound_theme_set_file(PurpleSoundTheme * theme, gchar * event, gchar * filename)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_sound_theme_set_file(IntPtr theme, string event, string filename);
-
- public static void SoundThemeSetFile(PurpleSoundTheme theme, string event, string filename)
- {
- throw new NotImplementedException();
- }
-
}
}
============================================================
--- libpurple/wrapper/SoundThemeLoader.cs 07073de018578231cf88e9577d33314cfd5518d0
+++ libpurple/wrapper/SoundThemeLoader.cs 8a97c3e0e6c3eb688f3d07fee2277f8918ede7f6
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -42,11 +44,12 @@ namespace PurpleWrapper
* GType purple_sound_theme_loader_get_type()
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_sound_theme_loader_get_type();
+ private static extern IntPtr purple_sound_theme_loader_get_type();
- public static GType SoundThemeLoaderGetType()
+ public static /* libgobject */ IntPtr SoundThemeLoaderGetType()
{
- throw new NotImplementedException();
+ /* Unable to process purple_sound_theme_loader_get_type, a GObjectObject. */
+
}
}
============================================================
--- libpurple/wrapper/Sslconn.cs c8f81f649e5b441d78df1c73354269b451ed2c61
+++ libpurple/wrapper/Sslconn.cs c4b5dccf4a35227b4baa92c7f45452da502d2185
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,6 +40,13 @@ namespace PurpleWrapper
{
public class Sslconn
{
+ public enum PurpleSslErrorType
+ {
+ PURPLE_SSL_HANDSHAKE_FAILED = 1,
+ PURPLE_SSL_CONNECT_FAILED = 2,
+ PURPLE_SSL_CERTIFICATE_INVALID = 3
+ };
+
/*
* gboolean purple_ssl_is_supported()
*/
@@ -46,54 +55,22 @@ namespace PurpleWrapper
public static bool SslIsSupported()
{
- throw new NotImplementedException();
+ return purple_ssl_is_supported();
}
/*
- * PurpleSslConnection * purple_ssl_connect(PurpleAccount * account, char * host, int port, PurpleSslInputFunction func, PurpleSslErrorFunction error_func, void * data)
+ * gchar * purple_ssl_strerror(PurpleSslErrorType error)
*/
[DllImport("libpurple.dll")]
- private static extern IntPtr purple_ssl_connect(IntPtr account, string host, int port, UNKNOWN func, UNKNOWN error_func, IntPtr data);
+ private static extern string purple_ssl_strerror(Sslconn.PurpleSslErrorType error);
- public static PurpleSslConnection SslConnect(PurpleAccount account, string host, int port, PurpleSslInputFunction func, PurpleSslErrorFunction error_func, IntPtr data)
+ public static string SslStrerror(Sslconn.PurpleSslErrorType error)
{
+ /* Unable to process error, a KnownEnum. */
throw new NotImplementedException();
}
/*
- * PurpleSslConnection * purple_ssl_connect_fd(PurpleAccount * account, int fd, PurpleSslInputFunction func, PurpleSslErrorFunction error_func, void * data)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_ssl_connect_fd(IntPtr account, int fd, UNKNOWN func, UNKNOWN error_func, IntPtr data);
-
- public static PurpleSslConnection SslConnectFd(PurpleAccount account, int fd, PurpleSslInputFunction func, PurpleSslErrorFunction error_func, IntPtr data)
- {
- throw new NotImplementedException();
- }
-
- /*
- * PurpleSslConnection * purple_ssl_connect_with_host_fd(PurpleAccount * account, int fd, PurpleSslInputFunction func, PurpleSslErrorFunction error_func, char * host, void * data)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_ssl_connect_with_host_fd(IntPtr account, int fd, UNKNOWN func, UNKNOWN error_func, string host, IntPtr data);
-
- public static PurpleSslConnection SslConnectWithHostFd(PurpleAccount account, int fd, PurpleSslInputFunction func, PurpleSslErrorFunction error_func, string host, IntPtr data)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_ssl_input_add(PurpleSslConnection * gsc, PurpleSslInputFunction func, void * data)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_ssl_input_add(IntPtr gsc, UNKNOWN func, IntPtr data);
-
- public static void SslInputAdd(PurpleSslConnection gsc, PurpleSslInputFunction func, IntPtr data)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_ssl_close(PurpleSslConnection * gsc)
*/
[DllImport("libpurple.dll")]
@@ -101,53 +78,52 @@ namespace PurpleWrapper
public static void SslClose(PurpleSslConnection gsc)
{
- throw new NotImplementedException();
+ purple_ssl_close(gsc.Reference);
}
/*
* size_t purple_ssl_read(PurpleSslConnection * gsc, void * buffer, size_t len)
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_ssl_read(IntPtr gsc, IntPtr buffer, UNKNOWN len);
+ private static extern ulong purple_ssl_read(IntPtr gsc, IntPtr buffer, ulong len);
- public static size_t SslRead(PurpleSslConnection gsc, IntPtr buffer, size_t len)
+ public static ulong SslRead(PurpleSslConnection gsc, IntPtr buffer, ulong len)
{
- throw new NotImplementedException();
+ return purple_ssl_read(gsc.Reference, buffer, len);
}
/*
* size_t purple_ssl_write(PurpleSslConnection * gsc, void * buffer, size_t len)
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_ssl_write(IntPtr gsc, IntPtr buffer, UNKNOWN len);
+ private static extern ulong purple_ssl_write(IntPtr gsc, IntPtr buffer, ulong len);
- public static size_t SslWrite(PurpleSslConnection gsc, IntPtr buffer, size_t len)
+ public static ulong SslWrite(PurpleSslConnection gsc, IntPtr buffer, ulong len)
{
- throw new NotImplementedException();
+ return purple_ssl_write(gsc.Reference, buffer, len);
}
/*
+ * GList * purple_ssl_get_peer_certificates(PurpleSslConnection * gsc)
+ *
+ * Could not generate a wrapper for purple_ssl_get_peer_certificates in file "sslconn.h".
+ * Message: The type could not be resolved (GList * purple_ssl_get_peer_certificates(PurpleSslConnection * gsc)).
+ */
+
+ /*
* void purple_ssl_set_ops(PurpleSslOps * ops)
+ *
+ * Could not generate a wrapper for purple_ssl_set_ops in file "sslconn.h".
+ * Message: The type could not be resolved (PurpleSslOps * ops).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_ssl_set_ops(IntPtr ops);
- public static void SslSetOps(PurpleSslOps ops)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleSslOps * purple_ssl_get_ops()
+ *
+ * Could not generate a wrapper for purple_ssl_get_ops in file "sslconn.h".
+ * Message: The type could not be resolved (PurpleSslOps * purple_ssl_get_ops()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_ssl_get_ops();
- public static PurpleSslOps SslGetOps()
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_ssl_init()
*/
@@ -156,7 +132,7 @@ namespace PurpleWrapper
public static void SslInit()
{
- throw new NotImplementedException();
+ purple_ssl_init();
}
/*
@@ -167,7 +143,7 @@ namespace PurpleWrapper
public static void SslUninit()
{
- throw new NotImplementedException();
+ purple_ssl_uninit();
}
}
============================================================
--- libpurple/wrapper/Status.cs a78b9598f49b5f628422ce46f731c49b49c09506
+++ libpurple/wrapper/Status.cs 7d1db66c7a91adbc6778764b608324909d728a02
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,854 +40,394 @@ namespace PurpleWrapper
{
public class Status
{
- /*
- * char * purple_primitive_get_id_from_type(PurpleStatusPrimitive type)
- */
- [DllImport("libpurple.dll")]
- private static extern string purple_primitive_get_id_from_type(UNKNOWN type);
-
- public static string PrimitiveGetIdFromType(PurpleStatusPrimitive type)
+ public enum PurplePresenceContext
{
- throw new NotImplementedException();
- }
+ PURPLE_PRESENCE_CONTEXT_UNSET = 0,
+ PURPLE_PRESENCE_CONTEXT_ACCOUNT,
+ PURPLE_PRESENCE_CONTEXT_CONV,
+ PURPLE_PRESENCE_CONTEXT_BUDDY
+ };
- /*
- * char * purple_primitive_get_name_from_type(PurpleStatusPrimitive type)
- */
- [DllImport("libpurple.dll")]
- private static extern string purple_primitive_get_name_from_type(UNKNOWN type);
-
- public static string PrimitiveGetNameFromType(PurpleStatusPrimitive type)
+ public enum PurpleStatusPrimitive
{
- throw new NotImplementedException();
- }
+ PURPLE_STATUS_UNSET = 0,
+ PURPLE_STATUS_OFFLINE,
+ PURPLE_STATUS_AVAILABLE,
+ PURPLE_STATUS_UNAVAILABLE,
+ PURPLE_STATUS_INVISIBLE,
+ PURPLE_STATUS_AWAY,
+ PURPLE_STATUS_EXTENDED_AWAY,
+ PURPLE_STATUS_MOBILE,
+ PURPLE_STATUS_TUNE,
+ PURPLE_STATUS_NUM_PRIMITIVES
+ };
/*
- * PurpleStatusPrimitive purple_primitive_get_type_from_id(char * id)
+ * char * purple_primitive_get_id_from_type(PurpleStatusPrimitive type)
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_primitive_get_type_from_id(string id);
+ private static extern string purple_primitive_get_id_from_type(Status.PurpleStatusPrimitive type);
- public static PurpleStatusPrimitive PrimitiveGetTypeFromId(string id)
+ public static string PrimitiveGetIdFromType(Status.PurpleStatusPrimitive type)
{
+ /* Unable to process type, a KnownEnum. */
throw new NotImplementedException();
}
/*
- * PurpleStatusType * purple_status_type_new_full(PurpleStatusPrimitive primitive, char * id, char * name, gboolean saveable, gboolean user_settable, gboolean independent)
+ * char * purple_primitive_get_name_from_type(PurpleStatusPrimitive type)
*/
[DllImport("libpurple.dll")]
- private static extern IntPtr purple_status_type_new_full(UNKNOWN primitive, string id, string name, bool saveable, bool user_settable, bool independent);
+ private static extern string purple_primitive_get_name_from_type(Status.PurpleStatusPrimitive type);
- public static PurpleStatusType TypeNewFull(PurpleStatusPrimitive primitive, string id, string name, bool saveable, bool user_settable, bool independent)
+ public static string PrimitiveGetNameFromType(Status.PurpleStatusPrimitive type)
{
+ /* Unable to process type, a KnownEnum. */
throw new NotImplementedException();
}
/*
- * PurpleStatusType * purple_status_type_new(PurpleStatusPrimitive primitive, char * id, char * name, gboolean user_settable)
+ * PurpleStatusPrimitive purple_primitive_get_type_from_id(char * id)
*/
[DllImport("libpurple.dll")]
- private static extern IntPtr purple_status_type_new(UNKNOWN primitive, string id, string name, bool user_settable);
+ private static extern Status.PurpleStatusPrimitive purple_primitive_get_type_from_id(string id);
- public static PurpleStatusType TypeNew(PurpleStatusPrimitive primitive, string id, string name, bool user_settable)
+ public static Status.PurpleStatusPrimitive PrimitiveGetTypeFromId(string id)
{
- throw new NotImplementedException();
+ /* Unable to process purple_primitive_get_type_from_id, a KnownEnum. */
+
}
/*
- * PurpleStatusType * purple_status_type_new_with_attrs(PurpleStatusPrimitive primitive, char * id, char * name, gboolean saveable, gboolean user_settable, gboolean independent, char * attr_id, char * attr_name, PurpleValue * attr_value, ...)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_status_type_new_with_attrs(UNKNOWN primitive, string id, string name, bool saveable, bool user_settable, bool independent, string attr_id, string attr_name, IntPtr attr_value, ...);
-
- public static PurpleStatusType TypeNewWithAttrs(PurpleStatusPrimitive primitive, string id, string name, bool saveable, bool user_settable, bool independent, string attr_id, string attr_name, PurpleValue attr_value, ...)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_status_type_destroy(PurpleStatusType * status_type)
+ *
+ * Could not generate a wrapper for purple_status_type_destroy in file "status.h".
+ * Message: The type could not be resolved (PurpleStatusType * status_type).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_status_type_destroy(IntPtr status_type);
- public static void TypeDestroy(PurpleStatusType status_type)
- {
- throw new NotImplementedException();
- }
-
/*
- * void purple_status_type_set_primary_attr(PurpleStatusType * status_type, char * attr_id)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_status_type_set_primary_attr(IntPtr status_type, string attr_id);
-
- public static void TypeSetPrimaryAttr(PurpleStatusType status_type, string attr_id)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_status_type_add_attr(PurpleStatusType * status_type, char * id, char * name, PurpleValue * value)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_status_type_add_attr(IntPtr status_type, string id, string name, IntPtr value);
-
- public static void TypeAddAttr(PurpleStatusType status_type, string id, string name, PurpleValue value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_status_type_add_attrs(PurpleStatusType * status_type, char * id, char * name, PurpleValue * value, ...)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_status_type_add_attrs(IntPtr status_type, string id, string name, IntPtr value, ...);
-
- public static void TypeAddAttrs(PurpleStatusType status_type, string id, string name, PurpleValue value, ...)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_status_type_add_attrs_vargs(PurpleStatusType * status_type, va_list args)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_status_type_add_attrs_vargs(IntPtr status_type, UNKNOWN args);
-
- public static void TypeAddAttrsVargs(PurpleStatusType status_type, va_list args)
- {
- throw new NotImplementedException();
- }
-
- /*
- * PurpleStatusPrimitive purple_status_type_get_primitive(PurpleStatusType * status_type)
- */
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_status_type_get_primitive(IntPtr status_type);
-
- public static PurpleStatusPrimitive TypeGetPrimitive(PurpleStatusType status_type)
- {
- throw new NotImplementedException();
- }
-
- /*
* char * purple_status_type_get_id(PurpleStatusType * status_type)
+ *
+ * Could not generate a wrapper for purple_status_type_get_id in file "status.h".
+ * Message: The type could not be resolved (PurpleStatusType * status_type).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_status_type_get_id(IntPtr status_type);
- public static string TypeGetId(PurpleStatusType status_type)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_status_type_get_name(PurpleStatusType * status_type)
+ *
+ * Could not generate a wrapper for purple_status_type_get_name in file "status.h".
+ * Message: The type could not be resolved (PurpleStatusType * status_type).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_status_type_get_name(IntPtr status_type);
- public static string TypeGetName(PurpleStatusType status_type)
- {
- throw new NotImplementedException();
- }
-
/*
* gboolean purple_status_type_is_saveable(PurpleStatusType * status_type)
+ *
+ * Could not generate a wrapper for purple_status_type_is_saveable in file "status.h".
+ * Message: The type could not be resolved (PurpleStatusType * status_type).
*/
- [DllImport("libpurple.dll")]
- private static extern bool purple_status_type_is_saveable(IntPtr status_type);
- public static bool TypeIsSaveable(PurpleStatusType status_type)
- {
- throw new NotImplementedException();
- }
-
/*
* gboolean purple_status_type_is_user_settable(PurpleStatusType * status_type)
+ *
+ * Could not generate a wrapper for purple_status_type_is_user_settable in file "status.h".
+ * Message: The type could not be resolved (PurpleStatusType * status_type).
*/
- [DllImport("libpurple.dll")]
- private static extern bool purple_status_type_is_user_settable(IntPtr status_type);
- public static bool TypeIsUserSettable(PurpleStatusType status_type)
- {
- throw new NotImplementedException();
- }
-
/*
* gboolean purple_status_type_is_independent(PurpleStatusType * status_type)
+ *
+ * Could not generate a wrapper for purple_status_type_is_independent in file "status.h".
+ * Message: The type could not be resolved (PurpleStatusType * status_type).
*/
- [DllImport("libpurple.dll")]
- private static extern bool purple_status_type_is_independent(IntPtr status_type);
- public static bool TypeIsIndependent(PurpleStatusType status_type)
- {
- throw new NotImplementedException();
- }
-
/*
* gboolean purple_status_type_is_exclusive(PurpleStatusType * status_type)
+ *
+ * Could not generate a wrapper for purple_status_type_is_exclusive in file "status.h".
+ * Message: The type could not be resolved (PurpleStatusType * status_type).
*/
- [DllImport("libpurple.dll")]
- private static extern bool purple_status_type_is_exclusive(IntPtr status_type);
- public static bool TypeIsExclusive(PurpleStatusType status_type)
- {
- throw new NotImplementedException();
- }
-
/*
* gboolean purple_status_type_is_available(PurpleStatusType * status_type)
+ *
+ * Could not generate a wrapper for purple_status_type_is_available in file "status.h".
+ * Message: The type could not be resolved (PurpleStatusType * status_type).
*/
- [DllImport("libpurple.dll")]
- private static extern bool purple_status_type_is_available(IntPtr status_type);
- public static bool TypeIsAvailable(PurpleStatusType status_type)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_status_type_get_primary_attr(PurpleStatusType * type)
+ *
+ * Could not generate a wrapper for purple_status_type_get_primary_attr in file "status.h".
+ * Message: The type could not be resolved (PurpleStatusType * type).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_status_type_get_primary_attr(IntPtr type);
- public static string TypeGetPrimaryAttr(PurpleStatusType type)
- {
- throw new NotImplementedException();
- }
-
/*
- * PurpleStatusAttr * purple_status_type_get_attr(PurpleStatusType * status_type, char * id)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_status_type_get_attr(IntPtr status_type, string id);
-
- public static PurpleStatusAttr TypeGetAttr(PurpleStatusType status_type, string id)
- {
- throw new NotImplementedException();
- }
-
- /*
* GList * purple_status_type_get_attrs(PurpleStatusType * status_type)
+ *
+ * Could not generate a wrapper for purple_status_type_get_attrs in file "status.h".
+ * Message: The type could not be resolved (GList * purple_status_type_get_attrs(PurpleStatusType * status_type)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_status_type_get_attrs(IntPtr status_type);
- public static GList TypeGetAttrs(PurpleStatusType status_type)
- {
- throw new NotImplementedException();
- }
-
/*
- * PurpleStatusType * purple_status_type_find_with_id(GList * status_types, char * id)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_status_type_find_with_id(IntPtr status_types, string id);
-
- public static PurpleStatusType TypeFindWithId(GList status_types, string id)
- {
- throw new NotImplementedException();
- }
-
- /*
- * PurpleStatusAttr * purple_status_attr_new(char * id, char * name, PurpleValue * value_type)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_status_attr_new(string id, string name, IntPtr value_type);
-
- public static PurpleStatusAttr AttrNew(string id, string name, PurpleValue value_type)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_status_attr_destroy(PurpleStatusAttr * attr)
+ *
+ * Could not generate a wrapper for purple_status_attr_destroy in file "status.h".
+ * Message: The type could not be resolved (PurpleStatusAttr * attr).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_status_attr_destroy(IntPtr attr);
- public static void AttrDestroy(PurpleStatusAttr attr)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_status_attr_get_id(PurpleStatusAttr * attr)
+ *
+ * Could not generate a wrapper for purple_status_attr_get_id in file "status.h".
+ * Message: The type could not be resolved (PurpleStatusAttr * attr).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_status_attr_get_id(IntPtr attr);
- public static string AttrGetId(PurpleStatusAttr attr)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_status_attr_get_name(PurpleStatusAttr * attr)
+ *
+ * Could not generate a wrapper for purple_status_attr_get_name in file "status.h".
+ * Message: The type could not be resolved (PurpleStatusAttr * attr).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_status_attr_get_name(IntPtr attr);
- public static string AttrGetName(PurpleStatusAttr attr)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleValue * purple_status_attr_get_value(PurpleStatusAttr * attr)
+ *
+ * Could not generate a wrapper for purple_status_attr_get_value in file "status.h".
+ * Message: The type could not be resolved (PurpleValue * purple_status_attr_get_value(PurpleStatusAttr * attr)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_status_attr_get_value(IntPtr attr);
- public static PurpleValue AttrGetValue(PurpleStatusAttr attr)
- {
- throw new NotImplementedException();
- }
-
/*
- * PurpleStatus * purple_status_new(PurpleStatusType * status_type, PurplePresence * presence)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_status_new(IntPtr status_type, IntPtr presence);
-
- public static PurpleStatus New(PurpleStatusType status_type, PurplePresence presence)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_status_destroy(PurpleStatus * status)
+ *
+ * Could not generate a wrapper for purple_status_destroy in file "status.h".
+ * Message: The type could not be resolved (PurpleStatus * status).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_status_destroy(IntPtr status);
- public static void Destroy(PurpleStatus status)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_status_set_active(PurpleStatus * status, gboolean active)
+ *
+ * Could not generate a wrapper for purple_status_set_active in file "status.h".
+ * Message: The type could not be resolved (PurpleStatus * status).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_status_set_active(IntPtr status, bool active);
- public static void SetActive(PurpleStatus status, bool active)
- {
- throw new NotImplementedException();
- }
-
/*
- * void purple_status_set_active_with_attrs(PurpleStatus * status, gboolean active, va_list args)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_status_set_active_with_attrs(IntPtr status, bool active, UNKNOWN args);
-
- public static void SetActiveWithAttrs(PurpleStatus status, bool active, va_list args)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_status_set_active_with_attrs_list(PurpleStatus * status, gboolean active, GList * attrs)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_status_set_active_with_attrs_list(IntPtr status, bool active, IntPtr attrs);
-
- public static void SetActiveWithAttrsList(PurpleStatus status, bool active, GList attrs)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_status_set_attr_boolean(PurpleStatus * status, char * id, gboolean value)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_status_set_attr_boolean(IntPtr status, string id, bool value);
-
- public static void SetAttrBoolean(PurpleStatus status, string id, bool value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_status_set_attr_int(PurpleStatus * status, char * id, int value)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_status_set_attr_int(IntPtr status, string id, int value);
-
- public static void SetAttrInt(PurpleStatus status, string id, int value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_status_set_attr_string(PurpleStatus * status, char * id, char * value)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_status_set_attr_string(IntPtr status, string id, string value);
-
- public static void SetAttrString(PurpleStatus status, string id, string value)
- {
- throw new NotImplementedException();
- }
-
- /*
* PurpleStatusType * purple_status_get_type(PurpleStatus * status)
+ *
+ * Could not generate a wrapper for purple_status_get_type in file "status.h".
+ * Message: The type could not be resolved (PurpleStatusType * purple_status_get_type(PurpleStatus * status)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_status_get_type(IntPtr status);
- public static PurpleStatusType GetType(PurpleStatus status)
- {
- throw new NotImplementedException();
- }
-
/*
* PurplePresence * purple_status_get_presence(PurpleStatus * status)
+ *
+ * Could not generate a wrapper for purple_status_get_presence in file "status.h".
+ * Message: The type could not be resolved (PurplePresence * purple_status_get_presence(PurpleStatus * status)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_status_get_presence(IntPtr status);
- public static PurplePresence GetPresence(PurpleStatus status)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_status_get_id(PurpleStatus * status)
+ *
+ * Could not generate a wrapper for purple_status_get_id in file "status.h".
+ * Message: The type could not be resolved (PurpleStatus * status).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_status_get_id(IntPtr status);
- public static string GetId(PurpleStatus status)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_status_get_name(PurpleStatus * status)
+ *
+ * Could not generate a wrapper for purple_status_get_name in file "status.h".
+ * Message: The type could not be resolved (PurpleStatus * status).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_status_get_name(IntPtr status);
- public static string GetName(PurpleStatus status)
- {
- throw new NotImplementedException();
- }
-
/*
* gboolean purple_status_is_independent(PurpleStatus * status)
+ *
+ * Could not generate a wrapper for purple_status_is_independent in file "status.h".
+ * Message: The type could not be resolved (PurpleStatus * status).
*/
- [DllImport("libpurple.dll")]
- private static extern bool purple_status_is_independent(IntPtr status);
- public static bool IsIndependent(PurpleStatus status)
- {
- throw new NotImplementedException();
- }
-
/*
* gboolean purple_status_is_exclusive(PurpleStatus * status)
+ *
+ * Could not generate a wrapper for purple_status_is_exclusive in file "status.h".
+ * Message: The type could not be resolved (PurpleStatus * status).
*/
- [DllImport("libpurple.dll")]
- private static extern bool purple_status_is_exclusive(IntPtr status);
- public static bool IsExclusive(PurpleStatus status)
- {
- throw new NotImplementedException();
- }
-
/*
* gboolean purple_status_is_available(PurpleStatus * status)
+ *
+ * Could not generate a wrapper for purple_status_is_available in file "status.h".
+ * Message: The type could not be resolved (PurpleStatus * status).
*/
- [DllImport("libpurple.dll")]
- private static extern bool purple_status_is_available(IntPtr status);
- public static bool IsAvailable(PurpleStatus status)
- {
- throw new NotImplementedException();
- }
-
/*
* gboolean purple_status_is_active(PurpleStatus * status)
+ *
+ * Could not generate a wrapper for purple_status_is_active in file "status.h".
+ * Message: The type could not be resolved (PurpleStatus * status).
*/
- [DllImport("libpurple.dll")]
- private static extern bool purple_status_is_active(IntPtr status);
- public static bool IsActive(PurpleStatus status)
- {
- throw new NotImplementedException();
- }
-
/*
* gboolean purple_status_is_online(PurpleStatus * status)
+ *
+ * Could not generate a wrapper for purple_status_is_online in file "status.h".
+ * Message: The type could not be resolved (PurpleStatus * status).
*/
- [DllImport("libpurple.dll")]
- private static extern bool purple_status_is_online(IntPtr status);
- public static bool IsOnline(PurpleStatus status)
- {
- throw new NotImplementedException();
- }
-
/*
- * PurpleValue * purple_status_get_attr_value(PurpleStatus * status, char * id)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_status_get_attr_value(IntPtr status, string id);
-
- public static PurpleValue GetAttrValue(PurpleStatus status, string id)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gboolean purple_status_get_attr_boolean(PurpleStatus * status, char * id)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_status_get_attr_boolean(IntPtr status, string id);
-
- public static bool GetAttrBoolean(PurpleStatus status, string id)
- {
- throw new NotImplementedException();
- }
-
- /*
* int purple_status_get_attr_int(PurpleStatus * status, char * id)
+ *
+ * Could not generate a wrapper for purple_status_get_attr_int in file "status.h".
+ * Message: The type could not be resolved (PurpleStatus * status).
*/
- [DllImport("libpurple.dll")]
- private static extern int purple_status_get_attr_int(IntPtr status, string id);
- public static int GetAttrInt(PurpleStatus status, string id)
- {
- throw new NotImplementedException();
- }
-
/*
- * char * purple_status_get_attr_string(PurpleStatus * status, char * id)
- */
- [DllImport("libpurple.dll")]
- private static extern string purple_status_get_attr_string(IntPtr status, string id);
-
- public static string GetAttrString(PurpleStatus status, string id)
- {
- throw new NotImplementedException();
- }
-
- /*
* gint purple_status_compare(PurpleStatus * status1, PurpleStatus * status2)
+ *
+ * Could not generate a wrapper for purple_status_compare in file "status.h".
+ * Message: The type could not be resolved (PurpleStatus * status1).
*/
- [DllImport("libpurple.dll")]
- private static extern int purple_status_compare(IntPtr status1, IntPtr status2);
- public static int Compare(PurpleStatus status1, PurpleStatus status2)
- {
- throw new NotImplementedException();
- }
-
/*
* PurplePresence * purple_presence_new(PurplePresenceContext context)
+ *
+ * Could not generate a wrapper for purple_presence_new in file "status.h".
+ * Message: The type could not be resolved (PurplePresence * purple_presence_new(PurplePresenceContext context)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_presence_new(UNKNOWN context);
- public static PurplePresence PresenceNew(PurplePresenceContext context)
- {
- throw new NotImplementedException();
- }
-
/*
* PurplePresence * purple_presence_new_for_account(PurpleAccount * account)
+ *
+ * Could not generate a wrapper for purple_presence_new_for_account in file "status.h".
+ * Message: The type could not be resolved (PurplePresence * purple_presence_new_for_account(PurpleAccount * account)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_presence_new_for_account(IntPtr account);
- public static PurplePresence PresenceNewForAccount(PurpleAccount account)
- {
- throw new NotImplementedException();
- }
-
/*
* PurplePresence * purple_presence_new_for_conv(PurpleConversation * conv)
+ *
+ * Could not generate a wrapper for purple_presence_new_for_conv in file "status.h".
+ * Message: The type could not be resolved (PurplePresence * purple_presence_new_for_conv(PurpleConversation * conv)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_presence_new_for_conv(IntPtr conv);
- public static PurplePresence PresenceNewForConv(PurpleConversation conv)
- {
- throw new NotImplementedException();
- }
-
/*
* PurplePresence * purple_presence_new_for_buddy(PurpleBuddy * buddy)
+ *
+ * Could not generate a wrapper for purple_presence_new_for_buddy in file "status.h".
+ * Message: The type could not be resolved (PurplePresence * purple_presence_new_for_buddy(PurpleBuddy * buddy)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_presence_new_for_buddy(IntPtr buddy);
- public static PurplePresence PresenceNewForBuddy(PurpleBuddy buddy)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_presence_destroy(PurplePresence * presence)
+ *
+ * Could not generate a wrapper for purple_presence_destroy in file "status.h".
+ * Message: The type could not be resolved (PurplePresence * presence).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_presence_destroy(IntPtr presence);
- public static void PresenceDestroy(PurplePresence presence)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_presence_add_status(PurplePresence * presence, PurpleStatus * status)
+ *
+ * Could not generate a wrapper for purple_presence_add_status in file "status.h".
+ * Message: The type could not be resolved (PurplePresence * presence).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_presence_add_status(IntPtr presence, IntPtr status);
- public static void PresenceAddStatus(PurplePresence presence, PurpleStatus status)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_presence_add_list(PurplePresence * presence, GList * source_list)
+ *
+ * Could not generate a wrapper for purple_presence_add_list in file "status.h".
+ * Message: The type could not be resolved (PurplePresence * presence).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_presence_add_list(IntPtr presence, IntPtr source_list);
- public static void PresenceAddList(PurplePresence presence, GList source_list)
- {
- throw new NotImplementedException();
- }
-
/*
- * void purple_presence_set_status_active(PurplePresence * presence, char * status_id, gboolean active)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_presence_set_status_active(IntPtr presence, string status_id, bool active);
-
- public static void PresenceSetStatusActive(PurplePresence presence, string status_id, bool active)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_presence_switch_status(PurplePresence * presence, char * status_id)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_presence_switch_status(IntPtr presence, string status_id);
-
- public static void PresenceSwitchStatus(PurplePresence presence, string status_id)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_presence_set_idle(PurplePresence * presence, gboolean idle, time_t idle_time)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_presence_set_idle(IntPtr presence, bool idle, UNKNOWN idle_time);
-
- public static void PresenceSetIdle(PurplePresence presence, bool idle, time_t idle_time)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_presence_set_login_time(PurplePresence * presence, time_t login_time)
+ *
+ * Could not generate a wrapper for purple_presence_set_login_time in file "status.h".
+ * Message: The type could not be resolved (PurplePresence * presence).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_presence_set_login_time(IntPtr presence, UNKNOWN login_time);
- public static void PresenceSetLoginTime(PurplePresence presence, time_t login_time)
- {
- throw new NotImplementedException();
- }
-
/*
* PurplePresenceContext purple_presence_get_context(PurplePresence * presence)
+ *
+ * Could not generate a wrapper for purple_presence_get_context in file "status.h".
+ * Message: The type could not be resolved (PurplePresence * presence).
*/
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_presence_get_context(IntPtr presence);
- public static PurplePresenceContext PresenceGetContext(PurplePresence presence)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleAccount * purple_presence_get_account(PurplePresence * presence)
+ *
+ * Could not generate a wrapper for purple_presence_get_account in file "status.h".
+ * Message: The type could not be resolved (PurplePresence * presence).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_presence_get_account(IntPtr presence);
- public static PurpleAccount PresenceGetAccount(PurplePresence presence)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleConversation * purple_presence_get_conversation(PurplePresence * presence)
+ *
+ * Could not generate a wrapper for purple_presence_get_conversation in file "status.h".
+ * Message: The type could not be resolved (PurplePresence * presence).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_presence_get_conversation(IntPtr presence);
- public static PurpleConversation PresenceGetConversation(PurplePresence presence)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_presence_get_chat_user(PurplePresence * presence)
+ *
+ * Could not generate a wrapper for purple_presence_get_chat_user in file "status.h".
+ * Message: The type could not be resolved (PurplePresence * presence).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_presence_get_chat_user(IntPtr presence);
- public static string PresenceGetChatUser(PurplePresence presence)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleBuddy * purple_presence_get_buddy(PurplePresence * presence)
+ *
+ * Could not generate a wrapper for purple_presence_get_buddy in file "status.h".
+ * Message: The type could not be resolved (PurplePresence * presence).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_presence_get_buddy(IntPtr presence);
- public static PurpleBuddy PresenceGetBuddy(PurplePresence presence)
- {
- throw new NotImplementedException();
- }
-
/*
* GList * purple_presence_get_statuses(PurplePresence * presence)
+ *
+ * Could not generate a wrapper for purple_presence_get_statuses in file "status.h".
+ * Message: The type could not be resolved (GList * purple_presence_get_statuses(PurplePresence * presence)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_presence_get_statuses(IntPtr presence);
- public static GList PresenceGetStatuses(PurplePresence presence)
- {
- throw new NotImplementedException();
- }
-
/*
- * PurpleStatus * purple_presence_get_status(PurplePresence * presence, char * status_id)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_presence_get_status(IntPtr presence, string status_id);
-
- public static PurpleStatus PresenceGetStatus(PurplePresence presence, string status_id)
- {
- throw new NotImplementedException();
- }
-
- /*
* PurpleStatus * purple_presence_get_active_status(PurplePresence * presence)
+ *
+ * Could not generate a wrapper for purple_presence_get_active_status in file "status.h".
+ * Message: The type could not be resolved (PurpleStatus * purple_presence_get_active_status(PurplePresence * presence)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_presence_get_active_status(IntPtr presence);
- public static PurpleStatus PresenceGetActiveStatus(PurplePresence presence)
- {
- throw new NotImplementedException();
- }
-
/*
* gboolean purple_presence_is_available(PurplePresence * presence)
+ *
+ * Could not generate a wrapper for purple_presence_is_available in file "status.h".
+ * Message: The type could not be resolved (PurplePresence * presence).
*/
- [DllImport("libpurple.dll")]
- private static extern bool purple_presence_is_available(IntPtr presence);
- public static bool PresenceIsAvailable(PurplePresence presence)
- {
- throw new NotImplementedException();
- }
-
/*
* gboolean purple_presence_is_online(PurplePresence * presence)
+ *
+ * Could not generate a wrapper for purple_presence_is_online in file "status.h".
+ * Message: The type could not be resolved (PurplePresence * presence).
*/
- [DllImport("libpurple.dll")]
- private static extern bool purple_presence_is_online(IntPtr presence);
- public static bool PresenceIsOnline(PurplePresence presence)
- {
- throw new NotImplementedException();
- }
-
/*
- * gboolean purple_presence_is_status_active(PurplePresence * presence, char * status_id)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_presence_is_status_active(IntPtr presence, string status_id);
-
- public static bool PresenceIsStatusActive(PurplePresence presence, string status_id)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gboolean purple_presence_is_status_primitive_active(PurplePresence * presence, PurpleStatusPrimitive primitive)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_presence_is_status_primitive_active(IntPtr presence, UNKNOWN primitive);
-
- public static bool PresenceIsStatusPrimitiveActive(PurplePresence presence, PurpleStatusPrimitive primitive)
- {
- throw new NotImplementedException();
- }
-
- /*
* gboolean purple_presence_is_idle(PurplePresence * presence)
+ *
+ * Could not generate a wrapper for purple_presence_is_idle in file "status.h".
+ * Message: The type could not be resolved (PurplePresence * presence).
*/
- [DllImport("libpurple.dll")]
- private static extern bool purple_presence_is_idle(IntPtr presence);
- public static bool PresenceIsIdle(PurplePresence presence)
- {
- throw new NotImplementedException();
- }
-
/*
* time_t purple_presence_get_idle_time(PurplePresence * presence)
+ *
+ * Could not generate a wrapper for purple_presence_get_idle_time in file "status.h".
+ * Message: The type could not be resolved (PurplePresence * presence).
*/
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_presence_get_idle_time(IntPtr presence);
- public static time_t PresenceGetIdleTime(PurplePresence presence)
- {
- throw new NotImplementedException();
- }
-
/*
* time_t purple_presence_get_login_time(PurplePresence * presence)
+ *
+ * Could not generate a wrapper for purple_presence_get_login_time in file "status.h".
+ * Message: The type could not be resolved (PurplePresence * presence).
*/
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_presence_get_login_time(IntPtr presence);
- public static time_t PresenceGetLoginTime(PurplePresence presence)
- {
- throw new NotImplementedException();
- }
-
/*
- * gint purple_presence_compare(PurplePresence * presence1, PurplePresence * presence2)
- */
- [DllImport("libpurple.dll")]
- private static extern int purple_presence_compare(IntPtr presence1, IntPtr presence2);
-
- public static int PresenceCompare(PurplePresence presence1, PurplePresence presence2)
- {
- throw new NotImplementedException();
- }
-
- /*
* void * purple_status_get_handle()
*/
[DllImport("libpurple.dll")]
@@ -893,7 +435,7 @@ namespace PurpleWrapper
public static IntPtr GetHandle()
{
- throw new NotImplementedException();
+ return purple_status_get_handle();
}
/*
@@ -904,7 +446,7 @@ namespace PurpleWrapper
public static void Init()
{
- throw new NotImplementedException();
+ purple_status_init();
}
/*
@@ -915,7 +457,7 @@ namespace PurpleWrapper
public static void Uninit()
{
- throw new NotImplementedException();
+ purple_status_uninit();
}
}
============================================================
--- libpurple/wrapper/Stringref.cs cb8fae5638d0f19730bdf5f89c13b5f0ffa858eb
+++ libpurple/wrapper/Stringref.cs aa32798ef4bfffa034260b6fcf0805a2b154ed7a
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -40,92 +42,53 @@ namespace PurpleWrapper
{
/*
* PurpleStringref * purple_stringref_new(char * value)
+ *
+ * Could not generate a wrapper for purple_stringref_new in file "stringref.h".
+ * Message: The type could not be resolved (PurpleStringref * purple_stringref_new(char * value)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_stringref_new(string value);
- public static PurpleStringref New(string value)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleStringref * purple_stringref_new_noref(char * value)
+ *
+ * Could not generate a wrapper for purple_stringref_new_noref in file "stringref.h".
+ * Message: The type could not be resolved (PurpleStringref * purple_stringref_new_noref(char * value)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_stringref_new_noref(string value);
- public static PurpleStringref NewNoref(string value)
- {
- throw new NotImplementedException();
- }
-
/*
- * PurpleStringref * purple_stringref_printf(char * format, ...)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_stringref_printf(string format, ...);
-
- public static PurpleStringref Printf(string format, ...)
- {
- throw new NotImplementedException();
- }
-
- /*
* PurpleStringref * purple_stringref_ref(PurpleStringref * stringref)
+ *
+ * Could not generate a wrapper for purple_stringref_ref in file "stringref.h".
+ * Message: The type could not be resolved (PurpleStringref * purple_stringref_ref(PurpleStringref * stringref)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_stringref_ref(IntPtr stringref);
- public static PurpleStringref Ref(PurpleStringref stringref)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_stringref_unref(PurpleStringref * stringref)
+ *
+ * Could not generate a wrapper for purple_stringref_unref in file "stringref.h".
+ * Message: The type could not be resolved (PurpleStringref * stringref).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_stringref_unref(IntPtr stringref);
- public static void Unref(PurpleStringref stringref)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_stringref_value(PurpleStringref * stringref)
+ *
+ * Could not generate a wrapper for purple_stringref_value in file "stringref.h".
+ * Message: The type could not be resolved (PurpleStringref * stringref).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_stringref_value(IntPtr stringref);
- public static string Value(PurpleStringref stringref)
- {
- throw new NotImplementedException();
- }
-
/*
* int purple_stringref_cmp(PurpleStringref * s1, PurpleStringref * s2)
+ *
+ * Could not generate a wrapper for purple_stringref_cmp in file "stringref.h".
+ * Message: The type could not be resolved (PurpleStringref * s1).
*/
- [DllImport("libpurple.dll")]
- private static extern int purple_stringref_cmp(IntPtr s1, IntPtr s2);
- public static int Cmp(PurpleStringref s1, PurpleStringref s2)
- {
- throw new NotImplementedException();
- }
-
/*
* size_t purple_stringref_len(PurpleStringref * stringref)
+ *
+ * Could not generate a wrapper for purple_stringref_len in file "stringref.h".
+ * Message: The type could not be resolved (PurpleStringref * stringref).
*/
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_stringref_len(IntPtr stringref);
- public static size_t Len(PurpleStringref stringref)
- {
- throw new NotImplementedException();
- }
-
}
}
============================================================
--- libpurple/wrapper/Stun.cs 823ec1061beb72e0731adc751d4a97c29a41024a
+++ libpurple/wrapper/Stun.cs 1f963b6276173a13231f55af09f7d34aa1067604
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,17 +40,31 @@ namespace PurpleWrapper
{
public class Stun
{
+ public enum PurpleStunStatus
+ {
+ PURPLE_STUN_STATUS_UNDISCOVERED = -1,
+ PURPLE_STUN_STATUS_UNKNOWN,
+ PURPLE_STUN_STATUS_DISCOVERING,
+ PURPLE_STUN_STATUS_DISCOVERED
+ };
+
+ public enum PurpleStunNatType
+ {
+ PURPLE_STUN_NAT_TYPE_PUBLIC_IP,
+ PURPLE_STUN_NAT_TYPE_UNKNOWN_NAT,
+ PURPLE_STUN_NAT_TYPE_FULL_CONE,
+ PURPLE_STUN_NAT_TYPE_RESTRICTED_CONE,
+ PURPLE_STUN_NAT_TYPE_PORT_RESTRICTED_CONE,
+ PURPLE_STUN_NAT_TYPE_SYMMETRIC
+ };
+
/*
* PurpleStunNatDiscovery * purple_stun_discover(StunCallback cb)
+ *
+ * Could not generate a wrapper for purple_stun_discover in file "stun.h".
+ * Message: The type could not be resolved (StunCallback cb).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_stun_discover(UNKNOWN cb);
- public static PurpleStunNatDiscovery Discover(StunCallback cb)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_stun_init()
*/
@@ -57,7 +73,7 @@ namespace PurpleWrapper
public static void Init()
{
- throw new NotImplementedException();
+ purple_stun_init();
}
}
============================================================
--- libpurple/wrapper/Theme.cs a873f44078f3d2b5cf679a8a65eff307abb6fb29
+++ libpurple/wrapper/Theme.cs 73613b2b606ca83b313bcaad773dd278241b9fb5
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -42,11 +44,12 @@ namespace PurpleWrapper
* GType purple_theme_get_type()
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_theme_get_type();
+ private static extern IntPtr purple_theme_get_type();
- public static GType GetType()
+ public static /* libgobject */ IntPtr GetType()
{
- throw new NotImplementedException();
+ /* Unable to process purple_theme_get_type, a GObjectObject. */
+
}
/*
@@ -57,7 +60,7 @@ namespace PurpleWrapper
public static string GetName(PurpleTheme theme)
{
- throw new NotImplementedException();
+ return purple_theme_get_name(theme.Reference);
}
/*
@@ -68,7 +71,7 @@ namespace PurpleWrapper
public static void SetName(PurpleTheme theme, string name)
{
- throw new NotImplementedException();
+ purple_theme_set_name(theme.Reference, name);
}
/*
@@ -79,7 +82,7 @@ namespace PurpleWrapper
public static string GetDescription(PurpleTheme theme)
{
- throw new NotImplementedException();
+ return purple_theme_get_description(theme.Reference);
}
/*
@@ -90,7 +93,7 @@ namespace PurpleWrapper
public static void SetDescription(PurpleTheme theme, string description)
{
- throw new NotImplementedException();
+ purple_theme_set_description(theme.Reference, description);
}
/*
@@ -101,7 +104,7 @@ namespace PurpleWrapper
public static string GetAuthor(PurpleTheme theme)
{
- throw new NotImplementedException();
+ return purple_theme_get_author(theme.Reference);
}
/*
@@ -112,7 +115,7 @@ namespace PurpleWrapper
public static void SetAuthor(PurpleTheme theme, string author)
{
- throw new NotImplementedException();
+ purple_theme_set_author(theme.Reference, author);
}
/*
@@ -123,7 +126,7 @@ namespace PurpleWrapper
public static string GetTypeString(PurpleTheme theme)
{
- throw new NotImplementedException();
+ return purple_theme_get_type_string(theme.Reference);
}
/*
@@ -134,7 +137,7 @@ namespace PurpleWrapper
public static string GetDir(PurpleTheme theme)
{
- throw new NotImplementedException();
+ return purple_theme_get_dir(theme.Reference);
}
/*
@@ -145,7 +148,7 @@ namespace PurpleWrapper
public static void SetDir(PurpleTheme theme, string dir)
{
- throw new NotImplementedException();
+ purple_theme_set_dir(theme.Reference, dir);
}
/*
@@ -156,7 +159,7 @@ namespace PurpleWrapper
public static string GetImage(PurpleTheme theme)
{
- throw new NotImplementedException();
+ return purple_theme_get_image(theme.Reference);
}
/*
@@ -167,7 +170,7 @@ namespace PurpleWrapper
public static string GetImageFull(PurpleTheme theme)
{
- throw new NotImplementedException();
+ return purple_theme_get_image_full(theme.Reference);
}
/*
@@ -178,7 +181,7 @@ namespace PurpleWrapper
public static void SetImage(PurpleTheme theme, string img)
{
- throw new NotImplementedException();
+ purple_theme_set_image(theme.Reference, img);
}
}
============================================================
--- libpurple/wrapper/ThemeLoader.cs c14ce89a6a75a3a91bb1febb0f757979b55b1935
+++ libpurple/wrapper/ThemeLoader.cs ae5e838d7d5305350afdeb2330bccbf3cdf2e1c6
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -42,11 +44,12 @@ namespace PurpleWrapper
* GType purple_theme_loader_get_type()
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_theme_loader_get_type();
+ private static extern IntPtr purple_theme_loader_get_type();
- public static GType ThemeLoaderGetType()
+ public static /* libgobject */ IntPtr ThemeLoaderGetType()
{
- throw new NotImplementedException();
+ /* Unable to process purple_theme_loader_get_type, a GObjectObject. */
+
}
/*
@@ -57,7 +60,7 @@ namespace PurpleWrapper
public static string ThemeLoaderGetTypeString(PurpleThemeLoader self)
{
- throw new NotImplementedException();
+ return purple_theme_loader_get_type_string(self.Reference);
}
/*
@@ -68,7 +71,7 @@ namespace PurpleWrapper
public static PurpleTheme ThemeLoaderBuild(PurpleThemeLoader loader, string dir)
{
- throw new NotImplementedException();
+ return new PurpleTheme(purple_theme_loader_build(loader.Reference, dir));
}
}
============================================================
--- libpurple/wrapper/ThemeManager.cs d66bc75c091f8a5b9a2746eddcf760a87648c593
+++ libpurple/wrapper/ThemeManager.cs 29beb83c3862cc1c0b4b904ec9ddc2dda0779300
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -42,11 +44,12 @@ namespace PurpleWrapper
* GType purple_theme_manager_get_type()
*/
[DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_theme_manager_get_type();
+ private static extern IntPtr purple_theme_manager_get_type();
- public static GType ThemeManagerGetType()
+ public static /* libgobject */ IntPtr ThemeManagerGetType()
{
- throw new NotImplementedException();
+ /* Unable to process purple_theme_manager_get_type, a GObjectObject. */
+
}
/*
@@ -57,7 +60,7 @@ namespace PurpleWrapper
public static void ThemeManagerInit()
{
- throw new NotImplementedException();
+ purple_theme_manager_init();
}
/*
@@ -68,7 +71,7 @@ namespace PurpleWrapper
public static void ThemeManagerUninit()
{
- throw new NotImplementedException();
+ purple_theme_manager_uninit();
}
/*
@@ -79,7 +82,7 @@ namespace PurpleWrapper
public static void ThemeManagerRefresh()
{
- throw new NotImplementedException();
+ purple_theme_manager_refresh();
}
/*
@@ -90,7 +93,7 @@ namespace PurpleWrapper
public static PurpleTheme ThemeManagerFindTheme(string name, string type)
{
- throw new NotImplementedException();
+ return new PurpleTheme(purple_theme_manager_find_theme(name, type));
}
/*
@@ -101,7 +104,7 @@ namespace PurpleWrapper
public static void ThemeManagerAddTheme(PurpleTheme theme)
{
- throw new NotImplementedException();
+ purple_theme_manager_add_theme(theme.Reference);
}
/*
@@ -112,7 +115,7 @@ namespace PurpleWrapper
public static void ThemeManagerRemoveTheme(PurpleTheme theme)
{
- throw new NotImplementedException();
+ purple_theme_manager_remove_theme(theme.Reference);
}
/*
@@ -123,7 +126,7 @@ namespace PurpleWrapper
public static void ThemeManagerRegisterType(PurpleThemeLoader loader)
{
- throw new NotImplementedException();
+ purple_theme_manager_register_type(loader.Reference);
}
/*
@@ -134,20 +137,16 @@ namespace PurpleWrapper
public static void ThemeManagerUnregisterType(PurpleThemeLoader loader)
{
- throw new NotImplementedException();
+ purple_theme_manager_unregister_type(loader.Reference);
}
/*
* void purple_theme_manager_for_each_theme(PTFunc func)
+ *
+ * Could not generate a wrapper for purple_theme_manager_for_each_theme in file "theme-manager.h".
+ * Message: The type could not be resolved (PTFunc func).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_theme_manager_for_each_theme(UNKNOWN func);
- public static void ThemeManagerForEachTheme(PTFunc func)
- {
- throw new NotImplementedException();
- }
-
}
}
============================================================
--- libpurple/wrapper/Upnp.cs 47f3b76061e6611a90a1bd54d8420a2aa2fa7129
+++ libpurple/wrapper/Upnp.cs 70f1d6323dd590b70dc8fe3ce44a9c57e3b439cd
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -46,53 +48,37 @@ namespace PurpleWrapper
public static void Init()
{
- throw new NotImplementedException();
+ purple_upnp_init();
}
/*
* void purple_upnp_discover(PurpleUPnPCallback cb, gpointer cb_data)
+ *
+ * Could not generate a wrapper for purple_upnp_discover in file "upnp.h".
+ * Message: The type could not be resolved (PurpleUPnPCallback cb).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_upnp_discover(UNKNOWN cb, IntPtr cb_data);
- public static void Discover(PurpleUPnPCallback cb, IntPtr cb_data)
- {
- throw new NotImplementedException();
- }
-
/*
- * void purple_upnp_cancel_port_mapping(UPnPMappingAddRemove * mapping_data)
+ * PurpleUPnPControlInfo* purple_upnp_get_control_info()
+ *
+ * Could not generate a wrapper for purple_upnp_get_control_info in file "upnp.h".
+ * Message: The type could not be resolved (PurpleUPnPControlInfo* purple_upnp_get_control_info()).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_upnp_cancel_port_mapping(IntPtr mapping_data);
- public static void CancelPortMapping(UPnPMappingAddRemove mapping_data)
- {
- throw new NotImplementedException();
- }
-
/*
- * UPnPMappingAddRemove * purple_upnp_set_port_mapping(unsigned short, , PurpleUPnPCallback cb, gpointer cb_data)
+ * gchar* purple_upnp_get_public_ip()
+ *
+ * Could not generate a wrapper for purple_upnp_get_public_ip in file "upnp.h".
+ * Message: The type could not be resolved (gchar* purple_upnp_get_public_ip()).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_upnp_set_port_mapping(UNKNOWN short, UNKNOWN , UNKNOWN cb, IntPtr cb_data);
- public static UPnPMappingAddRemove SetPortMapping(unsigned short, , PurpleUPnPCallback cb, IntPtr cb_data)
- {
- throw new NotImplementedException();
- }
-
/*
- * UPnPMappingAddRemove * purple_upnp_remove_port_mapping(unsigned short, , PurpleUPnPCallback cb, gpointer cb_data)
+ * void purple_upnp_cancel_port_mapping(UPnPMappingAddRemove * mapping_data)
+ *
+ * Could not generate a wrapper for purple_upnp_cancel_port_mapping in file "upnp.h".
+ * Message: The type could not be resolved (UPnPMappingAddRemove * mapping_data).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_upnp_remove_port_mapping(UNKNOWN short, UNKNOWN , UNKNOWN cb, IntPtr cb_data);
- public static UPnPMappingAddRemove RemovePortMapping(unsigned short, , PurpleUPnPCallback cb, IntPtr cb_data)
- {
- throw new NotImplementedException();
- }
-
}
}
============================================================
--- libpurple/wrapper/Util.cs 376a59fd945abe66a83e00cdc2d152b2f97bd2bd
+++ libpurple/wrapper/Util.cs c770d98b0f47a6a81d38cc20cd28553d9042688a
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -39,17 +41,6 @@ namespace PurpleWrapper
public class Util
{
/*
- * PurpleMenuAction * purple_menu_action_new(char * label, PurpleCallback callback, gpointer data, GList * children)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_menu_action_new(string label, UNKNOWN callback, IntPtr data, IntPtr children);
-
- public static PurpleMenuAction MenuActionNew(string label, PurpleCallback callback, IntPtr data, GList children)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_menu_action_free(PurpleMenuAction * act)
*/
[DllImport("libpurple.dll")]
@@ -57,21 +48,10 @@ namespace PurpleWrapper
public static void MenuActionFree(PurpleMenuAction act)
{
- throw new NotImplementedException();
+ purple_menu_action_free(act.Reference);
}
/*
- * void purple_util_set_current_song(char * title, char * artist, char * album)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_util_set_current_song(string title, string artist, string album);
-
- public static void SetCurrentSong(string title, string artist, string album)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_util_init()
*/
[DllImport("libpurple.dll")]
@@ -79,7 +59,7 @@ namespace PurpleWrapper
public static void Init()
{
- throw new NotImplementedException();
+ purple_util_init();
}
/*
@@ -90,75 +70,51 @@ namespace PurpleWrapper
public static void Uninit()
{
- throw new NotImplementedException();
+ purple_util_uninit();
}
/*
* gchar * purple_base16_encode(guchar * data, gsize len)
+ *
+ * Could not generate a wrapper for purple_base16_encode in file "util.h".
+ * Message: The type could not be resolved (guchar * data).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_base16_encode(IntPtr data, UNKNOWN len);
- public static string Base16Encode(guchar data, gsize len)
- {
- throw new NotImplementedException();
- }
-
/*
* guchar * purple_base16_decode(char * str, gsize * ret_len)
+ *
+ * Could not generate a wrapper for purple_base16_decode in file "util.h".
+ * Message: The type could not be resolved (guchar * purple_base16_decode(char * str, gsize * ret_len)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_base16_decode(string str, IntPtr ret_len);
- public static guchar Base16Decode(string str, gsize ret_len)
- {
- throw new NotImplementedException();
- }
-
/*
* gchar * purple_base16_encode_chunked(guchar * data, gsize len)
+ *
+ * Could not generate a wrapper for purple_base16_encode_chunked in file "util.h".
+ * Message: The type could not be resolved (guchar * data).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_base16_encode_chunked(IntPtr data, UNKNOWN len);
- public static string Base16EncodeChunked(guchar data, gsize len)
- {
- throw new NotImplementedException();
- }
-
/*
* gchar * purple_base64_encode(guchar * data, gsize len)
+ *
+ * Could not generate a wrapper for purple_base64_encode in file "util.h".
+ * Message: The type could not be resolved (guchar * data).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_base64_encode(IntPtr data, UNKNOWN len);
- public static string Base64Encode(guchar data, gsize len)
- {
- throw new NotImplementedException();
- }
-
/*
* guchar * purple_base64_decode(char * str, gsize * ret_len)
+ *
+ * Could not generate a wrapper for purple_base64_decode in file "util.h".
+ * Message: The type could not be resolved (guchar * purple_base64_decode(char * str, gsize * ret_len)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_base64_decode(string str, IntPtr ret_len);
- public static guchar Base64Decode(string str, gsize ret_len)
- {
- throw new NotImplementedException();
- }
-
/*
* guchar * purple_quotedp_decode(char * str, gsize * ret_len)
+ *
+ * Could not generate a wrapper for purple_quotedp_decode in file "util.h".
+ * Message: The type could not be resolved (guchar * purple_quotedp_decode(char * str, gsize * ret_len)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_quotedp_decode(string str, IntPtr ret_len);
- public static guchar QuotedpDecode(string str, gsize ret_len)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_mime_decode_field(char * str)
*/
@@ -167,131 +123,52 @@ namespace PurpleWrapper
public static string MimeDecodeField(string str)
{
- throw new NotImplementedException();
+ return purple_mime_decode_field(str);
}
/*
* char * purple_utf8_strftime(char * format, struct tm)
+ *
+ * Could not generate a wrapper for purple_utf8_strftime in file "util.h".
+ * Message: The struct contains an inner-struct or innter-union and cannot be automatically wrapped.
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_utf8_strftime(string format, UNKNOWN tm);
- public static string Utf8Strftime(string format, struct tm)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_get_tzoff_str(struct tm, gboolean iso)
+ *
+ * Could not generate a wrapper for purple_get_tzoff_str in file "util.h".
+ * Message: The struct contains an inner-struct or innter-union and cannot be automatically wrapped.
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_get_tzoff_str(UNKNOWN tm, bool iso);
- public static string GetTzoffStr(struct tm, bool iso)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_date_format_short(struct tm)
+ *
+ * Could not generate a wrapper for purple_date_format_short in file "util.h".
+ * Message: The struct contains an inner-struct or innter-union and cannot be automatically wrapped.
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_date_format_short(UNKNOWN tm);
- public static string DateFormatShort(struct tm)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_date_format_long(struct tm)
+ *
+ * Could not generate a wrapper for purple_date_format_long in file "util.h".
+ * Message: The struct contains an inner-struct or innter-union and cannot be automatically wrapped.
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_date_format_long(UNKNOWN tm);
- public static string DateFormatLong(struct tm)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_date_format_full(struct tm)
+ *
+ * Could not generate a wrapper for purple_date_format_full in file "util.h".
+ * Message: The struct contains an inner-struct or innter-union and cannot be automatically wrapped.
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_date_format_full(UNKNOWN tm);
- public static string DateFormatFull(struct tm)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_time_format(struct tm)
+ *
+ * Could not generate a wrapper for purple_time_format in file "util.h".
+ * Message: The struct contains an inner-struct or innter-union and cannot be automatically wrapped.
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_time_format(UNKNOWN tm);
- public static string TimeFormat(struct tm)
- {
- throw new NotImplementedException();
- }
-
/*
- * time_t purple_time_build(int year, int month, int day, int hour, int min, int sec)
- */
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_time_build(int year, int month, int day, int hour, int min, int sec);
-
- public static time_t TimeBuild(int year, int month, int day, int hour, int min, int sec)
- {
- throw new NotImplementedException();
- }
-
- /*
- * time_t purple_str_to_time(char * timestamp, gboolean utc, struct tm, long * tz_off, char ** rest)
- */
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_str_to_time(string timestamp, bool utc, UNKNOWN tm, IntPtr tz_off, IntPtr rest);
-
- public static time_t StrToTime(string timestamp, bool utc, struct tm, long tz_off, char rest)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gboolean purple_markup_find_tag(char * needle, char * haystack, char ** start, char ** end, GData ** attributes)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_markup_find_tag(string needle, string haystack, IntPtr start, IntPtr end, IntPtr attributes);
-
- public static bool MarkupFindTag(string needle, string haystack, char start, char end, GData attributes)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gboolean purple_markup_extract_info_field(char * str, int len, PurpleNotifyUserInfo * user_info, char * start_token, int skip, char * end_token, char check_value, char * no_value_token, char * display_name, gboolean is_link, char * link_prefix, PurpleInfoFieldFormatCallback format_cb)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_markup_extract_info_field(string str, int len, IntPtr user_info, string start_token, int skip, string end_token, char check_value, string no_value_token, string display_name, bool is_link, string link_prefix, UNKNOWN format_cb);
-
- public static bool MarkupExtractInfoField(string str, int len, PurpleNotifyUserInfo user_info, string start_token, int skip, string end_token, char check_value, string no_value_token, string display_name, bool is_link, string link_prefix, PurpleInfoFieldFormatCallback format_cb)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void purple_markup_html_to_xhtml(char * html, char ** dest_xhtml, char ** dest_plain)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_markup_html_to_xhtml(string html, IntPtr dest_xhtml, IntPtr dest_plain);
-
- public static void MarkupHtmlToXhtml(string html, char dest_xhtml, char dest_plain)
- {
- throw new NotImplementedException();
- }
-
- /*
* char * purple_markup_strip_html(char * str)
*/
[DllImport("libpurple.dll")]
@@ -299,7 +176,7 @@ namespace PurpleWrapper
public static string MarkupStripHtml(string str)
{
- throw new NotImplementedException();
+ return purple_markup_strip_html(str);
}
/*
@@ -310,7 +187,7 @@ namespace PurpleWrapper
public static string MarkupLinkify(string str)
{
- throw new NotImplementedException();
+ return purple_markup_linkify(str);
}
/*
@@ -321,7 +198,7 @@ namespace PurpleWrapper
public static string UnescapeHtml(string html)
{
- throw new NotImplementedException();
+ return purple_unescape_html(html);
}
/*
@@ -332,7 +209,7 @@ namespace PurpleWrapper
public static string MarkupSlice(string str, uint x, uint y)
{
- throw new NotImplementedException();
+ return purple_markup_slice(str, x, y);
}
/*
@@ -343,10 +220,28 @@ namespace PurpleWrapper
public static string MarkupGetTagName(string tag)
{
- throw new NotImplementedException();
+ return purple_markup_get_tag_name(tag);
}
/*
+ * char * purple_markup_unescape_entity(char * text, int * length)
+ *
+ * Could not generate a wrapper for purple_markup_unescape_entity in file "util.h".
+ * Message: The type could not be resolved (int * length).
+ */
+
+ /*
+ * char * purple_markup_get_css_property(gchar * style, gchar * opt)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_markup_get_css_property(string style, string opt);
+
+ public static string MarkupGetCssProperty(string style, string opt)
+ {
+ return purple_markup_get_css_property(style, opt);
+ }
+
+ /*
* gboolean purple_markup_is_rtl(char * html)
*/
[DllImport("libpurple.dll")]
@@ -354,7 +249,7 @@ namespace PurpleWrapper
public static bool MarkupIsRtl(string html)
{
- throw new NotImplementedException();
+ return purple_markup_is_rtl(html);
}
/*
@@ -365,7 +260,7 @@ namespace PurpleWrapper
public static string HomeDir()
{
- throw new NotImplementedException();
+ return purple_home_dir();
}
/*
@@ -376,7 +271,7 @@ namespace PurpleWrapper
public static string UserDir()
{
- throw new NotImplementedException();
+ return purple_user_dir();
}
/*
@@ -387,7 +282,7 @@ namespace PurpleWrapper
public static void SetUserDir(string dir)
{
- throw new NotImplementedException();
+ purple_util_set_user_dir(dir);
}
/*
@@ -398,73 +293,58 @@ namespace PurpleWrapper
public static int BuildDir(string path, int mode)
{
- throw new NotImplementedException();
+ return purple_build_dir(path, mode);
}
/*
- * gboolean purple_util_write_data_to_file(char * filename, char * data, gssize size)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_util_write_data_to_file(string filename, string data, UNKNOWN size);
-
- public static bool WriteDataToFile(string filename, string data, gssize size)
- {
- throw new NotImplementedException();
- }
-
- /*
* gboolean purple_util_write_data_to_file_absolute(char * filename_full, char * data, gssize size)
*/
[DllImport("libpurple.dll")]
- private static extern bool purple_util_write_data_to_file_absolute(string filename_full, string data, UNKNOWN size);
+ private static extern bool purple_util_write_data_to_file_absolute(string filename_full, string data, long size);
- public static bool WriteDataToFileAbsolute(string filename_full, string data, gssize size)
+ public static bool WriteDataToFileAbsolute(string filename_full, string data, long size)
{
- throw new NotImplementedException();
+ return purple_util_write_data_to_file_absolute(filename_full, data, size);
}
/*
- * xmlnode * purple_util_read_xml_from_file(char * filename, char * description)
+ * FILE * purple_mkstemp(char ** path, gboolean binary)
+ *
+ * Could not generate a wrapper for purple_mkstemp in file "util.h".
+ * Message: The type could not be resolved (FILE * purple_mkstemp(char ** path, gboolean binary)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_util_read_xml_from_file(string filename, string description);
- public static xmlnode ReadXmlFromFile(string filename, string description)
- {
- throw new NotImplementedException();
- }
-
/*
- * FILE * purple_mkstemp(char ** path, gboolean binary)
+ * char * purple_util_get_image_extension(gconstpointer data, size_t len)
*/
[DllImport("libpurple.dll")]
- private static extern IntPtr purple_mkstemp(IntPtr path, bool binary);
+ private static extern string purple_util_get_image_extension(IntPtr data, ulong len);
- public static FILE Mkstemp(char path, bool binary)
+ public static string GetImageExtension(IntPtr data, ulong len)
{
- throw new NotImplementedException();
+ return purple_util_get_image_extension(data, len);
}
/*
* char * purple_util_get_image_checksum(gconstpointer image_data, size_t image_len)
*/
[DllImport("libpurple.dll")]
- private static extern string purple_util_get_image_checksum(UNKNOWN image_data, UNKNOWN image_len);
+ private static extern string purple_util_get_image_checksum(IntPtr image_data, ulong image_len);
- public static string GetImageChecksum(gconstpointer image_data, size_t image_len)
+ public static string GetImageChecksum(IntPtr image_data, ulong image_len)
{
- throw new NotImplementedException();
+ return purple_util_get_image_checksum(image_data, image_len);
}
/*
* char * purple_util_get_image_filename(gconstpointer image_data, size_t image_len)
*/
[DllImport("libpurple.dll")]
- private static extern string purple_util_get_image_filename(UNKNOWN image_data, UNKNOWN image_len);
+ private static extern string purple_util_get_image_filename(IntPtr image_data, ulong image_len);
- public static string GetImageFilename(gconstpointer image_data, size_t image_len)
+ public static string GetImageFilename(IntPtr image_data, ulong image_len)
{
- throw new NotImplementedException();
+ return purple_util_get_image_filename(image_data, image_len);
}
/*
@@ -475,7 +355,7 @@ namespace PurpleWrapper
public static bool ProgramIsValid(string program)
{
- throw new NotImplementedException();
+ return purple_program_is_valid(program);
}
/*
@@ -486,7 +366,7 @@ namespace PurpleWrapper
public static bool RunningGnome()
{
- throw new NotImplementedException();
+ return purple_running_gnome();
}
/*
@@ -497,7 +377,7 @@ namespace PurpleWrapper
public static bool RunningKde()
{
- throw new NotImplementedException();
+ return purple_running_kde();
}
/*
@@ -508,7 +388,7 @@ namespace PurpleWrapper
public static bool RunningOsx()
{
- throw new NotImplementedException();
+ return purple_running_osx();
}
/*
@@ -519,7 +399,7 @@ namespace PurpleWrapper
public static string FdGetIp(int fd)
{
- throw new NotImplementedException();
+ return purple_fd_get_ip(fd);
}
/*
@@ -530,7 +410,7 @@ namespace PurpleWrapper
public static bool Strequal(string left, string right)
{
- throw new NotImplementedException();
+ return purple_strequal(left, right);
}
/*
@@ -541,7 +421,7 @@ namespace PurpleWrapper
public static string Normalize(PurpleAccount account, string str)
{
- throw new NotImplementedException();
+ return purple_normalize(account.Reference, str);
}
/*
@@ -552,7 +432,7 @@ namespace PurpleWrapper
public static string NormalizeNocase(PurpleAccount account, string str)
{
- throw new NotImplementedException();
+ return purple_normalize_nocase(account.Reference, str);
}
/*
@@ -563,7 +443,7 @@ namespace PurpleWrapper
public static bool StrHasPrefix(string s, string p)
{
- throw new NotImplementedException();
+ return purple_str_has_prefix(s, p);
}
/*
@@ -574,7 +454,7 @@ namespace PurpleWrapper
public static bool StrHasSuffix(string s, string x)
{
- throw new NotImplementedException();
+ return purple_str_has_suffix(s, x);
}
/*
@@ -585,7 +465,7 @@ namespace PurpleWrapper
public static string StrdupWithhtml(string src)
{
- throw new NotImplementedException();
+ return purple_strdup_withhtml(src);
}
/*
@@ -596,7 +476,7 @@ namespace PurpleWrapper
public static string StrAddCr(string str)
{
- throw new NotImplementedException();
+ return purple_str_add_cr(str);
}
/*
@@ -607,65 +487,32 @@ namespace PurpleWrapper
public static void StrStripChar(string str, char thechar)
{
- throw new NotImplementedException();
+ purple_str_strip_char(str, thechar);
}
/*
- * void purple_util_chrreplace(char * string, char delimiter, char replacement)
- */
- [DllImport("libpurple.dll")]
- private static extern void purple_util_chrreplace(string string, char delimiter, char replacement);
-
- public static void Chrreplace(string string, char delimiter, char replacement)
- {
- throw new NotImplementedException();
- }
-
- /*
- * gchar * purple_strreplace(char * string, char * delimiter, char * replacement)
- */
- [DllImport("libpurple.dll")]
- private static extern string purple_strreplace(string string, string delimiter, string replacement);
-
- public static string Strreplace(string string, string delimiter, string replacement)
- {
- throw new NotImplementedException();
- }
-
- /*
* char * purple_utf8_ncr_encode(char * in)
*/
[DllImport("libpurple.dll")]
- private static extern string purple_utf8_ncr_encode(string in);
+ private static extern string purple_utf8_ncr_encode(string in_);
- public static string Utf8NcrEncode(string in)
+ public static string Utf8NcrEncode(string in_)
{
- throw new NotImplementedException();
+ return purple_utf8_ncr_encode(in_);
}
/*
* char * purple_utf8_ncr_decode(char * in)
*/
[DllImport("libpurple.dll")]
- private static extern string purple_utf8_ncr_decode(string in);
+ private static extern string purple_utf8_ncr_decode(string in_);
- public static string Utf8NcrDecode(string in)
+ public static string Utf8NcrDecode(string in_)
{
- throw new NotImplementedException();
+ return purple_utf8_ncr_decode(in_);
}
/*
- * gchar * purple_strcasereplace(char * string, char * delimiter, char * replacement)
- */
- [DllImport("libpurple.dll")]
- private static extern string purple_strcasereplace(string string, string delimiter, string replacement);
-
- public static string Strcasereplace(string string, string delimiter, string replacement)
- {
- throw new NotImplementedException();
- }
-
- /*
* char * purple_strcasestr(char * haystack, char * needle)
*/
[DllImport("libpurple.dll")]
@@ -673,18 +520,18 @@ namespace PurpleWrapper
public static string Strcasestr(string haystack, string needle)
{
- throw new NotImplementedException();
+ return purple_strcasestr(haystack, needle);
}
/*
* char * purple_str_size_to_units(size_t size)
*/
[DllImport("libpurple.dll")]
- private static extern string purple_str_size_to_units(UNKNOWN size);
+ private static extern string purple_str_size_to_units(ulong size);
- public static string StrSizeToUnits(size_t size)
+ public static string StrSizeToUnits(ulong size)
{
- throw new NotImplementedException();
+ return purple_str_size_to_units(size);
}
/*
@@ -695,20 +542,16 @@ namespace PurpleWrapper
public static string StrSecondsToString(uint sec)
{
- throw new NotImplementedException();
+ return purple_str_seconds_to_string(sec);
}
/*
- * char * purple_str_binary_to_ascii(unsigned char, guint len)
+ * char * purple_str_binary_to_ascii(unsigned char * binary, guint len)
+ *
+ * Could not generate a wrapper for purple_str_binary_to_ascii in file "util.h".
+ * Message: The type could not be resolved (unsigned char * binary).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_str_binary_to_ascii(UNKNOWN char, uint len);
- public static string StrBinaryToAscii(unsigned char, uint len)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_got_protocol_handler_uri(char * uri)
*/
@@ -717,64 +560,16 @@ namespace PurpleWrapper
public static void GotProtocolHandlerUri(string uri)
{
- throw new NotImplementedException();
+ purple_got_protocol_handler_uri(uri);
}
/*
- * gboolean purple_url_parse(char * url, char ** ret_host, int * ret_port, char ** ret_path, char ** ret_user, char ** ret_passwd)
- */
- [DllImport("libpurple.dll")]
- private static extern bool purple_url_parse(string url, IntPtr ret_host, IntPtr ret_port, IntPtr ret_path, IntPtr ret_user, IntPtr ret_passwd);
-
- public static bool UrlParse(string url, char ret_host, int ret_port, char ret_path, char ret_user, char ret_passwd)
- {
- throw new NotImplementedException();
- }
-
- /*
- * PurpleUtilFetchUrlData * purple_util_fetch_url_request(gchar * url, gboolean full, gchar * user_agent, gboolean http11, gchar * request, gboolean include_headers, PurpleUtilFetchUrlCallback callback, gpointer data)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_util_fetch_url_request(string url, bool full, string user_agent, bool http11, string request, bool include_headers, UNKNOWN callback, IntPtr data);
-
- public static PurpleUtilFetchUrlData FetchUrlRequest(string url, bool full, string user_agent, bool http11, string request, bool include_headers, PurpleUtilFetchUrlCallback callback, IntPtr data)
- {
- throw new NotImplementedException();
- }
-
- /*
- * PurpleUtilFetchUrlData * purple_util_fetch_url_request_len(gchar * url, gboolean full, gchar * user_agent, gboolean http11, gchar * request, gboolean include_headers, gssize max_len, PurpleUtilFetchUrlCallback callback, gpointer data)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_util_fetch_url_request_len(string url, bool full, string user_agent, bool http11, string request, bool include_headers, UNKNOWN max_len, UNKNOWN callback, IntPtr data);
-
- public static PurpleUtilFetchUrlData FetchUrlRequestLen(string url, bool full, string user_agent, bool http11, string request, bool include_headers, gssize max_len, PurpleUtilFetchUrlCallback callback, IntPtr data)
- {
- throw new NotImplementedException();
- }
-
- /*
- * PurpleUtilFetchUrlData * purple_util_fetch_url_request_len_with_account(PurpleAccount * account, gchar * url, gboolean full, gchar * user_agent, gboolean http11, gchar * request, gboolean include_headers, gssize max_len, PurpleUtilFetchUrlCallback callback, gpointer data)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_util_fetch_url_request_len_with_account(IntPtr account, string url, bool full, string user_agent, bool http11, string request, bool include_headers, UNKNOWN max_len, UNKNOWN callback, IntPtr data);
-
- public static PurpleUtilFetchUrlData FetchUrlRequestLenWithAccount(PurpleAccount account, string url, bool full, string user_agent, bool http11, string request, bool include_headers, gssize max_len, PurpleUtilFetchUrlCallback callback, IntPtr data)
- {
- throw new NotImplementedException();
- }
-
- /*
* void purple_util_fetch_url_cancel(PurpleUtilFetchUrlData * url_data)
+ *
+ * Could not generate a wrapper for purple_util_fetch_url_cancel in file "util.h".
+ * Message: The type could not be resolved (PurpleUtilFetchUrlData * url_data).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_util_fetch_url_cancel(IntPtr url_data);
- public static void FetchUrlCancel(PurpleUtilFetchUrlData url_data)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_url_decode(char * str)
*/
@@ -783,7 +578,7 @@ namespace PurpleWrapper
public static string UrlDecode(string str)
{
- throw new NotImplementedException();
+ return purple_url_decode(str);
}
/*
@@ -794,7 +589,7 @@ namespace PurpleWrapper
public static string UrlEncode(string str)
{
- throw new NotImplementedException();
+ return purple_url_encode(str);
}
/*
@@ -805,7 +600,7 @@ namespace PurpleWrapper
public static bool EmailIsValid(string address)
{
- throw new NotImplementedException();
+ return purple_email_is_valid(address);
}
/*
@@ -816,31 +611,23 @@ namespace PurpleWrapper
public static bool IpAddressIsValid(string ip)
{
- throw new NotImplementedException();
+ return purple_ip_address_is_valid(ip);
}
/*
* GList * purple_uri_list_extract_uris(gchar * uri_list)
+ *
+ * Could not generate a wrapper for purple_uri_list_extract_uris in file "util.h".
+ * Message: The type could not be resolved (GList * purple_uri_list_extract_uris(gchar * uri_list)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_uri_list_extract_uris(string uri_list);
- public static GList UriListExtractUris(string uri_list)
- {
- throw new NotImplementedException();
- }
-
/*
* GList * purple_uri_list_extract_filenames(gchar * uri_list)
+ *
+ * Could not generate a wrapper for purple_uri_list_extract_filenames in file "util.h".
+ * Message: The type could not be resolved (GList * purple_uri_list_extract_filenames(gchar * uri_list)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_uri_list_extract_filenames(string uri_list);
- public static GList UriListExtractFilenames(string uri_list)
- {
- throw new NotImplementedException();
- }
-
/*
* gchar * purple_utf8_try_convert(char * str)
*/
@@ -849,7 +636,7 @@ namespace PurpleWrapper
public static string Utf8TryConvert(string str)
{
- throw new NotImplementedException();
+ return purple_utf8_try_convert(str);
}
/*
@@ -860,7 +647,7 @@ namespace PurpleWrapper
public static string Utf8Salvage(string str)
{
- throw new NotImplementedException();
+ return purple_utf8_salvage(str);
}
/*
@@ -871,7 +658,7 @@ namespace PurpleWrapper
public static string Utf8StripUnprintables(string str)
{
- throw new NotImplementedException();
+ return purple_utf8_strip_unprintables(str);
}
/*
@@ -882,7 +669,7 @@ namespace PurpleWrapper
public static string GaiStrerror(int errnum)
{
- throw new NotImplementedException();
+ return purple_gai_strerror(errnum);
}
/*
@@ -893,7 +680,7 @@ namespace PurpleWrapper
public static int Utf8Strcasecmp(string a, string b)
{
- throw new NotImplementedException();
+ return purple_utf8_strcasecmp(a, b);
}
/*
@@ -904,40 +691,36 @@ namespace PurpleWrapper
public static bool Utf8HasWord(string haystack, string needle)
{
- throw new NotImplementedException();
+ return purple_utf8_has_word(haystack, needle);
}
/*
* void purple_print_utf8_to_console(FILE * filestream, char * message)
+ *
+ * Could not generate a wrapper for purple_print_utf8_to_console in file "util.h".
+ * Message: The type could not be resolved (FILE * filestream).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_print_utf8_to_console(IntPtr filestream, string message);
- public static void PrintUtf8ToConsole(FILE filestream, string message)
- {
- throw new NotImplementedException();
- }
-
/*
* gboolean purple_message_meify(char * message, gssize len)
*/
[DllImport("libpurple.dll")]
- private static extern bool purple_message_meify(string message, UNKNOWN len);
+ private static extern bool purple_message_meify(string message, long len);
- public static bool MessageMeify(string message, gssize len)
+ public static bool MessageMeify(string message, long len)
{
- throw new NotImplementedException();
+ return purple_message_meify(message, len);
}
/*
* char * purple_text_strip_mnemonic(char * in)
*/
[DllImport("libpurple.dll")]
- private static extern string purple_text_strip_mnemonic(string in);
+ private static extern string purple_text_strip_mnemonic(string in_);
- public static string TextStripMnemonic(string in)
+ public static string TextStripMnemonic(string in_)
{
- throw new NotImplementedException();
+ return purple_text_strip_mnemonic(in_);
}
/*
@@ -948,7 +731,7 @@ namespace PurpleWrapper
public static string UnescapeFilename(string str)
{
- throw new NotImplementedException();
+ return purple_unescape_filename(str);
}
/*
@@ -959,18 +742,18 @@ namespace PurpleWrapper
public static string EscapeFilename(string str)
{
- throw new NotImplementedException();
+ return purple_escape_filename(str);
}
/*
- * char * _purple_oscar_convert(char * act, char * protocol)
+ * char * purple_oscar_convert(char * act, char * protocol)
*/
[DllImport("libpurple.dll")]
- private static extern string _purple_oscar_convert(string act, string protocol);
+ private static extern string purple_oscar_convert(string act, string protocol);
- public static string _purpleOscarConvert(string act, string protocol)
+ public static string OscarConvert(string act, string protocol)
{
- throw new NotImplementedException();
+ return purple_oscar_convert(act, protocol);
}
/*
@@ -981,7 +764,7 @@ namespace PurpleWrapper
public static void RestoreDefaultSignalHandlers()
{
- throw new NotImplementedException();
+ purple_restore_default_signal_handlers();
}
/*
@@ -992,7 +775,7 @@ namespace PurpleWrapper
public static string GetHostName()
{
- throw new NotImplementedException();
+ return purple_get_host_name();
}
}
============================================================
--- libpurple/wrapper/Value.cs 3d651a60350de489b088a67dc19051ec38b1c7ef
+++ libpurple/wrapper/Value.cs b532b4679e1101b483ad6ceb175f457db6c0d727
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,446 +40,318 @@ namespace PurpleWrapper
{
public class Value
{
- /*
- * PurpleValue * purple_value_new(PurpleType type, ...)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_value_new(UNKNOWN type, ...);
-
- public static PurpleValue New(PurpleType type, ...)
+ public enum PurpleType
{
- throw new NotImplementedException();
- }
+ PURPLE_TYPE_UNKNOWN = 0,
+ PURPLE_TYPE_SUBTYPE,
+ PURPLE_TYPE_CHAR,
+ PURPLE_TYPE_UCHAR,
+ PURPLE_TYPE_BOOLEAN,
+ PURPLE_TYPE_SHORT,
+ PURPLE_TYPE_USHORT,
+ PURPLE_TYPE_INT,
+ PURPLE_TYPE_UINT,
+ PURPLE_TYPE_LONG,
+ PURPLE_TYPE_ULONG,
+ PURPLE_TYPE_INT64,
+ PURPLE_TYPE_UINT64,
+ PURPLE_TYPE_STRING,
+ PURPLE_TYPE_OBJECT,
+ PURPLE_TYPE_POINTER,
+ PURPLE_TYPE_ENUM,
+ PURPLE_TYPE_BOXED
+ };
- /*
- * PurpleValue * purple_value_new_outgoing(PurpleType type, ...)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_value_new_outgoing(UNKNOWN type, ...);
-
- public static PurpleValue NewOutgoing(PurpleType type, ...)
+ public enum PurpleSubType
{
- throw new NotImplementedException();
- }
+ PURPLE_SUBTYPE_UNKNOWN = 0,
+ PURPLE_SUBTYPE_ACCOUNT,
+ PURPLE_SUBTYPE_BLIST,
+ PURPLE_SUBTYPE_BLIST_BUDDY,
+ PURPLE_SUBTYPE_BLIST_GROUP,
+ PURPLE_SUBTYPE_BLIST_CHAT,
+ PURPLE_SUBTYPE_BUDDY_ICON,
+ PURPLE_SUBTYPE_CONNECTION,
+ PURPLE_SUBTYPE_CONVERSATION,
+ PURPLE_SUBTYPE_PLUGIN,
+ PURPLE_SUBTYPE_BLIST_NODE,
+ PURPLE_SUBTYPE_CIPHER,
+ PURPLE_SUBTYPE_STATUS,
+ PURPLE_SUBTYPE_LOG,
+ PURPLE_SUBTYPE_XFER,
+ PURPLE_SUBTYPE_SAVEDSTATUS,
+ PURPLE_SUBTYPE_XMLNODE,
+ PURPLE_SUBTYPE_USERINFO,
+ PURPLE_SUBTYPE_STORED_IMAGE,
+ PURPLE_SUBTYPE_CERTIFICATEPOOL
+ };
/*
* void purple_value_destroy(PurpleValue * value)
+ *
+ * Could not generate a wrapper for purple_value_destroy in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_value_destroy(IntPtr value);
- public static void Destroy(PurpleValue value)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleValue * purple_value_dup(PurpleValue * value)
+ *
+ * Could not generate a wrapper for purple_value_dup in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * purple_value_dup(PurpleValue * value)).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_value_dup(IntPtr value);
- public static PurpleValue Dup(PurpleValue value)
- {
- throw new NotImplementedException();
- }
-
/*
* PurpleType purple_value_get_type(PurpleValue * value)
+ *
+ * Could not generate a wrapper for purple_value_get_type in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern UNKNOWN purple_value_get_type(IntPtr value);
- public static PurpleType GetType(PurpleValue value)
- {
- throw new NotImplementedException();
- }
-
/*
- * int purple_value_get_subtype(PurpleValue * value)
+ * unsigned int purple_value_get_subtype(PurpleValue * value)
+ *
+ * Could not generate a wrapper for purple_value_get_subtype in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern int purple_value_get_subtype(IntPtr value);
- public static int GetSubtype(PurpleValue value)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_value_get_specific_type(PurpleValue * value)
+ *
+ * Could not generate a wrapper for purple_value_get_specific_type in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_value_get_specific_type(IntPtr value);
- public static string GetSpecificType(PurpleValue value)
- {
- throw new NotImplementedException();
- }
-
/*
* gboolean purple_value_is_outgoing(PurpleValue * value)
+ *
+ * Could not generate a wrapper for purple_value_is_outgoing in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern bool purple_value_is_outgoing(IntPtr value);
- public static bool IsOutgoing(PurpleValue value)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_value_set_char(PurpleValue * value, char data)
+ *
+ * Could not generate a wrapper for purple_value_set_char in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_value_set_char(IntPtr value, char data);
- public static void SetChar(PurpleValue value, char data)
- {
- throw new NotImplementedException();
- }
-
/*
- * void purple_value_set_uchar(PurpleValue * value, unsigned char)
+ * void purple_value_set_uchar(PurpleValue * value, unsigned char data)
+ *
+ * Could not generate a wrapper for purple_value_set_uchar in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_value_set_uchar(IntPtr value, UNKNOWN char);
- public static void SetUchar(PurpleValue value, unsigned char)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_value_set_boolean(PurpleValue * value, gboolean data)
+ *
+ * Could not generate a wrapper for purple_value_set_boolean in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_value_set_boolean(IntPtr value, bool data);
- public static void SetBoolean(PurpleValue value, bool data)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_value_set_short(PurpleValue * value, short data)
+ *
+ * Could not generate a wrapper for purple_value_set_short in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_value_set_short(IntPtr value, short data);
- public static void SetShort(PurpleValue value, short data)
- {
- throw new NotImplementedException();
- }
-
/*
- * void purple_value_set_ushort(PurpleValue * value, unsigned short)
+ * void purple_value_set_ushort(PurpleValue * value, unsigned short data)
+ *
+ * Could not generate a wrapper for purple_value_set_ushort in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_value_set_ushort(IntPtr value, UNKNOWN short);
- public static void SetUshort(PurpleValue value, unsigned short)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_value_set_int(PurpleValue * value, int data)
+ *
+ * Could not generate a wrapper for purple_value_set_int in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_value_set_int(IntPtr value, int data);
- public static void SetInt(PurpleValue value, int data)
- {
- throw new NotImplementedException();
- }
-
/*
- * void purple_value_set_uint(PurpleValue * value, unsigned int)
+ * void purple_value_set_uint(PurpleValue * value, unsigned int data)
+ *
+ * Could not generate a wrapper for purple_value_set_uint in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_value_set_uint(IntPtr value, UNKNOWN int);
- public static void SetUint(PurpleValue value, unsigned int)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_value_set_long(PurpleValue * value, long data)
+ *
+ * Could not generate a wrapper for purple_value_set_long in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_value_set_long(IntPtr value, long data);
- public static void SetLong(PurpleValue value, long data)
- {
- throw new NotImplementedException();
- }
-
/*
- * void purple_value_set_ulong(PurpleValue * value, unsigned long)
+ * void purple_value_set_ulong(PurpleValue * value, unsigned long data)
+ *
+ * Could not generate a wrapper for purple_value_set_ulong in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_value_set_ulong(IntPtr value, UNKNOWN long);
- public static void SetUlong(PurpleValue value, unsigned long)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_value_set_int64(PurpleValue * value, gint64 data)
+ *
+ * Could not generate a wrapper for purple_value_set_int64 in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_value_set_int64(IntPtr value, long data);
- public static void SetInt64(PurpleValue value, long data)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_value_set_uint64(PurpleValue * value, guint64 data)
+ *
+ * Could not generate a wrapper for purple_value_set_uint64 in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_value_set_uint64(IntPtr value, ulong data);
- public static void SetUint64(PurpleValue value, ulong data)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_value_set_string(PurpleValue * value, char * data)
+ *
+ * Could not generate a wrapper for purple_value_set_string in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_value_set_string(IntPtr value, string data);
- public static void SetString(PurpleValue value, string data)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_value_set_object(PurpleValue * value, void * data)
+ *
+ * Could not generate a wrapper for purple_value_set_object in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_value_set_object(IntPtr value, IntPtr data);
- public static void SetObject(PurpleValue value, IntPtr data)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_value_set_pointer(PurpleValue * value, void * data)
+ *
+ * Could not generate a wrapper for purple_value_set_pointer in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_value_set_pointer(IntPtr value, IntPtr data);
- public static void SetPointer(PurpleValue value, IntPtr data)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_value_set_enum(PurpleValue * value, int data)
+ *
+ * Could not generate a wrapper for purple_value_set_enum in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_value_set_enum(IntPtr value, int data);
- public static void SetEnum(PurpleValue value, int data)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_value_set_boxed(PurpleValue * value, void * data)
+ *
+ * Could not generate a wrapper for purple_value_set_boxed in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_value_set_boxed(IntPtr value, IntPtr data);
- public static void SetBoxed(PurpleValue value, IntPtr data)
- {
- throw new NotImplementedException();
- }
-
/*
* char purple_value_get_char(PurpleValue * value)
+ *
+ * Could not generate a wrapper for purple_value_get_char in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern char purple_value_get_char(IntPtr value);
- public static char GetChar(PurpleValue value)
- {
- throw new NotImplementedException();
- }
-
/*
- * char purple_value_get_uchar(PurpleValue * value)
+ * unsigned char purple_value_get_uchar(PurpleValue * value)
+ *
+ * Could not generate a wrapper for purple_value_get_uchar in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern char purple_value_get_uchar(IntPtr value);
- public static char GetUchar(PurpleValue value)
- {
- throw new NotImplementedException();
- }
-
/*
* gboolean purple_value_get_boolean(PurpleValue * value)
+ *
+ * Could not generate a wrapper for purple_value_get_boolean in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern bool purple_value_get_boolean(IntPtr value);
- public static bool GetBoolean(PurpleValue value)
- {
- throw new NotImplementedException();
- }
-
/*
* short purple_value_get_short(PurpleValue * value)
+ *
+ * Could not generate a wrapper for purple_value_get_short in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern short purple_value_get_short(IntPtr value);
- public static short GetShort(PurpleValue value)
- {
- throw new NotImplementedException();
- }
-
/*
- * short purple_value_get_ushort(PurpleValue * value)
+ * unsigned short purple_value_get_ushort(PurpleValue * value)
+ *
+ * Could not generate a wrapper for purple_value_get_ushort in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern short purple_value_get_ushort(IntPtr value);
- public static short GetUshort(PurpleValue value)
- {
- throw new NotImplementedException();
- }
-
/*
* int purple_value_get_int(PurpleValue * value)
+ *
+ * Could not generate a wrapper for purple_value_get_int in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern int purple_value_get_int(IntPtr value);
- public static int GetInt(PurpleValue value)
- {
- throw new NotImplementedException();
- }
-
/*
- * int purple_value_get_uint(PurpleValue * value)
+ * unsigned int purple_value_get_uint(PurpleValue * value)
+ *
+ * Could not generate a wrapper for purple_value_get_uint in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern int purple_value_get_uint(IntPtr value);
- public static int GetUint(PurpleValue value)
- {
- throw new NotImplementedException();
- }
-
/*
* long purple_value_get_long(PurpleValue * value)
+ *
+ * Could not generate a wrapper for purple_value_get_long in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern long purple_value_get_long(IntPtr value);
- public static long GetLong(PurpleValue value)
- {
- throw new NotImplementedException();
- }
-
/*
- * long purple_value_get_ulong(PurpleValue * value)
+ * unsigned long purple_value_get_ulong(PurpleValue * value)
+ *
+ * Could not generate a wrapper for purple_value_get_ulong in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern long purple_value_get_ulong(IntPtr value);
- public static long GetUlong(PurpleValue value)
- {
- throw new NotImplementedException();
- }
-
/*
* gint64 purple_value_get_int64(PurpleValue * value)
+ *
+ * Could not generate a wrapper for purple_value_get_int64 in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern long purple_value_get_int64(IntPtr value);
- public static long GetInt64(PurpleValue value)
- {
- throw new NotImplementedException();
- }
-
/*
* guint64 purple_value_get_uint64(PurpleValue * value)
+ *
+ * Could not generate a wrapper for purple_value_get_uint64 in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern ulong purple_value_get_uint64(IntPtr value);
- public static ulong GetUint64(PurpleValue value)
- {
- throw new NotImplementedException();
- }
-
/*
* char * purple_value_get_string(PurpleValue * value)
+ *
+ * Could not generate a wrapper for purple_value_get_string in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern string purple_value_get_string(IntPtr value);
- public static string GetString(PurpleValue value)
- {
- throw new NotImplementedException();
- }
-
/*
* void * purple_value_get_object(PurpleValue * value)
+ *
+ * Could not generate a wrapper for purple_value_get_object in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_value_get_object(IntPtr value);
- public static IntPtr GetObject(PurpleValue value)
- {
- throw new NotImplementedException();
- }
-
/*
* void * purple_value_get_pointer(PurpleValue * value)
+ *
+ * Could not generate a wrapper for purple_value_get_pointer in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_value_get_pointer(IntPtr value);
- public static IntPtr GetPointer(PurpleValue value)
- {
- throw new NotImplementedException();
- }
-
/*
* int purple_value_get_enum(PurpleValue * value)
+ *
+ * Could not generate a wrapper for purple_value_get_enum in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern int purple_value_get_enum(IntPtr value);
- public static int GetEnum(PurpleValue value)
- {
- throw new NotImplementedException();
- }
-
/*
* void * purple_value_get_boxed(PurpleValue * value)
+ *
+ * Could not generate a wrapper for purple_value_get_boxed in file "value.h".
+ * Message: The type could not be resolved (PurpleValue * value).
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr purple_value_get_boxed(IntPtr value);
- public static IntPtr GetBoxed(PurpleValue value)
- {
- throw new NotImplementedException();
- }
-
}
}
============================================================
--- libpurple/wrapper/Version.cs a4d8a9939b8d1c70321f3a283d3e3a563da93b6a
+++ libpurple/wrapper/Version.cs dc0b5a9d7315a93b0f63ea7516e72f358f024681
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -46,7 +48,7 @@ namespace PurpleWrapper
public static string Check(uint required_major, uint required_minor, uint required_micro)
{
- throw new NotImplementedException();
+ return purple_version_check(required_major, required_minor, required_micro);
}
}
============================================================
--- libpurple/wrapper/Whiteboard.cs 97fab946749d74fd83157bcaced1dfcfda28caa2
+++ libpurple/wrapper/Whiteboard.cs 9464f6b58e89a28f0564748a48479a2dd62de089
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -46,7 +48,7 @@ namespace PurpleWrapper
public static void SetUiOps(PurpleWhiteboardUiOps ops)
{
- throw new NotImplementedException();
+ purple_whiteboard_set_ui_ops(ops.Reference);
}
/*
@@ -57,7 +59,7 @@ namespace PurpleWrapper
public static void SetPrplOps(PurpleWhiteboard wb, PurpleWhiteboardPrplOps ops)
{
- throw new NotImplementedException();
+ purple_whiteboard_set_prpl_ops(wb.Reference, ops.Reference);
}
/*
@@ -68,7 +70,7 @@ namespace PurpleWrapper
public static PurpleWhiteboard Create(PurpleAccount account, string who, int state)
{
- throw new NotImplementedException();
+ return new PurpleWhiteboard(purple_whiteboard_create(account.Reference, who, state));
}
/*
@@ -79,7 +81,7 @@ namespace PurpleWrapper
public static void Destroy(PurpleWhiteboard wb)
{
- throw new NotImplementedException();
+ purple_whiteboard_destroy(wb.Reference);
}
/*
@@ -90,7 +92,7 @@ namespace PurpleWrapper
public static void Start(PurpleWhiteboard wb)
{
- throw new NotImplementedException();
+ purple_whiteboard_start(wb.Reference);
}
/*
@@ -101,31 +103,23 @@ namespace PurpleWrapper
public static PurpleWhiteboard GetSession(PurpleAccount account, string who)
{
- throw new NotImplementedException();
+ return new PurpleWhiteboard(purple_whiteboard_get_session(account.Reference, who));
}
/*
* void purple_whiteboard_draw_list_destroy(GList * draw_list)
+ *
+ * Could not generate a wrapper for purple_whiteboard_draw_list_destroy in file "whiteboard.h".
+ * Message: The type could not be resolved (GList * draw_list).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_whiteboard_draw_list_destroy(IntPtr draw_list);
- public static void DrawListDestroy(GList draw_list)
- {
- throw new NotImplementedException();
- }
-
/*
* gboolean purple_whiteboard_get_dimensions(PurpleWhiteboard * wb, int * width, int * height)
+ *
+ * Could not generate a wrapper for purple_whiteboard_get_dimensions in file "whiteboard.h".
+ * Message: The type could not be resolved (int * width).
*/
- [DllImport("libpurple.dll")]
- private static extern bool purple_whiteboard_get_dimensions(IntPtr wb, IntPtr width, IntPtr height);
- public static bool GetDimensions(PurpleWhiteboard wb, int width, int height)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_whiteboard_set_dimensions(PurpleWhiteboard * wb, int width, int height)
*/
@@ -134,7 +128,7 @@ namespace PurpleWrapper
public static void SetDimensions(PurpleWhiteboard wb, int width, int height)
{
- throw new NotImplementedException();
+ purple_whiteboard_set_dimensions(wb.Reference, width, height);
}
/*
@@ -145,20 +139,16 @@ namespace PurpleWrapper
public static void DrawPoint(PurpleWhiteboard wb, int x, int y, int color, int size)
{
- throw new NotImplementedException();
+ purple_whiteboard_draw_point(wb.Reference, x, y, color, size);
}
/*
* void purple_whiteboard_send_draw_list(PurpleWhiteboard * wb, GList * list)
+ *
+ * Could not generate a wrapper for purple_whiteboard_send_draw_list in file "whiteboard.h".
+ * Message: The type could not be resolved (GList * list).
*/
- [DllImport("libpurple.dll")]
- private static extern void purple_whiteboard_send_draw_list(IntPtr wb, IntPtr list);
- public static void SendDrawList(PurpleWhiteboard wb, GList list)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_whiteboard_draw_line(PurpleWhiteboard * wb, int x1, int y1, int x2, int y2, int color, int size)
*/
@@ -167,7 +157,7 @@ namespace PurpleWrapper
public static void DrawLine(PurpleWhiteboard wb, int x1, int y1, int x2, int y2, int color, int size)
{
- throw new NotImplementedException();
+ purple_whiteboard_draw_line(wb.Reference, x1, y1, x2, y2, color, size);
}
/*
@@ -178,7 +168,7 @@ namespace PurpleWrapper
public static void Clear(PurpleWhiteboard wb)
{
- throw new NotImplementedException();
+ purple_whiteboard_clear(wb.Reference);
}
/*
@@ -189,7 +179,7 @@ namespace PurpleWrapper
public static void SendClear(PurpleWhiteboard wb)
{
- throw new NotImplementedException();
+ purple_whiteboard_send_clear(wb.Reference);
}
/*
@@ -200,20 +190,16 @@ namespace PurpleWrapper
public static void SendBrush(PurpleWhiteboard wb, int size, int color)
{
- throw new NotImplementedException();
+ purple_whiteboard_send_brush(wb.Reference, size, color);
}
/*
* gboolean purple_whiteboard_get_brush(PurpleWhiteboard * wb, int * size, int * color)
+ *
+ * Could not generate a wrapper for purple_whiteboard_get_brush in file "whiteboard.h".
+ * Message: The type could not be resolved (int * size).
*/
- [DllImport("libpurple.dll")]
- private static extern bool purple_whiteboard_get_brush(IntPtr wb, IntPtr size, IntPtr color);
- public static bool GetBrush(PurpleWhiteboard wb, int size, int color)
- {
- throw new NotImplementedException();
- }
-
/*
* void purple_whiteboard_set_brush(PurpleWhiteboard * wb, int size, int color)
*/
@@ -222,7 +208,7 @@ namespace PurpleWrapper
public static void SetBrush(PurpleWhiteboard wb, int size, int color)
{
- throw new NotImplementedException();
+ purple_whiteboard_set_brush(wb.Reference, size, color);
}
}
============================================================
--- libpurple/wrapper/generator/CArgument.cs 30f31b9dd20af4c989a22b566d1189d118eff3c0
+++ libpurple/wrapper/generator/CArgument.cs 17ecc149d2068b3813f0022e8d4c3d61710398d9
@@ -5,27 +5,20 @@ namespace Scripts
{
class CArgument : CTyped
{
- private String name;
- public bool isEllipsis = false;
- public bool isFunctionPointer = false;
+ private bool isEllipsis = false;
+ private bool isFunctionPointer = false;
public List<CArgument> functionPointerArguments = new List<CArgument>();
- public CArgument()
+ public CArgument(CFile file)
+ : base(file, "", "")
{
}
- public CArgument(String type, String name)
+ public CArgument(CFile file, String type, String name)
+ : base(file, type, name)
{
- this.Type = type;
- this.name = name;
}
- public String Name
- {
- get { return name; }
- set { name = value; }
- }
-
public bool IsEllipsis
{
get { return isEllipsis; }
@@ -74,18 +67,18 @@ namespace Scripts
public string GetCSharpPrivateFunction()
{
if (this.IsEllipsis)
- return "...";
+ throw new UnableToCreateWrapperException("The function argument contains the ellipsis argument and cannot be automatically wrapped.");
else
- return this.CSharpPrivateType + " " + this.Name;
+ return this.CSharpPrivateType + " " + this.SafeName;
}
public string GetCSharpPublicFunction()
{
if (this.IsEllipsis)
- return "...";
+ throw new UnableToCreateWrapperException("The function argument contains the ellipsis argument and cannot be automatically wrapped.");
else
{
- return this.CSharpPublicType + " " + this.Name;
+ return this.CSharpPublicType + " " + this.SafeName;
}
}
}
============================================================
--- libpurple/wrapper/generator/CEnum.cs 9048e38a96ce92f4868ccb7c1c3f955c1031e129
+++ libpurple/wrapper/generator/CEnum.cs 7d37b8d19937e71c744b1d1f2c09fd59b4985e84
@@ -1,11 +1,72 @@ using System.Collections.Generic;
using System;
using System.Collections.Generic;
-using System.Linq;
-using System.Text;
+using System.IO;
namespace Scripts
{
- class CEnum
+ class CEnum : CNamed
{
+ private List<KeyValuePair<string, string>> elements = new List<KeyValuePair<string, string>>();
+
+ public CEnum(CFile file, String name)
+ : base(file, name)
+ {
+ }
+
+
+ public void AddElement(string name, string value)
+ {
+ elements.Add(new KeyValuePair<string, string>(name, value));
+ }
+
+ public override string ToString()
+ {
+ String str = "enum " + this.Name + " { ";
+
+ for (int i = 0; i < elements.Count; i++)
+ {
+ String name = elements[i].Key;
+ String value = elements[i].Value;
+
+ str += name;
+ if (value != "")
+ str += " = " + value;
+
+ if (i != elements.Count - 1)
+ str += ", ";
+ else
+ str += " ";
+ }
+
+ str += "};";
+
+ return str;
+ }
+
+ public void WriteForCSharp(StreamWriter writer, string initalPrefix)
+ {
+ writer.WriteLine(initalPrefix + "public enum " + this.Name);
+ writer.WriteLine(initalPrefix + "{");
+
+ for (int i = 0; i < elements.Count; i++)
+ {
+ String name = elements[i].Key;
+ String value = elements[i].Value;
+
+ String str = initalPrefix + "\t" + name;
+ if (value != "")
+ str += " = " + value;
+
+ if (i != elements.Count - 1)
+ str += ",";
+
+ writer.WriteLine(str);
+ }
+
+ writer.WriteLine(initalPrefix + "};");
+ writer.WriteLine();
+ }
+
+
}
}
============================================================
--- libpurple/wrapper/generator/CFile.cs 1fc931786a135ac4887cd0dfa0c5eb5576c60838
+++ libpurple/wrapper/generator/CFile.cs 90796e70c18f61b0227d887cb57673dcc60a2a0e
@@ -7,9 +7,65 @@ namespace Scripts
{
class CFile
{
+ private static List<CFile> fileColleciton = new List<CFile>();
+
+ public static List<CFile> FileCollection
+ {
+ get { return fileColleciton; }
+ }
+
+ public static CNamed LookUpName(String name)
+ {
+ foreach (CFile file in CFile.FileCollection)
+ {
+ foreach (CStruct structure in file.Structs)
+ {
+ if (structure.Name == name)
+ {
+ //Console.WriteLine("Type \"{0}\" is a struct.", name);
+ return structure;
+ }
+ }
+
+ foreach (CFunction function in file.Functions)
+ {
+ if (function.Name == name)
+ {
+ //Console.WriteLine("Type \"{0}\" is a function.", name);
+ return function;
+ }
+ }
+
+ foreach (CEnum enumeration in file.Enums)
+ {
+ if (enumeration.Name == name)
+ {
+ //Console.WriteLine("Type \"{0}\" is an enum.", name);
+ return enumeration;
+ }
+ }
+
+ foreach (CFunction function in file.FunctionPointers)
+ {
+ if (function.Name == name)
+ {
+ //Console.WriteLine("Type \"{0}\" is a function pointer.", name);
+ return function;
+ }
+ }
+ }
+
+ //Console.WriteLine("Type \"{0}\" is really UNKNOWN.", name);
+ //Console.ReadLine();
+ return null;
+ }
+
+
private String fileName;
private List<CStruct> structs = new List<CStruct>();
private List<CFunction> functions = new List<CFunction>();
+ private List<CEnum> enums = new List<CEnum>();
+ private List<CFunction> functionPointers = new List<CFunction>();
public CFile(String fileName)
{
@@ -48,6 +104,12 @@ namespace Scripts
finalName += name[i];
}
+ /*
+ * This fixes the same file name for the xmlnode struct and the xmlnode.h file.
+ */
+ if (finalName == "Xmlnode")
+ return "XMLNodeClass";
+
return finalName;
}
}
@@ -62,14 +124,45 @@ namespace Scripts
get { return functions; }
}
+ public List<CFunction> FunctionPointers
+ {
+ get { return functionPointers; }
+ }
+
+ public List<CEnum> Enums
+ {
+ get { return enums; }
+ }
+
public void addStruct(CStruct structToAdd)
{
structs.Add(structToAdd);
+ Logger.Log("Added structure [" + structToAdd.ToString() + "] to file [" + this.ToString() + "].");
}
public void addFunction(CFunction function)
{
+ function.File = this;
functions.Add(function);
+ Logger.Log("Added function [" + function.ToString() + "] to file [" + this.ToString() + "].");
}
+
+ public void addFunctionPointer(CFunction function)
+ {
+ functionPointers.Add(function);
+ Logger.Log("Added function pointer [" + function.ToString() + "] to file [" + this.ToString() + "].");
+ }
+
+ public void AddEnum(CEnum enumeration)
+ {
+ enums.Add(enumeration);
+ Logger.Log("Added enum [" + enumeration.ToString() + "] to file [" + this.ToString() + "].");
+ }
+
+ public override string ToString()
+ {
+ return this.FileName;
+ }
+
}
}
============================================================
--- libpurple/wrapper/generator/CFunction.cs bfc9611e35852d6b8281d8c3cc91a795456dff21
+++ libpurple/wrapper/generator/CFunction.cs b8292ba6ba8e9335d6c246bacd22c7b8c5a8a9c7
@@ -5,24 +5,14 @@ namespace Scripts
{
class CFunction : CTyped
{
- private String name;
private List<CArgument> arguments = new List<CArgument>();
+ private bool isFunctionPointer = false;
- public CFunction(String returnType, String name)
+ public CFunction(CFile file, String returnType, String name)
+ : base(file, returnType, name)
{
- this.name = name;
- this.Type = returnType;
}
- public String Name
- {
- get { return name; }
- set { name = value; }
- }
-
-
-
-
public void AddArgument(CArgument argument)
{
arguments.Add(argument);
@@ -36,6 +26,12 @@ namespace Scripts
}
}
+ public bool IsFunctionPointer
+ {
+ get { return isFunctionPointer; }
+ set { isFunctionPointer = true; }
+ }
+
public override string ToString()
{
String str = this.Type + " " + this.Name + "(";
@@ -55,7 +51,7 @@ namespace Scripts
public string GetCSharpPrivateFunction()
{
String str = "";
- str += this.CSharpPrivateType + " " + this.Name + "(";
+ str += this.CSharpPrivateType + " " + this.SafeName + "(";
for (int i = 0; i < this.Arguments.Count; i++)
{
@@ -69,15 +65,15 @@ namespace Scripts
return str;
}
- public string GetCSharpPublicFunction(String className)
+ public string GetCSharpPublicFunction()
{
String str = "";
- String modifiedName = this.Name.ToLower();
+ String modifiedName = this.SafeName.ToLower();
if (modifiedName.StartsWith("purple_"))
modifiedName = modifiedName.Substring(7);
- if (modifiedName.StartsWith(className.ToLower() + "_"))
- modifiedName = modifiedName.Substring(className.Length + 1);
+ if (modifiedName.StartsWith(this.File.FileNameAsClassName.ToLower() + "_"))
+ modifiedName = modifiedName.Substring(this.File.FileNameAsClassName.Length + 1);
String finalName = "";
finalName += Char.ToUpper(modifiedName[0]);
============================================================
--- libpurple/wrapper/generator/CStruct.cs 9ae6da17259101affc79f2c3a54eb82ebb8f525d
+++ libpurple/wrapper/generator/CStruct.cs 3b5ff6ab57ba1731319ba77c2900f07160b55ffa
@@ -3,22 +3,16 @@ namespace Scripts
namespace Scripts
{
- class CStruct
+ class CStruct : CNamed
{
- private String name;
private List<CArgument> fields = new List<CArgument>();
- public CStruct(String name)
+ public CStruct(CFile file, String name) :
+ base(file, name)
{
- this.name = name;
+
}
- public String Name
- {
- get { return name; }
- set { name = value; }
- }
-
public List<CArgument> Fields
{
get { return fields; }
============================================================
--- libpurple/wrapper/generator/CTyped.cs 24695cf8982ac835c63776e355cc6f87f15225e1
+++ libpurple/wrapper/generator/CTyped.cs c7f8bd354cdf9ba56ac0d0db935993b787ac3b4f
@@ -5,24 +5,64 @@ namespace Scripts
namespace Scripts
{
- class CTyped
+ class CTyped : CNamed
{
private string type;
+ private bool isArray;
+ public enum TypeCategory
+ {
+ Void,
+ DateTime,
+ Native,
+ PointerToKnownStruct,
+ VoidPointer,
+ GObjectObject,
+ InnerStruct,
+ PointerToUnknownStruct,
+ Unknown,
+ KnownEnum,
+ KnownFunctionPointer,
+ KnownFunction,
+ KnownStruct,
+ KnownArgument
+ };
+
+
+ public CTyped(CFile file, String type, String name)
+ : base(file, name)
+ {
+ this.Type = type;
+ }
+
public String Type
{
get { return type; }
set { type = value; }
}
+ public bool IsArray
+ {
+ get { return isArray; }
+ set { isArray = value; }
+ }
+
public String RawType
{
get
{
- if (this.Type.Contains(" "))
- return this.Type.Substring(0, type.IndexOf(" "));
+ String fullType = this.Type;
+
+ if (fullType.StartsWith("const"))
+ fullType = fullType.Substring(("const").Length).Trim();
+
+ if (fullType.StartsWith("unsigned"))
+ fullType = fullType.Substring(("unsigned").Length).Trim();
+
+ if (fullType.Contains(" "))
+ return fullType.Substring(0, fullType.IndexOf(" "));
else
- return this.Type;
+ return fullType;
}
}
@@ -30,7 +70,7 @@ namespace Scripts
{
get
{
- if (this.Type != null && (this.Type.EndsWith("*") || this.Type == "gpointer"))
+ if (this.Type != null && (this.Type.EndsWith("*") || this.Type == "gpointer" || this.Type == "gconstpointer"))
return true;
else
return false;
@@ -70,21 +110,165 @@ namespace Scripts
}
}
+ public bool IsTypeTime
+ {
+ get
+ {
+ if (this.Type == "time_t")
+ return true;
+ else
+ return false;
+ }
+ }
+
+ public CNamed ResolvedType
+ {
+ get
+ {
+ return CFile.LookUpName(this.RawType);
+ }
+ }
+
+ public TypeCategory Category
+ {
+ get
+ {
+ if (this.IsTypeNative)
+ return TypeCategory.Native;
+ else if (this.Type == "void *" || this.Type == "gpointer" || this.Type == "gconstpointer")
+ return TypeCategory.VoidPointer;
+ else if (this.IsTypeVoid)
+ return TypeCategory.Void;
+ else if (this.IsTypeTime)
+ return TypeCategory.DateTime;
+ else if (this.Type == "GObject" || this.Type == "GObjectClass" || this.Type == "GType" || this.Type == "GCallback" || this.Type == "GSourceFunc")
+ return TypeCategory.GObjectObject;
+ else if (this.Type == "struct" || this.Type == "union")
+ return TypeCategory.InnerStruct;
+ else
+ {
+ CNamed resolvedType = this.ResolvedType;
+
+ if (resolvedType != null)
+ {
+ if (resolvedType is CEnum)
+ return TypeCategory.KnownEnum;
+ else if (resolvedType is CArgument)
+ return TypeCategory.KnownArgument;
+ else if (resolvedType is CFunction)
+ {
+ if (((CFunction)resolvedType).IsFunctionPointer)
+ return TypeCategory.KnownFunctionPointer;
+ else
+ return TypeCategory.KnownFunction;
+ }
+ else if (resolvedType is CStruct)
+ {
+ if (this.IsTypePointer)
+ return TypeCategory.PointerToKnownStruct;
+ else
+ return TypeCategory.KnownStruct;
+ }
+ else
+ return TypeCategory.Unknown;
+ }
+ else
+ {
+ if (this.IsTypePointer)
+ return TypeCategory.PointerToUnknownStruct;
+ else
+ return TypeCategory.Unknown;
+ }
+ }
+
+
+ }
+ }
+
public String CSharpPrivateType
{
get
{
String str = "";
+ switch (this.Category)
+ {
+ case TypeCategory.Native:
+ str = this.NativeType;
+ break;
+
+ case TypeCategory.PointerToKnownStruct:
+ case TypeCategory.PointerToUnknownStruct:
+ case TypeCategory.VoidPointer:
+ case TypeCategory.GObjectObject:
+ str = "IntPtr";
+ break;
+
+ case TypeCategory.Void:
+ str = "void";
+ break;
+
+ case TypeCategory.DateTime:
+ str = "ulong";
+ break;
+
+ case TypeCategory.InnerStruct:
+ throw new UnableToCreateWrapperException("The struct contains an inner-struct or innter-union and cannot be automatically wrapped.");
+ break;
+
+ case TypeCategory.KnownStruct:
+ throw new UnableToCreateWrapperException("The struct contains an object that resolves to a function that is not a function pointer (" + this.ToString() + ").");
+ break;
+
+ case TypeCategory.KnownEnum:
+ {
+ CEnum resolvedEnum = (CEnum)this.ResolvedType;
+ str = resolvedEnum.File.FileNameAsClassName + "." + resolvedEnum.Name;
+ }
+ break;
+
+ default:
+ throw new UnableToCreateWrapperException("The type could not be resolved (" + this.ToString() + ").");
+ break;
+ }
+
+ /*
if (this.IsTypeNative)
- str += this.NativeType;
+ str = this.NativeType;
else if (this.IsTypePointer)
- str += "IntPtr";
+ str = "IntPtr";
else if (this.IsTypeVoid)
- str += "void";
+ str = "void";
+ else if (this.IsTypeTime)
+ str = "ulong";
+ else if (this.Type == "GObject" || this.Type == "GObjectClass" || this.Type == "GType" || this.Type == "GCallback" || this.Type == "GSourceFunc")
+ str = "IntPtr"; // TODO: Find out if this is the correct typecast (or even if this works)...
+ else if (this.Type == "struct" || this.Type == "union")
+ throw new UnableToCreateWrapperException("The struct contains an inner-struct or innter-union and cannot be automatically wrapped.");
else
- str += "UNKNOWN";
+ {
+ CNamed resolvedType = CFile.LookUpName(this.Type);
+ if (resolvedType is CFunction)
+ {
+ if (((CFunction)resolvedType).IsFunctionPointer)
+ str = "IntPtr";
+ else
+ throw new UnableToCreateWrapperException("The struct contains an object that resolves to a function that is not a function pointer (" + this.ToString() + ").");
+ }
+ else if (resolvedType is CEnum)
+ {
+ CEnum resolvedEnum = (CEnum)resolvedType;
+ str = resolvedEnum.File.FileNameAsClassName + "." + resolvedEnum.Name;
+ }
+ else
+ throw new UnableToCreateWrapperException("The type could not be resolved (" + this.ToString() + ").");
+ }
+ */
+
+ if (this.IsArray)
+ str += "[]";
+
return str;
}
}
@@ -93,15 +277,50 @@ namespace Scripts
{
get
{
- String str = "";
+ String str;
if (this.IsTypeNative)
- str += this.NativeType;
- else if (this.Type == "void *" || this.Type == "gpointer")
- str += "IntPtr";
+ str = this.NativeType;
+ else if (this.Type == "void *" || this.Type == "gpointer" || this.Type == "gconstpointer")
+ str = "IntPtr";
+ else if (this.IsTypeTime)
+ str = "DateTime";
+ else if (this.IsTypeVoid)
+ str = "void";
+ else if (this.Type == "GObject" || this.Type == "GObjectClass" || this.Type == "GType" || this.Type == "GCallback" || this.Type == "GSourceFunc")
+ str = "/* libgobject */ IntPtr"; // TODO: Find out if this is the correct typecast (or even if this works)...
+ else if (this.Type == "struct" || this.Type == "union")
+ throw new UnableToCreateWrapperException("The struct contains an inner-struct or innter-union and cannot be automatically wrapped.");
else
- str += this.RawType;
+ {
+ CNamed resolvedType = CFile.LookUpName(this.RawType);
+ if (resolvedType is CFunction)
+ {
+ if (((CFunction)resolvedType).IsFunctionPointer)
+ throw new UnableToCreateWrapperException("The struct contains an object that resolves to a function pointer (" + this.ToString() + ").");
+ else
+ throw new UnableToCreateWrapperException("The struct contains an object that resolves to a function that is not a function pointer (" + this.ToString() + ").");
+ }
+ else if (resolvedType is CEnum)
+ {
+ CEnum resolvedEnum = (CEnum)resolvedType;
+ str = resolvedEnum.File.FileNameAsClassName + "." + resolvedEnum.Name;
+ }
+ else if (resolvedType is CStruct)
+ {
+ if (this.IsTypePointer)
+ str = this.RawType;
+ else
+ throw new UnableToCreateWrapperException("The type resolved to a known struct but not a pointer to that struct (" + this.ToString() + ").");
+ }
+ else
+ throw new UnableToCreateWrapperException("The type could not be resolved (" + this.ToString() + ").");
+ }
+
+ if (this.IsArray)
+ str += "[]";
+
return str;
}
}
@@ -122,6 +341,7 @@ namespace Scripts
case "uint8":
case "unsigned char":
+ case "guchar":
return "byte";
case "gchar *":
@@ -131,11 +351,13 @@ namespace Scripts
case "gint":
case "int":
case "gint32":
+ case "PurplePluginPriority": /* by typedef */
return "int";
case "guint":
case "unsigned int":
case "guint32":
+ case "PurpleCmdId": /* by typedef */
return "uint";
case "gshort":
@@ -151,11 +373,14 @@ namespace Scripts
case "glong":
case "long":
case "gint64":
+ case "gssize":
+ case "goffset":
return "long";
case "gulong":
case "unsigned long":
case "guint64":
+ case "gsize":
return "ulong";
case "gfloat":
@@ -165,11 +390,19 @@ namespace Scripts
case "gdouble":
case "double":
return "double";
+
+ case "size_t":
+ if (IntPtr.Size == 4) return "uint";
+ else return "ulong";
}
return null;
}
}
+ public override string ToString()
+ {
+ return "Type: " + this.Type + ", Name: " + this.Name;
+ }
}
}
============================================================
--- libpurple/wrapper/generator/Program.cs 805ab943d4786b1c4380d8e8d8e025cfed29b282
+++ libpurple/wrapper/generator/Program.cs 1a75ff8bde8d8d64e9adb8dc5cddb79eb346c85b
@@ -9,13 +9,25 @@ namespace Scripts
WrapperGenerator wrapperGen = new WrapperGenerator();
Console.WriteLine("Parsing .h files...");
- wrapperGen.ParseHFilesInDirectory(@"C:\Users\Wade\Desktop\fullOA\OABuild\libpurple");
+ wrapperGen.ParseHFilesInDirectory(@"C:\Users\Wade\Desktop\pidgin-src\im.pidgin.soc.2009.penguin.visualstudio\libpurple");
+ //wrapperGen.ParseHFile(@"C:\Users\Wade\Desktop\pidgin-src\im.pidgin.soc.2009.penguin.visualstudio\libpurple\plugin.h");
Console.WriteLine("Writing struct data...");
wrapperGen.GenerateStructFiles();
Console.WriteLine("Writing function data...");
wrapperGen.GenerateFunctionWrappers();
+
+ Console.WriteLine("Writing base classes and visual studio project file...");
+ wrapperGen.WriteVisualStudioProjectFile();
+ wrapperGen.WriteBaseClasses();
+
+ Logger.CloseLog();
+
+ Console.WriteLine("Finished!");
+ Console.ReadLine();
+
+
}
}
}
============================================================
--- libpurple/wrapper/generator/WrapperGenerator.cs 77ace5e9a3c915964add3db40edf462ba15888e9
+++ libpurple/wrapper/generator/WrapperGenerator.cs c4d20be7d65d762e3cdceb4b49b9bcf8f81e2e12
@@ -1,292 +1,547 @@ using System.IO;
using System;
using System.Collections.Generic;
using System.IO;
+using System.Text;
using System.Text.RegularExpressions;
namespace Scripts
{
class WrapperGenerator
{
- private List<CFile> files = new List<CFile>();
private String path = @"C:\Users\Wade\Desktop\gen-test\";
- public void ParseHFilesInDirectory(String path)
+ public void ParseHFilesInDirectory(String directory)
{
- DirectoryInfo directionryInfo = new DirectoryInfo(path);
+ DirectoryInfo directionryInfo = new DirectoryInfo(directory);
FileInfo[] fileInfos = directionryInfo.GetFiles("*.h");
-
- Regex structRegex = new Regex(@"struct \s+ (?<StructName>\w+?) \s* \{ (?<StructInternal>.*?) \} \s* ;", RegexOptions.Singleline | RegexOptions.IgnorePatternWhitespace);
- Regex structInternalRegex = new Regex(@"(?<VariableType> ( \w+ \s+ [\*]+ ) | ( \w+ \s+) )" +
- @"( ( \( \* (?<Name> \w+ ) \) \s* \( (?<FunctionPointerArguments> .*?) \) )" +
- @" | (?<Name> .*? ) ) ;", RegexOptions.Singleline | RegexOptions.IgnorePatternWhitespace);
-
- Regex functionRegEx = new Regex(@"(?<ReturnType> ( \w+ \s+ [\*]+ ) | ( \w+ \s+) ) (?<Name>\w+?) \s* \( (?<ParameterList> [^\)]*) \)", RegexOptions.Singleline | RegexOptions.IgnorePatternWhitespace);
- Regex functionArgumentsRegEx = new Regex(@"(?<VariableType> ( \w+ \s+ [\*]+ ) | ( \w+ \s+) ) (?<VariableName>\w+)", RegexOptions.Singleline | RegexOptions.IgnorePatternWhitespace);
-
- Regex commentRegex = new Regex(@"(?<Comment> /\* .*? \*/)", RegexOptions.Singleline | RegexOptions.IgnorePatternWhitespace);
-
foreach (FileInfo fileInfo in fileInfos)
{
if (fileInfo.Name == "internal.h" || fileInfo.Name == "dbus.h" || fileInfo.Name == "dbus-bindings.h" ||
fileInfo.Name == "dbus-maybe.h" || fileInfo.Name == "dbus-define-api.h" || fileInfo.Name == "dbus-purple.h" ||
fileInfo.Name == "dbus-server.h" || fileInfo.Name == "dbus-useful.h" || fileInfo.Name == "gaim-compat.h" ||
fileInfo.Name == "media-gst.h")
+ {
continue;
+ }
+ ParseHFile(fileInfo.FullName);
+ }
+ }
- StreamReader reader = new StreamReader(fileInfo.FullName);
- String fullFile = reader.ReadToEnd();
- reader.Close();
+ public void ParseHFile(String path)
+ {
+ Regex structRegex = new Regex(@"struct \s+ (?<StructName> \w+ ) \s* " +
+ @"\{ " +
+ @" (?<StructInternal>.*?) " +
+ @"\} \s* (\w+ \s*)? ;",
+ RegexOptions.Singleline | RegexOptions.IgnorePatternWhitespace);
- CFile currentFile = new CFile(fileInfo.Name);
+ Regex structInternalRegex = new Regex(@"(?<VariableType> " +
+ @" ( const \s+ unsigned \s+ \w+ \s+ [\*]+ ) |" +
+ @" ( const \s+ unsigned \s+ \w+ \s+ ) |" +
+ @" ( const \s+ \w+ \s+ [\*]+ ) |" +
+ @" ( const \s+ \w+ \s+ ) |" +
+ @" ( unsigned \s+ \w+ \s+ [\*]+ ) |" +
+ @" ( unsigned \s+ \w+ \s+ ) |" +
+ @" ( \w+ \s+ [\*]+ ) |" +
+ @" ( \w+ \s+ ) " +
+ @")" +
+ @"( ( \( \* (?<Name> \w+ ) \) \s* \( (?<FunctionPointerArguments> .*?) \) )" +
+ @" | (?<Name> .*? ) ) ;", RegexOptions.Singleline | RegexOptions.IgnorePatternWhitespace);
- foreach (Match commentMatch in commentRegex.Matches(fullFile))
- {
- fullFile = fullFile.Remove(
- fullFile.IndexOf(commentMatch.Groups["Comment"].Value),
- commentMatch.Groups["Comment"].Length);
- }
+ Regex functionRegEx =
+ new Regex(@"(?<ReturnType> " +
+ @" ( unsigned \s+ \w+ \s* [\*]+ \s* ) | " +
+ @" ( unsigned \s+ \w+ \s+ ) | " +
+ @" ( \w+ \s* [\*]+ \s* ) | " +
+ @" ( \w+ \s+ ) " +
+ @")" +
+ @"(?<Name>\w+?) \s* \( (?<ParameterList> [a-zA-Z0-9_,\* ]*) \)", RegexOptions.Singleline | RegexOptions.IgnorePatternWhitespace);
+
+ Regex functionArgumentsRegEx =
+ new Regex(@"(?<VariableType> " +
+ @" ( const unsigned \s+ \w+ \s* [\*]+ \s* ) | " +
+ @" ( const unsigned \s+ \w+ \s+ ) | " +
+ @" ( const \w+ \s* [\*]+ \s* ) | " +
+ @" ( const \w+ \s+ ) | " +
+ @" ( unsigned \s+ \w+ \s* [\*]+ \s* ) | " +
+ @" ( unsigned \s+ \w+ \s+ ) | " +
+ @" ( \w+ \s* [\*]+ \s* ) | " +
+ @" ( \w+ \s+ ) " +
+ @") " +
+ @"(?<VariableName> (\w | \[ | \])* )",
+ RegexOptions.Singleline | RegexOptions.IgnorePatternWhitespace);
- foreach (Match match in structRegex.Matches(fullFile))
- {
- CStruct structObject = new CStruct(match.Groups["StructName"].Value);
- if (structObject.Name.Length > 0 && structObject.Name[0] == '_')
- structObject.Name = structObject.Name.Substring(1);
+ Regex commentRegex = new Regex(@"(?<Comment> /\* .*? \*/)", RegexOptions.Singleline | RegexOptions.IgnorePatternWhitespace);
- String internalStructData = match.Groups["StructInternal"].Value;
+ Regex enumRegex = new Regex(@"typedef \s+ enum \s* \w* \s* \{ \s* (?<EnumInternalPlusClose> .*? \s* \} ) \s* (?<Name> \w+ ) \s* ;", RegexOptions.Singleline | RegexOptions.IgnorePatternWhitespace);
+ Regex enumInternalRegex = new Regex(@"(?<Name> \w+ ) \s* ( = \s* (?<Value> .+?) )? \s* (, | \})", RegexOptions.Singleline | RegexOptions.IgnorePatternWhitespace);
- if (internalStructData != null)
+ Regex functionPointerRegex = new Regex(@"typedef \s* (?<ReturnType> \w* ) \s* \( \* (?<Name> \w* ) \) \s* \( (?<FunctionPointerArguments> .*?) \);", RegexOptions.Singleline | RegexOptions.IgnorePatternWhitespace);
+
+
+ FileInfo fileInfo = new FileInfo(path);
+ StreamReader reader = new StreamReader(fileInfo.FullName);
+ String fullFile = reader.ReadToEnd();
+ reader.Close();
+
+
+ CFile currentFile = new CFile(fileInfo.Name);
+
+ foreach (Match commentMatch in commentRegex.Matches(fullFile))
+ {
+ fullFile = fullFile.Remove(
+ fullFile.IndexOf(commentMatch.Groups["Comment"].Value),
+ commentMatch.Groups["Comment"].Length);
+ }
+
+ foreach (Match match in structRegex.Matches(fullFile))
+ {
+ Logger.Log("Reading struct [" + match.Groups[0].Value + "]...");
+ CStruct structObject = new CStruct(currentFile, match.Groups["StructName"].Value);
+
+ String internalStructData = match.Groups["StructInternal"].Value;
+
+ if (internalStructData != null)
+ {
+ foreach (Match internalStructMatch in structInternalRegex.Matches(internalStructData))
{
- foreach (Match internalStructMatch in structInternalRegex.Matches(internalStructData))
- {
- string elementType = internalStructMatch.Groups["VariableType"].Value.Trim();
- string name = internalStructMatch.Groups["Name"].Value;
+ Logger.Log("Reading struct element: [" + internalStructMatch.Groups[0].Value + "]...");
+ string elementType = internalStructMatch.Groups["VariableType"].Value.Trim();
+ string name = internalStructMatch.Groups["Name"].Value;
- CArgument argument = new CArgument(elementType, name);
+ CArgument argument = new CArgument(currentFile, elementType, name);
- string functionPointerArguments = internalStructMatch.Groups["FunctionPointerArguments"].Value;
- if (functionPointerArguments != "")
+ string functionPointerArguments = internalStructMatch.Groups["FunctionPointerArguments"].Value;
+ if (functionPointerArguments != "")
+ {
+ argument.IsFunctionPointer = true;
+
+ String[] functionPointerArgumentsList = functionPointerArguments.Split(',');
+ foreach (String functionPointerArgument in functionPointerArgumentsList)
{
- argument.IsFunctionPointer = true;
+ String currentArgument = functionPointerArgument.Replace("const ", "").Trim();
- String[] functionPointerArgumentsList = functionPointerArguments.Split(',');
- foreach (String functionPointerArgument in functionPointerArgumentsList)
+ CArgument functionPointerArgumentObject = new CArgument(currentFile);
+ if (currentArgument == "void")
+ continue;
+ else
{
- String currentArgument = functionPointerArgument.Replace("const ", "").Trim();
+ Match parameterMatch = functionArgumentsRegEx.Match(currentArgument);
+ functionPointerArgumentObject.Type = parameterMatch.Groups["VariableType"].Value.Trim();
+ functionPointerArgumentObject.Name = parameterMatch.Groups["VariableName"].Value;
- CArgument functionPointerArgumentObject = new CArgument();
- if (currentArgument == "void")
- continue;
- else
+ if (functionPointerArgumentObject.Name.Contains("["))
{
- Match parameterMatch = functionArgumentsRegEx.Match(currentArgument);
- functionPointerArgumentObject.Type = parameterMatch.Groups["VariableType"].Value.Trim();
- functionPointerArgumentObject.Name = parameterMatch.Groups["VariableName"].Value;
+ // TODO: Array size (eg: "char hostname[256]")
+ functionPointerArgumentObject.IsArray = true;
+ functionPointerArgumentObject.Name = functionPointerArgumentObject.Name.Substring(functionPointerArgumentObject.Name.IndexOf("["));
}
+ }
- argument.AddFunctionPointerArgument(functionPointerArgumentObject);
- }
+ argument.AddFunctionPointerArgument(functionPointerArgumentObject);
}
+ }
- structObject.AddField(argument);
- }
+ structObject.AddField(argument);
}
+ }
- //Console.WriteLine(structObject.ToString());
- currentFile.addStruct(structObject);
- }
+ //Console.WriteLine(structObject.ToString()); Console.WriteLine();
+ currentFile.addStruct(structObject);
+ }
- foreach (Match match in functionRegEx.Matches(fullFile))
+ foreach (Match match in functionRegEx.Matches(fullFile))
+ {
+ Logger.Log("Reading function [" + match.Groups[0].Value + "]...");
+ String functionReturnType = match.Groups["ReturnType"].Value.Trim();
+ String functionName = match.Groups["Name"].Value;
+ String parameterList = match.Groups["ParameterList"].Value;
+
+
+ /* There's a few messy #define's for PURPLE_INIT_PLUGIN that yields some false
+ * matches... so we throw them out. */
+ if (currentFile.FileName == "plugin.h")
{
- String functionReturnType = match.Groups["ReturnType"].Value.Trim();
- String functionName = match.Groups["Name"].Value;
- String parameterList = match.Groups["ParameterList"].Value;
+ if (functionName == "_FUNC_NAME" || functionName == "purple_init_plugin")
+ continue;
- if (functionReturnType == "typedef" || functionReturnType == "define")
+ if (functionReturnType == "return")
continue;
+ }
+ if (functionReturnType == "typedef" || functionReturnType == "define")
+ continue;
- CFunction function = new CFunction(functionReturnType, functionName);
- String[] functionParameters = parameterList.Split(',');
- foreach (String functionParameterInList in functionParameters)
+ CFunction function = new CFunction(currentFile, functionReturnType, functionName);
+
+ String[] functionParameters = parameterList.Split(',');
+ foreach (String functionParameterInList in functionParameters)
+ {
+ String functionParameter = functionParameterInList.Replace("const ", "").Trim();
+
+ CArgument argument = new CArgument(currentFile);
+ if (functionParameter == "...")
{
- String functionParameter = functionParameterInList.Replace("const ", "").Trim();
+ argument.IsEllipsis = true;
+ }
+ else if (functionParameter == "void")
+ continue;
+ else
+ {
+ Match parameterMatch = functionArgumentsRegEx.Match(functionParameter);
+ argument.Type = parameterMatch.Groups["VariableType"].Value.Trim();
+ argument.Name = parameterMatch.Groups["VariableName"].Value;
- CArgument argument = new CArgument();
- if (functionParameter == "...")
+ if (argument.Name.EndsWith("[]"))
{
- argument.IsEllipsis = true;
+ argument.Name = argument.Name.Substring(0, argument.Name.Length - 2);
+ argument.IsArray = true;
}
- else if (functionParameter == "void")
+ }
+
+ function.AddArgument(argument);
+ }
+
+ currentFile.addFunction(function);
+ //Console.WriteLine(function.ToString());
+ //Console.WriteLine(function.GetCSharpPrivateFunction());
+ //Console.WriteLine(function.GetCSharpPublicFunction());
+ //Console.WriteLine();
+ }
+
+ foreach (Match match in enumRegex.Matches(fullFile))
+ {
+ Logger.Log("Reading enum [" + match.Groups[0].Value + "]...");
+ CEnum enumeration = new CEnum(currentFile, match.Groups["Name"].Value);
+
+ foreach (Match enumElementMatch in enumInternalRegex.Matches(match.Groups["EnumInternalPlusClose"].Value))
+ {
+ Logger.Log("Reading enum element [" + enumElementMatch.Groups[0].Value + "]...");
+ enumeration.AddElement(enumElementMatch.Groups["Name"].Value, enumElementMatch.Groups["Value"].Value);
+ }
+
+ currentFile.AddEnum(enumeration);
+ //Console.WriteLine(enumeration.ToString());
+ }
+
+
+ foreach (Match match in functionPointerRegex.Matches(fullFile))
+ {
+ Logger.Log("Reading function pointer [" + match.Groups[0].Value + "]...");
+ CFunction function = new CFunction(currentFile, match.Groups["ReturnType"].Value, match.Groups["Name"].Value);
+ function.IsFunctionPointer = true;
+
+ string functionPointerArguments = match.Groups["FunctionPointerArguments"].Value;
+ if (functionPointerArguments != "")
+ {
+ String[] functionPointerArgumentsList = functionPointerArguments.Split(',');
+ foreach (String functionPointerArgument in functionPointerArgumentsList)
+ {
+ String currentArgument = functionPointerArgument.Replace("const ", "").Trim();
+
+ CArgument functionPointerArgumentObject = new CArgument(currentFile);
+ if (currentArgument == "void")
continue;
else
{
- Match parameterMatch = functionArgumentsRegEx.Match(functionParameter);
- argument.Type = parameterMatch.Groups["VariableType"].Value.Trim();
- argument.Name = parameterMatch.Groups["VariableName"].Value;
+ Match parameterMatch = functionArgumentsRegEx.Match(currentArgument);
+ functionPointerArgumentObject.Type = parameterMatch.Groups["VariableType"].Value.Trim();
+ functionPointerArgumentObject.Name = parameterMatch.Groups["VariableName"].Value;
}
- function.AddArgument(argument);
+ function.AddArgument(functionPointerArgumentObject);
}
-
- currentFile.addFunction(function);
- //Console.WriteLine(function.ToString());
- //Console.WriteLine(function.GetCSharpPrivateFunction());
- //Console.WriteLine(function.GetCSharpPublicFunction());
- //Console.WriteLine();
}
- files.Add(currentFile);
+ currentFile.addFunctionPointer(function);
+ //Console.WriteLine(function.ToString());
}
+
+ CFile.FileCollection.Add(currentFile);
}
- private void WriteCommentHeader(StreamWriter writer)
+ public void WriteBaseClasses()
{
- writer.WriteLine("/* purple");
- writer.WriteLine(" *");
- writer.WriteLine(" * Purple is the legal property of its developers, whose names are too numerous");
- writer.WriteLine(" * to list here. Please refer to the COPYRIGHT file distributed with this");
- writer.WriteLine(" * source distribution.");
- writer.WriteLine(" *");
- writer.WriteLine(" * This program is free software; you can redistribute it and/or modify");
- writer.WriteLine(" * it under the terms of the GNU General Public License as published by");
- writer.WriteLine(" * the Free Software Foundation; either version 2 of the License, or");
- writer.WriteLine(" * (at your option) any later version.");
- writer.WriteLine(" *");
- writer.WriteLine(" * This program is distributed in the hope that it will be useful,");
- writer.WriteLine(" * but WITHOUT ANY WARRANTY; without even the implied warranty of");
- writer.WriteLine(" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the");
- writer.WriteLine(" * GNU General Public License for more details.");
- writer.WriteLine(" *");
- writer.WriteLine(" * You should have received a copy of the GNU General Public License");
- writer.WriteLine(" * along with this program; if not, write to the Free Software");
- writer.WriteLine(" * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA");
- writer.WriteLine(" */");
+ StreamWriter writer = new StreamWriter(path + "UnmanagedWrapper.cs");
+
+ writer.WriteLine("using System;");
writer.WriteLine();
- writer.WriteLine("/*");
- writer.WriteLine(" * This file was auto-generated from the libpurple header files to provide a");
- writer.WriteLine(" * clean interface between .NET/CLR and the unmanaged C library, libpurple.");
- writer.WriteLine(" *");
- writer.WriteLine(" * This code isn't complete, but completely a work in progress. :)");
- writer.WriteLine(" * Three major things left:");
- writer.WriteLine(" * - Resolve the remaining UNKNOWN types.");
- writer.WriteLine(" * - Handle translation between delegate and function pointers.");
- writer.WriteLine(" * - Fill in the translation between public .NET class calls and private DllImport[] calls.");
- writer.WriteLine(" */");
+ writer.WriteLine("namespace UnmanagedWrapper");
+ writer.WriteLine("{");
+ writer.WriteLine(" public abstract class UnmanagedWrapper<T>");
+ writer.WriteLine(" {");
+ writer.WriteLine(" private T data;");
+ writer.WriteLine(" private IntPtr reference;");
writer.WriteLine();
+ writer.WriteLine(" public Type GetUnmanagedType() { return typeof(T); }");
+ writer.WriteLine();
+ writer.WriteLine(" public IntPtr Reference");
+ writer.WriteLine(" {");
+ writer.WriteLine(" get { return reference; }");
+ writer.WriteLine(" set { reference = value; }");
+ writer.WriteLine(" }");
+ writer.WriteLine();
+ writer.WriteLine(" public T Data");
+ writer.WriteLine(" {");
+ writer.WriteLine(" get { return data; }");
+ writer.WriteLine(" set { data = value; }");
+ writer.WriteLine(" }");
+ writer.WriteLine(" }");
+ writer.WriteLine("}");
+ writer.WriteLine();
+ writer.Close();
+ }
+ public void WriteVisualStudioProjectFile()
+ {
+ StreamWriter writer = new StreamWriter(path + "PurpleWrapper.csproj");
+ writer.WriteLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
+ writer.WriteLine("<Project ToolsVersion=\"3.5\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">");
+ writer.WriteLine(" <PropertyGroup>");
+ writer.WriteLine(" <Configuration Condition=\" '$(Configuration)' == '' \">Debug</Configuration>");
+ writer.WriteLine(" <Platform Condition=\" '$(Platform)' == '' \">AnyCPU</Platform>");
+ writer.WriteLine(" <ProductVersion>9.0.30729</ProductVersion>");
+ writer.WriteLine(" <SchemaVersion>2.0</SchemaVersion>");
+ writer.WriteLine(" <ProjectGuid>{8034DEA9-30CC-DEA0-3903-80210CE809FA}</ProjectGuid>");
+ writer.WriteLine(" <OutputType>Exe</OutputType>");
+ writer.WriteLine(" <AppDesignerFolder>Properties</AppDesignerFolder>");
+ writer.WriteLine(" <RootNamespace>Scripts</RootNamespace>");
+ writer.WriteLine(" <AssemblyName>Scripts</AssemblyName>");
+ writer.WriteLine(" <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>");
+ writer.WriteLine(" <FileAlignment>512</FileAlignment>");
+ writer.WriteLine(" </PropertyGroup>");
+ writer.WriteLine(" <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' \">");
+ writer.WriteLine(" <DebugSymbols>true</DebugSymbols>");
+ writer.WriteLine(" <DebugType>full</DebugType>");
+ writer.WriteLine(" <Optimize>false</Optimize>");
+ writer.WriteLine(" <OutputPath>bin\\Debug\\</OutputPath>");
+ writer.WriteLine(" <DefineConstants>DEBUG;TRACE</DefineConstants>");
+ writer.WriteLine(" <ErrorReport>prompt</ErrorReport>");
+ writer.WriteLine(" <WarningLevel>4</WarningLevel>");
+ writer.WriteLine(" </PropertyGroup>");
+ writer.WriteLine(" <PropertyGroup Condition=\" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' \">");
+ writer.WriteLine(" <DebugType>pdbonly</DebugType>");
+ writer.WriteLine(" <Optimize>true</Optimize>");
+ writer.WriteLine(" <OutputPath>bin\\Release\\</OutputPath>");
+ writer.WriteLine(" <DefineConstants>TRACE</DefineConstants>");
+ writer.WriteLine(" <ErrorReport>prompt</ErrorReport>");
+ writer.WriteLine(" <WarningLevel>4</WarningLevel>");
+ writer.WriteLine(" </PropertyGroup>");
+ writer.WriteLine(" <ItemGroup>");
+ writer.WriteLine(" <Reference Include=\"System\" />");
+ writer.WriteLine(" <Reference Include=\"System.Core\">");
+ writer.WriteLine(" <RequiredTargetFramework>3.5</RequiredTargetFramework>");
+ writer.WriteLine(" </Reference>");
+ writer.WriteLine(" </ItemGroup>");
+ writer.WriteLine(" <ItemGroup>");
+
+ writer.WriteLine(" <Compile Include=\"UnmanagedWrapper.cs\" />");
+ foreach (CFile file in CFile.FileCollection)
+ {
+ writer.WriteLine(" <Compile Include=\"" + file.FileNameAsClassName + ".cs\" />");
+
+ foreach (CStruct structure in file.Structs)
+ {
+ writer.WriteLine(" <Compile Include=\"" + structure.Name + ".cs\" />");
+ }
+ }
+
+
+ writer.WriteLine(" </ItemGroup>");
+ writer.WriteLine(" <Import Project=\"$(MSBuildToolsPath)\\Microsoft.CSharp.targets\" />");
+ writer.WriteLine("</Project>");
+
+ writer.Close();
}
+
+ private String GetCommentHeader()
+ {
+ StringBuilder sb = new StringBuilder();
+
+ sb.AppendLine("/* PurpleWrapper - A .NET (CLR) wrapper for libpurple");
+ sb.AppendLine(" *");
+ sb.AppendLine(" * Purple is the legal property of its developers, whose names are too numerous");
+ sb.AppendLine(" * to list here. Please refer to the COPYRIGHT file distributed with this");
+ sb.AppendLine(" * source distribution.");
+ sb.AppendLine(" *");
+ sb.AppendLine(" * This program is free software; you can redistribute it and/or modify");
+ sb.AppendLine(" * it under the terms of the GNU General Public License as published by");
+ sb.AppendLine(" * the Free Software Foundation; either version 2 of the License, or");
+ sb.AppendLine(" * (at your option) any later version.");
+ sb.AppendLine(" *");
+ sb.AppendLine(" * This program is distributed in the hope that it will be useful,");
+ sb.AppendLine(" * but WITHOUT ANY WARRANTY; without even the implied warranty of");
+ sb.AppendLine(" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the");
+ sb.AppendLine(" * GNU General Public License for more details.");
+ sb.AppendLine(" *");
+ sb.AppendLine(" * You should have received a copy of the GNU General Public License");
+ sb.AppendLine(" * along with this program; if not, write to the Free Software");
+ sb.AppendLine(" * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA");
+ sb.AppendLine(" */");
+ sb.AppendLine();
+ sb.AppendLine("/*");
+ sb.AppendLine(" * This file was auto-generated from the libpurple header files to provide a");
+ sb.AppendLine(" * clean interface between .NET/CLR and the unmanaged C library libpurple.");
+ sb.AppendLine(" *");
+ sb.AppendLine(" * This is the second major commit of the code.");
+ sb.AppendLine(" * Next things:");
+ sb.AppendLine(" * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).");
+ sb.AppendLine(" * This program will need to assign these parameters names.");
+ sb.AppendLine(" * - Function pointers inside structs aren't translated correctly into C#.");
+ sb.AppendLine(" * - Two places there are specific-length arrays (eg: char hostname[256]). The parser");
+ sb.AppendLine(" * does not detect them as an array.");
+ sb.AppendLine(" */");
+
+ return sb.ToString();
+ }
+
public void GenerateStructFiles()
{
StreamWriter writer;
- foreach (CFile file in files)
+ foreach (CFile file in CFile.FileCollection)
{
foreach (CStruct structure in file.Structs)
{
- writer = new StreamWriter(path + structure.Name + ".cs");
- WriteCommentHeader(writer);
+ StringBuilder structureStringBuilder = new StringBuilder();
- writer.WriteLine("using System;");
- writer.WriteLine("using System.Collections.Generic;");
- writer.WriteLine("using System.Runtime.InteropServices;");
- writer.WriteLine();
- writer.WriteLine("namespace PurpleWrapper");
- writer.WriteLine("{");
- writer.WriteLine("\tpublic class " + structure.Name + " : UnmanagedWrapper<_" + structure.Name + ">");
- writer.WriteLine("\t{");
+ structureStringBuilder.AppendLine(GetCommentHeader());
- writer.WriteLine("\t\tpublic " + structure.Name + "()");
- writer.WriteLine("\t\t{");
- writer.WriteLine("\t\t}");
- writer.WriteLine();
+ structureStringBuilder.AppendLine("using System;");
+ structureStringBuilder.AppendLine("using System.Collections.Generic;");
+ structureStringBuilder.AppendLine("using System.Runtime.InteropServices;");
+ structureStringBuilder.AppendLine();
+ structureStringBuilder.AppendLine("namespace PurpleWrapper");
+ structureStringBuilder.AppendLine("{");
+ structureStringBuilder.AppendLine("\tpublic class " + structure.Name + " : UnmanagedWrapper<_" + structure.Name + ">");
+ structureStringBuilder.AppendLine("\t{");
- writer.WriteLine("\t\tpublic " + structure.Name + "(IntPtr refernece)");
- writer.WriteLine("\t\t{");
- writer.WriteLine("\t\t\tthis.Reference = reference;");
- writer.WriteLine("\t\t\tthis.Data = (_" + structure.Name + ")Marshal.PtrToStructure(this.Reference, typeof(_" + structure.Name + "));");
- writer.WriteLine("\t\t}");
- writer.WriteLine();
+ try
+ {
+ StringBuilder sb = new StringBuilder();
+ sb.AppendLine("\t\tpublic " + structure.Name + "()");
+ sb.AppendLine("\t\t{");
+ sb.AppendLine("\t\t}");
+ sb.AppendLine();
- foreach (CArgument argument in structure.Fields)
- {
- writer.WriteLine("\t\tpublic " + argument.GetCSharpPublicFunction());
- writer.WriteLine("\t\t{");
+ sb.AppendLine("\t\tpublic " + structure.Name + "(IntPtr refernece)");
+ sb.AppendLine("\t\t{");
+ sb.AppendLine("\t\t\tthis.Reference = reference;");
+ sb.AppendLine("\t\t\tthis.Data = (_" + structure.Name + ")Marshal.PtrToStructure(this.Reference, typeof(_" + structure.Name + "));");
+ sb.AppendLine("\t\t}");
+ sb.AppendLine();
- /* get */
- writer.WriteLine("\t\t\tget");
- writer.WriteLine("\t\t\t{");
- if (argument.IsTypeNative)
- writer.WriteLine("\t\t\t\treturn this.Data." + argument.Name + ";");
- else
- writer.WriteLine("\t\t\t\tthrow new NotImplementedException(); /* Non-native type. */");
- writer.WriteLine("\t\t\t}");
+ foreach (CArgument argument in structure.Fields)
+ {
+ sb.AppendLine("\t\tpublic " + argument.GetCSharpPublicFunction());
+ sb.AppendLine("\t\t{");
- /* set */
- writer.WriteLine("\t\t\tset");
- writer.WriteLine("\t\t\t{");
- writer.WriteLine("\t\t\t\tif (this.Reference != IntPtr.Zero)");
- writer.WriteLine("\t\t\t\t\tthis.Reference = IntPtr.Zero;");
- writer.WriteLine();
- if (argument.IsTypeNative)
- writer.WriteLine("\t\t\t\tthis.Data." + argument.Name + " = value;");
- else
- writer.WriteLine("\t\t\t\tthrow new NotImplementedException(); /* Non-native type. */");
+ /* get */
+ sb.AppendLine("\t\t\tget");
+ sb.AppendLine("\t\t\t{");
+ if (argument.IsTypeNative)
+ sb.AppendLine("\t\t\t\treturn this.Data." + argument.Name + ";");
+ else
+ sb.AppendLine("\t\t\t\tthrow new NotImplementedException(); /* Non-native type. */");
+ sb.AppendLine("\t\t\t}");
- writer.WriteLine("\t\t\t}");
- writer.WriteLine("\t\t}");
- writer.WriteLine();
+
+ /* set */
+ sb.AppendLine("\t\t\tset");
+ sb.AppendLine("\t\t\t{");
+ sb.AppendLine("\t\t\t\tif (this.Reference != IntPtr.Zero)");
+ sb.AppendLine("\t\t\t\t\tthis.Reference = IntPtr.Zero;");
+ sb.AppendLine();
+
+ if (argument.IsTypeNative)
+ sb.AppendLine("\t\t\t\tthis.Data." + argument.Name + " = value;");
+ else
+ sb.AppendLine("\t\t\t\tthrow new NotImplementedException(); /* Non-native type. */");
+
+ sb.AppendLine("\t\t\t}");
+ sb.AppendLine("\t\t}");
+ sb.AppendLine();
+ }
+
+ sb.AppendLine("\t}");
+ sb.AppendLine();
+ sb.AppendLine();
+
+
+ sb.AppendLine("\t[StructLayout(LayoutKind.Sequential)]");
+ sb.AppendLine("\tclass _" + structure.Name);
+ sb.AppendLine("\t{");
+
+ foreach (CArgument argument in structure.Fields)
+ {
+ sb.AppendLine("\t\t/*");
+ sb.AppendLine("\t\t * " + argument.ToString());
+ sb.AppendLine("\t\t */");
+ sb.AppendLine("\t\t" + argument.GetCSharpPrivateFunction() + ";");
+ sb.AppendLine();
+ }
+
+ sb.AppendLine("\t}");
+
+ structureStringBuilder.AppendLine(sb.ToString());
}
+ catch (UnableToCreateWrapperException e)
+ {
+ Console.WriteLine("Could not generate a wrapper for " + structure.Name + " in file \"" + structure.File.FileName + "\".");
+ Console.WriteLine("Message: " + e.Message);
- writer.WriteLine("\t}");
- writer.WriteLine();
- writer.WriteLine();
+ structureStringBuilder.AppendLine("\t\t/* ");
+ structureStringBuilder.AppendLine("\t\t * " + "Could not generate a wrapper for " + structure.Name + " in file \"" + structure.File.FileName + "\".");
+ structureStringBuilder.AppendLine("\t\t * " + "Message: " + e.Message);
+ structureStringBuilder.AppendLine("\t\t */");
+ structureStringBuilder.AppendLine();
+ structureStringBuilder.AppendLine("\t\tpublic " + structure.Name + "()");
+ structureStringBuilder.AppendLine("\t\t{");
+ structureStringBuilder.AppendLine("\t\t\tthrow new NotImplementedException();");
+ structureStringBuilder.AppendLine("\t\t}");
+ structureStringBuilder.AppendLine();
- writer.WriteLine("\t[StructLayout(LayoutKind.Sequential)]");
- writer.WriteLine("\tclass _" + structure.Name);
- writer.WriteLine("\t{");
+ structureStringBuilder.AppendLine("\t\tpublic " + structure.Name + "(IntPtr refernece)");
+ structureStringBuilder.AppendLine("\t\t{");
+ structureStringBuilder.AppendLine("\t\t\tthrow new NotImplementedException();");
+ structureStringBuilder.AppendLine("\t\t}");
+ structureStringBuilder.AppendLine();
- foreach (CArgument argument in structure.Fields)
- {
- writer.WriteLine("\t\t/*");
- writer.WriteLine("\t\t * " + argument.ToString());
- writer.WriteLine("\t\t */");
- writer.WriteLine("\t\t" + argument.GetCSharpPrivateFunction() + ";");
- writer.WriteLine();
+ structureStringBuilder.AppendLine("\t}");
+ structureStringBuilder.AppendLine();
+ structureStringBuilder.AppendLine("\t[StructLayout(LayoutKind.Sequential)]");
+ structureStringBuilder.AppendLine("\tclass _" + structure.Name + " { }");
}
- writer.WriteLine("\t}");
+ structureStringBuilder.AppendLine("}");
- writer.WriteLine("}");
- writer.WriteLine();
-
+ writer = new StreamWriter(path + structure.Name + ".cs");
+ writer.WriteLine(structureStringBuilder.ToString());
writer.Close();
-
}
-
}
-
}
public void GenerateFunctionWrappers()
{
- foreach (CFile file in files)
+ foreach (CFile file in CFile.FileCollection)
{
StreamWriter writer = new StreamWriter(path + file.FileNameAsClassName + ".cs");
- WriteCommentHeader(writer);
+ writer.WriteLine(GetCommentHeader());
writer.WriteLine("using System;");
writer.WriteLine("using System.Collections.Generic;");
@@ -298,19 +553,128 @@ namespace Scripts
writer.WriteLine("\tpublic class " + file.FileNameAsClassName);
writer.WriteLine("\t{");
+ foreach (CEnum enumeration in file.Enums)
+ {
+ enumeration.WriteForCSharp(writer, "\t\t");
+ }
+
+
foreach (CFunction function in file.Functions)
{
- writer.WriteLine("\t\t/*");
- writer.WriteLine("\t\t * " + function.ToString());
- writer.WriteLine("\t\t */");
- writer.WriteLine("\t\t[DllImport(\"libpurple.dll\")]");
- writer.WriteLine("\t\tprivate static extern " + function.GetCSharpPrivateFunction() + ";");
- writer.WriteLine();
- writer.WriteLine("\t\tpublic static " + function.GetCSharpPublicFunction(file.FileNameAsClassName));
- writer.WriteLine("\t\t{");
- writer.WriteLine("\t\t\tthrow new NotImplementedException();");
- writer.WriteLine("\t\t}");
- writer.WriteLine();
+ try
+ {
+ StringBuilder sb = new StringBuilder();
+
+ sb.AppendLine("\t\t/*");
+ sb.AppendLine("\t\t * " + function.ToString());
+ sb.AppendLine("\t\t */");
+ sb.AppendLine("\t\t[DllImport(\"libpurple.dll\")]");
+ sb.AppendLine("\t\tprivate static extern " + function.GetCSharpPrivateFunction() + ";");
+ sb.AppendLine();
+ sb.AppendLine("\t\tpublic static " + function.GetCSharpPublicFunction());
+ sb.AppendLine("\t\t{");
+
+
+ String[] functionArgs = new String[function.Arguments.Count];
+ bool allArgsCanBeUsed = true;
+
+ for (int i = 0; i < function.Arguments.Count; i++)
+ {
+ CArgument arg = function.Arguments[i];
+
+ switch (arg.Category)
+ {
+ case CTyped.TypeCategory.PointerToKnownStruct:
+ functionArgs[i] = arg.SafeName + ".Reference";
+ break;
+
+ case CTyped.TypeCategory.Native:
+ case CTyped.TypeCategory.VoidPointer:
+ functionArgs[i] = arg.SafeName;
+ break;
+
+ case CTyped.TypeCategory.DateTime:
+ sb.AppendLine("\t\t\tulong _PurpleWrapper_arg" + i + " = (ulong)(" + arg.SafeName + " - new DateTime(1970, 1, 1)).TotalSeconds;");
+ functionArgs[i] = "_PurpleWrapper_arg" + i;
+ break;
+
+ default:
+ sb.AppendLine("\t\t\t/* Unable to process " + arg.SafeName + ", a " + arg.Category.ToString() + ". */");
+ allArgsCanBeUsed = false;
+ break;
+ }
+ }
+
+
+
+ if (allArgsCanBeUsed)
+ {
+ String functionCall = "";
+ functionCall = function.Name + "(";
+ for (int i = 0; i < functionArgs.Length; i++)
+ {
+ functionCall += functionArgs[i];
+
+ if (i != functionArgs.Length - 1)
+ functionCall += ", ";
+ }
+ functionCall += ")";
+
+
+ String returnStatement = "";
+ switch (function.Category)
+ {
+ case CTyped.TypeCategory.Void:
+ /* No return should be done. */
+ returnStatement = functionCall + ";";
+ break;
+
+ case CTyped.TypeCategory.Native:
+ case CTyped.TypeCategory.VoidPointer:
+ /* Simply return the value returned -- it's all native. */
+ returnStatement = "return " + functionCall + ";";
+ break;
+
+ case CTyped.TypeCategory.PointerToKnownStruct:
+ returnStatement = "return new " + function.RawType + "(" + functionCall + ");";
+ break;
+
+ default:
+ sb.AppendLine("\t\t\t/* Unable to process " + function.SafeName + ", a " + function.Category.ToString() + ". */");
+ break;
+
+ }
+
+
+ if (allArgsCanBeUsed)
+ sb.AppendLine("\t\t\t" + returnStatement);
+ else
+ sb.AppendLine("\t\t\tthrow new NotImplementedException();");
+ }
+ else
+ {
+ sb.AppendLine("\t\t\tthrow new NotImplementedException();");
+ }
+
+ sb.AppendLine("\t\t}");
+
+ writer.WriteLine(sb.ToString());
+ }
+ catch (UnableToCreateWrapperException e)
+ {
+ Console.WriteLine("Could not generate a wrapper for " + function.Name + " in file \"" + function.File.FileName + "\".");
+ Console.WriteLine("Message: " + e.Message);
+
+ StringBuilder sb = new StringBuilder();
+ sb.AppendLine("\t\t/*");
+ sb.AppendLine("\t\t * " + function.ToString());
+ sb.AppendLine("\t\t * ");
+ sb.AppendLine("\t\t * " + "Could not generate a wrapper for " + function.Name + " in file \"" + function.File.FileName + "\".");
+ sb.AppendLine("\t\t * " + "Message: " + e.Message);
+ sb.AppendLine("\t\t */");
+
+ writer.WriteLine(sb.ToString());
+ }
}
writer.WriteLine("\t}");
============================================================
--- libpurple/wrapper/proto_chat_entry.cs 3394e3c6b3253cb6ba62bd6d3bd6510802848ac4
+++ libpurple/wrapper/proto_chat_entry.cs cbe2a016d4c1551ae47de2209ae71a337b7df9ba
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -38,162 +40,24 @@ namespace PurpleWrapper
{
public class proto_chat_entry : UnmanagedWrapper<_proto_chat_entry>
{
+ /*
+ * Could not generate a wrapper for proto_chat_entry in file "prpl.h".
+ * Message: The type could not be resolved (const char * label).
+ */
+
public proto_chat_entry()
{
+ throw new NotImplementedException();
}
public proto_chat_entry(IntPtr refernece)
{
- this.Reference = reference;
- this.Data = (_proto_chat_entry)Marshal.PtrToStructure(this.Reference, typeof(_proto_chat_entry));
+ throw new NotImplementedException();
}
- public const char *label
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public const char *identifier
- {
- get
- {
- throw new NotImplementedException(); /* Non-native type. */
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- throw new NotImplementedException(); /* Non-native type. */
- }
- }
-
- public bool required
- {
- get
- {
- return this.Data.required;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.required = value;
- }
- }
-
- public bool is_int
- {
- get
- {
- return this.Data.is_int;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.is_int = value;
- }
- }
-
- public int min
- {
- get
- {
- return this.Data.min;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.min = value;
- }
- }
-
- public int max
- {
- get
- {
- return this.Data.max;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.max = value;
- }
- }
-
- public bool secret
- {
- get
- {
- return this.Data.secret;
- }
- set
- {
- if (this.Reference != IntPtr.Zero)
- this.Reference = IntPtr.Zero;
-
- this.Data.secret = value;
- }
- }
-
}
-
[StructLayout(LayoutKind.Sequential)]
- class _proto_chat_entry
- {
- /*
- * const char *label
- */
- UNKNOWN char *label;
-
- /*
- * const char *identifier
- */
- UNKNOWN char *identifier;
-
- /*
- * gboolean required
- */
- bool required;
-
- /*
- * gboolean is_int
- */
- bool is_int;
-
- /*
- * int min
- */
- int min;
-
- /*
- * int max
- */
- int max;
-
- /*
- * gboolean secret
- */
- bool secret;
-
- }
+ class _proto_chat_entry { }
}
============================================================
--- libpurple/wrapper/xmlnode.cs d4d9103312ef7dfb6c79d4d9964400c1724f5686
+++ libpurple/wrapper/xmlnode.cs 7dde0b923f0231ee58d5dfc9e3a0bc37c477594e
@@ -1,4 +1,4 @@
-/* purple
+/* PurpleWrapper - A .NET (CLR) wrapper for libpurple
*
* Purple is the legal property of its developers, whose names are too numerous
* to list here. Please refer to the COPYRIGHT file distributed with this
@@ -21,13 +21,15 @@
/*
* This file was auto-generated from the libpurple header files to provide a
- * clean interface between .NET/CLR and the unmanaged C library, libpurple.
+ * clean interface between .NET/CLR and the unmanaged C library libpurple.
*
- * This code isn't complete, but completely a work in progress. :)
- * Three major things left:
- * - Resolve the remaining UNKNOWN types.
- * - Handle translation between delegate and function pointers.
- * - Fill in the translation between public .NET class calls and private DllImport[] calls.
+ * This is the second major commit of the code.
+ * Next things:
+ * - A few of the .h files have anonymous parameter names (eg: void cat(int, int).
+ * This program will need to assign these parameters names.
+ * - Function pointers inside structs aren't translated correctly into C#.
+ * - Two places there are specific-length arrays (eg: char hostname[256]). The parser
+ * does not detect them as an array.
*/
using System;
@@ -36,316 +38,26 @@ namespace PurpleWrapper
namespace PurpleWrapper
{
- public class Xmlnode
+ public class xmlnode : UnmanagedWrapper<_xmlnode>
{
- /*
- * xmlnode * xmlnode_new(char * name)
+ /*
+ * Could not generate a wrapper for xmlnode in file "xmlnode.h".
+ * Message: The struct contains an inner-struct or innter-union and cannot be automatically wrapped.
*/
- [DllImport("libpurple.dll")]
- private static extern IntPtr xmlnode_new(string name);
- public static xmlnode New(string name)
+ public xmlnode()
{
throw new NotImplementedException();
}
- /*
- * xmlnode * xmlnode_new_child(xmlnode * parent, char * name)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr xmlnode_new_child(IntPtr parent, string name);
-
- public static xmlnode NewChild(xmlnode parent, string name)
+ public xmlnode(IntPtr refernece)
{
throw new NotImplementedException();
}
- /*
- * void xmlnode_insert_child(xmlnode * parent, xmlnode * child)
- */
- [DllImport("libpurple.dll")]
- private static extern void xmlnode_insert_child(IntPtr parent, IntPtr child);
+ }
- public static void InsertChild(xmlnode parent, xmlnode child)
- {
- throw new NotImplementedException();
- }
-
- /*
- * xmlnode * xmlnode_get_child(xmlnode * parent, char * name)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr xmlnode_get_child(IntPtr parent, string name);
-
- public static xmlnode GetChild(xmlnode parent, string name)
- {
- throw new NotImplementedException();
- }
-
- /*
- * xmlnode * xmlnode_get_child_with_namespace(xmlnode * parent, char * name, char * xmlns)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr xmlnode_get_child_with_namespace(IntPtr parent, string name, string xmlns);
-
- public static xmlnode GetChildWithNamespace(xmlnode parent, string name, string xmlns)
- {
- throw new NotImplementedException();
- }
-
- /*
- * xmlnode * xmlnode_get_next_twin(xmlnode * node)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr xmlnode_get_next_twin(IntPtr node);
-
- public static xmlnode GetNextTwin(xmlnode node)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void xmlnode_insert_data(xmlnode * node, char * data, gssize size)
- */
- [DllImport("libpurple.dll")]
- private static extern void xmlnode_insert_data(IntPtr node, string data, UNKNOWN size);
-
- public static void InsertData(xmlnode node, string data, gssize size)
- {
- throw new NotImplementedException();
- }
-
- /*
- * char * xmlnode_get_data(xmlnode * node)
- */
- [DllImport("libpurple.dll")]
- private static extern string xmlnode_get_data(IntPtr node);
-
- public static string GetData(xmlnode node)
- {
- throw new NotImplementedException();
- }
-
- /*
- * char * xmlnode_get_data_unescaped(xmlnode * node)
- */
- [DllImport("libpurple.dll")]
- private static extern string xmlnode_get_data_unescaped(IntPtr node);
-
- public static string GetDataUnescaped(xmlnode node)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void xmlnode_set_attrib(xmlnode * node, char * attr, char * value)
- */
- [DllImport("libpurple.dll")]
- private static extern void xmlnode_set_attrib(IntPtr node, string attr, string value);
-
- public static void SetAttrib(xmlnode node, string attr, string value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void xmlnode_set_attrib_with_prefix(xmlnode * node, char * attr, char * prefix, char * value)
- */
- [DllImport("libpurple.dll")]
- private static extern void xmlnode_set_attrib_with_prefix(IntPtr node, string attr, string prefix, string value);
-
- public static void SetAttribWithPrefix(xmlnode node, string attr, string prefix, string value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void xmlnode_set_attrib_with_namespace(xmlnode * node, char * attr, char * xmlns, char * value)
- */
- [DllImport("libpurple.dll")]
- private static extern void xmlnode_set_attrib_with_namespace(IntPtr node, string attr, string xmlns, string value);
-
- public static void SetAttribWithNamespace(xmlnode node, string attr, string xmlns, string value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void xmlnode_set_attrib_full(xmlnode * node, char * attr, char * xmlns, char * prefix, char * value)
- */
- [DllImport("libpurple.dll")]
- private static extern void xmlnode_set_attrib_full(IntPtr node, string attr, string xmlns, string prefix, string value);
-
- public static void SetAttribFull(xmlnode node, string attr, string xmlns, string prefix, string value)
- {
- throw new NotImplementedException();
- }
-
- /*
- * char * xmlnode_get_attrib(xmlnode * node, char * attr)
- */
- [DllImport("libpurple.dll")]
- private static extern string xmlnode_get_attrib(IntPtr node, string attr);
-
- public static string GetAttrib(xmlnode node, string attr)
- {
- throw new NotImplementedException();
- }
-
- /*
- * char * xmlnode_get_attrib_with_namespace(xmlnode * node, char * attr, char * xmlns)
- */
- [DllImport("libpurple.dll")]
- private static extern string xmlnode_get_attrib_with_namespace(IntPtr node, string attr, string xmlns);
-
- public static string GetAttribWithNamespace(xmlnode node, string attr, string xmlns)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void xmlnode_remove_attrib(xmlnode * node, char * attr)
- */
- [DllImport("libpurple.dll")]
- private static extern void xmlnode_remove_attrib(IntPtr node, string attr);
-
- public static void RemoveAttrib(xmlnode node, string attr)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void xmlnode_remove_attrib_with_namespace(xmlnode * node, char * attr, char * xmlns)
- */
- [DllImport("libpurple.dll")]
- private static extern void xmlnode_remove_attrib_with_namespace(IntPtr node, string attr, string xmlns);
-
- public static void RemoveAttribWithNamespace(xmlnode node, string attr, string xmlns)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void xmlnode_set_namespace(xmlnode * node, char * xmlns)
- */
- [DllImport("libpurple.dll")]
- private static extern void xmlnode_set_namespace(IntPtr node, string xmlns);
-
- public static void SetNamespace(xmlnode node, string xmlns)
- {
- throw new NotImplementedException();
- }
-
- /*
- * char * xmlnode_get_namespace(xmlnode * node)
- */
- [DllImport("libpurple.dll")]
- private static extern string xmlnode_get_namespace(IntPtr node);
-
- public static string GetNamespace(xmlnode node)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void xmlnode_set_prefix(xmlnode * node, char * prefix)
- */
- [DllImport("libpurple.dll")]
- private static extern void xmlnode_set_prefix(IntPtr node, string prefix);
-
- public static void SetPrefix(xmlnode node, string prefix)
- {
- throw new NotImplementedException();
- }
-
- /*
- * char * xmlnode_get_prefix(xmlnode * node)
- */
- [DllImport("libpurple.dll")]
- private static extern string xmlnode_get_prefix(IntPtr node);
-
- public static string GetPrefix(xmlnode node)
- {
- throw new NotImplementedException();
- }
-
- /*
- * xmlnode * xmlnode_get_parent(xmlnode * child)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr xmlnode_get_parent(IntPtr child);
-
- public static xmlnode GetParent(xmlnode child)
- {
- throw new NotImplementedException();
- }
-
- /*
- * char * xmlnode_to_str(xmlnode * node, int * len)
- */
- [DllImport("libpurple.dll")]
- private static extern string xmlnode_to_str(IntPtr node, IntPtr len);
-
- public static string ToStr(xmlnode node, int len)
- {
- throw new NotImplementedException();
- }
-
- /*
- * char * xmlnode_to_formatted_str(xmlnode * node, int * len)
- */
- [DllImport("libpurple.dll")]
- private static extern string xmlnode_to_formatted_str(IntPtr node, IntPtr len);
-
- public static string ToFormattedStr(xmlnode node, int len)
- {
- throw new NotImplementedException();
- }
-
- /*
- * xmlnode * xmlnode_from_str(char * str, gssize size)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr xmlnode_from_str(string str, UNKNOWN size);
-
- public static xmlnode FromStr(string str, gssize size)
- {
- throw new NotImplementedException();
- }
-
- /*
- * xmlnode * xmlnode_copy(xmlnode * src)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr xmlnode_copy(IntPtr src);
-
- public static xmlnode Copy(xmlnode src)
- {
- throw new NotImplementedException();
- }
-
- /*
- * void xmlnode_free(xmlnode * node)
- */
- [DllImport("libpurple.dll")]
- private static extern void xmlnode_free(IntPtr node);
-
- public static void Free(xmlnode node)
- {
- throw new NotImplementedException();
- }
-
- /*
- * xmlnode * xmlnode_from_file(char * dir, char * filename, char * description, char * process)
- */
- [DllImport("libpurple.dll")]
- private static extern IntPtr xmlnode_from_file(string dir, string filename, string description, string process);
-
- public static xmlnode FromFile(string dir, string filename, string description, string process)
- {
- throw new NotImplementedException();
- }
-
- }
+ [StructLayout(LayoutKind.Sequential)]
+ class _xmlnode { }
}
More information about the Commits
mailing list