soc.2009.penguin.visualstudio: bf38b103: ========================================...

wade at soc.pidgin.im wade at soc.pidgin.im
Wed Jul 22 04:50:28 EDT 2009


-----------------------------------------------------------------
Revision: bf38b103d6725932646c88b1d818e113d15e834e
Ancestor: df6b96f9b22b2b1246ad5fb90ce16161fd6a246e
Author: wade at soc.pidgin.im
Date: 2009-07-22T08:44:12
Branch: im.pidgin.soc.2009.penguin.visualstudio
URL: http://d.pidgin.im/viewmtn/revision/info/bf38b103d6725932646c88b1d818e113d15e834e

Modified files:
        libpurple/wrapper/Idle.cs libpurple/wrapper/Prpl.cs
        libpurple/wrapper/PurpleAccountUiOps.cs
        libpurple/wrapper/PurpleBlistUiOps.cs
        libpurple/wrapper/PurpleBuddyIconSpec.cs
        libpurple/wrapper/PurpleCertificate.cs
        libpurple/wrapper/PurpleCertificateVerifier.cs
        libpurple/wrapper/PurpleCipherOps.cs
        libpurple/wrapper/PurpleCircBuffer.cs
        libpurple/wrapper/PurpleConvChatBuddy.cs
        libpurple/wrapper/PurpleConvMessage.cs
        libpurple/wrapper/PurpleConversationUiOps.cs
        libpurple/wrapper/PurpleEventLoopUiOps.cs
        libpurple/wrapper/PurpleKeyValuePair.cs
        libpurple/wrapper/PurpleLogLogger.cs
        libpurple/wrapper/PurpleLogSet.cs
        libpurple/wrapper/PurplePluginAction.cs
        libpurple/wrapper/PurplePluginUiInfo.cs
        libpurple/wrapper/PurpleRoomlistField.cs
        libpurple/wrapper/PurpleRoomlistUiOps.cs
        libpurple/wrapper/PurpleSoundUiOps.cs
        libpurple/wrapper/PurpleSrvResponse.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/PurpleWhiteboardPrplOps.cs
        libpurple/wrapper/PurpleWhiteboardUiOps.cs
        libpurple/wrapper/Server.cs
        libpurple/wrapper/generator/CArgument.cs
        libpurple/wrapper/generator/CFunction.cs
        libpurple/wrapper/generator/CNamed.cs
        libpurple/wrapper/generator/WrapperGenerator.cs

ChangeLog: 



-------------- next part --------------
============================================================
--- libpurple/wrapper/Idle.cs	542b1820ca77abe61e391568b34e40cb61227da3
+++ libpurple/wrapper/Idle.cs	b6155c41b8ea4b573cb9110aee57d007e719190a
@@ -59,8 +59,8 @@ namespace PurpleWrapper
 
 		public static void Set(DateTime time)
 		{
-			ulong _PurpleWrapper_arg0 = (ulong)(time - new DateTime(1970, 1, 1)).TotalSeconds;
-			purple_idle_set(_PurpleWrapper_arg0);
+			ulong _PurpleWrapper_param0 = (ulong)(time - new DateTime(1970, 1, 1)).TotalSeconds;
+			purple_idle_set(_PurpleWrapper_param0);
 		}
 
 		/*
============================================================
--- libpurple/wrapper/Prpl.cs	2c4af579392a0151f8f46e88aae823657673545b
+++ libpurple/wrapper/Prpl.cs	4e39dab27adc059cec4af331b4b6ec81e2ae3dfe
@@ -184,8 +184,8 @@ namespace PurpleWrapper
 
 		public static void GotAccountLoginTime(PurpleAccount account, DateTime login_time)
 		{
-			ulong _PurpleWrapper_arg1 = (ulong)(login_time - new DateTime(1970, 1, 1)).TotalSeconds;
-			purple_prpl_got_account_login_time(account.Reference, _PurpleWrapper_arg1);
+			ulong _PurpleWrapper_param1 = (ulong)(login_time - new DateTime(1970, 1, 1)).TotalSeconds;
+			purple_prpl_got_account_login_time(account.Reference, _PurpleWrapper_param1);
 		}
 
 		/*
============================================================
--- libpurple/wrapper/PurpleAccountUiOps.cs	cbe5cca35e4540f8e11bd3bf6bb05140874d571f
+++ libpurple/wrapper/PurpleAccountUiOps.cs	e4785ae91dd2e5ed7ecb462e2228ded3834f97ab
@@ -50,7 +50,7 @@ namespace PurpleWrapper
 			this.Data = (_PurpleAccountUiOps)Marshal.PtrToStructure(this.Reference, typeof(_PurpleAccountUiOps));
 		}
 
-		public void notify_added
+		public IntPtr notify_added
 		{
 			get
 			{
@@ -65,7 +65,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void status_changed
+		public IntPtr status_changed
 		{
 			get
 			{
@@ -80,7 +80,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void request_add
+		public IntPtr request_add
 		{
 			get
 			{
@@ -110,7 +110,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void close_account_request
+		public IntPtr close_account_request
 		{
 			get
 			{
@@ -125,7 +125,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved1
+		public IntPtr _purple_reserved1
 		{
 			get
 			{
@@ -140,7 +140,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved2
+		public IntPtr _purple_reserved2
 		{
 			get
 			{
@@ -155,7 +155,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved3
+		public IntPtr _purple_reserved3
 		{
 			get
 			{
@@ -170,7 +170,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved4
+		public IntPtr _purple_reserved4
 		{
 			get
 			{
@@ -194,17 +194,17 @@ namespace PurpleWrapper
 		/*
 		 * void (*notify_added)(PurpleAccount * account, char * remote_user, char * id, char * alias, char * message)
 		 */
-		void notify_added;
+		IntPtr notify_added;
 
 		/*
 		 * void (*status_changed)(PurpleAccount * account, PurpleStatus * status)
 		 */
-		void status_changed;
+		IntPtr status_changed;
 
 		/*
 		 * void (*request_add)(PurpleAccount * account, char * remote_user, char * id, char * alias, char * message)
 		 */
-		void request_add;
+		IntPtr request_add;
 
 		/*
 		 * void * (*request_authorize)(PurpleAccount * account, char * remote_user, char * id, char * alias, char * message, gboolean on_list, PurpleAccountRequestAuthorizationCb authorize_cb, PurpleAccountRequestAuthorizationCb deny_cb, void * user_data)
@@ -214,27 +214,27 @@ namespace PurpleWrapper
 		/*
 		 * void (*close_account_request)(void * ui_handle)
 		 */
-		void close_account_request;
+		IntPtr close_account_request;
 
 		/*
-		 * void (*purple_reserved1)()
+		 * void (*_purple_reserved1)()
 		 */
-		void purple_reserved1;
+		IntPtr _purple_reserved1;
 
 		/*
-		 * void (*purple_reserved2)()
+		 * void (*_purple_reserved2)()
 		 */
-		void purple_reserved2;
+		IntPtr _purple_reserved2;
 
 		/*
-		 * void (*purple_reserved3)()
+		 * void (*_purple_reserved3)()
 		 */
-		void purple_reserved3;
+		IntPtr _purple_reserved3;
 
 		/*
-		 * void (*purple_reserved4)()
+		 * void (*_purple_reserved4)()
 		 */
-		void purple_reserved4;
+		IntPtr _purple_reserved4;
 
 	}
 
============================================================
--- libpurple/wrapper/PurpleBlistUiOps.cs	3acf16daf1d1c066817eddab86a1ec6c38e79077
+++ libpurple/wrapper/PurpleBlistUiOps.cs	43a8640f05d6bb4df7becb81d9d5b1316e7edf2f
@@ -50,7 +50,7 @@ namespace PurpleWrapper
 			this.Data = (_PurpleBlistUiOps)Marshal.PtrToStructure(this.Reference, typeof(_PurpleBlistUiOps));
 		}
 
-		public void new_list
+		public IntPtr new_list
 		{
 			get
 			{
@@ -65,7 +65,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void new_node
+		public IntPtr new_node
 		{
 			get
 			{
@@ -80,7 +80,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void show
+		public IntPtr show
 		{
 			get
 			{
@@ -95,7 +95,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void update
+		public IntPtr update
 		{
 			get
 			{
@@ -110,7 +110,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void remove
+		public IntPtr remove
 		{
 			get
 			{
@@ -125,7 +125,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void destroy
+		public IntPtr destroy
 		{
 			get
 			{
@@ -140,7 +140,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void set_visible
+		public IntPtr set_visible
 		{
 			get
 			{
@@ -155,7 +155,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void request_add_buddy
+		public IntPtr request_add_buddy
 		{
 			get
 			{
@@ -170,7 +170,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void request_add_chat
+		public IntPtr request_add_chat
 		{
 			get
 			{
@@ -185,7 +185,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void request_add_group
+		public IntPtr request_add_group
 		{
 			get
 			{
@@ -200,7 +200,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved1
+		public IntPtr _purple_reserved1
 		{
 			get
 			{
@@ -215,7 +215,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved2
+		public IntPtr _purple_reserved2
 		{
 			get
 			{
@@ -230,7 +230,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved3
+		public IntPtr _purple_reserved3
 		{
 			get
 			{
@@ -245,7 +245,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved4
+		public IntPtr _purple_reserved4
 		{
 			get
 			{
@@ -269,72 +269,72 @@ namespace PurpleWrapper
 		/*
 		 * void (*new_list)(PurpleBuddyList * list)
 		 */
-		void new_list;
+		IntPtr new_list;
 
 		/*
 		 * void (*new_node)(PurpleBlistNode * node)
 		 */
-		void new_node;
+		IntPtr new_node;
 
 		/*
 		 * void (*show)(PurpleBuddyList * list)
 		 */
-		void show;
+		IntPtr show;
 
 		/*
 		 * void (*update)(PurpleBuddyList * list, PurpleBlistNode * node)
 		 */
-		void update;
+		IntPtr update;
 
 		/*
 		 * void (*remove)(PurpleBuddyList * list, PurpleBlistNode * node)
 		 */
-		void remove;
+		IntPtr remove;
 
 		/*
 		 * void (*destroy)(PurpleBuddyList * list)
 		 */
-		void destroy;
+		IntPtr destroy;
 
 		/*
 		 * void (*set_visible)(PurpleBuddyList * list, gboolean show)
 		 */
-		void set_visible;
+		IntPtr set_visible;
 
 		/*
 		 * void (*request_add_buddy)(PurpleAccount * account, char * username, char * group, char * alias)
 		 */
-		void request_add_buddy;
+		IntPtr request_add_buddy;
 
 		/*
 		 * void (*request_add_chat)(PurpleAccount * account, PurpleGroup * group, char * alias, char * name)
 		 */
-		void request_add_chat;
+		IntPtr request_add_chat;
 
 		/*
 		 * void (*request_add_group)()
 		 */
-		void request_add_group;
+		IntPtr request_add_group;
 
 		/*
-		 * void (*purple_reserved1)()
+		 * void (*_purple_reserved1)()
 		 */
-		void purple_reserved1;
+		IntPtr _purple_reserved1;
 
 		/*
-		 * void (*purple_reserved2)()
+		 * void (*_purple_reserved2)()
 		 */
-		void purple_reserved2;
+		IntPtr _purple_reserved2;
 
 		/*
-		 * void (*purple_reserved3)()
+		 * void (*_purple_reserved3)()
 		 */
-		void purple_reserved3;
+		IntPtr _purple_reserved3;
 
 		/*
-		 * void (*purple_reserved4)()
+		 * void (*_purple_reserved4)()
 		 */
-		void purple_reserved4;
+		IntPtr _purple_reserved4;
 
 	}
 
============================================================
--- libpurple/wrapper/PurpleBuddyIconSpec.cs	baa9ee5218d0a86ca69f5e1d0ce617c1dbb5997a
+++ libpurple/wrapper/PurpleBuddyIconSpec.cs	f9bb28f17aa275e18ca379d51da854309eef3537
@@ -164,37 +164,37 @@ namespace PurpleWrapper
 		/*
 		 * char * format
 		 */
-		string format;
+		IntPtr format;
 
 		/*
 		 * int min_width
 		 */
-		int min_width;
+		IntPtr min_width;
 
 		/*
 		 * int min_height
 		 */
-		int min_height;
+		IntPtr min_height;
 
 		/*
 		 * int max_width
 		 */
-		int max_width;
+		IntPtr max_width;
 
 		/*
 		 * int max_height
 		 */
-		int max_height;
+		IntPtr max_height;
 
 		/*
 		 * size_t max_filesize
 		 */
-		ulong max_filesize;
+		IntPtr max_filesize;
 
 		/*
 		 * PurpleIconScaleRules scale_rules
 		 */
-		Prpl.PurpleIconScaleRules scale_rules;
+		/* Cannot generate struct for type KnownEnum */
 
 	}
 
============================================================
--- libpurple/wrapper/PurpleCertificate.cs	2d465e3801516b2a9233596875ccb92375cc0bc8
+++ libpurple/wrapper/PurpleCertificate.cs	0a730d8670b96b26d56746dc3ffa5972e5e323ba
@@ -89,7 +89,7 @@ namespace PurpleWrapper
 		/*
 		 * PurpleCertificateScheme *  scheme
 		 */
-		IntPtr  scheme;
+		/* Cannot generate struct for type PointerToKnownStruct */
 
 		/*
 		 * gpointer data
============================================================
--- libpurple/wrapper/PurpleCertificateVerifier.cs	61eb04ed6e562582a5d3d18d21a840ec942a6ae3
+++ libpurple/wrapper/PurpleCertificateVerifier.cs	b8e81c9b4687a7184ea3dcaff998a6d4bc20a256
@@ -110,7 +110,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved1
+		public IntPtr _purple_reserved1
 		{
 			get
 			{
@@ -125,7 +125,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved2
+		public IntPtr _purple_reserved2
 		{
 			get
 			{
@@ -140,7 +140,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved3
+		public IntPtr _purple_reserved3
 		{
 			get
 			{
@@ -155,7 +155,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved4
+		public IntPtr _purple_reserved4
 		{
 			get
 			{
@@ -179,42 +179,42 @@ namespace PurpleWrapper
 		/*
 		 * gchar * scheme_name
 		 */
-		string scheme_name;
+		IntPtr scheme_name;
 
 		/*
 		 * gchar * name
 		 */
-		string name;
+		IntPtr name;
 
 		/*
 		 * void (* start_verification)(PurpleCertificateVerificationRequest *vrq)
 		 */
-		void (* start_verification)(PurpleCertificateVerificationRequest *vrq);
+		/* Cannot generate struct for type Void */
 
 		/*
 		 * void (* destroy_request)(PurpleCertificateVerificationRequest *vrq)
 		 */
-		void (* destroy_request)(PurpleCertificateVerificationRequest *vrq);
+		/* Cannot generate struct for type Void */
 
 		/*
-		 * void (*purple_reserved1)()
+		 * void (*_purple_reserved1)()
 		 */
-		void purple_reserved1;
+		IntPtr _purple_reserved1;
 
 		/*
-		 * void (*purple_reserved2)()
+		 * void (*_purple_reserved2)()
 		 */
-		void purple_reserved2;
+		IntPtr _purple_reserved2;
 
 		/*
-		 * void (*purple_reserved3)()
+		 * void (*_purple_reserved3)()
 		 */
-		void purple_reserved3;
+		IntPtr _purple_reserved3;
 
 		/*
-		 * void (*purple_reserved4)()
+		 * void (*_purple_reserved4)()
 		 */
-		void purple_reserved4;
+		IntPtr _purple_reserved4;
 
 	}
 
============================================================
--- libpurple/wrapper/PurpleCipherOps.cs	85575b543e9e3230ad98b83b66b60a0606a76aec
+++ libpurple/wrapper/PurpleCipherOps.cs	09cd101f30d87636c722a678b7c5a2d832cdffaa
@@ -50,7 +50,7 @@ namespace PurpleWrapper
 			this.Data = (_PurpleCipherOps)Marshal.PtrToStructure(this.Reference, typeof(_PurpleCipherOps));
 		}
 
-		public void set_option
+		public IntPtr set_option
 		{
 			get
 			{
@@ -80,7 +80,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void init
+		public IntPtr init
 		{
 			get
 			{
@@ -95,7 +95,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void reset
+		public IntPtr reset
 		{
 			get
 			{
@@ -110,7 +110,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void uninit
+		public IntPtr uninit
 		{
 			get
 			{
@@ -125,7 +125,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void set_iv
+		public IntPtr set_iv
 		{
 			get
 			{
@@ -140,7 +140,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void append
+		public IntPtr append
 		{
 			get
 			{
@@ -155,7 +155,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public bool digest
+		public IntPtr digest
 		{
 			get
 			{
@@ -170,7 +170,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public int encrypt
+		public IntPtr encrypt
 		{
 			get
 			{
@@ -185,7 +185,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public int decrypt
+		public IntPtr decrypt
 		{
 			get
 			{
@@ -200,7 +200,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void set_salt
+		public IntPtr set_salt
 		{
 			get
 			{
@@ -215,7 +215,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public ulong get_salt_size
+		public IntPtr get_salt_size
 		{
 			get
 			{
@@ -230,7 +230,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void set_key
+		public IntPtr set_key
 		{
 			get
 			{
@@ -245,7 +245,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public ulong get_key_size
+		public IntPtr get_key_size
 		{
 			get
 			{
@@ -260,7 +260,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void set_batch_mode
+		public IntPtr set_batch_mode
 		{
 			get
 			{
@@ -275,7 +275,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public Cipher.PurpleCipherBatchMode get_batch_mode
+		public IntPtr get_batch_mode
 		{
 			get
 			{
@@ -290,7 +290,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public ulong get_block_size
+		public IntPtr get_block_size
 		{
 			get
 			{
@@ -305,7 +305,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void set_key_with_len
+		public IntPtr set_key_with_len
 		{
 			get
 			{
@@ -329,7 +329,7 @@ namespace PurpleWrapper
 		/*
 		 * void (*set_option)(PurpleCipherContext * context, gchar * name, void * value)
 		 */
-		void set_option;
+		IntPtr set_option;
 
 		/*
 		 * void * (*get_option)(PurpleCipherContext * context, gchar * name)
@@ -339,82 +339,82 @@ namespace PurpleWrapper
 		/*
 		 * void (*init)(PurpleCipherContext * context, void * extra)
 		 */
-		void init;
+		IntPtr init;
 
 		/*
 		 * void (*reset)(PurpleCipherContext * context, void * extra)
 		 */
-		void reset;
+		IntPtr reset;
 
 		/*
 		 * void (*uninit)(PurpleCipherContext * context)
 		 */
-		void uninit;
+		IntPtr uninit;
 
 		/*
 		 * void (*set_iv)(PurpleCipherContext * context, guchar * iv, size_t len)
 		 */
-		void set_iv;
+		IntPtr set_iv;
 
 		/*
 		 * void (*append)(PurpleCipherContext * context, guchar * data, size_t len)
 		 */
-		void append;
+		IntPtr append;
 
 		/*
 		 * gboolean (*digest)(PurpleCipherContext * context, size_t in_len, guchar [], size_t * out_len)
 		 */
-		bool digest;
+		IntPtr digest;
 
 		/*
 		 * int (*encrypt)(PurpleCipherContext * context, guchar [], size_t len, guchar [], size_t * outlen)
 		 */
-		int encrypt;
+		IntPtr encrypt;
 
 		/*
 		 * int (*decrypt)(PurpleCipherContext * context, guchar [], size_t len, guchar [], size_t * outlen)
 		 */
-		int decrypt;
+		IntPtr decrypt;
 
 		/*
 		 * void (*set_salt)(PurpleCipherContext * context, guchar * salt)
 		 */
-		void set_salt;
+		IntPtr set_salt;
 
 		/*
 		 * size_t (*get_salt_size)(PurpleCipherContext * context)
 		 */
-		ulong get_salt_size;
+		IntPtr get_salt_size;
 
 		/*
 		 * void (*set_key)(PurpleCipherContext * context, guchar * key)
 		 */
-		void set_key;
+		IntPtr set_key;
 
 		/*
 		 * size_t (*get_key_size)(PurpleCipherContext * context)
 		 */
-		ulong get_key_size;
+		IntPtr get_key_size;
 
 		/*
 		 * void (*set_batch_mode)(PurpleCipherContext * context, PurpleCipherBatchMode mode)
 		 */
-		void set_batch_mode;
+		IntPtr set_batch_mode;
 
 		/*
 		 * PurpleCipherBatchMode (*get_batch_mode)(PurpleCipherContext * context)
 		 */
-		Cipher.PurpleCipherBatchMode get_batch_mode;
+		IntPtr get_batch_mode;
 
 		/*
 		 * size_t (*get_block_size)(PurpleCipherContext * context)
 		 */
-		ulong get_block_size;
+		IntPtr get_block_size;
 
 		/*
 		 * void (*set_key_with_len)(PurpleCipherContext * context, guchar * key, size_t len)
 		 */
-		void set_key_with_len;
+		IntPtr set_key_with_len;
 
 	}
 
============================================================
--- libpurple/wrapper/PurpleCircBuffer.cs	8c6b470cfb8c8de494759a2d443cf308c32ff9a8
+++ libpurple/wrapper/PurpleCircBuffer.cs	3635769aa910a01795007c7e68c86dd4f466d06b
@@ -149,32 +149,32 @@ namespace PurpleWrapper
 		/*
 		 * gchar * buffer
 		 */
-		string buffer;
+		IntPtr buffer;
 
 		/*
 		 * gsize growsize
 		 */
-		ulong growsize;
+		IntPtr growsize;
 
 		/*
 		 * gsize buflen
 		 */
-		ulong buflen;
+		IntPtr buflen;
 
 		/*
 		 * gsize bufused
 		 */
-		ulong bufused;
+		IntPtr bufused;
 
 		/*
 		 * gchar * inptr
 		 */
-		string inptr;
+		IntPtr inptr;
 
 		/*
 		 * gchar * outptr
 		 */
-		string outptr;
+		IntPtr outptr;
 
 	}
 
============================================================
--- libpurple/wrapper/PurpleConvChatBuddy.cs	be038aa17788a59446200c8020887fec84f1d1d5
+++ libpurple/wrapper/PurpleConvChatBuddy.cs	9c8cb758b102cb09e9339da893a7c48be9be140c
@@ -134,27 +134,27 @@ namespace PurpleWrapper
 		/*
 		 * char * name
 		 */
-		string name;
+		IntPtr name;
 
 		/*
 		 * char * alias
 		 */
-		string alias;
+		IntPtr alias;
 
 		/*
 		 * char * alias_key
 		 */
-		string alias_key;
+		IntPtr alias_key;
 
 		/*
 		 * gboolean buddy
 		 */
-		bool buddy;
+		IntPtr buddy;
 
 		/*
 		 * PurpleConvChatBuddyFlags flags
 		 */
-		Conversation.PurpleConvChatBuddyFlags flags;
+		/* Cannot generate struct for type KnownEnum */
 
 	}
 
============================================================
--- libpurple/wrapper/PurpleConvMessage.cs	cb993757b4b6b593f3d6d6b4fb68a6262c0ae6ff
+++ libpurple/wrapper/PurpleConvMessage.cs	f446a2107f4500c1de6104f17c14ef7d6d3f8e22
@@ -149,17 +149,17 @@ namespace PurpleWrapper
 		/*
 		 * char * who
 		 */
-		string who;
+		IntPtr who;
 
 		/*
 		 * char * what
 		 */
-		string what;
+		IntPtr what;
 
 		/*
 		 * PurpleMessageFlags flags
 		 */
-		Conversation.PurpleMessageFlags flags;
+		/* Cannot generate struct for type KnownEnum */
 
 		/*
 		 * time_t when
@@ -169,12 +169,12 @@ namespace PurpleWrapper
 		/*
 		 * PurpleConversation * conv
 		 */
-		IntPtr conv;
+		/* Cannot generate struct for type PointerToKnownStruct */
 
 		/*
 		 * char * alias
 		 */
-		string alias;
+		IntPtr alias;
 
 	}
 
============================================================
--- libpurple/wrapper/PurpleConversationUiOps.cs	cbf4f9df6e19e8977354b84c83ba93a0cf52c935
+++ libpurple/wrapper/PurpleConversationUiOps.cs	6840b1b0342838e792ac66590f3499f4fbb11c10
@@ -50,7 +50,7 @@ namespace PurpleWrapper
 			this.Data = (_PurpleConversationUiOps)Marshal.PtrToStructure(this.Reference, typeof(_PurpleConversationUiOps));
 		}
 
-		public void create_conversation
+		public IntPtr create_conversation
 		{
 			get
 			{
@@ -65,7 +65,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void destroy_conversation
+		public IntPtr destroy_conversation
 		{
 			get
 			{
@@ -80,7 +80,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void write_chat
+		public IntPtr write_chat
 		{
 			get
 			{
@@ -95,7 +95,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void write_im
+		public IntPtr write_im
 		{
 			get
 			{
@@ -110,7 +110,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void write_conv
+		public IntPtr write_conv
 		{
 			get
 			{
@@ -125,7 +125,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void chat_add_users
+		public IntPtr chat_add_users
 		{
 			get
 			{
@@ -140,7 +140,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void chat_rename_user
+		public IntPtr chat_rename_user
 		{
 			get
 			{
@@ -155,7 +155,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void chat_remove_users
+		public IntPtr chat_remove_users
 		{
 			get
 			{
@@ -170,7 +170,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void chat_update_user
+		public IntPtr chat_update_user
 		{
 			get
 			{
@@ -185,7 +185,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void present
+		public IntPtr present
 		{
 			get
 			{
@@ -200,7 +200,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public bool has_focus
+		public IntPtr has_focus
 		{
 			get
 			{
@@ -215,7 +215,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public bool custom_smiley_add
+		public IntPtr custom_smiley_add
 		{
 			get
 			{
@@ -230,7 +230,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void custom_smiley_write
+		public IntPtr custom_smiley_write
 		{
 			get
 			{
@@ -245,7 +245,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void custom_smiley_close
+		public IntPtr custom_smiley_close
 		{
 			get
 			{
@@ -260,7 +260,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void send_confirm
+		public IntPtr send_confirm
 		{
 			get
 			{
@@ -275,7 +275,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved1
+		public IntPtr _purple_reserved1
 		{
 			get
 			{
@@ -290,7 +290,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved2
+		public IntPtr _purple_reserved2
 		{
 			get
 			{
@@ -305,7 +305,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved3
+		public IntPtr _purple_reserved3
 		{
 			get
 			{
@@ -320,7 +320,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved4
+		public IntPtr _purple_reserved4
 		{
 			get
 			{
@@ -344,97 +344,97 @@ namespace PurpleWrapper
 		/*
 		 * void (*create_conversation)(PurpleConversation * conv)
 		 */
-		void create_conversation;
+		IntPtr create_conversation;
 
 		/*
 		 * void (*destroy_conversation)(PurpleConversation * conv)
 		 */
-		void destroy_conversation;
+		IntPtr destroy_conversation;
 
 		/*
 		 * void (*write_chat)(PurpleConversation * conv, char * who, char * message, PurpleMessageFlags flags, time_t mtime)
 		 */
-		void write_chat;
+		IntPtr write_chat;
 
 		/*
 		 * void (*write_im)(PurpleConversation * conv, char * who, char * message, PurpleMessageFlags flags, time_t mtime)
 		 */
-		void write_im;
+		IntPtr write_im;
 
 		/*
 		 * void (*write_conv)(PurpleConversation * conv, char * name, char * alias, char * message, PurpleMessageFlags flags, time_t mtime)
 		 */
-		void write_conv;
+		IntPtr write_conv;
 
 		/*
 		 * void (*chat_add_users)(PurpleConversation * conv, GList * cbuddies, gboolean new_arrivals)
 		 */
-		void chat_add_users;
+		IntPtr chat_add_users;
 
 		/*
 		 * void (*chat_rename_user)(PurpleConversation * conv, char * old_name, char * new_name, char * new_alias)
 		 */
-		void chat_rename_user;
+		IntPtr chat_rename_user;
 
 		/*
 		 * void (*chat_remove_users)(PurpleConversation * conv, GList * users)
 		 */
-		void chat_remove_users;
+		IntPtr chat_remove_users;
 
 		/*
 		 * void (*chat_update_user)(PurpleConversation * conv, char * user)
 		 */
-		void chat_update_user;
+		IntPtr chat_update_user;
 
 		/*
 		 * void (*present)(PurpleConversation * conv)
 		 */
-		void present;
+		IntPtr present;
 
 		/*
 		 * gboolean (*has_focus)(PurpleConversation * conv)
 		 */
-		bool has_focus;
+		IntPtr has_focus;
 
 		/*
 		 * gboolean (*custom_smiley_add)(PurpleConversation * conv, char * smile, gboolean remote)
 		 */
-		bool custom_smiley_add;
+		IntPtr custom_smiley_add;
 
 		/*
 		 * void (*custom_smiley_write)(PurpleConversation * conv, char * smile, guchar * data, gsize size)
 		 */
-		void custom_smiley_write;
+		IntPtr custom_smiley_write;
 
 		/*
 		 * void (*custom_smiley_close)(PurpleConversation * conv, char * smile)
 		 */
-		void custom_smiley_close;
+		IntPtr custom_smiley_close;
 
 		/*
 		 * void (*send_confirm)(PurpleConversation * conv, char * message)
 		 */
-		void send_confirm;
+		IntPtr send_confirm;
 
 		/*
-		 * void (*purple_reserved1)()
+		 * void (*_purple_reserved1)()
 		 */
-		void purple_reserved1;
+		IntPtr _purple_reserved1;
 
 		/*
-		 * void (*purple_reserved2)()
+		 * void (*_purple_reserved2)()
 		 */
-		void purple_reserved2;
+		IntPtr _purple_reserved2;
 
 		/*
-		 * void (*purple_reserved3)()
+		 * void (*_purple_reserved3)()
 		 */
-		void purple_reserved3;
+		IntPtr _purple_reserved3;
 
 		/*
-		 * void (*purple_reserved4)()
+		 * void (*_purple_reserved4)()
 		 */
-		void purple_reserved4;
+		IntPtr _purple_reserved4;
 
 	}
 
============================================================
--- libpurple/wrapper/PurpleEventLoopUiOps.cs	60bab670242475ab2c2acddff37c3efdc3338b1f
+++ libpurple/wrapper/PurpleEventLoopUiOps.cs	1fd7a5f3e2f4066845545d1b7e0a5355ab6a744f
@@ -50,7 +50,7 @@ namespace PurpleWrapper
 			this.Data = (_PurpleEventLoopUiOps)Marshal.PtrToStructure(this.Reference, typeof(_PurpleEventLoopUiOps));
 		}
 
-		public uint timeout_add
+		public IntPtr timeout_add
 		{
 			get
 			{
@@ -65,7 +65,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public bool timeout_remove
+		public IntPtr timeout_remove
 		{
 			get
 			{
@@ -80,7 +80,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public uint input_add
+		public IntPtr input_add
 		{
 			get
 			{
@@ -95,7 +95,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public bool input_remove
+		public IntPtr input_remove
 		{
 			get
 			{
@@ -110,7 +110,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public int input_get_error
+		public IntPtr input_get_error
 		{
 			get
 			{
@@ -125,7 +125,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public uint timeout_add_seconds
+		public IntPtr timeout_add_seconds
 		{
 			get
 			{
@@ -140,7 +140,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved2
+		public IntPtr _purple_reserved2
 		{
 			get
 			{
@@ -155,7 +155,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved3
+		public IntPtr _purple_reserved3
 		{
 			get
 			{
@@ -170,7 +170,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved4
+		public IntPtr _purple_reserved4
 		{
 			get
 			{
@@ -194,47 +194,47 @@ namespace PurpleWrapper
 		/*
 		 * guint (*timeout_add)(guint interval, GSourceFunc function, gpointer data)
 		 */
-		uint timeout_add;
+		IntPtr timeout_add;
 
 		/*
 		 * gboolean (*timeout_remove)(guint handle)
 		 */
-		bool timeout_remove;
+		IntPtr timeout_remove;
 
 		/*
 		 * guint (*input_add)(int fd, PurpleInputCondition cond, PurpleInputFunction func, gpointer user_data)
 		 */
-		uint input_add;
+		IntPtr input_add;
 
 		/*
 		 * gboolean (*input_remove)(guint handle)
 		 */
-		bool input_remove;
+		IntPtr input_remove;
 
 		/*
 		 * int (*input_get_error)(int fd, int * error)
 		 */
-		int input_get_error;
+		IntPtr input_get_error;
 
 		/*
 		 * guint (*timeout_add_seconds)(guint interval, GSourceFunc function, gpointer data)
 		 */
-		uint timeout_add_seconds;
+		IntPtr timeout_add_seconds;
 
 		/*
-		 * void (*purple_reserved2)()
+		 * void (*_purple_reserved2)()
 		 */
-		void purple_reserved2;
+		IntPtr _purple_reserved2;
 
 		/*
-		 * void (*purple_reserved3)()
+		 * void (*_purple_reserved3)()
 		 */
-		void purple_reserved3;
+		IntPtr _purple_reserved3;
 
 		/*
-		 * void (*purple_reserved4)()
+		 * void (*_purple_reserved4)()
 		 */
-		void purple_reserved4;
+		IntPtr _purple_reserved4;
 
 	}
 
============================================================
--- libpurple/wrapper/PurpleKeyValuePair.cs	02498c73f48913f2383b26fea09b192163a28579
+++ libpurple/wrapper/PurpleKeyValuePair.cs	45fc3d45fd6e4454f7bcbfe10bb6718a99726123
@@ -89,7 +89,7 @@ namespace PurpleWrapper
 		/*
 		 * gchar * key
 		 */
-		string key;
+		IntPtr key;
 
 		/*
 		 * void * value
============================================================
--- libpurple/wrapper/PurpleLogLogger.cs	c6abab60a68b9e4e05f7157ecf340664e013ff6a
+++ libpurple/wrapper/PurpleLogLogger.cs	a74dcf6a9727cba7db1aeb84e0d0c89f423c1e09
@@ -40,24 +40,363 @@ 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)
 		{
-			throw new NotImplementedException();
+			this.Reference = reference;
+			this.Data = (_PurpleLogLogger)Marshal.PtrToStructure(this.Reference, typeof(_PurpleLogLogger));
 		}
 
+		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 IntPtr 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 IntPtr write
+		{
+			get
+			{
+				return this.Data.write;
+			}
+			set
+			{
+				if (this.Reference != IntPtr.Zero)
+					this.Reference = IntPtr.Zero;
+
+				this.Data.write = value;
+			}
+		}
+
+		public IntPtr 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 IntPtr 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 IntPtr read
+		{
+			get
+			{
+				return this.Data.read;
+			}
+			set
+			{
+				if (this.Reference != IntPtr.Zero)
+					this.Reference = IntPtr.Zero;
+
+				this.Data.read = value;
+			}
+		}
+
+		public IntPtr size
+		{
+			get
+			{
+				return this.Data.size;
+			}
+			set
+			{
+				if (this.Reference != IntPtr.Zero)
+					this.Reference = IntPtr.Zero;
+
+				this.Data.size = value;
+			}
+		}
+
+		public IntPtr total_size
+		{
+			get
+			{
+				return this.Data.total_size;
+			}
+			set
+			{
+				if (this.Reference != IntPtr.Zero)
+					this.Reference = IntPtr.Zero;
+
+				this.Data.total_size = value;
+			}
+		}
+
+		public IntPtr 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 IntPtr 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 IntPtr remove
+		{
+			get
+			{
+				return this.Data.remove;
+			}
+			set
+			{
+				if (this.Reference != IntPtr.Zero)
+					this.Reference = IntPtr.Zero;
+
+				this.Data.remove = value;
+			}
+		}
+
+		public IntPtr is_deletable
+		{
+			get
+			{
+				return this.Data.is_deletable;
+			}
+			set
+			{
+				if (this.Reference != IntPtr.Zero)
+					this.Reference = IntPtr.Zero;
+
+				this.Data.is_deletable = value;
+			}
+		}
+
+		public IntPtr _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 IntPtr _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 IntPtr _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 IntPtr _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 { }
+	class _PurpleLogLogger
+	{
+		/*
+		 * char * name
+		 */
+		IntPtr name;
+
+		/*
+		 * char * id
+		 */
+		IntPtr id;
+
+		/*
+		 * void (*create)(PurpleLog * log)
+		 */
+		IntPtr create;
+
+		/*
+		 * gsize (*write)(PurpleLog * log, PurpleMessageFlags type, char * from, time_t time, char * message)
+		 */
+		IntPtr write;
+
+		/*
+		 * void (*finalize)(PurpleLog * log)
+		 */
+		IntPtr finalize;
+
+		/*
+		 * GList * (*list)(PurpleLogType type, char * name, PurpleAccount * account)
+		 */
+		IntPtr list;
+
+		/*
+		 * char * (*read)(PurpleLog * log, PurpleLogReadFlags * flags)
+		 */
+		IntPtr read;
+
+		/*
+		 * int (*size)(PurpleLog * log)
+		 */
+		IntPtr size;
+
+		/*
+		 * int (*total_size)(PurpleLogType type, char * name, PurpleAccount * account)
+		 */
+		IntPtr total_size;
+
+		/*
+		 * GList * (*list_syslog)(PurpleAccount * account)
+		 */
+		IntPtr list_syslog;
+
+		/*
+		 * void (*get_log_sets)(PurpleLogSetCallback cb, GHashTable * sets)
+		 */
+		IntPtr get_log_sets;
+
+		/*
+		 * gboolean (*remove)(PurpleLog * log)
+		 */
+		IntPtr remove;
+
+		/*
+		 * gboolean (*is_deletable)(PurpleLog * log)
+		 */
+		IntPtr is_deletable;
+
+		/*
+		 * void (*_purple_reserved1)()
+		 */
+		IntPtr _purple_reserved1;
+
+		/*
+		 * void (*_purple_reserved2)()
+		 */
+		IntPtr _purple_reserved2;
+
+		/*
+		 * void (*_purple_reserved3)()
+		 */
+		IntPtr _purple_reserved3;
+
+		/*
+		 * void (*_purple_reserved4)()
+		 */
+		IntPtr _purple_reserved4;
+
+	}
+
 }
 
============================================================
--- libpurple/wrapper/PurpleLogSet.cs	78e59157ba92e702f267262d3b2aed7a2ca81c49
+++ libpurple/wrapper/PurpleLogSet.cs	be514926e2e1ffe8c7506e98c4e1a1c8bcad0b98
@@ -134,27 +134,27 @@ namespace PurpleWrapper
 		/*
 		 * PurpleLogType type
 		 */
-		Log.PurpleLogType type;
+		/* Cannot generate struct for type KnownEnum */
 
 		/*
 		 * char * name
 		 */
-		string name;
+		IntPtr name;
 
 		/*
 		 * PurpleAccount * account
 		 */
-		IntPtr account;
+		/* Cannot generate struct for type PointerToKnownStruct */
 
 		/*
 		 * gboolean buddy
 		 */
-		bool buddy;
+		IntPtr buddy;
 
 		/*
 		 * char * normalized_name
 		 */
-		string normalized_name;
+		IntPtr normalized_name;
 
 	}
 
============================================================
--- libpurple/wrapper/PurplePluginAction.cs	e5e262e392739b2b7b1cb56c2c12f48e11d585be
+++ libpurple/wrapper/PurplePluginAction.cs	402452e735c7ab2d60717f3cf080d349aaf0c1b7
@@ -65,7 +65,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void callback
+		public IntPtr callback
 		{
 			get
 			{
@@ -134,17 +134,17 @@ namespace PurpleWrapper
 		/*
 		 * char * label
 		 */
-		string label;
+		IntPtr label;
 
 		/*
 		 * void (*callback)(PurplePluginAction * )
 		 */
-		void callback;
+		IntPtr callback;
 
 		/*
 		 * PurplePlugin * plugin
 		 */
-		IntPtr plugin;
+		/* Cannot generate struct for type PointerToKnownStruct */
 
 		/*
 		 * gpointer context
============================================================
--- libpurple/wrapper/PurplePluginUiInfo.cs	c81b5347ad038129b014796d65c543ca5c08b96e
+++ libpurple/wrapper/PurplePluginUiInfo.cs	a138eb4da883550f1df400963be3bd825f24182a
@@ -42,7 +42,7 @@ namespace PurpleWrapper
 	{
 		/* 
 		 * 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)).
+		 * Message: The type could not be resolved (PurplePluginPrefFrame * frame).
 		 */
 
 		public PurplePluginUiInfo()
============================================================
--- libpurple/wrapper/PurpleRoomlistField.cs	1f0ee7edf5e19521d54a4387c123ef8b701c7760
+++ libpurple/wrapper/PurpleRoomlistField.cs	c8fcc34026be86d58ebde5d8d2cf63ba9e472988
@@ -119,22 +119,22 @@ namespace PurpleWrapper
 		/*
 		 * PurpleRoomlistFieldType type
 		 */
-		Roomlist.PurpleRoomlistFieldType type;
+		/* Cannot generate struct for type KnownEnum */
 
 		/*
 		 * gchar * label
 		 */
-		string label;
+		IntPtr label;
 
 		/*
 		 * gchar * name
 		 */
-		string name;
+		IntPtr name;
 
 		/*
 		 * gboolean hidden
 		 */
-		bool hidden;
+		IntPtr hidden;
 
 	}
 
============================================================
--- libpurple/wrapper/PurpleRoomlistUiOps.cs	5d66a1512c93e587e6d66d4df72be59582272e44
+++ libpurple/wrapper/PurpleRoomlistUiOps.cs	b6a8da0536e90cbc43cbbb27a637cc7f00aecf2d
@@ -50,7 +50,7 @@ namespace PurpleWrapper
 			this.Data = (_PurpleRoomlistUiOps)Marshal.PtrToStructure(this.Reference, typeof(_PurpleRoomlistUiOps));
 		}
 
-		public void show_with_account
+		public IntPtr show_with_account
 		{
 			get
 			{
@@ -65,7 +65,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void create
+		public IntPtr create
 		{
 			get
 			{
@@ -80,7 +80,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void set_fields
+		public IntPtr set_fields
 		{
 			get
 			{
@@ -95,7 +95,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void add_room
+		public IntPtr add_room
 		{
 			get
 			{
@@ -110,7 +110,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void in_progress
+		public IntPtr in_progress
 		{
 			get
 			{
@@ -125,7 +125,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void destroy
+		public IntPtr destroy
 		{
 			get
 			{
@@ -140,7 +140,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved1
+		public IntPtr _purple_reserved1
 		{
 			get
 			{
@@ -155,7 +155,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved2
+		public IntPtr _purple_reserved2
 		{
 			get
 			{
@@ -170,7 +170,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved3
+		public IntPtr _purple_reserved3
 		{
 			get
 			{
@@ -185,7 +185,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved4
+		public IntPtr _purple_reserved4
 		{
 			get
 			{
@@ -209,52 +209,52 @@ namespace PurpleWrapper
 		/*
 		 * void (*show_with_account)(PurpleAccount * account)
 		 */
-		void show_with_account;
+		IntPtr show_with_account;
 
 		/*
 		 * void (*create)(PurpleRoomlist * list)
 		 */
-		void create;
+		IntPtr create;
 
 		/*
 		 * void (*set_fields)(PurpleRoomlist * list, GList * fields)
 		 */
-		void set_fields;
+		IntPtr set_fields;
 
 		/*
 		 * void (*add_room)(PurpleRoomlist * list, PurpleRoomlistRoom * room)
 		 */
-		void add_room;
+		IntPtr add_room;
 
 		/*
 		 * void (*in_progress)(PurpleRoomlist * list, gboolean flag)
 		 */
-		void in_progress;
+		IntPtr in_progress;
 
 		/*
 		 * void (*destroy)(PurpleRoomlist * list)
 		 */
-		void destroy;
+		IntPtr destroy;
 
 		/*
-		 * void (*purple_reserved1)()
+		 * void (*_purple_reserved1)()
 		 */
-		void purple_reserved1;
+		IntPtr _purple_reserved1;
 
 		/*
-		 * void (*purple_reserved2)()
+		 * void (*_purple_reserved2)()
 		 */
-		void purple_reserved2;
+		IntPtr _purple_reserved2;
 
 		/*
-		 * void (*purple_reserved3)()
+		 * void (*_purple_reserved3)()
 		 */
-		void purple_reserved3;
+		IntPtr _purple_reserved3;
 
 		/*
-		 * void (*purple_reserved4)()
+		 * void (*_purple_reserved4)()
 		 */
-		void purple_reserved4;
+		IntPtr _purple_reserved4;
 
 	}
 
============================================================
--- libpurple/wrapper/PurpleSoundUiOps.cs	09dba0e8018c98a51920b59d97946e0c82784a42
+++ libpurple/wrapper/PurpleSoundUiOps.cs	865acdf3f21da3fc51b2a7bfde56c95a549be5bf
@@ -50,7 +50,7 @@ namespace PurpleWrapper
 			this.Data = (_PurpleSoundUiOps)Marshal.PtrToStructure(this.Reference, typeof(_PurpleSoundUiOps));
 		}
 
-		public void init
+		public IntPtr init
 		{
 			get
 			{
@@ -65,7 +65,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void uninit
+		public IntPtr uninit
 		{
 			get
 			{
@@ -80,7 +80,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void play_file
+		public IntPtr play_file
 		{
 			get
 			{
@@ -95,7 +95,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void play_event
+		public IntPtr play_event
 		{
 			get
 			{
@@ -110,7 +110,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved1
+		public IntPtr _purple_reserved1
 		{
 			get
 			{
@@ -125,7 +125,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved2
+		public IntPtr _purple_reserved2
 		{
 			get
 			{
@@ -140,7 +140,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved3
+		public IntPtr _purple_reserved3
 		{
 			get
 			{
@@ -155,7 +155,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved4
+		public IntPtr _purple_reserved4
 		{
 			get
 			{
@@ -179,42 +179,42 @@ namespace PurpleWrapper
 		/*
 		 * void (*init)()
 		 */
-		void init;
+		IntPtr init;
 
 		/*
 		 * void (*uninit)()
 		 */
-		void uninit;
+		IntPtr uninit;
 
 		/*
 		 * void (*play_file)(char * filename)
 		 */
-		void play_file;
+		IntPtr play_file;
 
 		/*
 		 * void (*play_event)(PurpleSoundEventID event)
 		 */
-		void play_event;
+		IntPtr play_event;
 
 		/*
-		 * void (*purple_reserved1)()
+		 * void (*_purple_reserved1)()
 		 */
-		void purple_reserved1;
+		IntPtr _purple_reserved1;
 
 		/*
-		 * void (*purple_reserved2)()
+		 * void (*_purple_reserved2)()
 		 */
-		void purple_reserved2;
+		IntPtr _purple_reserved2;
 
 		/*
-		 * void (*purple_reserved3)()
+		 * void (*_purple_reserved3)()
 		 */
-		void purple_reserved3;
+		IntPtr _purple_reserved3;
 
 		/*
-		 * void (*purple_reserved4)()
+		 * void (*_purple_reserved4)()
 		 */
-		void purple_reserved4;
+		IntPtr _purple_reserved4;
 
 	}
 
============================================================
--- libpurple/wrapper/PurpleSrvResponse.cs	58bdb110febc7499c250e37c1d5817602aa53185
+++ libpurple/wrapper/PurpleSrvResponse.cs	fe81546eda5b86a43e801d9afaba949e3954380e
@@ -119,22 +119,22 @@ namespace PurpleWrapper
 		/*
 		 * char hostname[256]
 		 */
-		char hostname[256];
+		IntPtr hostname[256];
 
 		/*
 		 * int port
 		 */
-		int port;
+		IntPtr port;
 
 		/*
 		 * int weight
 		 */
-		int weight;
+		IntPtr weight;
 
 		/*
 		 * int pref
 		 */
-		int pref;
+		IntPtr pref;
 
 	}
 
============================================================
--- libpurple/wrapper/PurpleStunNatDiscovery.cs	52463e3ebaf3d5e974d55595cac98aaacc031e2b
+++ libpurple/wrapper/PurpleStunNatDiscovery.cs	9b73d538d6b6dc9fd59d56b65bec004e96689f9f
@@ -134,22 +134,22 @@ namespace PurpleWrapper
 		/*
 		 * PurpleStunStatus status
 		 */
-		Stun.PurpleStunStatus status;
+		/* Cannot generate struct for type KnownEnum */
 
 		/*
 		 * PurpleStunNatType type
 		 */
-		Stun.PurpleStunNatType type;
+		/* Cannot generate struct for type KnownEnum */
 
 		/*
 		 * char publicip[16]
 		 */
-		char publicip[16];
+		IntPtr publicip[16];
 
 		/*
 		 * char * servername
 		 */
-		string servername;
+		IntPtr servername;
 
 		/*
 		 * time_t lookup_time
============================================================
--- libpurple/wrapper/PurpleTheme.cs	939df3028a452bed02c28f81ae5b9279b3b66c71
+++ libpurple/wrapper/PurpleTheme.cs	341e56816ba0feffc27381a1490166e45f025ece
@@ -89,7 +89,7 @@ namespace PurpleWrapper
 		/*
 		 * GObject parent
 		 */
-		IntPtr parent;
+		/* Cannot generate struct for type GObjectObject */
 
 		/*
 		 * gpointer priv
============================================================
--- libpurple/wrapper/PurpleThemeClass.cs	8ef2fdec00651938efe393d5476c7def81b4ac82
+++ libpurple/wrapper/PurpleThemeClass.cs	f06af203c34252a29f33a739a399a08e8bf94767
@@ -74,7 +74,7 @@ namespace PurpleWrapper
 		/*
 		 * GObjectClass parent_class
 		 */
-		IntPtr parent_class;
+		/* Cannot generate struct for type GObjectObject */
 
 	}
 
============================================================
--- libpurple/wrapper/PurpleThemeLoader.cs	fdebb6118fb87d35214d10697b2337dc02ec2ae0
+++ libpurple/wrapper/PurpleThemeLoader.cs	da29f32aacf47cd38f7fcfb077166013bfbab8a4
@@ -89,7 +89,7 @@ namespace PurpleWrapper
 		/*
 		 * GObject parent
 		 */
-		IntPtr parent;
+		/* Cannot generate struct for type GObjectObject */
 
 		/*
 		 * gpointer priv
============================================================
--- libpurple/wrapper/PurpleThemeLoaderClass.cs	db187cd529e825bc07d331cf9c9c73f2d3afbebf
+++ libpurple/wrapper/PurpleThemeLoaderClass.cs	9011ed7cb65c3c925d748f0175ce802bed3f8af0
@@ -89,12 +89,12 @@ namespace PurpleWrapper
 		/*
 		 * GObjectClass parent_class
 		 */
-		IntPtr parent_class;
+		/* Cannot generate struct for type GObjectObject */
 
 		/*
 		 * PurpleTheme * ((*purple_theme_loader_build)(const gchar*))
 		 */
-		IntPtr ((*purple_theme_loader_build)(const gchar*));
+		/* Cannot generate struct for type PointerToKnownStruct */
 
 	}
 
============================================================
--- libpurple/wrapper/PurpleThemeManager.cs	af0701640d2dd00c001f498cab2a39826f3c3b27
+++ libpurple/wrapper/PurpleThemeManager.cs	d99ebbcfc9173f16eb12a670f8937201509f948d
@@ -74,7 +74,7 @@ namespace PurpleWrapper
 		/*
 		 * GObject parent
 		 */
-		IntPtr parent;
+		/* Cannot generate struct for type GObjectObject */
 
 	}
 
============================================================
--- libpurple/wrapper/PurpleThemeManagerClass.cs	f2956a2743a0088a98b6e8d8997225f9414fa430
+++ libpurple/wrapper/PurpleThemeManagerClass.cs	0972df93994c6969b4cf4407c588aba5d46794a0
@@ -74,7 +74,7 @@ namespace PurpleWrapper
 		/*
 		 * GObjectClass parent_class
 		 */
-		IntPtr parent_class;
+		/* Cannot generate struct for type GObjectObject */
 
 	}
 
============================================================
--- libpurple/wrapper/PurpleWhiteboardPrplOps.cs	d365c02abfa2a9ad02613b400745eeab25fe461a
+++ libpurple/wrapper/PurpleWhiteboardPrplOps.cs	903f3ea21acd69bd5f72eb88cb3dcb8df27f7d9c
@@ -50,7 +50,7 @@ namespace PurpleWrapper
 			this.Data = (_PurpleWhiteboardPrplOps)Marshal.PtrToStructure(this.Reference, typeof(_PurpleWhiteboardPrplOps));
 		}
 
-		public void start
+		public IntPtr start
 		{
 			get
 			{
@@ -65,7 +65,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void end
+		public IntPtr end
 		{
 			get
 			{
@@ -80,7 +80,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void get_dimensions
+		public IntPtr get_dimensions
 		{
 			get
 			{
@@ -95,7 +95,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void set_dimensions
+		public IntPtr set_dimensions
 		{
 			get
 			{
@@ -110,7 +110,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void get_brush
+		public IntPtr get_brush
 		{
 			get
 			{
@@ -125,7 +125,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void set_brush
+		public IntPtr set_brush
 		{
 			get
 			{
@@ -140,7 +140,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void send_draw_list
+		public IntPtr send_draw_list
 		{
 			get
 			{
@@ -155,7 +155,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void clear
+		public IntPtr clear
 		{
 			get
 			{
@@ -170,7 +170,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved1
+		public IntPtr _purple_reserved1
 		{
 			get
 			{
@@ -185,7 +185,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved2
+		public IntPtr _purple_reserved2
 		{
 			get
 			{
@@ -200,7 +200,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved3
+		public IntPtr _purple_reserved3
 		{
 			get
 			{
@@ -215,7 +215,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved4
+		public IntPtr _purple_reserved4
 		{
 			get
 			{
@@ -239,62 +239,62 @@ namespace PurpleWrapper
 		/*
 		 * void (*start)(PurpleWhiteboard * wb)
 		 */
-		void start;
+		IntPtr start;
 
 		/*
 		 * void (*end)(PurpleWhiteboard * wb)
 		 */
-		void end;
+		IntPtr end;
 
 		/*
 		 * void (*get_dimensions)(PurpleWhiteboard * wb, int * width, int * height)
 		 */
-		void get_dimensions;
+		IntPtr get_dimensions;
 
 		/*
 		 * void (*set_dimensions)(PurpleWhiteboard * wb, int width, int height)
 		 */
-		void set_dimensions;
+		IntPtr set_dimensions;
 
 		/*
 		 * void (*get_brush)(PurpleWhiteboard * wb, int * size, int * color)
 		 */
-		void get_brush;
+		IntPtr get_brush;
 
 		/*
 		 * void (*set_brush)(PurpleWhiteboard * wb, int size, int color)
 		 */
-		void set_brush;
+		IntPtr set_brush;
 
 		/*
 		 * void (*send_draw_list)(PurpleWhiteboard * wb, GList * draw_list)
 		 */
-		void send_draw_list;
+		IntPtr send_draw_list;
 
 		/*
 		 * void (*clear)(PurpleWhiteboard * wb)
 		 */
-		void clear;
+		IntPtr clear;
 
 		/*
-		 * void (*purple_reserved1)()
+		 * void (*_purple_reserved1)()
 		 */
-		void purple_reserved1;
+		IntPtr _purple_reserved1;
 
 		/*
-		 * void (*purple_reserved2)()
+		 * void (*_purple_reserved2)()
 		 */
-		void purple_reserved2;
+		IntPtr _purple_reserved2;
 
 		/*
-		 * void (*purple_reserved3)()
+		 * void (*_purple_reserved3)()
 		 */
-		void purple_reserved3;
+		IntPtr _purple_reserved3;
 
 		/*
-		 * void (*purple_reserved4)()
+		 * void (*_purple_reserved4)()
 		 */
-		void purple_reserved4;
+		IntPtr _purple_reserved4;
 
 	}
 
============================================================
--- libpurple/wrapper/PurpleWhiteboardUiOps.cs	0db4c273647a9133290c51b0cdebba582f9cc00e
+++ libpurple/wrapper/PurpleWhiteboardUiOps.cs	3fcf24bd44a1da31f593cde93bf11952898d8761
@@ -50,7 +50,7 @@ namespace PurpleWrapper
 			this.Data = (_PurpleWhiteboardUiOps)Marshal.PtrToStructure(this.Reference, typeof(_PurpleWhiteboardUiOps));
 		}
 
-		public void create
+		public IntPtr create
 		{
 			get
 			{
@@ -65,7 +65,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void destroy
+		public IntPtr destroy
 		{
 			get
 			{
@@ -80,7 +80,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void set_dimensions
+		public IntPtr set_dimensions
 		{
 			get
 			{
@@ -95,7 +95,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void set_brush
+		public IntPtr set_brush
 		{
 			get
 			{
@@ -110,7 +110,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void draw_point
+		public IntPtr draw_point
 		{
 			get
 			{
@@ -125,7 +125,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void draw_line
+		public IntPtr draw_line
 		{
 			get
 			{
@@ -140,7 +140,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void clear
+		public IntPtr clear
 		{
 			get
 			{
@@ -155,7 +155,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved1
+		public IntPtr _purple_reserved1
 		{
 			get
 			{
@@ -170,7 +170,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved2
+		public IntPtr _purple_reserved2
 		{
 			get
 			{
@@ -185,7 +185,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved3
+		public IntPtr _purple_reserved3
 		{
 			get
 			{
@@ -200,7 +200,7 @@ namespace PurpleWrapper
 			}
 		}
 
-		public void purple_reserved4
+		public IntPtr _purple_reserved4
 		{
 			get
 			{
@@ -224,57 +224,57 @@ namespace PurpleWrapper
 		/*
 		 * void (*create)(PurpleWhiteboard * wb)
 		 */
-		void create;
+		IntPtr create;
 
 		/*
 		 * void (*destroy)(PurpleWhiteboard * wb)
 		 */
-		void destroy;
+		IntPtr destroy;
 
 		/*
 		 * void (*set_dimensions)(PurpleWhiteboard * wb, int width, int height)
 		 */
-		void set_dimensions;
+		IntPtr set_dimensions;
 
 		/*
 		 * void (*set_brush)(PurpleWhiteboard * wb, int size, int color)
 		 */
-		void set_brush;
+		IntPtr set_brush;
 
 		/*
 		 * void (*draw_point)(PurpleWhiteboard * wb, int x, int y, int color, int size)
 		 */
-		void draw_point;
+		IntPtr draw_point;
 
 		/*
 		 * void (*draw_line)(PurpleWhiteboard * wb, int x1, int y1, int x2, int y2, int color, int size)
 		 */
-		void draw_line;
+		IntPtr draw_line;
 
 		/*
 		 * void (*clear)(PurpleWhiteboard * wb)
 		 */
-		void clear;
+		IntPtr clear;
 
 		/*
-		 * void (*purple_reserved1)()
+		 * void (*_purple_reserved1)()
 		 */
-		void purple_reserved1;
+		IntPtr _purple_reserved1;
 
 		/*
-		 * void (*purple_reserved2)()
+		 * void (*_purple_reserved2)()
 		 */
-		void purple_reserved2;
+		IntPtr _purple_reserved2;
 
 		/*
-		 * void (*purple_reserved3)()
+		 * void (*_purple_reserved3)()
 		 */
-		void purple_reserved3;
+		IntPtr _purple_reserved3;
 
 		/*
-		 * void (*purple_reserved4)()
+		 * void (*_purple_reserved4)()
 		 */
-		void purple_reserved4;
+		IntPtr _purple_reserved4;
 
 	}
 
============================================================
--- libpurple/wrapper/Server.cs	7e6ab0d6acdc6b078c717a8839e606078d2505d9
+++ libpurple/wrapper/Server.cs	06a626a379cb65c92a6ca9fd3811c95f38984995
@@ -56,9 +56,9 @@ namespace PurpleWrapper
 		 * void serv_move_buddy(PurpleBuddy * , PurpleGroup * , PurpleGroup * )
 		 */
 		[DllImport("libpurple.dll")]
-		private static extern void serv_move_buddy(IntPtr , IntPtr , IntPtr );
+		private static extern void serv_move_buddy(IntPtr _PurpleWrapper_arg0, IntPtr _PurpleWrapper_arg1, IntPtr _PurpleWrapper_arg2);
 
-		public static void ServMoveBuddy(PurpleBuddy , PurpleGroup , PurpleGroup )
+		public static void ServMoveBuddy(PurpleBuddy _PurpleWrapper_arg0, PurpleGroup _PurpleWrapper_arg1, PurpleGroup _PurpleWrapper_arg2)
 		{
 			serv_move_buddy(.Reference, .Reference, .Reference);
 		}
@@ -67,9 +67,9 @@ namespace PurpleWrapper
 		 * int serv_send_im(PurpleConnection * , char * , char * , PurpleMessageFlags flags)
 		 */
 		[DllImport("libpurple.dll")]
-		private static extern int serv_send_im(IntPtr , string , string , Conversation.PurpleMessageFlags flags);
+		private static extern int serv_send_im(IntPtr _PurpleWrapper_arg0, string _PurpleWrapper_arg1, string _PurpleWrapper_arg2, Conversation.PurpleMessageFlags flags);
 
-		public static int ServSendIm(PurpleConnection , string , string , Conversation.PurpleMessageFlags flags)
+		public static int ServSendIm(PurpleConnection _PurpleWrapper_arg0, string _PurpleWrapper_arg1, string _PurpleWrapper_arg2, Conversation.PurpleMessageFlags flags)
 		{
 			/* Unable to process flags, a KnownEnum. */
 			throw new NotImplementedException();
@@ -112,9 +112,9 @@ namespace PurpleWrapper
 		 * void serv_get_info(PurpleConnection * , char * )
 		 */
 		[DllImport("libpurple.dll")]
-		private static extern void serv_get_info(IntPtr , string );
+		private static extern void serv_get_info(IntPtr _PurpleWrapper_arg0, string _PurpleWrapper_arg1);
 
-		public static void ServGetInfo(PurpleConnection , string )
+		public static void ServGetInfo(PurpleConnection _PurpleWrapper_arg0, string _PurpleWrapper_arg1)
 		{
 			serv_get_info(.Reference, );
 		}
@@ -123,9 +123,9 @@ namespace PurpleWrapper
 		 * void serv_set_info(PurpleConnection * , char * )
 		 */
 		[DllImport("libpurple.dll")]
-		private static extern void serv_set_info(IntPtr , string );
+		private static extern void serv_set_info(IntPtr _PurpleWrapper_arg0, string _PurpleWrapper_arg1);
 
-		public static void ServSetInfo(PurpleConnection , string )
+		public static void ServSetInfo(PurpleConnection _PurpleWrapper_arg0, string _PurpleWrapper_arg1)
 		{
 			serv_set_info(.Reference, );
 		}
@@ -134,9 +134,9 @@ namespace PurpleWrapper
 		 * void serv_add_permit(PurpleConnection * , char * )
 		 */
 		[DllImport("libpurple.dll")]
-		private static extern void serv_add_permit(IntPtr , string );
+		private static extern void serv_add_permit(IntPtr _PurpleWrapper_arg0, string _PurpleWrapper_arg1);
 
-		public static void ServAddPermit(PurpleConnection , string )
+		public static void ServAddPermit(PurpleConnection _PurpleWrapper_arg0, string _PurpleWrapper_arg1)
 		{
 			serv_add_permit(.Reference, );
 		}
@@ -145,9 +145,9 @@ namespace PurpleWrapper
 		 * void serv_add_deny(PurpleConnection * , char * )
 		 */
 		[DllImport("libpurple.dll")]
-		private static extern void serv_add_deny(IntPtr , string );
+		private static extern void serv_add_deny(IntPtr _PurpleWrapper_arg0, string _PurpleWrapper_arg1);
 
-		public static void ServAddDeny(PurpleConnection , string )
+		public static void ServAddDeny(PurpleConnection _PurpleWrapper_arg0, string _PurpleWrapper_arg1)
 		{
 			serv_add_deny(.Reference, );
 		}
@@ -156,9 +156,9 @@ namespace PurpleWrapper
 		 * void serv_rem_permit(PurpleConnection * , char * )
 		 */
 		[DllImport("libpurple.dll")]
-		private static extern void serv_rem_permit(IntPtr , string );
+		private static extern void serv_rem_permit(IntPtr _PurpleWrapper_arg0, string _PurpleWrapper_arg1);
 
-		public static void ServRemPermit(PurpleConnection , string )
+		public static void ServRemPermit(PurpleConnection _PurpleWrapper_arg0, string _PurpleWrapper_arg1)
 		{
 			serv_rem_permit(.Reference, );
 		}
@@ -167,9 +167,9 @@ namespace PurpleWrapper
 		 * void serv_rem_deny(PurpleConnection * , char * )
 		 */
 		[DllImport("libpurple.dll")]
-		private static extern void serv_rem_deny(IntPtr , string );
+		private static extern void serv_rem_deny(IntPtr _PurpleWrapper_arg0, string _PurpleWrapper_arg1);
 
-		public static void ServRemDeny(PurpleConnection , string )
+		public static void ServRemDeny(PurpleConnection _PurpleWrapper_arg0, string _PurpleWrapper_arg1)
 		{
 			serv_rem_deny(.Reference, );
 		}
@@ -178,9 +178,9 @@ namespace PurpleWrapper
 		 * void serv_set_permit_deny(PurpleConnection * )
 		 */
 		[DllImport("libpurple.dll")]
-		private static extern void serv_set_permit_deny(IntPtr );
+		private static extern void serv_set_permit_deny(IntPtr _PurpleWrapper_arg0);
 
-		public static void ServSetPermitDeny(PurpleConnection )
+		public static void ServSetPermitDeny(PurpleConnection _PurpleWrapper_arg0)
 		{
 			serv_set_permit_deny(.Reference);
 		}
@@ -217,9 +217,9 @@ namespace PurpleWrapper
 		 * void serv_alias_buddy(PurpleBuddy * )
 		 */
 		[DllImport("libpurple.dll")]
-		private static extern void serv_alias_buddy(IntPtr );
+		private static extern void serv_alias_buddy(IntPtr _PurpleWrapper_arg0);
 
-		public static void ServAliasBuddy(PurpleBuddy )
+		public static void ServAliasBuddy(PurpleBuddy _PurpleWrapper_arg0)
 		{
 			serv_alias_buddy(.Reference);
 		}
============================================================
--- libpurple/wrapper/generator/CArgument.cs	17ecc149d2068b3813f0022e8d4c3d61710398d9
+++ libpurple/wrapper/generator/CArgument.cs	f3a9dc67e900aa84c57d3c0aa85bb4edf1862d04
@@ -66,20 +66,61 @@ namespace Scripts
 
         public string GetCSharpPrivateFunction()
         {
-            if (this.IsEllipsis)
-                throw new UnableToCreateWrapperException("The function argument contains the ellipsis argument and cannot be automatically wrapped.");
-            else
-                return this.CSharpPrivateType + " " + this.SafeName;
+            return GetCSharpFunction(CSharpFunctionType.Private, 0, false);
         }
 
+        public string GetCSharpPrivateFunction(int argumentNumber)
+        {
+            return GetCSharpFunction(CSharpFunctionType.Private, argumentNumber, true);
+        }
+
         public string GetCSharpPublicFunction()
         {
+            return GetCSharpFunction(CSharpFunctionType.Public, 0, false);
+        }
+
+        public string GetCSharpPublicFunction(int argumentNumber)
+        {
+            return GetCSharpFunction(CSharpFunctionType.Public, argumentNumber, true);
+        }
+
+        private enum CSharpFunctionType { Public, Private };
+
+        private string GetCSharpFunction(CSharpFunctionType functionType, int argumentNumber, bool argumentNumberSupplied)
+        {
             if (this.IsEllipsis)
                 throw new UnableToCreateWrapperException("The function argument contains the ellipsis argument and cannot be automatically wrapped.");
             else
             {
-                return this.CSharpPublicType + " " + this.SafeName;
+                String result = "";
+
+                if (this.IsFunctionPointer)
+                    result = "IntPtr";
+                else
+                {
+                    switch (functionType)
+                    {
+                        case CSharpFunctionType.Private:
+                            result = this.CSharpPrivateType;
+                            break;
+
+                        case CSharpFunctionType.Public:
+                            result = this.CSharpPublicType;
+                            break;
+                    }
+                }
+
+                if (this.SafeName == "")
+                {
+                    if (argumentNumberSupplied)
+                        result += " _PurpleWrapper_arg" + argumentNumber;
+                }
+                else
+                    result += " " + this.SafeName;
+
+                return result;
             }
+
         }
     }
 }
============================================================
--- libpurple/wrapper/generator/CFunction.cs	b8292ba6ba8e9335d6c246bacd22c7b8c5a8a9c7
+++ libpurple/wrapper/generator/CFunction.cs	6867f79f605b6f0b687e9496df34725d83096210
@@ -58,7 +58,7 @@ namespace Scripts
                 if (i != 0)
                     str += ", ";
 
-                str += this.Arguments[i].GetCSharpPrivateFunction();
+                str += this.Arguments[i].GetCSharpPrivateFunction(i);
             }
 
             str += ")";
@@ -99,7 +99,7 @@ namespace Scripts
                 if (i != 0)
                     str += ", ";
 
-                str += this.Arguments[i].GetCSharpPublicFunction();
+                str += this.Arguments[i].GetCSharpPublicFunction(i);
             }
 
             str += ")";
============================================================
--- libpurple/wrapper/generator/CNamed.cs	d63df543c34227a3a13fd20d65c76032b7b5c64f
+++ libpurple/wrapper/generator/CNamed.cs	8ac15eead5fd97ece89f171db16ac741d0b8be2d
@@ -24,7 +24,7 @@ namespace Scripts
             }
             set
             {
-                if (value.Length > 0 && value[0] == '_')
+                if (value.Length > 0 && value[0] == '_' && !value.Contains("purple_reserved"))
                     name = value.Substring(1);
                 else
                     name = value;
============================================================
--- libpurple/wrapper/generator/WrapperGenerator.cs	c4d20be7d65d762e3cdceb4b49b9bcf8f81e2e12
+++ libpurple/wrapper/generator/WrapperGenerator.cs	03c8f9aadb735c481d6a846ac0abf32c8ec753e4
@@ -488,7 +488,29 @@ namespace Scripts
                             sb.AppendLine("\t\t/*");
                             sb.AppendLine("\t\t * " + argument.ToString());
                             sb.AppendLine("\t\t */");
-                            sb.AppendLine("\t\t" + argument.GetCSharpPrivateFunction() + ";");
+
+                            if (argument.IsFunctionPointer)
+                                sb.AppendLine("\t\tIntPtr " + argument.SafeName + ";");
+                            else
+                            {
+                                switch (argument.Category)
+                                {
+                                    case CTyped.TypeCategory.Native:
+                                    case CTyped.TypeCategory.VoidPointer:
+                                        sb.AppendLine("\t\tIntPtr " + argument.SafeName + ";");
+                                        break;
+
+                                    case CTyped.TypeCategory.DateTime:
+                                        sb.AppendLine("\t\tulong " + argument.SafeName + ";");
+                                        break;
+
+                                    default:
+                                        sb.AppendLine("\t\t/* Cannot generate struct for type " + argument.Category.ToString() + " */");
+                                        break;
+                                }
+                            }
+
+                            //sb.AppendLine("\t\t" + argument.GetCSharpPrivateFunction() + ";");
                             sb.AppendLine();
                         }
 
@@ -594,8 +616,8 @@ namespace Scripts
                                     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;
+                                    sb.AppendLine("\t\t\tulong _PurpleWrapper_param" + i + " = (ulong)(" + arg.SafeName + " - new DateTime(1970, 1, 1)).TotalSeconds;");
+                                    functionArgs[i] = "_PurpleWrapper_param" + i;
                                     break;
 
                                 default:


More information about the Commits mailing list