soc.2009.penguin.visualstudio: 10b3f93d: Contains a visual studio solution that c...
wade at soc.pidgin.im
wade at soc.pidgin.im
Sun Aug 2 09:46:33 EDT 2009
-----------------------------------------------------------------
Revision: 10b3f93df6357cf0329e0bcb06af1c25c9624228
Ancestor: bf38b103d6725932646c88b1d818e113d15e834e
Author: wade at soc.pidgin.im
Date: 2009-08-02T13:42:50
Branch: im.pidgin.soc.2009.penguin.visualstudio
URL: http://d.pidgin.im/viewmtn/revision/info/10b3f93df6357cf0329e0bcb06af1c25c9624228
Deleted entries:
libpurple/wrapper 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/PurpleCircBuffer.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/PurpleSoundUiOps.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/PurpleWhiteboardPrplOps.cs
libpurple/wrapper/PurpleWhiteboardUiOps.cs
libpurple/wrapper/PurpleWrapper.csproj
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/UnmanagedWrapper.cs
libpurple/wrapper/Upnp.cs libpurple/wrapper/Util.cs
libpurple/wrapper/Value.cs libpurple/wrapper/Version.cs
libpurple/wrapper/Whiteboard.cs
libpurple/wrapper/XMLNodeClass.cs
libpurple/wrapper/generator
libpurple/wrapper/generator/CArgument.cs
libpurple/wrapper/generator/CEnum.cs
libpurple/wrapper/generator/CFile.cs
libpurple/wrapper/generator/CFunction.cs
libpurple/wrapper/generator/CNamed.cs
libpurple/wrapper/generator/CStruct.cs
libpurple/wrapper/generator/CTyped.cs
libpurple/wrapper/generator/Logger.cs
libpurple/wrapper/generator/Program.cs
libpurple/wrapper/generator/Scripts.csproj
libpurple/wrapper/generator/UnableToCreateWrapperException.cs
libpurple/wrapper/generator/WrapperGenerator.cs
libpurple/wrapper/proto_chat_entry.cs
libpurple/wrapper/xmlnode.cs
Added files:
libpurple/win32/vs9/libpurple.vcproj
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/PurpleCircBuffer.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/PurpleSoundUiOps.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/PurpleWhiteboardPrplOps.cs
libpurple/wrapper/PurpleWhiteboardUiOps.cs
libpurple/wrapper/PurpleWrapper.csproj
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/UnmanagedWrapper.cs
libpurple/wrapper/Upnp.cs libpurple/wrapper/Util.cs
libpurple/wrapper/Value.cs libpurple/wrapper/Version.cs
libpurple/wrapper/Whiteboard.cs
libpurple/wrapper/XMLNodeClass.cs
libpurple/wrapper/generator/CArgument.cs
libpurple/wrapper/generator/CFunction.cs
libpurple/wrapper/generator/CNamed.cs
libpurple/wrapper/generator/CTyped.cs
libpurple/wrapper/generator/Logger.cs
libpurple/wrapper/generator/Program.cs
libpurple/wrapper/generator/Properties/AssemblyInfo.cs
libpurple/wrapper/generator/PurpleTranslations.cs
libpurple/wrapper/generator/Scripts.csproj
libpurple/wrapper/generator/Scripts.sln
libpurple/wrapper/generator/Scripts.suo
libpurple/wrapper/generator/WrapperGenerator.cs
libpurple/wrapper/proto_chat_entry.cs
libpurple/wrapper/xmlnode.cs penguin/GLib/README.txt
penguin/Penguin/Penguin.csproj penguin/Penguin/Program.cs
penguin/Penguin/Properties/AssemblyInfo.cs
penguin/Penguin/Properties/Resources.Designer.cs
penguin/Penguin/Properties/Resources.resx
penguin/Penguin/Properties/Settings.Designer.cs
penguin/Penguin/Properties/Settings.settings
penguin/Penguin/WelcomeForm.Designer.cs
penguin/Penguin/WelcomeForm.cs penguin/Penguin.sln
penguin/README.txt
Added directories:
libpurple/win32/vs9 libpurple/wrapper
libpurple/wrapper/generator
libpurple/wrapper/generator/Properties penguin penguin/GLib
penguin/Penguin penguin/Penguin/Properties
Modified files:
libpurple/config.h
Modified attrs:
libpurple/wrapper/generator/Scripts.suo
ChangeLog:
Contains a visual studio solution that completely, natively compiles libpurple in Visual Studio. However, it currently does not link libxml2 correctly. There is a working version locally with modified libxml2 source, but the goal is to have a build with a clean or nearly clean copy of the libxml2 source.
-------------- next part --------------
============================================================
--- libpurple/win32/vs9/libpurple.vcproj 83822b240c47011e2d2be43ca39ff2105eb58396
+++ libpurple/win32/vs9/libpurple.vcproj 83822b240c47011e2d2be43ca39ff2105eb58396
@@ -0,0 +1,461 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="libpurple"
+ ProjectGUID="{9F347485-0492-4473-B597-0444687EEE3F}"
+ RootNamespace="libpurple"
+ AssemblyReferenceSearchPaths=""..\..\..\penguin\libxml""
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="2"
+ InheritedPropertySheets="$(SolutionDir)vsprops\$(ConfigurationName)-$(PlatformName).vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""$(IntDir)\..\..\include\glib-2.0";"$(IntDir)\..\..\lib\glib-2.0\include";"$(ProjectDir)..\..";"$(ProjectDir)..\..\win32";"$(SolutionDir)""
+ PreprocessorDefinitions="HAVE_CONFIG_H"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ WarningLevel="3"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="Ws2_32.lib"
+ OutputFile="$(OutDir)\bin\$(ProjectName).dll"
+ ModuleDefinitionFile=""
+ GenerateDebugInformation="true"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="1"
+ CharacterSet="2"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ RuntimeLibrary="2"
+ EnableFunctionLevelLinking="true"
+ WarningLevel="3"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ GenerateDebugInformation="true"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ <ProjectReference
+ ReferencedProjectIdentifier="{12BCA020-EABF-429E-876A-A476BC9C10C0}"
+ CopyLocal="false"
+ RelativePathToProject=".\GLib\glib\win32\oa\libglib.vcproj"
+ />
+ <ProjectReference
+ ReferencedProjectIdentifier="{4214047C-F5C1-40B3-8369-5DCED8C32770}"
+ CopyLocal="false"
+ RelativePathToProject=".\GLib\glib\win32\oa\libgmodule.vcproj"
+ />
+ <ProjectReference
+ ReferencedProjectIdentifier="{C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}"
+ CopyLocal="false"
+ RelativePathToProject=".\GLib\glib\win32\oa\libgthread.vcproj"
+ />
+ <ProjectReference
+ ReferencedProjectIdentifier="{F172EFFC-E30F-4593-809E-DB2024B1E753}"
+ CopyLocal="false"
+ RelativePathToProject=".\GLib\glib\win32\oa\libgobject.vcproj"
+ />
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\..\account.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\accountopt.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\blist.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\buddyicon.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\certificate.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\cipher.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\circbuffer.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\cmds.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\connection.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\conversation.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\core.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\debug.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dnsquery.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dnssrv.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\eventloop.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\ft.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\idle.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\imgstore.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\log.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\media.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\mediamanager.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\mime.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\nat-pmp.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\network.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\notify.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\ntlm.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\plugin.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pluginpref.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\pounce.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\prefs.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\privacy.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\proxy.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\prpl.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\request.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\roomlist.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\savedstatuses.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\server.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\signals.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\smiley.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\sound-theme-loader.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\sound-theme.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\sound.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\sslconn.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\status.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\stringref.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\stun.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\theme-loader.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\theme-manager.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\theme.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\upnp.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\util.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\value.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\version.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\whiteboard.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\xmlnode.c"
+ >
+ </File>
+ <Filter
+ Name="win32"
+ >
+ <File
+ RelativePath="..\..\win32\giowin32.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\win32\libc_interface.c"
+ >
+ </File>
+ <File
+ RelativePath="..\..\win32\win32dep.c"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <Filter
+ Name="win32"
+ >
+ <File
+ RelativePath="..\..\win32\libc_interface.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\win32\libc_internal.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\win32\win32dep.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\win32\wpurpleerror.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
============================================================
--- libpurple/wrapper/Account.cs 0d38f3dc4287fa2798aad73f495689ff39c32730
+++ libpurple/wrapper/Account.cs 0d38f3dc4287fa2798aad73f495689ff39c32730
@@ -0,0 +1,1088 @@
+/* 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
+{
+
+ /*
+ * File: account.h
+ */
+ public class Account
+ {
+ public enum PurpleAccountRequestType
+ {
+ PURPLE_ACCOUNT_REQUEST_AUTHORIZATION = 0
+ };
+
+ public delegate bool PurpleFilterAccountFunc(IntPtr account);
+ public delegate void PurpleAccountRequestAuthorizationCb(IntPtr _PurpleWrapper_arg0);
+ public delegate void PurpleAccountRegistrationCb(IntPtr account, bool succeeded, IntPtr user_data);
+ public delegate void PurpleAccountUnregistrationCb(IntPtr account, bool succeeded, IntPtr user_data);
+
+ /*
+ * Function Name: purple_account_new
+ * Function Type: PurpleAccount *
+ * Function RawType: PurpleAccount
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleAccount * purple_account_new(char * username, char * protocol_id)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_account_new(string username, string protocol_id);
+
+ public static PurpleAccount New(string username, string protocol_id)
+ {
+ return new PurpleAccount(purple_account_new(username, protocol_id));
+ }
+
+ /*
+ * Function Name: purple_account_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_account_destroy(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_account_destroy(IntPtr account);
+
+ public static void Destroy(PurpleAccount account)
+ {
+ purple_account_destroy(account.Reference);
+ }
+
+ /*
+ * Function Name: purple_account_connect
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_account_connect(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_account_connect(IntPtr account);
+
+ public static void Connect(PurpleAccount account)
+ {
+ purple_account_connect(account.Reference);
+ }
+
+ /*
+ * Function Name: purple_account_set_register_callback
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_account_set_register_callback(PurpleAccount * account, PurpleAccountRegistrationCb cb, void * user_data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_account_set_register_callback(IntPtr account, IntPtr cb, IntPtr user_data);
+
+ public static void SetRegisterCallback(PurpleAccount account, Account.PurpleAccountRegistrationCb cb, IntPtr user_data)
+ {
+ /* Unable to process cb, a KnownFunctionPointer. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_account_register
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_account_register(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_account_register(IntPtr account);
+
+ public static void Register(PurpleAccount account)
+ {
+ purple_account_register(account.Reference);
+ }
+
+ /*
+ * Function Name: purple_account_unregister
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_account_unregister(PurpleAccount * account, PurpleAccountUnregistrationCb cb, void * user_data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_account_unregister(IntPtr account, IntPtr cb, IntPtr user_data);
+
+ public static void Unregister(PurpleAccount account, Account.PurpleAccountUnregistrationCb cb, IntPtr user_data)
+ {
+ /* Unable to process cb, a KnownFunctionPointer. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_account_disconnect
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_account_disconnect(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_account_disconnect(IntPtr account);
+
+ public static void Disconnect(PurpleAccount account)
+ {
+ purple_account_disconnect(account.Reference);
+ }
+
+ /*
+ * Function Name: purple_account_request_close_with_account
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_account_request_close_with_account(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_account_request_close_with_account(IntPtr account);
+
+ public static void RequestCloseWithAccount(PurpleAccount account)
+ {
+ purple_account_request_close_with_account(account.Reference);
+ }
+
+ /*
+ * Function Name: purple_account_request_close
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_account_request_close(void * ui_handle)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_account_request_close(IntPtr ui_handle);
+
+ public static void RequestClose(IntPtr ui_handle)
+ {
+ purple_account_request_close(ui_handle);
+ }
+
+ /*
+ * Function Name: purple_account_request_change_password
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_account_request_change_password(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_account_request_change_password(IntPtr account);
+
+ public static void RequestChangePassword(PurpleAccount account)
+ {
+ purple_account_request_change_password(account.Reference);
+ }
+
+ /*
+ * Function Name: purple_account_request_change_user_info
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_account_request_change_user_info(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_account_request_change_user_info(IntPtr account);
+
+ public static void RequestChangeUserInfo(PurpleAccount account)
+ {
+ purple_account_request_change_user_info(account.Reference);
+ }
+
+ /*
+ * Function Name: purple_account_set_username
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_account_set_username(PurpleAccount * account, char * username)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_account_set_username(IntPtr account, string username);
+
+ public static void SetUsername(PurpleAccount account, string username)
+ {
+ purple_account_set_username(account.Reference, username);
+ }
+
+ /*
+ * Function Name: purple_account_set_password
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_account_set_password(PurpleAccount * account, char * password)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_account_set_password(IntPtr account, string password);
+
+ public static void SetPassword(PurpleAccount account, string password)
+ {
+ purple_account_set_password(account.Reference, password);
+ }
+
+ /*
+ * Function Name: purple_account_set_alias
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_account_set_alias(PurpleAccount * account, char * alias)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_account_set_alias(IntPtr account, string alias);
+
+ public static void SetAlias(PurpleAccount account, string alias)
+ {
+ purple_account_set_alias(account.Reference, alias);
+ }
+
+ /*
+ * Function Name: purple_account_set_user_info
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_account_set_user_info(PurpleAccount * account, char * user_info)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_account_set_user_info(IntPtr account, string user_info);
+
+ public static void SetUserInfo(PurpleAccount account, string user_info)
+ {
+ purple_account_set_user_info(account.Reference, user_info);
+ }
+
+ /*
+ * Function Name: purple_account_set_buddy_icon_path
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_account_set_buddy_icon_path(PurpleAccount * account, char * path)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_account_set_buddy_icon_path(IntPtr account, string path);
+
+ public static void SetBuddyIconPath(PurpleAccount account, string path)
+ {
+ purple_account_set_buddy_icon_path(account.Reference, path);
+ }
+
+ /*
+ * Function Name: purple_account_set_connection
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_account_set_connection(PurpleAccount * account, PurpleConnection * gc)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_account_set_connection(IntPtr account, IntPtr gc);
+
+ public static void SetConnection(PurpleAccount account, PurpleConnection gc)
+ {
+ purple_account_set_connection(account.Reference, gc.Reference);
+ }
+
+ /*
+ * Function Name: purple_account_set_remember_password
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_account_set_remember_password(PurpleAccount * account, gboolean value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_account_set_remember_password(IntPtr account, bool value);
+
+ public static void SetRememberPassword(PurpleAccount account, bool value)
+ {
+ purple_account_set_remember_password(account.Reference, value);
+ }
+
+ /*
+ * Function Name: purple_account_set_check_mail
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_account_set_check_mail(PurpleAccount * account, gboolean value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_account_set_check_mail(IntPtr account, bool value);
+
+ public static void SetCheckMail(PurpleAccount account, bool value)
+ {
+ purple_account_set_check_mail(account.Reference, value);
+ }
+
+ /*
+ * Function Name: purple_account_set_proxy_info
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_account_set_proxy_info(PurpleAccount * account, PurpleProxyInfo * info)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_account_set_proxy_info(IntPtr account, IntPtr info);
+
+ public static void SetProxyInfo(PurpleAccount account, /* Resolved as PointerToUnknownStruct to PurpleProxyInfo */ IntPtr info)
+ {
+ /* Unable to process info, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_account_set_status_types
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * 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: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ /*
+ * Function Name: purple_account_clear_settings
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_account_clear_settings(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_account_clear_settings(IntPtr account);
+
+ public static void ClearSettings(PurpleAccount account)
+ {
+ purple_account_clear_settings(account.Reference);
+ }
+
+ /*
+ * Function Name: purple_account_set_int
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_account_set_int(PurpleAccount * account, char * name, int value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_account_set_int(IntPtr account, string name, int value);
+
+ public static void SetInt(PurpleAccount account, string name, int value)
+ {
+ purple_account_set_int(account.Reference, name, value);
+ }
+
+ /*
+ * Function Name: purple_account_is_connected
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_account_is_connected(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_account_is_connected(IntPtr account);
+
+ public static bool IsConnected(PurpleAccount account)
+ {
+ return purple_account_is_connected(account.Reference);
+ }
+
+ /*
+ * Function Name: purple_account_is_connecting
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_account_is_connecting(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_account_is_connecting(IntPtr account);
+
+ public static bool IsConnecting(PurpleAccount account)
+ {
+ return purple_account_is_connecting(account.Reference);
+ }
+
+ /*
+ * Function Name: purple_account_is_disconnected
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_account_is_disconnected(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_account_is_disconnected(IntPtr account);
+
+ public static bool IsDisconnected(PurpleAccount account)
+ {
+ return purple_account_is_disconnected(account.Reference);
+ }
+
+ /*
+ * Function Name: purple_account_get_username
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_account_get_username(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_account_get_username(IntPtr account);
+
+ public static string GetUsername(PurpleAccount account)
+ {
+ return purple_account_get_username(account.Reference);
+ }
+
+ /*
+ * Function Name: purple_account_get_password
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_account_get_password(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_account_get_password(IntPtr account);
+
+ public static string GetPassword(PurpleAccount account)
+ {
+ return purple_account_get_password(account.Reference);
+ }
+
+ /*
+ * Function Name: purple_account_get_alias
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_account_get_alias(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_account_get_alias(IntPtr account);
+
+ public static string GetAlias(PurpleAccount account)
+ {
+ return purple_account_get_alias(account.Reference);
+ }
+
+ /*
+ * Function Name: purple_account_get_user_info
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_account_get_user_info(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_account_get_user_info(IntPtr account);
+
+ public static string GetUserInfo(PurpleAccount account)
+ {
+ return purple_account_get_user_info(account.Reference);
+ }
+
+ /*
+ * Function Name: purple_account_get_buddy_icon_path
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_account_get_buddy_icon_path(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_account_get_buddy_icon_path(IntPtr account);
+
+ public static string GetBuddyIconPath(PurpleAccount account)
+ {
+ return purple_account_get_buddy_icon_path(account.Reference);
+ }
+
+ /*
+ * Function Name: purple_account_get_protocol_id
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_account_get_protocol_id(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_account_get_protocol_id(IntPtr account);
+
+ public static string GetProtocolId(PurpleAccount account)
+ {
+ return purple_account_get_protocol_id(account.Reference);
+ }
+
+ /*
+ * Function Name: purple_account_get_protocol_name
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_account_get_protocol_name(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_account_get_protocol_name(IntPtr account);
+
+ public static string GetProtocolName(PurpleAccount account)
+ {
+ return purple_account_get_protocol_name(account.Reference);
+ }
+
+ /*
+ * Function Name: purple_account_get_connection
+ * Function Type: PurpleConnection *
+ * Function RawType: PurpleConnection
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleConnection * purple_account_get_connection(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_account_get_connection(IntPtr account);
+
+ public static PurpleConnection GetConnection(PurpleAccount account)
+ {
+ return new PurpleConnection(purple_account_get_connection(account.Reference));
+ }
+
+ /*
+ * Function Name: purple_account_get_remember_password
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_account_get_remember_password(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_account_get_remember_password(IntPtr account);
+
+ public static bool GetRememberPassword(PurpleAccount account)
+ {
+ return purple_account_get_remember_password(account.Reference);
+ }
+
+ /*
+ * Function Name: purple_account_get_check_mail
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_account_get_check_mail(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_account_get_check_mail(IntPtr account);
+
+ public static bool GetCheckMail(PurpleAccount account)
+ {
+ return purple_account_get_check_mail(account.Reference);
+ }
+
+ /*
+ * Function Name: purple_account_get_proxy_info
+ * Function Type: PurpleProxyInfo *
+ * Function RawType: PurpleProxyInfo
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleProxyInfo * purple_account_get_proxy_info(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_account_get_proxy_info(IntPtr account);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleProxyInfo */ IntPtr GetProxyInfo(PurpleAccount account)
+ {
+ /* Unable to process the return value of purple_account_get_proxy_info, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_account_get_active_status
+ * Function Type: PurpleStatus *
+ * Function RawType: PurpleStatus
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleStatus * purple_account_get_active_status(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_account_get_active_status(IntPtr account);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleStatus */ IntPtr GetActiveStatus(PurpleAccount account)
+ {
+ /* Unable to process the return value of purple_account_get_active_status, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_account_get_presence
+ * Function Type: PurplePresence *
+ * Function RawType: PurplePresence
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurplePresence * purple_account_get_presence(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_account_get_presence(IntPtr account);
+
+ public static /* Resolved as PointerToUnknownStruct to PurplePresence */ IntPtr GetPresence(PurpleAccount account)
+ {
+ /* Unable to process the return value of purple_account_get_presence, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_account_get_status_types
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_account_get_status_types(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_account_get_status_types(IntPtr account);
+
+ public static IList<string> GetStatusTypes(PurpleAccount account)
+ {
+ /* Unable to process the return value of purple_account_get_status_types, a PointerToGList. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_account_get_log
+ * Function Type: PurpleLog *
+ * Function RawType: PurpleLog
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleLog * purple_account_get_log(PurpleAccount * account, gboolean create)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_account_get_log(IntPtr account, bool create);
+
+ public static PurpleLog GetLog(PurpleAccount account, bool create)
+ {
+ return new PurpleLog(purple_account_get_log(account.Reference, create));
+ }
+
+ /*
+ * Function Name: purple_account_destroy_log
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_account_destroy_log(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_account_destroy_log(IntPtr account);
+
+ public static void DestroyLog(PurpleAccount account)
+ {
+ purple_account_destroy_log(account.Reference);
+ }
+
+ /*
+ * Function Name: purple_account_add_buddy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_account_add_buddy(PurpleAccount * account, PurpleBuddy * buddy)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_account_add_buddy(IntPtr account, IntPtr buddy);
+
+ public static void AddBuddy(PurpleAccount account, PurpleBuddy buddy)
+ {
+ purple_account_add_buddy(account.Reference, buddy.Reference);
+ }
+
+ /*
+ * Function Name: purple_account_add_buddies
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_account_add_buddies(PurpleAccount * account, GList * buddies)
+ *
+ * Could not generate a wrapper for purple_account_add_buddies in file "account.h".
+ * Message: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ /*
+ * Function Name: purple_account_remove_group
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_account_remove_group(PurpleAccount * account, PurpleGroup * group)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_account_remove_group(IntPtr account, IntPtr group);
+
+ public static void RemoveGroup(PurpleAccount account, PurpleGroup group)
+ {
+ purple_account_remove_group(account.Reference, group.Reference);
+ }
+
+ /*
+ * Function Name: purple_account_supports_offline_message
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_account_supports_offline_message(PurpleAccount * account, PurpleBuddy * buddy)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_account_supports_offline_message(IntPtr account, IntPtr buddy);
+
+ public static bool SupportsOfflineMessage(PurpleAccount account, PurpleBuddy buddy)
+ {
+ return purple_account_supports_offline_message(account.Reference, buddy.Reference);
+ }
+
+ /*
+ * Function Name: purple_account_get_current_error
+ * Function Type: PurpleConnectionErrorInfo *
+ * Function RawType: PurpleConnectionErrorInfo
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleConnectionErrorInfo * purple_account_get_current_error(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_account_get_current_error(IntPtr account);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleConnectionErrorInfo */ IntPtr GetCurrentError(PurpleAccount account)
+ {
+ /* Unable to process the return value of purple_account_get_current_error, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_account_clear_current_error
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_account_clear_current_error(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_account_clear_current_error(IntPtr account);
+
+ public static void ClearCurrentError(PurpleAccount account)
+ {
+ purple_account_clear_current_error(account.Reference);
+ }
+
+ /*
+ * Function Name: purple_accounts_add
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_accounts_add(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_accounts_add(IntPtr account);
+
+ public static void AccountsAdd(PurpleAccount account)
+ {
+ purple_accounts_add(account.Reference);
+ }
+
+ /*
+ * Function Name: purple_accounts_remove
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_accounts_remove(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_accounts_remove(IntPtr account);
+
+ public static void AccountsRemove(PurpleAccount account)
+ {
+ purple_accounts_remove(account.Reference);
+ }
+
+ /*
+ * Function Name: purple_accounts_delete
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_accounts_delete(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_accounts_delete(IntPtr account);
+
+ public static void AccountsDelete(PurpleAccount account)
+ {
+ purple_accounts_delete(account.Reference);
+ }
+
+ /*
+ * Function Name: purple_accounts_reorder
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_accounts_reorder(PurpleAccount * account, gint new_index)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_accounts_reorder(IntPtr account, int new_index);
+
+ public static void AccountsReorder(PurpleAccount account, int new_index)
+ {
+ purple_accounts_reorder(account.Reference, new_index);
+ }
+
+ /*
+ * Function Name: purple_accounts_get_all
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_accounts_get_all()
+ *
+ * Could not generate a wrapper for purple_accounts_get_all in file "account.h".
+ * Message: Unknown inner-type of argument 0 of purple_accounts_get_all
+ */
+
+ /*
+ * Function Name: purple_accounts_get_all_active
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_accounts_get_all_active()
+ *
+ * Could not generate a wrapper for purple_accounts_get_all_active in file "account.h".
+ * Message: Unknown inner-type of argument 0 of purple_accounts_get_all_active
+ */
+
+ /*
+ * Function Name: purple_accounts_find
+ * Function Type: PurpleAccount *
+ * Function RawType: PurpleAccount
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleAccount * purple_accounts_find(char * name, char * protocol)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_accounts_find(string name, string protocol);
+
+ public static PurpleAccount AccountsFind(string name, string protocol)
+ {
+ return new PurpleAccount(purple_accounts_find(name, protocol));
+ }
+
+ /*
+ * Function Name: purple_accounts_restore_current_statuses
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_accounts_restore_current_statuses()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_accounts_restore_current_statuses();
+
+ public static void AccountsRestoreCurrentStatuses()
+ {
+ purple_accounts_restore_current_statuses();
+ }
+
+ /*
+ * Function Name: purple_accounts_set_ui_ops
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_accounts_set_ui_ops(PurpleAccountUiOps * ops)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_accounts_set_ui_ops(IntPtr ops);
+
+ public static void AccountsSetUiOps(PurpleAccountUiOps ops)
+ {
+ purple_accounts_set_ui_ops(ops.Reference);
+ }
+
+ /*
+ * Function Name: purple_accounts_get_ui_ops
+ * Function Type: PurpleAccountUiOps *
+ * Function RawType: PurpleAccountUiOps
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleAccountUiOps * purple_accounts_get_ui_ops()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_accounts_get_ui_ops();
+
+ public static PurpleAccountUiOps AccountsGetUiOps()
+ {
+ return new PurpleAccountUiOps(purple_accounts_get_ui_ops());
+ }
+
+ /*
+ * Function Name: purple_accounts_get_handle
+ * Function Type: void *
+ * Function RawType: void
+ * Function Category: VoidPointer
+ */
+ /*
+ * void * purple_accounts_get_handle()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_accounts_get_handle();
+
+ public static IntPtr AccountsGetHandle()
+ {
+ return purple_accounts_get_handle();
+ }
+
+ /*
+ * Function Name: purple_accounts_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_accounts_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_accounts_init();
+
+ public static void AccountsInit()
+ {
+ purple_accounts_init();
+ }
+
+ /*
+ * Function Name: purple_accounts_uninit
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_accounts_uninit()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_accounts_uninit();
+
+ public static void AccountsUninit()
+ {
+ purple_accounts_uninit();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Accountopt.cs 20f2d43ab0bbfa51c1eda5dcd17e4e55145246cb
+++ libpurple/wrapper/Accountopt.cs 20f2d43ab0bbfa51c1eda5dcd17e4e55145246cb
@@ -0,0 +1,310 @@
+/* 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
+{
+
+ /*
+ * File: accountopt.h
+ */
+ public class Accountopt
+ {
+
+ /*
+ * Function Name: purple_account_option_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_account_option_destroy(PurpleAccountOption * option)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_account_option_destroy(IntPtr option);
+
+ public static void AccountOptionDestroy(/* Resolved as PointerToUnknownStruct to PurpleAccountOption */ IntPtr option)
+ {
+ /* Unable to process option, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_account_option_set_masked
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_account_option_set_masked(PurpleAccountOption * option, gboolean masked)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_account_option_set_masked(IntPtr option, bool masked);
+
+ public static void AccountOptionSetMasked(/* Resolved as PointerToUnknownStruct to PurpleAccountOption */ IntPtr option, bool masked)
+ {
+ /* Unable to process option, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_account_option_set_list
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * 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: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ /*
+ * Function Name: purple_account_option_get_type
+ * Function Type: PurplePrefType
+ * Function RawType: PurplePrefType
+ * Function Category: KnownEnum
+ */
+ /*
+ * PurplePrefType purple_account_option_get_type(PurpleAccountOption * option)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern Prefs.PurplePrefType purple_account_option_get_type(IntPtr option);
+
+ public static Prefs.PurplePrefType AccountOptionGetType(/* Resolved as PointerToUnknownStruct to PurpleAccountOption */ IntPtr option)
+ {
+ /* Unable to process option, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_account_option_get_text
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_account_option_get_text(PurpleAccountOption * option)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_account_option_get_text(IntPtr option);
+
+ public static string AccountOptionGetText(/* Resolved as PointerToUnknownStruct to PurpleAccountOption */ IntPtr option)
+ {
+ /* Unable to process option, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_account_option_get_setting
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_account_option_get_setting(PurpleAccountOption * option)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_account_option_get_setting(IntPtr option);
+
+ public static string AccountOptionGetSetting(/* Resolved as PointerToUnknownStruct to PurpleAccountOption */ IntPtr option)
+ {
+ /* Unable to process option, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_account_option_get_default_bool
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_account_option_get_default_bool(PurpleAccountOption * option)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_account_option_get_default_bool(IntPtr option);
+
+ public static bool AccountOptionGetDefaultBool(/* Resolved as PointerToUnknownStruct to PurpleAccountOption */ IntPtr option)
+ {
+ /* Unable to process option, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_account_option_get_default_int
+ * Function Type: int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * int purple_account_option_get_default_int(PurpleAccountOption * option)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern int purple_account_option_get_default_int(IntPtr option);
+
+ public static int AccountOptionGetDefaultInt(/* Resolved as PointerToUnknownStruct to PurpleAccountOption */ IntPtr option)
+ {
+ /* Unable to process option, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_account_option_get_masked
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_account_option_get_masked(PurpleAccountOption * option)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_account_option_get_masked(IntPtr option);
+
+ public static bool AccountOptionGetMasked(/* Resolved as PointerToUnknownStruct to PurpleAccountOption */ IntPtr option)
+ {
+ /* Unable to process option, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_account_option_get_list
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_account_option_get_list(PurpleAccountOption * option)
+ *
+ * Could not generate a wrapper for purple_account_option_get_list in file "accountopt.h".
+ * Message: Unknown inner-type of argument 0 of purple_account_option_get_list
+ */
+
+ /*
+ * Function Name: purple_account_user_split_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_account_user_split_destroy(PurpleAccountUserSplit * split)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_account_user_split_destroy(IntPtr split);
+
+ public static void AccountUserSplitDestroy(/* Resolved as PointerToUnknownStruct to PurpleAccountUserSplit */ IntPtr split)
+ {
+ /* Unable to process split, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_account_user_split_get_text
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_account_user_split_get_text(PurpleAccountUserSplit * split)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_account_user_split_get_text(IntPtr split);
+
+ public static string AccountUserSplitGetText(/* Resolved as PointerToUnknownStruct to PurpleAccountUserSplit */ IntPtr split)
+ {
+ /* Unable to process split, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_account_user_split_get_separator
+ * Function Type: char
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char purple_account_user_split_get_separator(PurpleAccountUserSplit * split)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern char purple_account_user_split_get_separator(IntPtr split);
+
+ public static char AccountUserSplitGetSeparator(/* Resolved as PointerToUnknownStruct to PurpleAccountUserSplit */ IntPtr split)
+ {
+ /* Unable to process split, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_account_user_split_get_reverse
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_account_user_split_get_reverse(PurpleAccountUserSplit * split)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_account_user_split_get_reverse(IntPtr split);
+
+ public static bool AccountUserSplitGetReverse(/* Resolved as PointerToUnknownStruct to PurpleAccountUserSplit */ IntPtr split)
+ {
+ /* Unable to process split, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_account_user_split_set_reverse
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_account_user_split_set_reverse(PurpleAccountUserSplit * split, gboolean reverse)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_account_user_split_set_reverse(IntPtr split, bool reverse);
+
+ public static void AccountUserSplitSetReverse(/* Resolved as PointerToUnknownStruct to PurpleAccountUserSplit */ IntPtr split, bool reverse)
+ {
+ /* Unable to process split, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Blist.cs e9937a087f1403d6864f4da4c13f2b11b5a7f46c
+++ libpurple/wrapper/Blist.cs e9937a087f1403d6864f4da4c13f2b11b5a7f46c
@@ -0,0 +1,1679 @@
+/* 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
+{
+
+ /*
+ * File: blist.h
+ */
+ 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
+ };
+
+
+ /*
+ * Function Name: purple_blist_new
+ * Function Type: PurpleBuddyList *
+ * Function RawType: PurpleBuddyList
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleBuddyList * purple_blist_new()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_blist_new();
+
+ public static PurpleBuddyList New()
+ {
+ return new PurpleBuddyList(purple_blist_new());
+ }
+
+ /*
+ * Function Name: purple_set_blist
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_set_blist(PurpleBuddyList * blist)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_set_blist(IntPtr blist);
+
+ public static void SetBlist(PurpleBuddyList blist)
+ {
+ purple_set_blist(blist.Reference);
+ }
+
+ /*
+ * Function Name: purple_get_blist
+ * Function Type: PurpleBuddyList *
+ * Function RawType: PurpleBuddyList
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleBuddyList * purple_get_blist()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_get_blist();
+
+ public static PurpleBuddyList GetBlist()
+ {
+ return new PurpleBuddyList(purple_get_blist());
+ }
+
+ /*
+ * Function Name: purple_blist_get_root
+ * Function Type: PurpleBlistNode *
+ * Function RawType: PurpleBlistNode
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleBlistNode * purple_blist_get_root()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_blist_get_root();
+
+ public static PurpleBlistNode GetRoot()
+ {
+ return new PurpleBlistNode(purple_blist_get_root());
+ }
+
+ /*
+ * Function Name: purple_blist_get_buddies
+ * Function Type: GSList *
+ * Function RawType: GSList
+ * Function Category: PointerToGSList
+ */
+ /*
+ * GSList * purple_blist_get_buddies()
+ *
+ * Could not generate a wrapper for purple_blist_get_buddies in file "blist.h".
+ * Message: Unknown inner-type of argument 0 of purple_blist_get_buddies
+ */
+
+ /*
+ * Function Name: purple_blist_get_ui_data
+ * Function Type: gpointer
+ * Function RawType: gpointer
+ * Function Category: VoidPointer
+ */
+ /*
+ * gpointer purple_blist_get_ui_data()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_blist_get_ui_data();
+
+ public static IntPtr GetUiData()
+ {
+ return purple_blist_get_ui_data();
+ }
+
+ /*
+ * Function Name: purple_blist_set_ui_data
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_set_ui_data(gpointer ui_data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_set_ui_data(IntPtr ui_data);
+
+ public static void SetUiData(IntPtr ui_data)
+ {
+ purple_blist_set_ui_data(ui_data);
+ }
+
+ /*
+ * Function Name: purple_blist_node_next
+ * Function Type: PurpleBlistNode *
+ * Function RawType: PurpleBlistNode
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleBlistNode * purple_blist_node_next(PurpleBlistNode * node, gboolean offline)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_blist_node_next(IntPtr node, bool offline);
+
+ public static PurpleBlistNode NodeNext(PurpleBlistNode node, bool offline)
+ {
+ return new PurpleBlistNode(purple_blist_node_next(node.Reference, offline));
+ }
+
+ /*
+ * Function Name: purple_blist_node_get_parent
+ * Function Type: PurpleBlistNode *
+ * Function RawType: PurpleBlistNode
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleBlistNode * purple_blist_node_get_parent(PurpleBlistNode * node)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_blist_node_get_parent(IntPtr node);
+
+ public static PurpleBlistNode NodeGetParent(PurpleBlistNode node)
+ {
+ return new PurpleBlistNode(purple_blist_node_get_parent(node.Reference));
+ }
+
+ /*
+ * Function Name: purple_blist_node_get_first_child
+ * Function Type: PurpleBlistNode *
+ * Function RawType: PurpleBlistNode
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleBlistNode * purple_blist_node_get_first_child(PurpleBlistNode * node)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_blist_node_get_first_child(IntPtr node);
+
+ public static PurpleBlistNode NodeGetFirstChild(PurpleBlistNode node)
+ {
+ return new PurpleBlistNode(purple_blist_node_get_first_child(node.Reference));
+ }
+
+ /*
+ * Function Name: purple_blist_node_get_sibling_next
+ * Function Type: PurpleBlistNode *
+ * Function RawType: PurpleBlistNode
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleBlistNode * purple_blist_node_get_sibling_next(PurpleBlistNode * node)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_blist_node_get_sibling_next(IntPtr node);
+
+ public static PurpleBlistNode NodeGetSiblingNext(PurpleBlistNode node)
+ {
+ return new PurpleBlistNode(purple_blist_node_get_sibling_next(node.Reference));
+ }
+
+ /*
+ * Function Name: purple_blist_node_get_sibling_prev
+ * Function Type: PurpleBlistNode *
+ * Function RawType: PurpleBlistNode
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleBlistNode * purple_blist_node_get_sibling_prev(PurpleBlistNode * node)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_blist_node_get_sibling_prev(IntPtr node);
+
+ public static PurpleBlistNode NodeGetSiblingPrev(PurpleBlistNode node)
+ {
+ return new PurpleBlistNode(purple_blist_node_get_sibling_prev(node.Reference));
+ }
+
+ /*
+ * Function Name: purple_blist_node_get_ui_data
+ * Function Type: gpointer
+ * Function RawType: gpointer
+ * Function Category: VoidPointer
+ */
+ /*
+ * gpointer purple_blist_node_get_ui_data(PurpleBlistNode * node)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_blist_node_get_ui_data(IntPtr node);
+
+ public static IntPtr NodeGetUiData(PurpleBlistNode node)
+ {
+ return purple_blist_node_get_ui_data(node.Reference);
+ }
+
+ /*
+ * Function Name: purple_blist_node_set_ui_data
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_node_set_ui_data(PurpleBlistNode * node, gpointer ui_data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_node_set_ui_data(IntPtr node, IntPtr ui_data);
+
+ public static void NodeSetUiData(PurpleBlistNode node, IntPtr ui_data)
+ {
+ purple_blist_node_set_ui_data(node.Reference, ui_data);
+ }
+
+ /*
+ * Function Name: purple_blist_show
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_show()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_show();
+
+ public static void Show()
+ {
+ purple_blist_show();
+ }
+
+ /*
+ * Function Name: purple_blist_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_destroy()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_destroy();
+
+ public static void Destroy()
+ {
+ purple_blist_destroy();
+ }
+
+ /*
+ * Function Name: purple_blist_set_visible
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_set_visible(gboolean show)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_set_visible(bool show);
+
+ public static void SetVisible(bool show)
+ {
+ purple_blist_set_visible(show);
+ }
+
+ /*
+ * Function Name: purple_blist_update_buddy_status
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_update_buddy_status(PurpleBuddy * buddy, 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, /* Resolved as PointerToUnknownStruct to PurpleStatus */ IntPtr old_status)
+ {
+ /* Unable to process old_status, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_blist_update_node_icon
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_update_node_icon(PurpleBlistNode * node)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_update_node_icon(IntPtr node);
+
+ public static void UpdateNodeIcon(PurpleBlistNode node)
+ {
+ purple_blist_update_node_icon(node.Reference);
+ }
+
+ /*
+ * Function Name: purple_blist_update_buddy_icon
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_update_buddy_icon(PurpleBuddy * buddy)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_update_buddy_icon(IntPtr buddy);
+
+ public static void UpdateBuddyIcon(PurpleBuddy buddy)
+ {
+ purple_blist_update_buddy_icon(buddy.Reference);
+ }
+
+ /*
+ * Function Name: purple_blist_rename_buddy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_rename_buddy(PurpleBuddy * buddy, char * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_rename_buddy(IntPtr buddy, string name);
+
+ public static void RenameBuddy(PurpleBuddy buddy, string name)
+ {
+ purple_blist_rename_buddy(buddy.Reference, name);
+ }
+
+ /*
+ * Function Name: purple_blist_alias_contact
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_alias_contact(PurpleContact * contact, char * alias)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_alias_contact(IntPtr contact, string alias);
+
+ public static void AliasContact(PurpleContact contact, string alias)
+ {
+ purple_blist_alias_contact(contact.Reference, alias);
+ }
+
+ /*
+ * Function Name: purple_blist_alias_buddy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_alias_buddy(PurpleBuddy * buddy, char * alias)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_alias_buddy(IntPtr buddy, string alias);
+
+ public static void AliasBuddy(PurpleBuddy buddy, string alias)
+ {
+ purple_blist_alias_buddy(buddy.Reference, alias);
+ }
+
+ /*
+ * Function Name: purple_blist_server_alias_buddy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_server_alias_buddy(PurpleBuddy * buddy, char * alias)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_server_alias_buddy(IntPtr buddy, string alias);
+
+ public static void ServerAliasBuddy(PurpleBuddy buddy, string alias)
+ {
+ purple_blist_server_alias_buddy(buddy.Reference, alias);
+ }
+
+ /*
+ * Function Name: purple_blist_alias_chat
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_alias_chat(PurpleChat * chat, char * alias)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_alias_chat(IntPtr chat, string alias);
+
+ public static void AliasChat(PurpleChat chat, string alias)
+ {
+ purple_blist_alias_chat(chat.Reference, alias);
+ }
+
+ /*
+ * Function Name: purple_blist_rename_group
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_rename_group(PurpleGroup * group, char * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_rename_group(IntPtr group, string name);
+
+ public static void RenameGroup(PurpleGroup group, string name)
+ {
+ purple_blist_rename_group(group.Reference, name);
+ }
+
+ /*
+ * Function Name: purple_chat_new
+ * Function Type: PurpleChat *
+ * Function RawType: PurpleChat
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleChat * purple_chat_new(PurpleAccount * account, char * alias, GHashTable * components)
+ *
+ * Could not generate a wrapper for purple_chat_new in file "blist.h".
+ * Message: Unable to provide a type for HashTable as no function information was provided in code.
+ */
+
+ /*
+ * Function Name: purple_chat_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_chat_destroy(PurpleChat * chat)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_chat_destroy(IntPtr chat);
+
+ public static void ChatDestroy(PurpleChat chat)
+ {
+ purple_chat_destroy(chat.Reference);
+ }
+
+ /*
+ * Function Name: purple_blist_add_chat
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_add_chat(PurpleChat * chat, PurpleGroup * group, PurpleBlistNode * node)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_add_chat(IntPtr chat, IntPtr group, IntPtr node);
+
+ public static void AddChat(PurpleChat chat, PurpleGroup group, PurpleBlistNode node)
+ {
+ purple_blist_add_chat(chat.Reference, group.Reference, node.Reference);
+ }
+
+ /*
+ * Function Name: purple_buddy_new
+ * Function Type: PurpleBuddy *
+ * Function RawType: PurpleBuddy
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleBuddy * purple_buddy_new(PurpleAccount * account, char * name, char * alias)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_buddy_new(IntPtr account, string name, string alias);
+
+ public static PurpleBuddy BuddyNew(PurpleAccount account, string name, string alias)
+ {
+ return new PurpleBuddy(purple_buddy_new(account.Reference, name, alias));
+ }
+
+ /*
+ * Function Name: purple_buddy_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_buddy_destroy(PurpleBuddy * buddy)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_buddy_destroy(IntPtr buddy);
+
+ public static void BuddyDestroy(PurpleBuddy buddy)
+ {
+ purple_buddy_destroy(buddy.Reference);
+ }
+
+ /*
+ * Function Name: purple_buddy_set_icon
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_buddy_set_icon(PurpleBuddy * buddy, PurpleBuddyIcon * icon)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_buddy_set_icon(IntPtr buddy, IntPtr icon);
+
+ public static void BuddySetIcon(PurpleBuddy buddy, /* Resolved as PointerToUnknownStruct to PurpleBuddyIcon */ IntPtr icon)
+ {
+ /* Unable to process icon, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_buddy_get_account
+ * Function Type: PurpleAccount *
+ * Function RawType: PurpleAccount
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleAccount * purple_buddy_get_account(PurpleBuddy * buddy)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_buddy_get_account(IntPtr buddy);
+
+ public static PurpleAccount BuddyGetAccount(PurpleBuddy buddy)
+ {
+ return new PurpleAccount(purple_buddy_get_account(buddy.Reference));
+ }
+
+ /*
+ * Function Name: purple_buddy_get_name
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_buddy_get_name(PurpleBuddy * buddy)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_buddy_get_name(IntPtr buddy);
+
+ public static string BuddyGetName(PurpleBuddy buddy)
+ {
+ return purple_buddy_get_name(buddy.Reference);
+ }
+
+ /*
+ * Function Name: purple_buddy_get_icon
+ * Function Type: PurpleBuddyIcon *
+ * Function RawType: PurpleBuddyIcon
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleBuddyIcon * purple_buddy_get_icon(PurpleBuddy * buddy)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_buddy_get_icon(IntPtr buddy);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleBuddyIcon */ IntPtr BuddyGetIcon(PurpleBuddy buddy)
+ {
+ /* Unable to process the return value of purple_buddy_get_icon, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_buddy_get_protocol_data
+ * Function Type: gpointer
+ * Function RawType: gpointer
+ * Function Category: VoidPointer
+ */
+ /*
+ * gpointer purple_buddy_get_protocol_data(PurpleBuddy * buddy)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_buddy_get_protocol_data(IntPtr buddy);
+
+ public static IntPtr BuddyGetProtocolData(PurpleBuddy buddy)
+ {
+ return purple_buddy_get_protocol_data(buddy.Reference);
+ }
+
+ /*
+ * Function Name: purple_buddy_set_protocol_data
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_buddy_set_protocol_data(PurpleBuddy * buddy, gpointer data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_buddy_set_protocol_data(IntPtr buddy, IntPtr data);
+
+ public static void BuddySetProtocolData(PurpleBuddy buddy, IntPtr data)
+ {
+ purple_buddy_set_protocol_data(buddy.Reference, data);
+ }
+
+ /*
+ * Function Name: purple_buddy_get_contact
+ * Function Type: PurpleContact *
+ * Function RawType: PurpleContact
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleContact * purple_buddy_get_contact(PurpleBuddy * buddy)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_buddy_get_contact(IntPtr buddy);
+
+ public static PurpleContact BuddyGetContact(PurpleBuddy buddy)
+ {
+ return new PurpleContact(purple_buddy_get_contact(buddy.Reference));
+ }
+
+ /*
+ * Function Name: purple_buddy_get_presence
+ * Function Type: PurplePresence *
+ * Function RawType: PurplePresence
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurplePresence * purple_buddy_get_presence(PurpleBuddy * buddy)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_buddy_get_presence(IntPtr buddy);
+
+ public static /* Resolved as PointerToUnknownStruct to PurplePresence */ IntPtr BuddyGetPresence(PurpleBuddy buddy)
+ {
+ /* Unable to process the return value of purple_buddy_get_presence, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_blist_add_buddy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_add_buddy(PurpleBuddy * buddy, PurpleContact * contact, PurpleGroup * group, PurpleBlistNode * node)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_add_buddy(IntPtr buddy, IntPtr contact, IntPtr group, IntPtr node);
+
+ public static void AddBuddy(PurpleBuddy buddy, PurpleContact contact, PurpleGroup group, PurpleBlistNode node)
+ {
+ purple_blist_add_buddy(buddy.Reference, contact.Reference, group.Reference, node.Reference);
+ }
+
+ /*
+ * Function Name: purple_group_new
+ * Function Type: PurpleGroup *
+ * Function RawType: PurpleGroup
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleGroup * purple_group_new(char * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_group_new(string name);
+
+ public static PurpleGroup GroupNew(string name)
+ {
+ return new PurpleGroup(purple_group_new(name));
+ }
+
+ /*
+ * Function Name: purple_group_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_group_destroy(PurpleGroup * group)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_group_destroy(IntPtr group);
+
+ public static void GroupDestroy(PurpleGroup group)
+ {
+ purple_group_destroy(group.Reference);
+ }
+
+ /*
+ * Function Name: purple_blist_add_group
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_add_group(PurpleGroup * group, PurpleBlistNode * node)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_add_group(IntPtr group, IntPtr node);
+
+ public static void AddGroup(PurpleGroup group, PurpleBlistNode node)
+ {
+ purple_blist_add_group(group.Reference, node.Reference);
+ }
+
+ /*
+ * Function Name: purple_contact_new
+ * Function Type: PurpleContact *
+ * Function RawType: PurpleContact
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleContact * purple_contact_new()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_contact_new();
+
+ public static PurpleContact ContactNew()
+ {
+ return new PurpleContact(purple_contact_new());
+ }
+
+ /*
+ * Function Name: purple_contact_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_contact_destroy(PurpleContact * contact)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_contact_destroy(IntPtr contact);
+
+ public static void ContactDestroy(PurpleContact contact)
+ {
+ purple_contact_destroy(contact.Reference);
+ }
+
+ /*
+ * Function Name: purple_blist_add_contact
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_add_contact(PurpleContact * contact, PurpleGroup * group, PurpleBlistNode * node)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_add_contact(IntPtr contact, IntPtr group, IntPtr node);
+
+ public static void AddContact(PurpleContact contact, PurpleGroup group, PurpleBlistNode node)
+ {
+ purple_blist_add_contact(contact.Reference, group.Reference, node.Reference);
+ }
+
+ /*
+ * Function Name: purple_blist_merge_contact
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_merge_contact(PurpleContact * source, PurpleBlistNode * node)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_merge_contact(IntPtr source, IntPtr node);
+
+ public static void MergeContact(PurpleContact source, PurpleBlistNode node)
+ {
+ purple_blist_merge_contact(source.Reference, node.Reference);
+ }
+
+ /*
+ * Function Name: purple_contact_get_priority_buddy
+ * Function Type: PurpleBuddy *
+ * Function RawType: PurpleBuddy
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleBuddy * purple_contact_get_priority_buddy(PurpleContact * contact)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_contact_get_priority_buddy(IntPtr contact);
+
+ public static PurpleBuddy ContactGetPriorityBuddy(PurpleContact contact)
+ {
+ return new PurpleBuddy(purple_contact_get_priority_buddy(contact.Reference));
+ }
+
+ /*
+ * Function Name: purple_contact_set_alias
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_contact_set_alias(PurpleContact * contact, char * alias)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_contact_set_alias(IntPtr contact, string alias);
+
+ public static void ContactSetAlias(PurpleContact contact, string alias)
+ {
+ purple_contact_set_alias(contact.Reference, alias);
+ }
+
+ /*
+ * Function Name: purple_contact_get_alias
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_contact_get_alias(PurpleContact * contact)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_contact_get_alias(IntPtr contact);
+
+ public static string ContactGetAlias(PurpleContact contact)
+ {
+ return purple_contact_get_alias(contact.Reference);
+ }
+
+ /*
+ * Function Name: purple_contact_on_account
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_contact_on_account(PurpleContact * contact, PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_contact_on_account(IntPtr contact, IntPtr account);
+
+ public static bool ContactOnAccount(PurpleContact contact, PurpleAccount account)
+ {
+ return purple_contact_on_account(contact.Reference, account.Reference);
+ }
+
+ /*
+ * Function Name: purple_contact_invalidate_priority_buddy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_contact_invalidate_priority_buddy(PurpleContact * contact)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_contact_invalidate_priority_buddy(IntPtr contact);
+
+ public static void ContactInvalidatePriorityBuddy(PurpleContact contact)
+ {
+ purple_contact_invalidate_priority_buddy(contact.Reference);
+ }
+
+ /*
+ * Function Name: purple_blist_remove_buddy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_remove_buddy(PurpleBuddy * buddy)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_remove_buddy(IntPtr buddy);
+
+ public static void RemoveBuddy(PurpleBuddy buddy)
+ {
+ purple_blist_remove_buddy(buddy.Reference);
+ }
+
+ /*
+ * Function Name: purple_blist_remove_contact
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_remove_contact(PurpleContact * contact)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_remove_contact(IntPtr contact);
+
+ public static void RemoveContact(PurpleContact contact)
+ {
+ purple_blist_remove_contact(contact.Reference);
+ }
+
+ /*
+ * Function Name: purple_blist_remove_chat
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_remove_chat(PurpleChat * chat)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_remove_chat(IntPtr chat);
+
+ public static void RemoveChat(PurpleChat chat)
+ {
+ purple_blist_remove_chat(chat.Reference);
+ }
+
+ /*
+ * Function Name: purple_blist_remove_group
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_remove_group(PurpleGroup * group)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_remove_group(IntPtr group);
+
+ public static void RemoveGroup(PurpleGroup group)
+ {
+ purple_blist_remove_group(group.Reference);
+ }
+
+ /*
+ * Function Name: purple_buddy_get_alias_only
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_buddy_get_alias_only(PurpleBuddy * buddy)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_buddy_get_alias_only(IntPtr buddy);
+
+ public static string BuddyGetAliasOnly(PurpleBuddy buddy)
+ {
+ return purple_buddy_get_alias_only(buddy.Reference);
+ }
+
+ /*
+ * Function Name: purple_buddy_get_server_alias
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_buddy_get_server_alias(PurpleBuddy * buddy)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_buddy_get_server_alias(IntPtr buddy);
+
+ public static string BuddyGetServerAlias(PurpleBuddy buddy)
+ {
+ return purple_buddy_get_server_alias(buddy.Reference);
+ }
+
+ /*
+ * Function Name: purple_buddy_get_contact_alias
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_buddy_get_contact_alias(PurpleBuddy * buddy)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_buddy_get_contact_alias(IntPtr buddy);
+
+ public static string BuddyGetContactAlias(PurpleBuddy buddy)
+ {
+ return purple_buddy_get_contact_alias(buddy.Reference);
+ }
+
+ /*
+ * Function Name: purple_buddy_get_local_alias
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_buddy_get_local_alias(PurpleBuddy * buddy)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_buddy_get_local_alias(IntPtr buddy);
+
+ public static string BuddyGetLocalAlias(PurpleBuddy buddy)
+ {
+ return purple_buddy_get_local_alias(buddy.Reference);
+ }
+
+ /*
+ * Function Name: purple_buddy_get_alias
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_buddy_get_alias(PurpleBuddy * buddy)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_buddy_get_alias(IntPtr buddy);
+
+ public static string BuddyGetAlias(PurpleBuddy buddy)
+ {
+ return purple_buddy_get_alias(buddy.Reference);
+ }
+
+ /*
+ * Function Name: purple_buddy_get_local_buddy_alias
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_buddy_get_local_buddy_alias(PurpleBuddy * buddy)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_buddy_get_local_buddy_alias(IntPtr buddy);
+
+ public static string BuddyGetLocalBuddyAlias(PurpleBuddy buddy)
+ {
+ return purple_buddy_get_local_buddy_alias(buddy.Reference);
+ }
+
+ /*
+ * Function Name: purple_chat_get_name
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_chat_get_name(PurpleChat * chat)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_chat_get_name(IntPtr chat);
+
+ public static string ChatGetName(PurpleChat chat)
+ {
+ return purple_chat_get_name(chat.Reference);
+ }
+
+ /*
+ * Function Name: purple_find_buddy
+ * Function Type: PurpleBuddy *
+ * Function RawType: PurpleBuddy
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleBuddy * purple_find_buddy(PurpleAccount * account, char * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_find_buddy(IntPtr account, string name);
+
+ public static PurpleBuddy FindBuddy(PurpleAccount account, string name)
+ {
+ return new PurpleBuddy(purple_find_buddy(account.Reference, name));
+ }
+
+ /*
+ * Function Name: purple_find_buddies
+ * Function Type: GSList *
+ * Function RawType: GSList
+ * Function Category: PointerToGSList
+ */
+ /*
+ * GSList * purple_find_buddies(PurpleAccount * account, char * name)
+ *
+ * Could not generate a wrapper for purple_find_buddies in file "blist.h".
+ * Message: Unknown inner-type of argument 0 of purple_find_buddies
+ */
+
+ /*
+ * Function Name: purple_find_group
+ * Function Type: PurpleGroup *
+ * Function RawType: PurpleGroup
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleGroup * purple_find_group(char * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_find_group(string name);
+
+ public static PurpleGroup FindGroup(string name)
+ {
+ return new PurpleGroup(purple_find_group(name));
+ }
+
+ /*
+ * Function Name: purple_blist_find_chat
+ * Function Type: PurpleChat *
+ * Function RawType: PurpleChat
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleChat * purple_blist_find_chat(PurpleAccount * account, char * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_blist_find_chat(IntPtr account, string name);
+
+ public static PurpleChat FindChat(PurpleAccount account, string name)
+ {
+ return new PurpleChat(purple_blist_find_chat(account.Reference, name));
+ }
+
+ /*
+ * Function Name: purple_chat_get_group
+ * Function Type: PurpleGroup *
+ * Function RawType: PurpleGroup
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleGroup * purple_chat_get_group(PurpleChat * chat)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_chat_get_group(IntPtr chat);
+
+ public static PurpleGroup ChatGetGroup(PurpleChat chat)
+ {
+ return new PurpleGroup(purple_chat_get_group(chat.Reference));
+ }
+
+ /*
+ * Function Name: purple_chat_get_account
+ * Function Type: PurpleAccount *
+ * Function RawType: PurpleAccount
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleAccount * purple_chat_get_account(PurpleChat * chat)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_chat_get_account(IntPtr chat);
+
+ public static PurpleAccount ChatGetAccount(PurpleChat chat)
+ {
+ return new PurpleAccount(purple_chat_get_account(chat.Reference));
+ }
+
+ /*
+ * Function Name: purple_chat_get_components
+ * Function Type: GHashTable *
+ * Function RawType: GHashTable
+ * Function Category: PointerToGHashTable
+ */
+ /*
+ * GHashTable * purple_chat_get_components(PurpleChat * chat)
+ *
+ * Could not generate a wrapper for purple_chat_get_components in file "blist.h".
+ * Message: Unknown inner-type of argument 0 of purple_chat_get_components
+ */
+
+ /*
+ * Function Name: purple_buddy_get_group
+ * Function Type: PurpleGroup *
+ * Function RawType: PurpleGroup
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleGroup * purple_buddy_get_group(PurpleBuddy * buddy)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_buddy_get_group(IntPtr buddy);
+
+ public static PurpleGroup BuddyGetGroup(PurpleBuddy buddy)
+ {
+ return new PurpleGroup(purple_buddy_get_group(buddy.Reference));
+ }
+
+ /*
+ * Function Name: purple_group_get_accounts
+ * Function Type: GSList *
+ * Function RawType: GSList
+ * Function Category: PointerToGSList
+ */
+ /*
+ * GSList * purple_group_get_accounts(PurpleGroup * g)
+ *
+ * Could not generate a wrapper for purple_group_get_accounts in file "blist.h".
+ * Message: Unknown inner-type of argument 0 of purple_group_get_accounts
+ */
+
+ /*
+ * Function Name: purple_group_on_account
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_group_on_account(PurpleGroup * g, PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_group_on_account(IntPtr g, IntPtr account);
+
+ public static bool GroupOnAccount(PurpleGroup g, PurpleAccount account)
+ {
+ return purple_group_on_account(g.Reference, account.Reference);
+ }
+
+ /*
+ * Function Name: purple_group_get_name
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_group_get_name(PurpleGroup * group)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_group_get_name(IntPtr group);
+
+ public static string GroupGetName(PurpleGroup group)
+ {
+ return purple_group_get_name(group.Reference);
+ }
+
+ /*
+ * Function Name: purple_blist_add_account
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_add_account(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_add_account(IntPtr account);
+
+ public static void AddAccount(PurpleAccount account)
+ {
+ purple_blist_add_account(account.Reference);
+ }
+
+ /*
+ * Function Name: purple_blist_remove_account
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_remove_account(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_remove_account(IntPtr account);
+
+ public static void RemoveAccount(PurpleAccount account)
+ {
+ purple_blist_remove_account(account.Reference);
+ }
+
+ /*
+ * Function Name: purple_blist_get_group_size
+ * Function Type: int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * int purple_blist_get_group_size(PurpleGroup * group, gboolean offline)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern int purple_blist_get_group_size(IntPtr group, bool offline);
+
+ public static int GetGroupSize(PurpleGroup group, bool offline)
+ {
+ return purple_blist_get_group_size(group.Reference, offline);
+ }
+
+ /*
+ * Function Name: purple_blist_get_group_online_count
+ * Function Type: int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * int purple_blist_get_group_online_count(PurpleGroup * group)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern int purple_blist_get_group_online_count(IntPtr group);
+
+ public static int GetGroupOnlineCount(PurpleGroup group)
+ {
+ return purple_blist_get_group_online_count(group.Reference);
+ }
+
+ /*
+ * Function Name: purple_blist_load
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_load()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_load();
+
+ public static void Load()
+ {
+ purple_blist_load();
+ }
+
+ /*
+ * Function Name: purple_blist_schedule_save
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_schedule_save()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_schedule_save();
+
+ public static void ScheduleSave()
+ {
+ purple_blist_schedule_save();
+ }
+
+ /*
+ * Function Name: purple_blist_request_add_group
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_request_add_group()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_request_add_group();
+
+ public static void RequestAddGroup()
+ {
+ purple_blist_request_add_group();
+ }
+
+ /*
+ * Function Name: purple_blist_node_set_bool
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_node_set_bool(PurpleBlistNode * node, char * key, gboolean value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_node_set_bool(IntPtr node, string key, bool value);
+
+ public static void NodeSetBool(PurpleBlistNode node, string key, bool value)
+ {
+ purple_blist_node_set_bool(node.Reference, key, value);
+ }
+
+ /*
+ * Function Name: purple_blist_node_get_bool
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_blist_node_get_bool(PurpleBlistNode * node, char * key)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_blist_node_get_bool(IntPtr node, string key);
+
+ public static bool NodeGetBool(PurpleBlistNode node, string key)
+ {
+ return purple_blist_node_get_bool(node.Reference, key);
+ }
+
+ /*
+ * Function Name: purple_blist_node_set_int
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_node_set_int(PurpleBlistNode * node, char * key, int value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_node_set_int(IntPtr node, string key, int value);
+
+ public static void NodeSetInt(PurpleBlistNode node, string key, int value)
+ {
+ purple_blist_node_set_int(node.Reference, key, value);
+ }
+
+ /*
+ * Function Name: purple_blist_node_get_int
+ * Function Type: int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * int purple_blist_node_get_int(PurpleBlistNode * node, char * key)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern int purple_blist_node_get_int(IntPtr node, string key);
+
+ public static int NodeGetInt(PurpleBlistNode node, string key)
+ {
+ return purple_blist_node_get_int(node.Reference, key);
+ }
+
+ /*
+ * Function Name: purple_blist_node_get_string
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_blist_node_get_string(PurpleBlistNode * node, char * key)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_blist_node_get_string(IntPtr node, string key);
+
+ public static string NodeGetString(PurpleBlistNode node, string key)
+ {
+ return purple_blist_node_get_string(node.Reference, key);
+ }
+
+ /*
+ * Function Name: purple_blist_node_remove_setting
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_node_remove_setting(PurpleBlistNode * node, char * key)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_node_remove_setting(IntPtr node, string key);
+
+ public static void NodeRemoveSetting(PurpleBlistNode node, string key)
+ {
+ purple_blist_node_remove_setting(node.Reference, key);
+ }
+
+ /*
+ * Function Name: purple_blist_node_set_flags
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_node_set_flags(PurpleBlistNode * node, PurpleBlistNodeFlags flags)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_node_set_flags(IntPtr node, Blist.PurpleBlistNodeFlags flags);
+
+ public static void NodeSetFlags(PurpleBlistNode node, Blist.PurpleBlistNodeFlags flags)
+ {
+ /* Unable to process flags, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_blist_node_get_flags
+ * Function Type: PurpleBlistNodeFlags
+ * Function RawType: PurpleBlistNodeFlags
+ * Function Category: KnownEnum
+ */
+ /*
+ * PurpleBlistNodeFlags purple_blist_node_get_flags(PurpleBlistNode * node)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern Blist.PurpleBlistNodeFlags purple_blist_node_get_flags(IntPtr node);
+
+ public static Blist.PurpleBlistNodeFlags NodeGetFlags(PurpleBlistNode node)
+ {
+ /* Unable to process the return value of purple_blist_node_get_flags, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_blist_node_get_type
+ * Function Type: PurpleBlistNodeType
+ * Function RawType: PurpleBlistNodeType
+ * Function Category: KnownEnum
+ */
+ /*
+ * PurpleBlistNodeType purple_blist_node_get_type(PurpleBlistNode * node)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern Blist.PurpleBlistNodeType purple_blist_node_get_type(IntPtr node);
+
+ public static Blist.PurpleBlistNodeType NodeGetType(PurpleBlistNode node)
+ {
+ /* Unable to process the return value of purple_blist_node_get_type, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_blist_node_get_extended_menu
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * 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: Unknown inner-type of argument 0 of purple_blist_node_get_extended_menu
+ */
+
+ /*
+ * Function Name: purple_blist_set_ui_ops
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_set_ui_ops(PurpleBlistUiOps * ops)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_set_ui_ops(IntPtr ops);
+
+ public static void SetUiOps(PurpleBlistUiOps ops)
+ {
+ purple_blist_set_ui_ops(ops.Reference);
+ }
+
+ /*
+ * Function Name: purple_blist_get_ui_ops
+ * Function Type: PurpleBlistUiOps *
+ * Function RawType: PurpleBlistUiOps
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleBlistUiOps * purple_blist_get_ui_ops()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_blist_get_ui_ops();
+
+ public static PurpleBlistUiOps GetUiOps()
+ {
+ return new PurpleBlistUiOps(purple_blist_get_ui_ops());
+ }
+
+ /*
+ * Function Name: purple_blist_get_handle
+ * Function Type: void *
+ * Function RawType: void
+ * Function Category: VoidPointer
+ */
+ /*
+ * void * purple_blist_get_handle()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_blist_get_handle();
+
+ public static IntPtr GetHandle()
+ {
+ return purple_blist_get_handle();
+ }
+
+ /*
+ * Function Name: purple_blist_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_init();
+
+ public static void Init()
+ {
+ purple_blist_init();
+ }
+
+ /*
+ * Function Name: purple_blist_uninit
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_blist_uninit()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_blist_uninit();
+
+ public static void Uninit()
+ {
+ purple_blist_uninit();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Buddyicon.cs 8cde02e2026db24e2de82e964541ac1be1e1fab7
+++ libpurple/wrapper/Buddyicon.cs 8cde02e2026db24e2de82e964541ac1be1e1fab7
@@ -0,0 +1,492 @@
+/* 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
+{
+
+ /*
+ * File: buddyicon.h
+ */
+ public class Buddyicon
+ {
+
+ /*
+ * Function Name: purple_buddy_icon_ref
+ * Function Type: PurpleBuddyIcon *
+ * Function RawType: PurpleBuddyIcon
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleBuddyIcon * purple_buddy_icon_ref(PurpleBuddyIcon * icon)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_buddy_icon_ref(IntPtr icon);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleBuddyIcon */ IntPtr BuddyIconRef(/* Resolved as PointerToUnknownStruct to PurpleBuddyIcon */ IntPtr icon)
+ {
+ /* Unable to process icon, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_buddy_icon_unref
+ * Function Type: PurpleBuddyIcon *
+ * Function RawType: PurpleBuddyIcon
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleBuddyIcon * purple_buddy_icon_unref(PurpleBuddyIcon * icon)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_buddy_icon_unref(IntPtr icon);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleBuddyIcon */ IntPtr BuddyIconUnref(/* Resolved as PointerToUnknownStruct to PurpleBuddyIcon */ IntPtr icon)
+ {
+ /* Unable to process icon, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_buddy_icon_update
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_buddy_icon_update(PurpleBuddyIcon * icon)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_buddy_icon_update(IntPtr icon);
+
+ public static void BuddyIconUpdate(/* Resolved as PointerToUnknownStruct to PurpleBuddyIcon */ IntPtr icon)
+ {
+ /* Unable to process icon, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_buddy_icon_get_account
+ * Function Type: PurpleAccount *
+ * Function RawType: PurpleAccount
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleAccount * purple_buddy_icon_get_account(PurpleBuddyIcon * icon)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_buddy_icon_get_account(IntPtr icon);
+
+ public static PurpleAccount BuddyIconGetAccount(/* Resolved as PointerToUnknownStruct to PurpleBuddyIcon */ IntPtr icon)
+ {
+ /* Unable to process icon, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_buddy_icon_get_username
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_buddy_icon_get_username(PurpleBuddyIcon * icon)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_buddy_icon_get_username(IntPtr icon);
+
+ public static string BuddyIconGetUsername(/* Resolved as PointerToUnknownStruct to PurpleBuddyIcon */ IntPtr icon)
+ {
+ /* Unable to process icon, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_buddy_icon_get_checksum
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_buddy_icon_get_checksum(PurpleBuddyIcon * icon)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_buddy_icon_get_checksum(IntPtr icon);
+
+ public static string BuddyIconGetChecksum(/* Resolved as PointerToUnknownStruct to PurpleBuddyIcon */ IntPtr icon)
+ {
+ /* Unable to process icon, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_buddy_icon_get_data
+ * Function Type: gconstpointer
+ * Function RawType: gconstpointer
+ * Function Category: VoidPointer
+ */
+ /*
+ * gconstpointer purple_buddy_icon_get_data(PurpleBuddyIcon * icon, size_t * len)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_buddy_icon_get_data(IntPtr icon, IntPtr len);
+
+ public static IntPtr BuddyIconGetData(/* Resolved as PointerToUnknownStruct to PurpleBuddyIcon */ IntPtr icon, /* Resolved as PointerToUnknownStruct to size_t */ IntPtr len)
+ {
+ /* Unable to process icon, a PointerToUnknownStruct. */
+ /* Unable to process len, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_buddy_icon_get_extension
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_buddy_icon_get_extension(PurpleBuddyIcon * icon)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_buddy_icon_get_extension(IntPtr icon);
+
+ public static string BuddyIconGetExtension(/* Resolved as PointerToUnknownStruct to PurpleBuddyIcon */ IntPtr icon)
+ {
+ /* Unable to process icon, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_buddy_icon_get_full_path
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_buddy_icon_get_full_path(PurpleBuddyIcon * icon)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_buddy_icon_get_full_path(IntPtr icon);
+
+ public static string BuddyIconGetFullPath(/* Resolved as PointerToUnknownStruct to PurpleBuddyIcon */ IntPtr icon)
+ {
+ /* Unable to process icon, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_buddy_icons_get_checksum_for_user
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_buddy_icons_get_checksum_for_user(PurpleBuddy * buddy)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_buddy_icons_get_checksum_for_user(IntPtr buddy);
+
+ public static string BuddyIconsGetChecksumForUser(PurpleBuddy buddy)
+ {
+ return purple_buddy_icons_get_checksum_for_user(buddy.Reference);
+ }
+
+ /*
+ * Function Name: purple_buddy_icons_find
+ * Function Type: PurpleBuddyIcon *
+ * Function RawType: PurpleBuddyIcon
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleBuddyIcon * purple_buddy_icons_find(PurpleAccount * account, char * username)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_buddy_icons_find(IntPtr account, string username);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleBuddyIcon */ IntPtr BuddyIconsFind(PurpleAccount account, string username)
+ {
+ /* Unable to process the return value of purple_buddy_icons_find, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_buddy_icons_find_account_icon
+ * Function Type: PurpleStoredImage *
+ * Function RawType: PurpleStoredImage
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleStoredImage * purple_buddy_icons_find_account_icon(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_buddy_icons_find_account_icon(IntPtr account);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleStoredImage */ IntPtr BuddyIconsFindAccountIcon(PurpleAccount account)
+ {
+ /* Unable to process the return value of purple_buddy_icons_find_account_icon, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_buddy_icons_get_account_icon_timestamp
+ * Function Type: time_t
+ * Function RawType: time_t
+ * Function Category: DateTime
+ */
+ /*
+ * time_t purple_buddy_icons_get_account_icon_timestamp(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern ulong purple_buddy_icons_get_account_icon_timestamp(IntPtr account);
+
+ public static DateTime BuddyIconsGetAccountIconTimestamp(PurpleAccount account)
+ {
+ /* Unable to process the return value of purple_buddy_icons_get_account_icon_timestamp, a DateTime. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_buddy_icons_node_has_custom_icon
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_buddy_icons_node_has_custom_icon(PurpleBlistNode * node)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_buddy_icons_node_has_custom_icon(IntPtr node);
+
+ public static bool BuddyIconsNodeHasCustomIcon(PurpleBlistNode node)
+ {
+ return purple_buddy_icons_node_has_custom_icon(node.Reference);
+ }
+
+ /*
+ * Function Name: purple_buddy_icons_node_find_custom_icon
+ * Function Type: PurpleStoredImage *
+ * Function RawType: PurpleStoredImage
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleStoredImage * purple_buddy_icons_node_find_custom_icon(PurpleBlistNode * node)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_buddy_icons_node_find_custom_icon(IntPtr node);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleStoredImage */ IntPtr BuddyIconsNodeFindCustomIcon(PurpleBlistNode node)
+ {
+ /* Unable to process the return value of purple_buddy_icons_node_find_custom_icon, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_buddy_icons_has_custom_icon
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_buddy_icons_has_custom_icon(PurpleContact * contact)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_buddy_icons_has_custom_icon(IntPtr contact);
+
+ public static bool BuddyIconsHasCustomIcon(PurpleContact contact)
+ {
+ return purple_buddy_icons_has_custom_icon(contact.Reference);
+ }
+
+ /*
+ * Function Name: purple_buddy_icons_find_custom_icon
+ * Function Type: PurpleStoredImage *
+ * Function RawType: PurpleStoredImage
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleStoredImage * purple_buddy_icons_find_custom_icon(PurpleContact * contact)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_buddy_icons_find_custom_icon(IntPtr contact);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleStoredImage */ IntPtr BuddyIconsFindCustomIcon(PurpleContact contact)
+ {
+ /* Unable to process the return value of purple_buddy_icons_find_custom_icon, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_buddy_icons_set_caching
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_buddy_icons_set_caching(gboolean caching)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_buddy_icons_set_caching(bool caching);
+
+ public static void BuddyIconsSetCaching(bool caching)
+ {
+ purple_buddy_icons_set_caching(caching);
+ }
+
+ /*
+ * Function Name: purple_buddy_icons_is_caching
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_buddy_icons_is_caching()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_buddy_icons_is_caching();
+
+ public static bool BuddyIconsIsCaching()
+ {
+ return purple_buddy_icons_is_caching();
+ }
+
+ /*
+ * Function Name: purple_buddy_icons_set_cache_dir
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_buddy_icons_set_cache_dir(char * cache_dir)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_buddy_icons_set_cache_dir(string cache_dir);
+
+ public static void BuddyIconsSetCacheDir(string cache_dir)
+ {
+ purple_buddy_icons_set_cache_dir(cache_dir);
+ }
+
+ /*
+ * Function Name: purple_buddy_icons_get_cache_dir
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_buddy_icons_get_cache_dir()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_buddy_icons_get_cache_dir();
+
+ public static string BuddyIconsGetCacheDir()
+ {
+ return purple_buddy_icons_get_cache_dir();
+ }
+
+ /*
+ * Function Name: purple_buddy_icons_get_handle
+ * Function Type: void *
+ * Function RawType: void
+ * Function Category: VoidPointer
+ */
+ /*
+ * void * purple_buddy_icons_get_handle()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_buddy_icons_get_handle();
+
+ public static IntPtr BuddyIconsGetHandle()
+ {
+ return purple_buddy_icons_get_handle();
+ }
+
+ /*
+ * Function Name: purple_buddy_icons_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_buddy_icons_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_buddy_icons_init();
+
+ public static void BuddyIconsInit()
+ {
+ purple_buddy_icons_init();
+ }
+
+ /*
+ * Function Name: purple_buddy_icons_uninit
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_buddy_icons_uninit()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_buddy_icons_uninit();
+
+ public static void BuddyIconsUninit()
+ {
+ purple_buddy_icons_uninit();
+ }
+
+ /*
+ * Function Name: purple_buddy_icon_get_scale_size
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_buddy_icon_get_scale_size(PurpleBuddyIconSpec * spec, int * width, int * height)
+ */
+ [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, /* Resolved as PointerToUnknownStruct to int */ IntPtr width, /* Resolved as PointerToUnknownStruct to int */ IntPtr height)
+ {
+ /* Unable to process width, a PointerToUnknownStruct. */
+ /* Unable to process height, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Certificate.cs ba6b49b80f5f6ed7ce4bd89f3920f02cb1d92405
+++ libpurple/wrapper/Certificate.cs ba6b49b80f5f6ed7ce4bd89f3920f02cb1d92405
@@ -0,0 +1,708 @@
+/* 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
+{
+
+ /*
+ * File: certificate.h
+ */
+ public class Certificate
+ {
+ public enum PurpleCertificateVerificationStatus
+ {
+ PURPLE_CERTIFICATE_INVALID = 0,
+ PURPLE_CERTIFICATE_VALID = 1
+ };
+
+ public delegate void PurpleCertificateVerifiedCallback(Certificate.PurpleCertificateVerificationStatus st, IntPtr userdata);
+
+ /*
+ * Function Name: purple_certificate_copy
+ * Function Type: PurpleCertificate *
+ * Function RawType: PurpleCertificate
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleCertificate * purple_certificate_copy(PurpleCertificate * crt)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_certificate_copy(IntPtr crt);
+
+ public static PurpleCertificate Copy(PurpleCertificate crt)
+ {
+ return new PurpleCertificate(purple_certificate_copy(crt.Reference));
+ }
+
+ /*
+ * Function Name: purple_certificate_copy_list
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_certificate_copy_list(GList * crt_list)
+ *
+ * Could not generate a wrapper for purple_certificate_copy_list in file "certificate.h".
+ * Message: Unknown inner-type of argument 0 of purple_certificate_copy_list
+ */
+
+ /*
+ * Function Name: purple_certificate_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_certificate_destroy(PurpleCertificate * crt)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_certificate_destroy(IntPtr crt);
+
+ public static void Destroy(PurpleCertificate crt)
+ {
+ purple_certificate_destroy(crt.Reference);
+ }
+
+ /*
+ * Function Name: purple_certificate_destroy_list
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_certificate_destroy_list(GList * crt_list)
+ *
+ * Could not generate a wrapper for purple_certificate_destroy_list in file "certificate.h".
+ * Message: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ /*
+ * Function Name: purple_certificate_signed_by
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_certificate_signed_by(PurpleCertificate * crt, PurpleCertificate * issuer)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_certificate_signed_by(IntPtr crt, IntPtr issuer);
+
+ public static bool SignedBy(PurpleCertificate crt, PurpleCertificate issuer)
+ {
+ return purple_certificate_signed_by(crt.Reference, issuer.Reference);
+ }
+
+ /*
+ * Function Name: purple_certificate_check_signature_chain
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_certificate_check_signature_chain(GList * chain)
+ *
+ * Could not generate a wrapper for purple_certificate_check_signature_chain in file "certificate.h".
+ * Message: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ /*
+ * Function Name: purple_certificate_import
+ * Function Type: PurpleCertificate *
+ * Function RawType: PurpleCertificate
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleCertificate * purple_certificate_import(PurpleCertificateScheme * scheme, gchar * filename)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_certificate_import(IntPtr scheme, string filename);
+
+ public static PurpleCertificate Import(PurpleCertificateScheme scheme, string filename)
+ {
+ return new PurpleCertificate(purple_certificate_import(scheme.Reference, filename));
+ }
+
+ /*
+ * Function Name: purple_certificate_export
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_certificate_export(gchar * filename, PurpleCertificate * crt)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_certificate_export(string filename, IntPtr crt);
+
+ public static bool Export(string filename, PurpleCertificate crt)
+ {
+ return purple_certificate_export(filename, crt.Reference);
+ }
+
+ /*
+ * Function Name: purple_certificate_get_fingerprint_sha1
+ * Function Type: GByteArray *
+ * Function RawType: GByteArray
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * GByteArray * purple_certificate_get_fingerprint_sha1(PurpleCertificate * crt)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_certificate_get_fingerprint_sha1(IntPtr crt);
+
+ public static /* Resolved as PointerToUnknownStruct to GByteArray */ IntPtr GetFingerprintSha1(PurpleCertificate crt)
+ {
+ /* Unable to process the return value of purple_certificate_get_fingerprint_sha1, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_certificate_get_unique_id
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * 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);
+ }
+
+ /*
+ * Function Name: purple_certificate_get_issuer_unique_id
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * 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);
+ }
+
+ /*
+ * Function Name: purple_certificate_get_subject_name
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * 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);
+ }
+
+ /*
+ * Function Name: purple_certificate_check_subject_name
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_certificate_check_subject_name(PurpleCertificate * crt, gchar * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_certificate_check_subject_name(IntPtr crt, string name);
+
+ public static bool CheckSubjectName(PurpleCertificate crt, string name)
+ {
+ return purple_certificate_check_subject_name(crt.Reference, name);
+ }
+
+ /*
+ * Function Name: purple_certificate_get_times
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_certificate_get_times(PurpleCertificate * crt, time_t * activation, time_t * expiration)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_certificate_get_times(IntPtr crt, IntPtr activation, IntPtr expiration);
+
+ public static bool GetTimes(PurpleCertificate crt, /* Resolved as PointerToUnknownStruct to time_t */ IntPtr activation, /* Resolved as PointerToUnknownStruct to time_t */ IntPtr expiration)
+ {
+ /* Unable to process activation, a PointerToUnknownStruct. */
+ /* Unable to process expiration, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_certificate_pool_mkpath
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_certificate_pool_mkpath(PurpleCertificatePool * pool, gchar * id)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_certificate_pool_mkpath(IntPtr pool, string id);
+
+ public static string PoolMkpath(PurpleCertificatePool pool, string id)
+ {
+ return purple_certificate_pool_mkpath(pool.Reference, id);
+ }
+
+ /*
+ * Function Name: purple_certificate_pool_usable
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_certificate_pool_usable(PurpleCertificatePool * pool)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_certificate_pool_usable(IntPtr pool);
+
+ public static bool PoolUsable(PurpleCertificatePool pool)
+ {
+ return purple_certificate_pool_usable(pool.Reference);
+ }
+
+ /*
+ * Function Name: purple_certificate_pool_get_scheme
+ * Function Type: PurpleCertificateScheme *
+ * Function RawType: PurpleCertificateScheme
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * 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));
+ }
+
+ /*
+ * Function Name: purple_certificate_pool_contains
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_certificate_pool_contains(PurpleCertificatePool * pool, gchar * id)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_certificate_pool_contains(IntPtr pool, string id);
+
+ public static bool PoolContains(PurpleCertificatePool pool, string id)
+ {
+ return purple_certificate_pool_contains(pool.Reference, id);
+ }
+
+ /*
+ * Function Name: purple_certificate_pool_retrieve
+ * Function Type: PurpleCertificate *
+ * Function RawType: PurpleCertificate
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * 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));
+ }
+
+ /*
+ * Function Name: purple_certificate_pool_store
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_certificate_pool_store(PurpleCertificatePool * pool, gchar * id, PurpleCertificate * crt)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_certificate_pool_store(IntPtr pool, string id, IntPtr crt);
+
+ public static bool PoolStore(PurpleCertificatePool pool, string id, PurpleCertificate crt)
+ {
+ return purple_certificate_pool_store(pool.Reference, id, crt.Reference);
+ }
+
+ /*
+ * Function Name: purple_certificate_pool_delete
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_certificate_pool_delete(PurpleCertificatePool * pool, gchar * id)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_certificate_pool_delete(IntPtr pool, string id);
+
+ public static bool PoolDelete(PurpleCertificatePool pool, string id)
+ {
+ return purple_certificate_pool_delete(pool.Reference, id);
+ }
+
+ /*
+ * Function Name: purple_certificate_pool_get_idlist
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_certificate_pool_get_idlist(PurpleCertificatePool * pool)
+ *
+ * Could not generate a wrapper for purple_certificate_pool_get_idlist in file "certificate.h".
+ * Message: Unknown inner-type of argument 0 of purple_certificate_pool_get_idlist
+ */
+
+ /*
+ * Function Name: purple_certificate_pool_destroy_idlist
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_certificate_pool_destroy_idlist(GList * idlist)
+ *
+ * Could not generate a wrapper for purple_certificate_pool_destroy_idlist in file "certificate.h".
+ * Message: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ /*
+ * Function Name: purple_certificate_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_certificate_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_certificate_init();
+
+ public static void Init()
+ {
+ purple_certificate_init();
+ }
+
+ /*
+ * Function Name: purple_certificate_uninit
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_certificate_uninit()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_certificate_uninit();
+
+ public static void Uninit()
+ {
+ purple_certificate_uninit();
+ }
+
+ /*
+ * Function Name: purple_certificate_get_handle
+ * Function Type: gpointer
+ * Function RawType: gpointer
+ * Function Category: VoidPointer
+ */
+ /*
+ * gpointer purple_certificate_get_handle()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_certificate_get_handle();
+
+ public static IntPtr GetHandle()
+ {
+ return purple_certificate_get_handle();
+ }
+
+ /*
+ * Function Name: purple_certificate_find_scheme
+ * Function Type: PurpleCertificateScheme *
+ * Function RawType: PurpleCertificateScheme
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * 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));
+ }
+
+ /*
+ * Function Name: purple_certificate_get_schemes
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_certificate_get_schemes()
+ *
+ * Could not generate a wrapper for purple_certificate_get_schemes in file "certificate.h".
+ * Message: Unknown inner-type of argument 0 of purple_certificate_get_schemes
+ */
+
+ /*
+ * Function Name: purple_certificate_register_scheme
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_certificate_register_scheme(PurpleCertificateScheme * scheme)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_certificate_register_scheme(IntPtr scheme);
+
+ public static bool RegisterScheme(PurpleCertificateScheme scheme)
+ {
+ return purple_certificate_register_scheme(scheme.Reference);
+ }
+
+ /*
+ * Function Name: purple_certificate_unregister_scheme
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_certificate_unregister_scheme(PurpleCertificateScheme * scheme)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_certificate_unregister_scheme(IntPtr scheme);
+
+ public static bool UnregisterScheme(PurpleCertificateScheme scheme)
+ {
+ return purple_certificate_unregister_scheme(scheme.Reference);
+ }
+
+ /*
+ * Function Name: purple_certificate_find_verifier
+ * Function Type: PurpleCertificateVerifier *
+ * Function RawType: PurpleCertificateVerifier
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * 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));
+ }
+
+ /*
+ * Function Name: purple_certificate_get_verifiers
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_certificate_get_verifiers()
+ *
+ * Could not generate a wrapper for purple_certificate_get_verifiers in file "certificate.h".
+ * Message: Unknown inner-type of argument 0 of purple_certificate_get_verifiers
+ */
+
+ /*
+ * Function Name: purple_certificate_register_verifier
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_certificate_register_verifier(PurpleCertificateVerifier * vr)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_certificate_register_verifier(IntPtr vr);
+
+ public static bool RegisterVerifier(PurpleCertificateVerifier vr)
+ {
+ return purple_certificate_register_verifier(vr.Reference);
+ }
+
+ /*
+ * Function Name: purple_certificate_unregister_verifier
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_certificate_unregister_verifier(PurpleCertificateVerifier * vr)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_certificate_unregister_verifier(IntPtr vr);
+
+ public static bool UnregisterVerifier(PurpleCertificateVerifier vr)
+ {
+ return purple_certificate_unregister_verifier(vr.Reference);
+ }
+
+ /*
+ * Function Name: purple_certificate_find_pool
+ * Function Type: PurpleCertificatePool *
+ * Function RawType: PurpleCertificatePool
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * 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));
+ }
+
+ /*
+ * Function Name: purple_certificate_get_pools
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_certificate_get_pools()
+ *
+ * Could not generate a wrapper for purple_certificate_get_pools in file "certificate.h".
+ * Message: Unknown inner-type of argument 0 of purple_certificate_get_pools
+ */
+
+ /*
+ * Function Name: purple_certificate_register_pool
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_certificate_register_pool(PurpleCertificatePool * pool)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_certificate_register_pool(IntPtr pool);
+
+ public static bool RegisterPool(PurpleCertificatePool pool)
+ {
+ return purple_certificate_register_pool(pool.Reference);
+ }
+
+ /*
+ * Function Name: purple_certificate_unregister_pool
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_certificate_unregister_pool(PurpleCertificatePool * pool)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_certificate_unregister_pool(IntPtr pool);
+
+ public static bool UnregisterPool(PurpleCertificatePool pool)
+ {
+ return purple_certificate_unregister_pool(pool.Reference);
+ }
+
+ /*
+ * Function Name: purple_certificate_display_x509
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_certificate_display_x509(PurpleCertificate * crt)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_certificate_display_x509(IntPtr crt);
+
+ public static void DisplayX509(PurpleCertificate crt)
+ {
+ purple_certificate_display_x509(crt.Reference);
+ }
+
+ /*
+ * Function Name: purple_certificate_add_ca_search_path
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_certificate_add_ca_search_path(char * path)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_certificate_add_ca_search_path(string path);
+
+ public static void AddCaSearchPath(string path)
+ {
+ purple_certificate_add_ca_search_path(path);
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Cipher.cs 4edc904a0224254c28500cfce282318811809e1b
+++ libpurple/wrapper/Cipher.cs 4edc904a0224254c28500cfce282318811809e1b
@@ -0,0 +1,563 @@
+/* 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
+{
+
+ /*
+ * File: cipher.h
+ */
+ public class Cipher
+ {
+ public enum PurpleCipherBatchMode
+ {
+ PURPLE_CIPHER_BATCH_MODE_ECB,
+ PURPLE_CIPHER_BATCH_MODE_CBC
+ };
+
+ public enum PurpleCipherCaps
+ {
+ 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
+ };
+
+
+ /*
+ * Function Name: purple_cipher_get_name
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_cipher_get_name(PurpleCipher * cipher)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_cipher_get_name(IntPtr cipher);
+
+ public static string GetName(/* Resolved as PointerToUnknownStruct to PurpleCipher */ IntPtr cipher)
+ {
+ /* Unable to process cipher, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_cipher_get_capabilities
+ * Function Type: guint
+ * Function RawType: guint
+ * Function Category: Native
+ */
+ /*
+ * guint purple_cipher_get_capabilities(PurpleCipher * cipher)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern uint purple_cipher_get_capabilities(IntPtr cipher);
+
+ public static uint GetCapabilities(/* Resolved as PointerToUnknownStruct to PurpleCipher */ IntPtr cipher)
+ {
+ /* Unable to process cipher, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_ciphers_find_cipher
+ * Function Type: PurpleCipher *
+ * Function RawType: PurpleCipher
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleCipher * purple_ciphers_find_cipher(gchar * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_ciphers_find_cipher(string name);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleCipher */ IntPtr CiphersFindCipher(string name)
+ {
+ /* Unable to process the return value of purple_ciphers_find_cipher, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_ciphers_register_cipher
+ * Function Type: PurpleCipher *
+ * Function RawType: PurpleCipher
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * 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 /* Resolved as PointerToUnknownStruct to PurpleCipher */ IntPtr CiphersRegisterCipher(string name, PurpleCipherOps ops)
+ {
+ /* Unable to process the return value of purple_ciphers_register_cipher, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_ciphers_unregister_cipher
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_ciphers_unregister_cipher(PurpleCipher * cipher)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_ciphers_unregister_cipher(IntPtr cipher);
+
+ public static bool CiphersUnregisterCipher(/* Resolved as PointerToUnknownStruct to PurpleCipher */ IntPtr cipher)
+ {
+ /* Unable to process cipher, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_ciphers_get_ciphers
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_ciphers_get_ciphers()
+ *
+ * Could not generate a wrapper for purple_ciphers_get_ciphers in file "cipher.h".
+ * Message: Unknown inner-type of argument 0 of purple_ciphers_get_ciphers
+ */
+
+ /*
+ * Function Name: purple_ciphers_get_handle
+ * Function Type: gpointer
+ * Function RawType: gpointer
+ * Function Category: VoidPointer
+ */
+ /*
+ * gpointer purple_ciphers_get_handle()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_ciphers_get_handle();
+
+ public static IntPtr CiphersGetHandle()
+ {
+ return purple_ciphers_get_handle();
+ }
+
+ /*
+ * Function Name: purple_ciphers_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_ciphers_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_ciphers_init();
+
+ public static void CiphersInit()
+ {
+ purple_ciphers_init();
+ }
+
+ /*
+ * Function Name: purple_ciphers_uninit
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_ciphers_uninit()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_ciphers_uninit();
+
+ public static void CiphersUninit()
+ {
+ purple_ciphers_uninit();
+ }
+
+ /*
+ * Function Name: purple_cipher_context_set_option
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_cipher_context_set_option(PurpleCipherContext * context, gchar * name, gpointer value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_cipher_context_set_option(IntPtr context, string name, IntPtr value);
+
+ public static void ContextSetOption(/* Resolved as PointerToUnknownStruct to PurpleCipherContext */ IntPtr context, string name, IntPtr value)
+ {
+ /* Unable to process context, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_cipher_context_get_option
+ * Function Type: gpointer
+ * Function RawType: gpointer
+ * Function Category: VoidPointer
+ */
+ /*
+ * gpointer purple_cipher_context_get_option(PurpleCipherContext * context, gchar * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_cipher_context_get_option(IntPtr context, string name);
+
+ public static IntPtr ContextGetOption(/* Resolved as PointerToUnknownStruct to PurpleCipherContext */ IntPtr context, string name)
+ {
+ /* Unable to process context, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_cipher_context_new
+ * Function Type: PurpleCipherContext *
+ * Function RawType: PurpleCipherContext
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * 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 /* Resolved as PointerToUnknownStruct to PurpleCipherContext */ IntPtr ContextNew(/* Resolved as PointerToUnknownStruct to PurpleCipher */ IntPtr cipher, IntPtr extra)
+ {
+ /* Unable to process cipher, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_cipher_context_new_by_name
+ * Function Type: PurpleCipherContext *
+ * Function RawType: PurpleCipherContext
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * 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 /* Resolved as PointerToUnknownStruct to PurpleCipherContext */ IntPtr ContextNewByName(string name, IntPtr extra)
+ {
+ /* Unable to process the return value of purple_cipher_context_new_by_name, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_cipher_context_reset
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_cipher_context_reset(PurpleCipherContext * context, gpointer extra)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_cipher_context_reset(IntPtr context, IntPtr extra);
+
+ public static void ContextReset(/* Resolved as PointerToUnknownStruct to PurpleCipherContext */ IntPtr context, IntPtr extra)
+ {
+ /* Unable to process context, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_cipher_context_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_cipher_context_destroy(PurpleCipherContext * context)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_cipher_context_destroy(IntPtr context);
+
+ public static void ContextDestroy(/* Resolved as PointerToUnknownStruct to PurpleCipherContext */ IntPtr context)
+ {
+ /* Unable to process context, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_cipher_context_set_iv
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_cipher_context_set_iv(PurpleCipherContext * context, guchar * iv, size_t len)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_cipher_context_set_iv(IntPtr context, IntPtr iv, ulong len);
+
+ public static void ContextSetIv(/* Resolved as PointerToUnknownStruct to PurpleCipherContext */ IntPtr context, /* Resolved as PointerToUnknownStruct to guchar */ IntPtr iv, ulong len)
+ {
+ /* Unable to process context, a PointerToUnknownStruct. */
+ /* Unable to process iv, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_cipher_context_append
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_cipher_context_append(PurpleCipherContext * context, guchar * data, size_t len)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_cipher_context_append(IntPtr context, IntPtr data, ulong len);
+
+ public static void ContextAppend(/* Resolved as PointerToUnknownStruct to PurpleCipherContext */ IntPtr context, /* Resolved as PointerToUnknownStruct to guchar */ IntPtr data, ulong len)
+ {
+ /* Unable to process context, a PointerToUnknownStruct. */
+ /* Unable to process data, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_cipher_context_set_salt
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_cipher_context_set_salt(PurpleCipherContext * context, guchar * salt)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_cipher_context_set_salt(IntPtr context, IntPtr salt);
+
+ public static void ContextSetSalt(/* Resolved as PointerToUnknownStruct to PurpleCipherContext */ IntPtr context, /* Resolved as PointerToUnknownStruct to guchar */ IntPtr salt)
+ {
+ /* Unable to process context, a PointerToUnknownStruct. */
+ /* Unable to process salt, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_cipher_context_get_salt_size
+ * Function Type: size_t
+ * Function RawType: size_t
+ * Function Category: Native
+ */
+ /*
+ * size_t purple_cipher_context_get_salt_size(PurpleCipherContext * context)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern ulong purple_cipher_context_get_salt_size(IntPtr context);
+
+ public static ulong ContextGetSaltSize(/* Resolved as PointerToUnknownStruct to PurpleCipherContext */ IntPtr context)
+ {
+ /* Unable to process context, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_cipher_context_set_key
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_cipher_context_set_key(PurpleCipherContext * context, guchar * key)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_cipher_context_set_key(IntPtr context, IntPtr key);
+
+ public static void ContextSetKey(/* Resolved as PointerToUnknownStruct to PurpleCipherContext */ IntPtr context, /* Resolved as PointerToUnknownStruct to guchar */ IntPtr key)
+ {
+ /* Unable to process context, a PointerToUnknownStruct. */
+ /* Unable to process key, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_cipher_context_get_key_size
+ * Function Type: size_t
+ * Function RawType: size_t
+ * Function Category: Native
+ */
+ /*
+ * size_t purple_cipher_context_get_key_size(PurpleCipherContext * context)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern ulong purple_cipher_context_get_key_size(IntPtr context);
+
+ public static ulong ContextGetKeySize(/* Resolved as PointerToUnknownStruct to PurpleCipherContext */ IntPtr context)
+ {
+ /* Unable to process context, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_cipher_context_set_batch_mode
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_cipher_context_set_batch_mode(PurpleCipherContext * context, PurpleCipherBatchMode mode)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_cipher_context_set_batch_mode(IntPtr context, Cipher.PurpleCipherBatchMode mode);
+
+ public static void ContextSetBatchMode(/* Resolved as PointerToUnknownStruct to PurpleCipherContext */ IntPtr context, Cipher.PurpleCipherBatchMode mode)
+ {
+ /* Unable to process context, a PointerToUnknownStruct. */
+ /* Unable to process mode, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_cipher_context_get_batch_mode
+ * Function Type: PurpleCipherBatchMode
+ * Function RawType: PurpleCipherBatchMode
+ * Function Category: KnownEnum
+ */
+ /*
+ * PurpleCipherBatchMode purple_cipher_context_get_batch_mode(PurpleCipherContext * context)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern Cipher.PurpleCipherBatchMode purple_cipher_context_get_batch_mode(IntPtr context);
+
+ public static Cipher.PurpleCipherBatchMode ContextGetBatchMode(/* Resolved as PointerToUnknownStruct to PurpleCipherContext */ IntPtr context)
+ {
+ /* Unable to process context, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_cipher_context_get_block_size
+ * Function Type: size_t
+ * Function RawType: size_t
+ * Function Category: Native
+ */
+ /*
+ * size_t purple_cipher_context_get_block_size(PurpleCipherContext * context)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern ulong purple_cipher_context_get_block_size(IntPtr context);
+
+ public static ulong ContextGetBlockSize(/* Resolved as PointerToUnknownStruct to PurpleCipherContext */ IntPtr context)
+ {
+ /* Unable to process context, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_cipher_context_set_key_with_len
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_cipher_context_set_key_with_len(PurpleCipherContext * context, guchar * key, size_t len)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_cipher_context_set_key_with_len(IntPtr context, IntPtr key, ulong len);
+
+ public static void ContextSetKeyWithLen(/* Resolved as PointerToUnknownStruct to PurpleCipherContext */ IntPtr context, /* Resolved as PointerToUnknownStruct to guchar */ IntPtr key, ulong len)
+ {
+ /* Unable to process context, a PointerToUnknownStruct. */
+ /* Unable to process key, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_cipher_context_set_data
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_cipher_context_set_data(PurpleCipherContext * context, gpointer data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_cipher_context_set_data(IntPtr context, IntPtr data);
+
+ public static void ContextSetData(/* Resolved as PointerToUnknownStruct to PurpleCipherContext */ IntPtr context, IntPtr data)
+ {
+ /* Unable to process context, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_cipher_context_get_data
+ * Function Type: gpointer
+ * Function RawType: gpointer
+ * Function Category: VoidPointer
+ */
+ /*
+ * gpointer purple_cipher_context_get_data(PurpleCipherContext * context)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_cipher_context_get_data(IntPtr context);
+
+ public static IntPtr ContextGetData(/* Resolved as PointerToUnknownStruct to PurpleCipherContext */ IntPtr context)
+ {
+ /* Unable to process context, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Circbuffer.cs 24520387f519397679c2e7e44b5fa8c948f340b4
+++ libpurple/wrapper/Circbuffer.cs 24520387f519397679c2e7e44b5fa8c948f340b4
@@ -0,0 +1,135 @@
+/* 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
+{
+
+ /*
+ * File: circbuffer.h
+ */
+ public class Circbuffer
+ {
+
+ /*
+ * Function Name: purple_circ_buffer_new
+ * Function Type: PurpleCircBuffer *
+ * Function RawType: PurpleCircBuffer
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleCircBuffer * purple_circ_buffer_new(gsize growsize)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_circ_buffer_new(ulong growsize);
+
+ public static PurpleCircBuffer CircBufferNew(ulong growsize)
+ {
+ return new PurpleCircBuffer(purple_circ_buffer_new(growsize));
+ }
+
+ /*
+ * Function Name: purple_circ_buffer_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_circ_buffer_destroy(PurpleCircBuffer * buf)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_circ_buffer_destroy(IntPtr buf);
+
+ public static void CircBufferDestroy(PurpleCircBuffer buf)
+ {
+ purple_circ_buffer_destroy(buf.Reference);
+ }
+
+ /*
+ * Function Name: purple_circ_buffer_append
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_circ_buffer_append(PurpleCircBuffer * buf, gconstpointer src, gsize len)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_circ_buffer_append(IntPtr buf, IntPtr src, ulong len);
+
+ public static void CircBufferAppend(PurpleCircBuffer buf, IntPtr src, ulong len)
+ {
+ purple_circ_buffer_append(buf.Reference, src, len);
+ }
+
+ /*
+ * Function Name: purple_circ_buffer_get_max_read
+ * Function Type: gsize
+ * Function RawType: gsize
+ * Function Category: Native
+ */
+ /*
+ * gsize purple_circ_buffer_get_max_read(PurpleCircBuffer * buf)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern ulong purple_circ_buffer_get_max_read(IntPtr buf);
+
+ public static ulong CircBufferGetMaxRead(PurpleCircBuffer buf)
+ {
+ return purple_circ_buffer_get_max_read(buf.Reference);
+ }
+
+ /*
+ * Function Name: purple_circ_buffer_mark_read
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_circ_buffer_mark_read(PurpleCircBuffer * buf, gsize len)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_circ_buffer_mark_read(IntPtr buf, ulong len);
+
+ public static bool CircBufferMarkRead(PurpleCircBuffer buf, ulong len)
+ {
+ return purple_circ_buffer_mark_read(buf.Reference, len);
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Cmds.cs 23568b8957912fd945161ee2d6c60f959e19e1cf
+++ libpurple/wrapper/Cmds.cs 23568b8957912fd945161ee2d6c60f959e19e1cf
@@ -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
+{
+
+ /*
+ * File: cmds.h
+ */
+ public class Cmds
+ {
+ 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 enum PurpleCmdRet
+ {
+ PURPLE_CMD_RET_OK,
+ PURPLE_CMD_RET_FAILED,
+ PURPLE_CMD_RET_CONTINUE
+ };
+
+ 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 enum PurpleCmdFlag
+ {
+ PURPLE_CMD_FLAG_IM = 0x01,
+ PURPLE_CMD_FLAG_CHAT = 0x02,
+ PURPLE_CMD_FLAG_PRPL_ONLY = 0x04,
+ PURPLE_CMD_FLAG_ALLOW_WRONG_ARGS = 0x08
+ };
+
+ public delegate Cmds.PurpleCmdRet PurpleCmdFunc(IntPtr _PurpleWrapper_arg0, string cmd, IntPtr args, IntPtr error, IntPtr data);
+
+ /*
+ * Function Name: purple_cmd_unregister
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_cmd_unregister(PurpleCmdId id)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_cmd_unregister(uint id);
+
+ public static void CmdUnregister(uint id)
+ {
+ purple_cmd_unregister(id);
+ }
+
+ /*
+ * Function Name: purple_cmd_list
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_cmd_list(PurpleConversation * conv)
+ *
+ * Could not generate a wrapper for purple_cmd_list in file "cmds.h".
+ * Message: Unknown inner-type of argument 0 of purple_cmd_list
+ */
+
+ /*
+ * Function Name: purple_cmd_help
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_cmd_help(PurpleConversation * conv, gchar * cmd)
+ *
+ * Could not generate a wrapper for purple_cmd_help in file "cmds.h".
+ * Message: Unknown inner-type of argument 0 of purple_cmd_help
+ */
+
+ /*
+ * Function Name: purple_cmds_get_handle
+ * Function Type: gpointer
+ * Function RawType: gpointer
+ * Function Category: VoidPointer
+ */
+ /*
+ * gpointer purple_cmds_get_handle()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_cmds_get_handle();
+
+ public static IntPtr GetHandle()
+ {
+ return purple_cmds_get_handle();
+ }
+
+ /*
+ * Function Name: purple_cmds_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_cmds_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_cmds_init();
+
+ public static void Init()
+ {
+ purple_cmds_init();
+ }
+
+ /*
+ * Function Name: purple_cmds_uninit
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_cmds_uninit()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_cmds_uninit();
+
+ public static void Uninit()
+ {
+ purple_cmds_uninit();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Config.cs 8893673e392007a9ad1a26051bd945bcee99a762
+++ libpurple/wrapper/Config.cs 8893673e392007a9ad1a26051bd945bcee99a762
@@ -0,0 +1,67 @@
+/* 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
+{
+
+ /*
+ * File: config.h
+ */
+ public class Config
+ {
+
+ /*
+ * Function Name: static_proto_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void static_proto_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void static_proto_init();
+
+ public static void StaticProtoInit()
+ {
+ static_proto_init();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Connection.cs fb8a70f60960e2109fa299cb5bfa94706222f514
+++ libpurple/wrapper/Connection.cs fb8a70f60960e2109fa299cb5bfa94706222f514
@@ -0,0 +1,480 @@
+/* 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
+{
+
+ /*
+ * File: connection.h
+ */
+ public class Connection
+ {
+ 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 enum PurpleConnectionState
+ {
+ 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
+ };
+
+
+ /*
+ * Function Name: purple_connection_new_unregister
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_connection_new_unregister(PurpleAccount * account, char * password, PurpleAccountUnregistrationCb cb, void * user_data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_connection_new_unregister(IntPtr account, string password, IntPtr cb, IntPtr user_data);
+
+ public static void NewUnregister(PurpleAccount account, string password, Account.PurpleAccountUnregistrationCb cb, IntPtr user_data)
+ {
+ /* Unable to process cb, a KnownFunctionPointer. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_connection_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_connection_destroy(PurpleConnection * gc)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_connection_destroy(IntPtr gc);
+
+ public static void Destroy(PurpleConnection gc)
+ {
+ purple_connection_destroy(gc.Reference);
+ }
+
+ /*
+ * Function Name: purple_connection_set_state
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_connection_set_state(PurpleConnection * gc, PurpleConnectionState state)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_connection_set_state(IntPtr gc, Connection.PurpleConnectionState state);
+
+ public static void SetState(PurpleConnection gc, Connection.PurpleConnectionState state)
+ {
+ /* Unable to process state, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_connection_set_account
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_connection_set_account(PurpleConnection * gc, PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_connection_set_account(IntPtr gc, IntPtr account);
+
+ public static void SetAccount(PurpleConnection gc, PurpleAccount account)
+ {
+ purple_connection_set_account(gc.Reference, account.Reference);
+ }
+
+ /*
+ * Function Name: purple_connection_set_display_name
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_connection_set_display_name(PurpleConnection * gc, char * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_connection_set_display_name(IntPtr gc, string name);
+
+ public static void SetDisplayName(PurpleConnection gc, string name)
+ {
+ purple_connection_set_display_name(gc.Reference, name);
+ }
+
+ /*
+ * Function Name: purple_connection_set_protocol_data
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_connection_set_protocol_data(PurpleConnection * connection, void * proto_data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_connection_set_protocol_data(IntPtr connection, IntPtr proto_data);
+
+ public static void SetProtocolData(PurpleConnection connection, IntPtr proto_data)
+ {
+ purple_connection_set_protocol_data(connection.Reference, proto_data);
+ }
+
+ /*
+ * Function Name: purple_connection_get_state
+ * Function Type: PurpleConnectionState
+ * Function RawType: PurpleConnectionState
+ * Function Category: KnownEnum
+ */
+ /*
+ * PurpleConnectionState purple_connection_get_state(PurpleConnection * gc)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern Connection.PurpleConnectionState purple_connection_get_state(IntPtr gc);
+
+ public static Connection.PurpleConnectionState GetState(PurpleConnection gc)
+ {
+ /* Unable to process the return value of purple_connection_get_state, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_connection_get_account
+ * Function Type: PurpleAccount *
+ * Function RawType: PurpleAccount
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleAccount * purple_connection_get_account(PurpleConnection * gc)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_connection_get_account(IntPtr gc);
+
+ public static PurpleAccount GetAccount(PurpleConnection gc)
+ {
+ return new PurpleAccount(purple_connection_get_account(gc.Reference));
+ }
+
+ /*
+ * Function Name: purple_connection_get_prpl
+ * Function Type: PurplePlugin *
+ * Function RawType: PurplePlugin
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * 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));
+ }
+
+ /*
+ * Function Name: purple_connection_get_password
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_connection_get_password(PurpleConnection * gc)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_connection_get_password(IntPtr gc);
+
+ public static string GetPassword(PurpleConnection gc)
+ {
+ return purple_connection_get_password(gc.Reference);
+ }
+
+ /*
+ * Function Name: purple_connection_get_display_name
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_connection_get_display_name(PurpleConnection * gc)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_connection_get_display_name(IntPtr gc);
+
+ public static string GetDisplayName(PurpleConnection gc)
+ {
+ return purple_connection_get_display_name(gc.Reference);
+ }
+
+ /*
+ * Function Name: purple_connection_get_protocol_data
+ * Function Type: void *
+ * Function RawType: void
+ * Function Category: VoidPointer
+ */
+ /*
+ * void * purple_connection_get_protocol_data(PurpleConnection * connection)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_connection_get_protocol_data(IntPtr connection);
+
+ public static IntPtr GetProtocolData(PurpleConnection connection)
+ {
+ return purple_connection_get_protocol_data(connection.Reference);
+ }
+
+ /*
+ * Function Name: purple_connection_notice
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_connection_notice(PurpleConnection * gc, char * text)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_connection_notice(IntPtr gc, string text);
+
+ public static void Notice(PurpleConnection gc, string text)
+ {
+ purple_connection_notice(gc.Reference, text);
+ }
+
+ /*
+ * Function Name: purple_connection_error
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_connection_error(PurpleConnection * gc, char * reason)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_connection_error(IntPtr gc, string reason);
+
+ public static void Error(PurpleConnection gc, string reason)
+ {
+ purple_connection_error(gc.Reference, reason);
+ }
+
+ /*
+ * Function Name: purple_connection_error_is_fatal
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_connection_error_is_fatal(PurpleConnectionError reason)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_connection_error_is_fatal(Connection.PurpleConnectionError reason);
+
+ public static bool ErrorIsFatal(Connection.PurpleConnectionError reason)
+ {
+ /* Unable to process reason, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_connections_disconnect_all
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_connections_disconnect_all()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_connections_disconnect_all();
+
+ public static void ConnectionsDisconnectAll()
+ {
+ purple_connections_disconnect_all();
+ }
+
+ /*
+ * Function Name: purple_connections_get_all
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_connections_get_all()
+ *
+ * Could not generate a wrapper for purple_connections_get_all in file "connection.h".
+ * Message: Unknown inner-type of argument 0 of purple_connections_get_all
+ */
+
+ /*
+ * Function Name: purple_connections_get_connecting
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_connections_get_connecting()
+ *
+ * Could not generate a wrapper for purple_connections_get_connecting in file "connection.h".
+ * Message: Unknown inner-type of argument 0 of purple_connections_get_connecting
+ */
+
+ /*
+ * Function Name: purple_connections_set_ui_ops
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_connections_set_ui_ops(PurpleConnectionUiOps * ops)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_connections_set_ui_ops(IntPtr ops);
+
+ public static void ConnectionsSetUiOps(/* Resolved as PointerToUnknownStruct to PurpleConnectionUiOps */ IntPtr ops)
+ {
+ /* Unable to process ops, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_connections_get_ui_ops
+ * Function Type: PurpleConnectionUiOps *
+ * Function RawType: PurpleConnectionUiOps
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleConnectionUiOps * purple_connections_get_ui_ops()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_connections_get_ui_ops();
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleConnectionUiOps */ IntPtr ConnectionsGetUiOps()
+ {
+ /* Unable to process the return value of purple_connections_get_ui_ops, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_connections_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_connections_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_connections_init();
+
+ public static void ConnectionsInit()
+ {
+ purple_connections_init();
+ }
+
+ /*
+ * Function Name: purple_connections_uninit
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_connections_uninit()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_connections_uninit();
+
+ public static void ConnectionsUninit()
+ {
+ purple_connections_uninit();
+ }
+
+ /*
+ * Function Name: purple_connections_get_handle
+ * Function Type: void *
+ * Function RawType: void
+ * Function Category: VoidPointer
+ */
+ /*
+ * void * purple_connections_get_handle()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_connections_get_handle();
+
+ public static IntPtr ConnectionsGetHandle()
+ {
+ return purple_connections_get_handle();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Conversation.cs ed841c0da93eb1f87303763312dd7689ddd58ce5
+++ libpurple/wrapper/Conversation.cs ed841c0da93eb1f87303763312dd7689ddd58ce5
@@ -0,0 +1,1365 @@
+/* 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
+{
+
+ /*
+ * File: conversation.h
+ */
+ public class Conversation
+ {
+ 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 enum PurpleConvUpdateType
+ {
+ 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
+ };
+
+
+ /*
+ * Function Name: purple_conversation_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_conversation_destroy(PurpleConversation * conv)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_conversation_destroy(IntPtr conv);
+
+ public static void Destroy(PurpleConversation conv)
+ {
+ purple_conversation_destroy(conv.Reference);
+ }
+
+ /*
+ * Function Name: purple_conversation_present
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_conversation_present(PurpleConversation * conv)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_conversation_present(IntPtr conv);
+
+ public static void Present(PurpleConversation conv)
+ {
+ purple_conversation_present(conv.Reference);
+ }
+
+ /*
+ * Function Name: purple_conversation_get_type
+ * Function Type: PurpleConversationType
+ * Function RawType: PurpleConversationType
+ * Function Category: KnownEnum
+ */
+ /*
+ * PurpleConversationType purple_conversation_get_type(PurpleConversation * conv)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern Conversation.PurpleConversationType purple_conversation_get_type(IntPtr conv);
+
+ public static Conversation.PurpleConversationType GetType(PurpleConversation conv)
+ {
+ /* Unable to process the return value of purple_conversation_get_type, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_conversations_set_ui_ops
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_conversations_set_ui_ops(PurpleConversationUiOps * ops)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_conversations_set_ui_ops(IntPtr ops);
+
+ public static void ConversationsSetUiOps(PurpleConversationUiOps ops)
+ {
+ purple_conversations_set_ui_ops(ops.Reference);
+ }
+
+ /*
+ * Function Name: purple_conversation_get_account
+ * Function Type: PurpleAccount *
+ * Function RawType: PurpleAccount
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleAccount * purple_conversation_get_account(PurpleConversation * conv)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_conversation_get_account(IntPtr conv);
+
+ public static PurpleAccount GetAccount(PurpleConversation conv)
+ {
+ return new PurpleAccount(purple_conversation_get_account(conv.Reference));
+ }
+
+ /*
+ * Function Name: purple_conversation_get_gc
+ * Function Type: PurpleConnection *
+ * Function RawType: PurpleConnection
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleConnection * purple_conversation_get_gc(PurpleConversation * conv)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_conversation_get_gc(IntPtr conv);
+
+ public static PurpleConnection GetGc(PurpleConversation conv)
+ {
+ return new PurpleConnection(purple_conversation_get_gc(conv.Reference));
+ }
+
+ /*
+ * Function Name: purple_conversation_set_title
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_conversation_set_title(PurpleConversation * conv, char * title)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_conversation_set_title(IntPtr conv, string title);
+
+ public static void SetTitle(PurpleConversation conv, string title)
+ {
+ purple_conversation_set_title(conv.Reference, title);
+ }
+
+ /*
+ * Function Name: purple_conversation_get_title
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_conversation_get_title(PurpleConversation * conv)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_conversation_get_title(IntPtr conv);
+
+ public static string GetTitle(PurpleConversation conv)
+ {
+ return purple_conversation_get_title(conv.Reference);
+ }
+
+ /*
+ * Function Name: purple_conversation_autoset_title
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_conversation_autoset_title(PurpleConversation * conv)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_conversation_autoset_title(IntPtr conv);
+
+ public static void AutosetTitle(PurpleConversation conv)
+ {
+ purple_conversation_autoset_title(conv.Reference);
+ }
+
+ /*
+ * Function Name: purple_conversation_set_name
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_conversation_set_name(PurpleConversation * conv, char * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_conversation_set_name(IntPtr conv, string name);
+
+ public static void SetName(PurpleConversation conv, string name)
+ {
+ purple_conversation_set_name(conv.Reference, name);
+ }
+
+ /*
+ * Function Name: purple_conversation_get_name
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_conversation_get_name(PurpleConversation * conv)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_conversation_get_name(IntPtr conv);
+
+ public static string GetName(PurpleConversation conv)
+ {
+ return purple_conversation_get_name(conv.Reference);
+ }
+
+ /*
+ * Function Name: purple_conversation_set_logging
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_conversation_set_logging(PurpleConversation * conv, gboolean log)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_conversation_set_logging(IntPtr conv, bool log);
+
+ public static void SetLogging(PurpleConversation conv, bool log)
+ {
+ purple_conversation_set_logging(conv.Reference, log);
+ }
+
+ /*
+ * Function Name: purple_conversation_is_logging
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_conversation_is_logging(PurpleConversation * conv)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_conversation_is_logging(IntPtr conv);
+
+ public static bool IsLogging(PurpleConversation conv)
+ {
+ return purple_conversation_is_logging(conv.Reference);
+ }
+
+ /*
+ * Function Name: purple_conversation_close_logs
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_conversation_close_logs(PurpleConversation * conv)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_conversation_close_logs(IntPtr conv);
+
+ public static void CloseLogs(PurpleConversation conv)
+ {
+ purple_conversation_close_logs(conv.Reference);
+ }
+
+ /*
+ * Function Name: purple_conversation_get_im_data
+ * Function Type: PurpleConvIm *
+ * Function RawType: PurpleConvIm
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleConvIm * purple_conversation_get_im_data(PurpleConversation * conv)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_conversation_get_im_data(IntPtr conv);
+
+ public static PurpleConvIm GetImData(PurpleConversation conv)
+ {
+ return new PurpleConvIm(purple_conversation_get_im_data(conv.Reference));
+ }
+
+ /*
+ * Function Name: purple_conversation_get_chat_data
+ * Function Type: PurpleConvChat *
+ * Function RawType: PurpleConvChat
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleConvChat * purple_conversation_get_chat_data(PurpleConversation * conv)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_conversation_get_chat_data(IntPtr conv);
+
+ public static PurpleConvChat GetChatData(PurpleConversation conv)
+ {
+ return new PurpleConvChat(purple_conversation_get_chat_data(conv.Reference));
+ }
+
+ /*
+ * Function Name: purple_conversation_get_data
+ * Function Type: gpointer
+ * Function RawType: gpointer
+ * Function Category: VoidPointer
+ */
+ /*
+ * gpointer purple_conversation_get_data(PurpleConversation * conv, char * key)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_conversation_get_data(IntPtr conv, string key);
+
+ public static IntPtr GetData(PurpleConversation conv, string key)
+ {
+ return purple_conversation_get_data(conv.Reference, key);
+ }
+
+ /*
+ * Function Name: purple_get_conversations
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_get_conversations()
+ *
+ * Could not generate a wrapper for purple_get_conversations in file "conversation.h".
+ * Message: Unknown inner-type of argument 0 of purple_get_conversations
+ */
+
+ /*
+ * Function Name: purple_get_ims
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_get_ims()
+ *
+ * Could not generate a wrapper for purple_get_ims in file "conversation.h".
+ * Message: Unknown inner-type of argument 0 of purple_get_ims
+ */
+
+ /*
+ * Function Name: purple_get_chats
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_get_chats()
+ *
+ * Could not generate a wrapper for purple_get_chats in file "conversation.h".
+ * Message: Unknown inner-type of argument 0 of purple_get_chats
+ */
+
+ /*
+ * Function Name: purple_conversation_get_features
+ * Function Type: PurpleConnectionFlags
+ * Function RawType: PurpleConnectionFlags
+ * Function Category: KnownEnum
+ */
+ /*
+ * PurpleConnectionFlags purple_conversation_get_features(PurpleConversation * conv)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern Connection.PurpleConnectionFlags purple_conversation_get_features(IntPtr conv);
+
+ public static Connection.PurpleConnectionFlags GetFeatures(PurpleConversation conv)
+ {
+ /* Unable to process the return value of purple_conversation_get_features, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_conversation_has_focus
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_conversation_has_focus(PurpleConversation * conv)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_conversation_has_focus(IntPtr conv);
+
+ public static bool HasFocus(PurpleConversation conv)
+ {
+ return purple_conversation_has_focus(conv.Reference);
+ }
+
+ /*
+ * Function Name: purple_conversation_update
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_conversation_update(PurpleConversation * conv, PurpleConvUpdateType type)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_conversation_update(IntPtr conv, Conversation.PurpleConvUpdateType type);
+
+ public static void Update(PurpleConversation conv, Conversation.PurpleConvUpdateType type)
+ {
+ /* Unable to process type, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_conversation_get_message_history
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_conversation_get_message_history(PurpleConversation * conv)
+ *
+ * Could not generate a wrapper for purple_conversation_get_message_history in file "conversation.h".
+ * Message: Unknown inner-type of argument 0 of purple_conversation_get_message_history
+ */
+
+ /*
+ * Function Name: purple_conversation_clear_message_history
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_conversation_clear_message_history(PurpleConversation * conv)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_conversation_clear_message_history(IntPtr conv);
+
+ public static void ClearMessageHistory(PurpleConversation conv)
+ {
+ purple_conversation_clear_message_history(conv.Reference);
+ }
+
+ /*
+ * Function Name: purple_conversation_message_get_sender
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_conversation_message_get_sender(PurpleConvMessage * msg)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_conversation_message_get_sender(IntPtr msg);
+
+ public static string MessageGetSender(PurpleConvMessage msg)
+ {
+ return purple_conversation_message_get_sender(msg.Reference);
+ }
+
+ /*
+ * Function Name: purple_conversation_message_get_message
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_conversation_message_get_message(PurpleConvMessage * msg)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_conversation_message_get_message(IntPtr msg);
+
+ public static string MessageGetMessage(PurpleConvMessage msg)
+ {
+ return purple_conversation_message_get_message(msg.Reference);
+ }
+
+ /*
+ * Function Name: purple_conversation_message_get_flags
+ * Function Type: PurpleMessageFlags
+ * Function RawType: PurpleMessageFlags
+ * Function Category: KnownEnum
+ */
+ /*
+ * PurpleMessageFlags purple_conversation_message_get_flags(PurpleConvMessage * msg)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern Conversation.PurpleMessageFlags purple_conversation_message_get_flags(IntPtr msg);
+
+ public static Conversation.PurpleMessageFlags MessageGetFlags(PurpleConvMessage msg)
+ {
+ /* Unable to process the return value of purple_conversation_message_get_flags, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_conversation_message_get_timestamp
+ * Function Type: time_t
+ * Function RawType: time_t
+ * Function Category: DateTime
+ */
+ /*
+ * time_t purple_conversation_message_get_timestamp(PurpleConvMessage * msg)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern ulong purple_conversation_message_get_timestamp(IntPtr msg);
+
+ public static DateTime MessageGetTimestamp(PurpleConvMessage msg)
+ {
+ /* Unable to process the return value of purple_conversation_message_get_timestamp, a DateTime. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_conv_im_get_conversation
+ * Function Type: PurpleConversation *
+ * Function RawType: PurpleConversation
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleConversation * purple_conv_im_get_conversation(PurpleConvIm * im)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_conv_im_get_conversation(IntPtr im);
+
+ public static PurpleConversation ConvImGetConversation(PurpleConvIm im)
+ {
+ return new PurpleConversation(purple_conv_im_get_conversation(im.Reference));
+ }
+
+ /*
+ * Function Name: purple_conv_im_set_icon
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_conv_im_set_icon(PurpleConvIm * im, PurpleBuddyIcon * icon)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_conv_im_set_icon(IntPtr im, IntPtr icon);
+
+ public static void ConvImSetIcon(PurpleConvIm im, /* Resolved as PointerToUnknownStruct to PurpleBuddyIcon */ IntPtr icon)
+ {
+ /* Unable to process icon, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_conv_im_get_icon
+ * Function Type: PurpleBuddyIcon *
+ * Function RawType: PurpleBuddyIcon
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleBuddyIcon * purple_conv_im_get_icon(PurpleConvIm * im)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_conv_im_get_icon(IntPtr im);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleBuddyIcon */ IntPtr ConvImGetIcon(PurpleConvIm im)
+ {
+ /* Unable to process the return value of purple_conv_im_get_icon, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_conv_im_set_typing_state
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * 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, Conversation.PurpleTypingState state);
+
+ public static void ConvImSetTypingState(PurpleConvIm im, Conversation.PurpleTypingState state)
+ {
+ /* Unable to process state, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_conv_im_get_typing_state
+ * Function Type: PurpleTypingState
+ * Function RawType: PurpleTypingState
+ * Function Category: KnownEnum
+ */
+ /*
+ * PurpleTypingState purple_conv_im_get_typing_state(PurpleConvIm * im)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern Conversation.PurpleTypingState purple_conv_im_get_typing_state(IntPtr im);
+
+ public static Conversation.PurpleTypingState ConvImGetTypingState(PurpleConvIm im)
+ {
+ /* Unable to process the return value of purple_conv_im_get_typing_state, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_conv_im_start_typing_timeout
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_conv_im_start_typing_timeout(PurpleConvIm * im, int timeout)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_conv_im_start_typing_timeout(IntPtr im, int timeout);
+
+ public static void ConvImStartTypingTimeout(PurpleConvIm im, int timeout)
+ {
+ purple_conv_im_start_typing_timeout(im.Reference, timeout);
+ }
+
+ /*
+ * Function Name: purple_conv_im_stop_typing_timeout
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_conv_im_stop_typing_timeout(PurpleConvIm * im)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_conv_im_stop_typing_timeout(IntPtr im);
+
+ public static void ConvImStopTypingTimeout(PurpleConvIm im)
+ {
+ purple_conv_im_stop_typing_timeout(im.Reference);
+ }
+
+ /*
+ * Function Name: purple_conv_im_get_typing_timeout
+ * Function Type: guint
+ * Function RawType: guint
+ * Function Category: Native
+ */
+ /*
+ * guint purple_conv_im_get_typing_timeout(PurpleConvIm * im)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern uint purple_conv_im_get_typing_timeout(IntPtr im);
+
+ public static uint ConvImGetTypingTimeout(PurpleConvIm im)
+ {
+ return purple_conv_im_get_typing_timeout(im.Reference);
+ }
+
+ /*
+ * Function Name: purple_conv_im_set_type_again
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * 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, uint val);
+
+ public static void ConvImSetTypeAgain(PurpleConvIm im, uint val)
+ {
+ purple_conv_im_set_type_again(im.Reference, val);
+ }
+
+ /*
+ * Function Name: purple_conv_im_get_type_again
+ * Function Type: time_t
+ * Function RawType: time_t
+ * Function Category: DateTime
+ */
+ /*
+ * time_t purple_conv_im_get_type_again(PurpleConvIm * im)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern ulong purple_conv_im_get_type_again(IntPtr im);
+
+ public static DateTime ConvImGetTypeAgain(PurpleConvIm im)
+ {
+ /* Unable to process the return value of purple_conv_im_get_type_again, a DateTime. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_conv_im_start_send_typed_timeout
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_conv_im_start_send_typed_timeout(PurpleConvIm * im)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_conv_im_start_send_typed_timeout(IntPtr im);
+
+ public static void ConvImStartSendTypedTimeout(PurpleConvIm im)
+ {
+ purple_conv_im_start_send_typed_timeout(im.Reference);
+ }
+
+ /*
+ * Function Name: purple_conv_im_stop_send_typed_timeout
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_conv_im_stop_send_typed_timeout(PurpleConvIm * im)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_conv_im_stop_send_typed_timeout(IntPtr im);
+
+ public static void ConvImStopSendTypedTimeout(PurpleConvIm im)
+ {
+ purple_conv_im_stop_send_typed_timeout(im.Reference);
+ }
+
+ /*
+ * Function Name: purple_conv_im_get_send_typed_timeout
+ * Function Type: guint
+ * Function RawType: guint
+ * Function Category: Native
+ */
+ /*
+ * guint purple_conv_im_get_send_typed_timeout(PurpleConvIm * im)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern uint purple_conv_im_get_send_typed_timeout(IntPtr im);
+
+ public static uint ConvImGetSendTypedTimeout(PurpleConvIm im)
+ {
+ return purple_conv_im_get_send_typed_timeout(im.Reference);
+ }
+
+ /*
+ * Function Name: purple_conv_im_update_typing
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_conv_im_update_typing(PurpleConvIm * im)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_conv_im_update_typing(IntPtr im);
+
+ public static void ConvImUpdateTyping(PurpleConvIm im)
+ {
+ purple_conv_im_update_typing(im.Reference);
+ }
+
+ /*
+ * Function Name: purple_conv_present_error
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_conv_present_error(char * who, PurpleAccount * account, char * what)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_conv_present_error(string who, IntPtr account, string what);
+
+ public static bool ConvPresentError(string who, PurpleAccount account, string what)
+ {
+ return purple_conv_present_error(who, account.Reference, what);
+ }
+
+ /*
+ * Function Name: purple_conv_im_send
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_conv_im_send(PurpleConvIm * im, char * message)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_conv_im_send(IntPtr im, string message);
+
+ public static void ConvImSend(PurpleConvIm im, string message)
+ {
+ purple_conv_im_send(im.Reference, message);
+ }
+
+ /*
+ * Function Name: purple_conv_send_confirm
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_conv_send_confirm(PurpleConversation * conv, char * message)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_conv_send_confirm(IntPtr conv, string message);
+
+ public static void ConvSendConfirm(PurpleConversation conv, string message)
+ {
+ purple_conv_send_confirm(conv.Reference, message);
+ }
+
+ /*
+ * Function Name: purple_conv_im_send_with_flags
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * 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, Conversation.PurpleMessageFlags flags);
+
+ public static void ConvImSendWithFlags(PurpleConvIm im, string message, Conversation.PurpleMessageFlags flags)
+ {
+ /* Unable to process flags, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_conv_custom_smiley_close
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_conv_custom_smiley_close(PurpleConversation * conv, char * smile)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_conv_custom_smiley_close(IntPtr conv, string smile);
+
+ public static void ConvCustomSmileyClose(PurpleConversation conv, string smile)
+ {
+ purple_conv_custom_smiley_close(conv.Reference, smile);
+ }
+
+ /*
+ * Function Name: purple_conv_chat_get_conversation
+ * Function Type: PurpleConversation *
+ * Function RawType: PurpleConversation
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleConversation * purple_conv_chat_get_conversation(PurpleConvChat * chat)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_conv_chat_get_conversation(IntPtr chat);
+
+ public static PurpleConversation ConvChatGetConversation(PurpleConvChat chat)
+ {
+ return new PurpleConversation(purple_conv_chat_get_conversation(chat.Reference));
+ }
+
+ /*
+ * Function Name: purple_conv_chat_set_users
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * 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: Unknown inner-type of argument 0 of purple_conv_chat_set_users
+ */
+
+ /*
+ * Function Name: purple_conv_chat_get_users
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_conv_chat_get_users(PurpleConvChat * chat)
+ *
+ * Could not generate a wrapper for purple_conv_chat_get_users in file "conversation.h".
+ * Message: Unknown inner-type of argument 0 of purple_conv_chat_get_users
+ */
+
+ /*
+ * Function Name: purple_conv_chat_ignore
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_conv_chat_ignore(PurpleConvChat * chat, char * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_conv_chat_ignore(IntPtr chat, string name);
+
+ public static void ConvChatIgnore(PurpleConvChat chat, string name)
+ {
+ purple_conv_chat_ignore(chat.Reference, name);
+ }
+
+ /*
+ * Function Name: purple_conv_chat_unignore
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_conv_chat_unignore(PurpleConvChat * chat, char * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_conv_chat_unignore(IntPtr chat, string name);
+
+ public static void ConvChatUnignore(PurpleConvChat chat, string name)
+ {
+ purple_conv_chat_unignore(chat.Reference, name);
+ }
+
+ /*
+ * Function Name: purple_conv_chat_set_ignored
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * 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: Unknown inner-type of argument 0 of purple_conv_chat_set_ignored
+ */
+
+ /*
+ * Function Name: purple_conv_chat_get_ignored
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_conv_chat_get_ignored(PurpleConvChat * chat)
+ *
+ * Could not generate a wrapper for purple_conv_chat_get_ignored in file "conversation.h".
+ * Message: Unknown inner-type of argument 0 of purple_conv_chat_get_ignored
+ */
+
+ /*
+ * Function Name: purple_conv_chat_get_topic
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_conv_chat_get_topic(PurpleConvChat * chat)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_conv_chat_get_topic(IntPtr chat);
+
+ public static string ConvChatGetTopic(PurpleConvChat chat)
+ {
+ return purple_conv_chat_get_topic(chat.Reference);
+ }
+
+ /*
+ * Function Name: purple_conv_chat_set_id
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_conv_chat_set_id(PurpleConvChat * chat, int id)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_conv_chat_set_id(IntPtr chat, int id);
+
+ public static void ConvChatSetId(PurpleConvChat chat, int id)
+ {
+ purple_conv_chat_set_id(chat.Reference, id);
+ }
+
+ /*
+ * Function Name: purple_conv_chat_get_id
+ * Function Type: int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * int purple_conv_chat_get_id(PurpleConvChat * chat)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern int purple_conv_chat_get_id(IntPtr chat);
+
+ public static int ConvChatGetId(PurpleConvChat chat)
+ {
+ return purple_conv_chat_get_id(chat.Reference);
+ }
+
+ /*
+ * Function Name: purple_conv_chat_send
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_conv_chat_send(PurpleConvChat * chat, char * message)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_conv_chat_send(IntPtr chat, string message);
+
+ public static void ConvChatSend(PurpleConvChat chat, string message)
+ {
+ purple_conv_chat_send(chat.Reference, message);
+ }
+
+ /*
+ * Function Name: purple_conv_chat_send_with_flags
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * 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, Conversation.PurpleMessageFlags flags);
+
+ public static void ConvChatSendWithFlags(PurpleConvChat chat, string message, Conversation.PurpleMessageFlags flags)
+ {
+ /* Unable to process flags, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_conv_chat_find_user
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_conv_chat_find_user(PurpleConvChat * chat, char * user)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_conv_chat_find_user(IntPtr chat, string user);
+
+ public static bool ConvChatFindUser(PurpleConvChat chat, string user)
+ {
+ return purple_conv_chat_find_user(chat.Reference, user);
+ }
+
+ /*
+ * Function Name: purple_conv_chat_clear_users
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_conv_chat_clear_users(PurpleConvChat * chat)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_conv_chat_clear_users(IntPtr chat);
+
+ public static void ConvChatClearUsers(PurpleConvChat chat)
+ {
+ purple_conv_chat_clear_users(chat.Reference);
+ }
+
+ /*
+ * Function Name: purple_conv_chat_set_nick
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_conv_chat_set_nick(PurpleConvChat * chat, char * nick)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_conv_chat_set_nick(IntPtr chat, string nick);
+
+ public static void ConvChatSetNick(PurpleConvChat chat, string nick)
+ {
+ purple_conv_chat_set_nick(chat.Reference, nick);
+ }
+
+ /*
+ * Function Name: purple_conv_chat_get_nick
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_conv_chat_get_nick(PurpleConvChat * chat)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_conv_chat_get_nick(IntPtr chat);
+
+ public static string ConvChatGetNick(PurpleConvChat chat)
+ {
+ return purple_conv_chat_get_nick(chat.Reference);
+ }
+
+ /*
+ * Function Name: purple_find_chat
+ * Function Type: PurpleConversation *
+ * Function RawType: PurpleConversation
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleConversation * purple_find_chat(PurpleConnection * gc, int id)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_find_chat(IntPtr gc, int id);
+
+ public static PurpleConversation FindChat(PurpleConnection gc, int id)
+ {
+ return new PurpleConversation(purple_find_chat(gc.Reference, id));
+ }
+
+ /*
+ * Function Name: purple_conv_chat_left
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_conv_chat_left(PurpleConvChat * chat)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_conv_chat_left(IntPtr chat);
+
+ public static void ConvChatLeft(PurpleConvChat chat)
+ {
+ purple_conv_chat_left(chat.Reference);
+ }
+
+ /*
+ * Function Name: purple_conv_chat_has_left
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_conv_chat_has_left(PurpleConvChat * chat)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_conv_chat_has_left(IntPtr chat);
+
+ public static bool ConvChatHasLeft(PurpleConvChat chat)
+ {
+ return purple_conv_chat_has_left(chat.Reference);
+ }
+
+ /*
+ * Function Name: purple_conv_chat_cb_find
+ * Function Type: PurpleConvChatBuddy *
+ * Function RawType: PurpleConvChatBuddy
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleConvChatBuddy * purple_conv_chat_cb_find(PurpleConvChat * chat, char * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_conv_chat_cb_find(IntPtr chat, string name);
+
+ public static PurpleConvChatBuddy ConvChatCbFind(PurpleConvChat chat, string name)
+ {
+ return new PurpleConvChatBuddy(purple_conv_chat_cb_find(chat.Reference, name));
+ }
+
+ /*
+ * Function Name: purple_conv_chat_cb_get_name
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_conv_chat_cb_get_name(PurpleConvChatBuddy * cb)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_conv_chat_cb_get_name(IntPtr cb);
+
+ public static string ConvChatCbGetName(PurpleConvChatBuddy cb)
+ {
+ return purple_conv_chat_cb_get_name(cb.Reference);
+ }
+
+ /*
+ * Function Name: purple_conv_chat_cb_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_conv_chat_cb_destroy(PurpleConvChatBuddy * cb)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_conv_chat_cb_destroy(IntPtr cb);
+
+ public static void ConvChatCbDestroy(PurpleConvChatBuddy cb)
+ {
+ purple_conv_chat_cb_destroy(cb.Reference);
+ }
+
+ /*
+ * Function Name: purple_conversation_get_extended_menu
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_conversation_get_extended_menu(PurpleConversation * conv)
+ *
+ * Could not generate a wrapper for purple_conversation_get_extended_menu in file "conversation.h".
+ * Message: Unknown inner-type of argument 0 of purple_conversation_get_extended_menu
+ */
+
+ /*
+ * Function Name: purple_conversation_do_command
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_conversation_do_command(PurpleConversation * conv, gchar * cmdline, gchar * markup, gchar ** error)
+ */
+ [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, /* Resolved as PointerToUnknownStruct to gchar */ IntPtr error)
+ {
+ /* Unable to process error, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_conversations_get_handle
+ * Function Type: void *
+ * Function RawType: void
+ * Function Category: VoidPointer
+ */
+ /*
+ * void * purple_conversations_get_handle()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_conversations_get_handle();
+
+ public static IntPtr ConversationsGetHandle()
+ {
+ return purple_conversations_get_handle();
+ }
+
+ /*
+ * Function Name: purple_conversations_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_conversations_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_conversations_init();
+
+ public static void ConversationsInit()
+ {
+ purple_conversations_init();
+ }
+
+ /*
+ * Function Name: purple_conversations_uninit
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_conversations_uninit()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_conversations_uninit();
+
+ public static void ConversationsUninit()
+ {
+ purple_conversations_uninit();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Core.cs 948e6ddd0e30eb98461a0bdfc2f3a8cf144f15bb
+++ libpurple/wrapper/Core.cs 948e6ddd0e30eb98461a0bdfc2f3a8cf144f15bb
@@ -0,0 +1,241 @@
+/* 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
+{
+
+ /*
+ * File: core.h
+ */
+ public class Core
+ {
+
+ /*
+ * Function Name: purple_core_init
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_core_init(char * ui)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_core_init(string ui);
+
+ public static bool Init(string ui)
+ {
+ return purple_core_init(ui);
+ }
+
+ /*
+ * Function Name: purple_core_quit
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_core_quit()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_core_quit();
+
+ public static void Quit()
+ {
+ purple_core_quit();
+ }
+
+ /*
+ * Function Name: purple_core_quit_cb
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_core_quit_cb(gpointer unused)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_core_quit_cb(IntPtr unused);
+
+ public static bool QuitCb(IntPtr unused)
+ {
+ return purple_core_quit_cb(unused);
+ }
+
+ /*
+ * Function Name: purple_core_get_version
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_core_get_version()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_core_get_version();
+
+ public static string GetVersion()
+ {
+ return purple_core_get_version();
+ }
+
+ /*
+ * Function Name: purple_core_get_ui
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_core_get_ui()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_core_get_ui();
+
+ public static string GetUi()
+ {
+ return purple_core_get_ui();
+ }
+
+ /*
+ * Function Name: purple_get_core
+ * Function Type: PurpleCore *
+ * Function RawType: PurpleCore
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleCore * purple_get_core()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_get_core();
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleCore */ IntPtr GetCore()
+ {
+ /* Unable to process the return value of purple_get_core, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_core_set_ui_ops
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_core_set_ui_ops(PurpleCoreUiOps * ops)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_core_set_ui_ops(IntPtr ops);
+
+ public static void SetUiOps(/* Resolved as PointerToUnknownStruct to PurpleCoreUiOps */ IntPtr ops)
+ {
+ /* Unable to process ops, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_core_get_ui_ops
+ * Function Type: PurpleCoreUiOps *
+ * Function RawType: PurpleCoreUiOps
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleCoreUiOps * purple_core_get_ui_ops()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_core_get_ui_ops();
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleCoreUiOps */ IntPtr GetUiOps()
+ {
+ /* Unable to process the return value of purple_core_get_ui_ops, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_core_migrate
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_core_migrate()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_core_migrate();
+
+ public static bool Migrate()
+ {
+ return purple_core_migrate();
+ }
+
+ /*
+ * Function Name: purple_core_ensure_single_instance
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_core_ensure_single_instance()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_core_ensure_single_instance();
+
+ public static bool EnsureSingleInstance()
+ {
+ return purple_core_ensure_single_instance();
+ }
+
+ /*
+ * Function Name: purple_core_get_ui_info
+ * Function Type: GHashTable*
+ * Function RawType: GHashTable*
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * GHashTable* purple_core_get_ui_info()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_core_get_ui_info();
+
+ public static /* Resolved as PointerToUnknownStruct to GHashTable* */ IntPtr GetUiInfo()
+ {
+ /* Unable to process the return value of purple_core_get_ui_info, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Debug.cs 4b8257123cbd8b119fdcc10a47096ef67b54fc67
+++ libpurple/wrapper/Debug.cs 4b8257123cbd8b119fdcc10a47096ef67b54fc67
@@ -0,0 +1,147 @@
+/* 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
+{
+
+ /*
+ * File: debug.h
+ */
+ public class Debug
+ {
+ public enum PurpleDebugLevel
+ {
+ PURPLE_DEBUG_ALL = 0,
+ PURPLE_DEBUG_MISC,
+ PURPLE_DEBUG_INFO,
+ PURPLE_DEBUG_WARNING,
+ PURPLE_DEBUG_ERROR,
+ PURPLE_DEBUG_FATAL
+ };
+
+
+ /*
+ * Function Name: purple_debug_set_enabled
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_debug_set_enabled(gboolean enabled)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_debug_set_enabled(bool enabled);
+
+ public static void SetEnabled(bool enabled)
+ {
+ purple_debug_set_enabled(enabled);
+ }
+
+ /*
+ * Function Name: purple_debug_is_enabled
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_debug_is_enabled()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_debug_is_enabled();
+
+ public static bool IsEnabled()
+ {
+ return purple_debug_is_enabled();
+ }
+
+ /*
+ * Function Name: purple_debug_set_ui_ops
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_debug_set_ui_ops(PurpleDebugUiOps * ops)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_debug_set_ui_ops(IntPtr ops);
+
+ public static void SetUiOps(/* Resolved as PointerToUnknownStruct to PurpleDebugUiOps */ IntPtr ops)
+ {
+ /* Unable to process ops, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_debug_get_ui_ops
+ * Function Type: PurpleDebugUiOps *
+ * Function RawType: PurpleDebugUiOps
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleDebugUiOps * purple_debug_get_ui_ops()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_debug_get_ui_ops();
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleDebugUiOps */ IntPtr GetUiOps()
+ {
+ /* Unable to process the return value of purple_debug_get_ui_ops, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_debug_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_debug_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_debug_init();
+
+ public static void Init()
+ {
+ purple_debug_init();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Desktopitem.cs f9a5cc2a2dbd0084a4986a88322fa94a124384a5
+++ libpurple/wrapper/Desktopitem.cs f9a5cc2a2dbd0084a4986a88322fa94a124384a5
@@ -0,0 +1,153 @@
+/* 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
+{
+
+ /*
+ * File: desktopitem.h
+ */
+ 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
+ };
+
+
+ /*
+ * Function Name: purple_desktop_item_get_type
+ * Function Type: GType
+ * Function RawType: GType
+ * Function Category: GObjectObject
+ */
+ /*
+ * GType purple_desktop_item_get_type()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_desktop_item_get_type();
+
+ public static /* libobject */ IntPtr DesktopItemGetType()
+ {
+ /* Unable to process the return value of purple_desktop_item_get_type, a GObjectObject. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_desktop_item_new_from_file
+ * Function Type: PurpleDesktopItem *
+ * Function RawType: PurpleDesktopItem
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * 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 /* Resolved as PointerToUnknownStruct to PurpleDesktopItem */ IntPtr DesktopItemNewFromFile(string filename)
+ {
+ /* Unable to process the return value of purple_desktop_item_new_from_file, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_desktop_item_get_entry_type
+ * Function Type: PurpleDesktopItemType
+ * Function RawType: PurpleDesktopItemType
+ * Function Category: KnownEnum
+ */
+ /*
+ * PurpleDesktopItemType purple_desktop_item_get_entry_type(PurpleDesktopItem * item)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern Desktopitem.PurpleDesktopItemType purple_desktop_item_get_entry_type(IntPtr item);
+
+ public static Desktopitem.PurpleDesktopItemType DesktopItemGetEntryType(/* Resolved as PointerToUnknownStruct to PurpleDesktopItem */ IntPtr item)
+ {
+ /* Unable to process item, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_desktop_item_copy
+ * Function Type: PurpleDesktopItem *
+ * Function RawType: PurpleDesktopItem
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleDesktopItem * purple_desktop_item_copy(PurpleDesktopItem * item)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_desktop_item_copy(IntPtr item);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleDesktopItem */ IntPtr DesktopItemCopy(/* Resolved as PointerToUnknownStruct to PurpleDesktopItem */ IntPtr item)
+ {
+ /* Unable to process item, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_desktop_item_unref
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_desktop_item_unref(PurpleDesktopItem * item)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_desktop_item_unref(IntPtr item);
+
+ public static void DesktopItemUnref(/* Resolved as PointerToUnknownStruct to PurpleDesktopItem */ IntPtr item)
+ {
+ /* Unable to process item, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Dnsquery.cs c9186e2f23272635e0be6fe133f824bfee086ede
+++ libpurple/wrapper/Dnsquery.cs c9186e2f23272635e0be6fe133f824bfee086ede
@@ -0,0 +1,195 @@
+/* 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
+{
+
+ /*
+ * File: dnsquery.h
+ */
+ public class Dnsquery
+ {
+ public delegate void PurpleDnsQueryConnectFunction(IntPtr hosts, IntPtr data, string error_message);
+ public delegate void PurpleDnsQueryResolvedCallback(IntPtr query_data, IntPtr hosts);
+ public delegate void PurpleDnsQueryFailedCallback(IntPtr query_data, string error_message);
+
+ /*
+ * Function Name: purple_dnsquery_a
+ * Function Type: PurpleDnsQueryData *
+ * Function RawType: PurpleDnsQueryData
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleDnsQueryData * purple_dnsquery_a(char * hostname, int port, PurpleDnsQueryConnectFunction callback, gpointer data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_dnsquery_a(string hostname, int port, IntPtr callback, IntPtr data);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleDnsQueryData */ IntPtr A(string hostname, int port, Dnsquery.PurpleDnsQueryConnectFunction callback, IntPtr data)
+ {
+ /* Unable to process callback, a KnownFunctionPointer. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_dnsquery_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_dnsquery_destroy(PurpleDnsQueryData * query_data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_dnsquery_destroy(IntPtr query_data);
+
+ public static void Destroy(/* Resolved as PointerToUnknownStruct to PurpleDnsQueryData */ IntPtr query_data)
+ {
+ /* Unable to process query_data, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_dnsquery_set_ui_ops
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_dnsquery_set_ui_ops(PurpleDnsQueryUiOps * ops)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_dnsquery_set_ui_ops(IntPtr ops);
+
+ public static void SetUiOps(/* Resolved as PointerToUnknownStruct to PurpleDnsQueryUiOps */ IntPtr ops)
+ {
+ /* Unable to process ops, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_dnsquery_get_ui_ops
+ * Function Type: PurpleDnsQueryUiOps *
+ * Function RawType: PurpleDnsQueryUiOps
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleDnsQueryUiOps * purple_dnsquery_get_ui_ops()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_dnsquery_get_ui_ops();
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleDnsQueryUiOps */ IntPtr GetUiOps()
+ {
+ /* Unable to process the return value of purple_dnsquery_get_ui_ops, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_dnsquery_get_host
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_dnsquery_get_host(PurpleDnsQueryData * query_data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_dnsquery_get_host(IntPtr query_data);
+
+ public static string GetHost(/* Resolved as PointerToUnknownStruct to PurpleDnsQueryData */ IntPtr query_data)
+ {
+ /* Unable to process query_data, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_dnsquery_get_port
+ * Function Type: unsigned short
+ * Function RawType: short
+ * Function Category: Native
+ */
+ /*
+ * unsigned short purple_dnsquery_get_port(PurpleDnsQueryData * query_data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern ushort purple_dnsquery_get_port(IntPtr query_data);
+
+ public static ushort GetPort(/* Resolved as PointerToUnknownStruct to PurpleDnsQueryData */ IntPtr query_data)
+ {
+ /* Unable to process query_data, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_dnsquery_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_dnsquery_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_dnsquery_init();
+
+ public static void Init()
+ {
+ purple_dnsquery_init();
+ }
+
+ /*
+ * Function Name: purple_dnsquery_uninit
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_dnsquery_uninit()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_dnsquery_uninit();
+
+ public static void Uninit()
+ {
+ purple_dnsquery_uninit();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Dnssrv.cs c59bb8fbf8fc58be3aa973db86532fc092a63c0f
+++ libpurple/wrapper/Dnssrv.cs c59bb8fbf8fc58be3aa973db86532fc092a63c0f
@@ -0,0 +1,160 @@
+/* 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
+{
+
+ /*
+ * File: dnssrv.h
+ */
+ public class Dnssrv
+ {
+ public delegate void PurpleSrvCallback(IntPtr resp, int results, IntPtr data);
+ public delegate void PurpleTxtCallback(IntPtr responses, IntPtr data);
+
+ /*
+ * Function Name: purple_srv_resolve
+ * Function Type: PurpleSrvQueryData *
+ * Function RawType: PurpleSrvQueryData
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleSrvQueryData * purple_srv_resolve(char * protocol, char * transport, char * domain, PurpleSrvCallback cb, gpointer extradata)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_srv_resolve(string protocol, string transport, string domain, IntPtr cb, IntPtr extradata);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleSrvQueryData */ IntPtr SrvResolve(string protocol, string transport, string domain, Dnssrv.PurpleSrvCallback cb, IntPtr extradata)
+ {
+ /* Unable to process cb, a KnownFunctionPointer. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_srv_cancel
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_srv_cancel(PurpleSrvQueryData * query_data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_srv_cancel(IntPtr query_data);
+
+ public static void SrvCancel(/* Resolved as PointerToUnknownStruct to PurpleSrvQueryData */ IntPtr query_data)
+ {
+ /* Unable to process query_data, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_txt_resolve
+ * Function Type: PurpleSrvQueryData *
+ * Function RawType: PurpleSrvQueryData
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleSrvQueryData * purple_txt_resolve(char * owner, char * domain, PurpleTxtCallback cb, gpointer extradata)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_txt_resolve(string owner, string domain, IntPtr cb, IntPtr extradata);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleSrvQueryData */ IntPtr TxtResolve(string owner, string domain, Dnssrv.PurpleTxtCallback cb, IntPtr extradata)
+ {
+ /* Unable to process cb, a KnownFunctionPointer. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_txt_cancel
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_txt_cancel(PurpleSrvQueryData * query_data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_txt_cancel(IntPtr query_data);
+
+ public static void TxtCancel(/* Resolved as PointerToUnknownStruct to PurpleSrvQueryData */ IntPtr query_data)
+ {
+ /* Unable to process query_data, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_txt_response_get_content
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_txt_response_get_content(PurpleTxtResponse * resp)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_txt_response_get_content(IntPtr resp);
+
+ public static string TxtResponseGetContent(/* Resolved as PointerToUnknownStruct to PurpleTxtResponse */ IntPtr resp)
+ {
+ /* Unable to process resp, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_txt_response_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_txt_response_destroy(PurpleTxtResponse * resp)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_txt_response_destroy(IntPtr resp);
+
+ public static void TxtResponseDestroy(/* Resolved as PointerToUnknownStruct to PurpleTxtResponse */ IntPtr resp)
+ {
+ /* Unable to process resp, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Eventloop.cs f5750e76f742b83626b54d75d996af08b0ee85ba
+++ libpurple/wrapper/Eventloop.cs f5750e76f742b83626b54d75d996af08b0ee85ba
@@ -0,0 +1,179 @@
+/* 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
+{
+
+ /*
+ * File: eventloop.h
+ */
+ public class Eventloop
+ {
+ public enum PurpleInputCondition
+ {
+ PURPLE_INPUT_READ = 1 << 0,
+ PURPLE_INPUT_WRITE = 1 << 1
+ };
+
+ public delegate void PurpleInputFunction(/* Unresolved: [Category: Unknown], [Name: ] */ IntPtr _PurpleWrapper_arg0, /* Unresolved: [Category: Unknown], [Name: ] */ IntPtr _PurpleWrapper_arg1, /* Unresolved: [Category: Unknown], [Name: ] */ IntPtr _PurpleWrapper_arg2);
+
+ /*
+ * Function Name: purple_timeout_add
+ * Function Type: guint
+ * Function RawType: guint
+ * Function Category: Native
+ */
+ /*
+ * guint purple_timeout_add(guint interval, GSourceFunc function, gpointer data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern uint purple_timeout_add(uint interval, IntPtr function, IntPtr data);
+
+ public static uint TimeoutAdd(uint interval, /* libobject */ IntPtr function, IntPtr data)
+ {
+ /* Unable to process function, a GObjectObject. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_timeout_add_seconds
+ * Function Type: guint
+ * Function RawType: guint
+ * Function Category: Native
+ */
+ /*
+ * guint purple_timeout_add_seconds(guint interval, GSourceFunc function, gpointer data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern uint purple_timeout_add_seconds(uint interval, IntPtr function, IntPtr data);
+
+ public static uint TimeoutAddSeconds(uint interval, /* libobject */ IntPtr function, IntPtr data)
+ {
+ /* Unable to process function, a GObjectObject. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_timeout_remove
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_timeout_remove(guint handle)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_timeout_remove(uint handle);
+
+ public static bool TimeoutRemove(uint handle)
+ {
+ return purple_timeout_remove(handle);
+ }
+
+ /*
+ * Function Name: purple_input_remove
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_input_remove(guint handle)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_input_remove(uint handle);
+
+ public static bool InputRemove(uint handle)
+ {
+ return purple_input_remove(handle);
+ }
+
+ /*
+ * Function Name: purple_input_get_error
+ * Function Type: int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * int purple_input_get_error(int fd, int * error)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern int purple_input_get_error(int fd, IntPtr error);
+
+ public static int InputGetError(int fd, /* Resolved as PointerToUnknownStruct to int */ IntPtr error)
+ {
+ /* Unable to process error, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_eventloop_set_ui_ops
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_eventloop_set_ui_ops(PurpleEventLoopUiOps * ops)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_eventloop_set_ui_ops(IntPtr ops);
+
+ public static void SetUiOps(PurpleEventLoopUiOps ops)
+ {
+ purple_eventloop_set_ui_ops(ops.Reference);
+ }
+
+ /*
+ * Function Name: purple_eventloop_get_ui_ops
+ * Function Type: PurpleEventLoopUiOps *
+ * Function RawType: PurpleEventLoopUiOps
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleEventLoopUiOps * purple_eventloop_get_ui_ops()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_eventloop_get_ui_ops();
+
+ public static PurpleEventLoopUiOps GetUiOps()
+ {
+ return new PurpleEventLoopUiOps(purple_eventloop_get_ui_ops());
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Ft.cs d26b0484f98878bb1afdc07340307d8d2decb390
+++ libpurple/wrapper/Ft.cs d26b0484f98878bb1afdc07340307d8d2decb390
@@ -0,0 +1,822 @@
+/* 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
+{
+
+ /*
+ * File: ft.h
+ */
+ public class Ft
+ {
+ public enum PurpleXferType
+ {
+ PURPLE_XFER_UNKNOWN = 0,
+ PURPLE_XFER_SEND,
+ PURPLE_XFER_RECEIVE
+ };
+
+ public enum PurpleXferStatusType
+ {
+ 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
+ };
+
+
+ /*
+ * Function Name: purple_xfers_get_all
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_xfers_get_all()
+ *
+ * Could not generate a wrapper for purple_xfers_get_all in file "ft.h".
+ * Message: Unknown inner-type of argument 0 of purple_xfers_get_all
+ */
+
+ /*
+ * Function Name: purple_xfer_ref
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_xfer_ref(PurpleXfer * xfer)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_xfer_ref(IntPtr xfer);
+
+ public static void XferRef(PurpleXfer xfer)
+ {
+ purple_xfer_ref(xfer.Reference);
+ }
+
+ /*
+ * Function Name: purple_xfer_unref
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_xfer_unref(PurpleXfer * xfer)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_xfer_unref(IntPtr xfer);
+
+ public static void XferUnref(PurpleXfer xfer)
+ {
+ purple_xfer_unref(xfer.Reference);
+ }
+
+ /*
+ * Function Name: purple_xfer_request
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_xfer_request(PurpleXfer * xfer)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_xfer_request(IntPtr xfer);
+
+ public static void XferRequest(PurpleXfer xfer)
+ {
+ purple_xfer_request(xfer.Reference);
+ }
+
+ /*
+ * Function Name: purple_xfer_request_accepted
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_xfer_request_accepted(PurpleXfer * xfer, char * filename)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_xfer_request_accepted(IntPtr xfer, string filename);
+
+ public static void XferRequestAccepted(PurpleXfer xfer, string filename)
+ {
+ purple_xfer_request_accepted(xfer.Reference, filename);
+ }
+
+ /*
+ * Function Name: purple_xfer_request_denied
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_xfer_request_denied(PurpleXfer * xfer)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_xfer_request_denied(IntPtr xfer);
+
+ public static void XferRequestDenied(PurpleXfer xfer)
+ {
+ purple_xfer_request_denied(xfer.Reference);
+ }
+
+ /*
+ * Function Name: purple_xfer_get_type
+ * Function Type: PurpleXferType
+ * Function RawType: PurpleXferType
+ * Function Category: KnownEnum
+ */
+ /*
+ * PurpleXferType purple_xfer_get_type(PurpleXfer * xfer)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern Ft.PurpleXferType purple_xfer_get_type(IntPtr xfer);
+
+ public static Ft.PurpleXferType XferGetType(PurpleXfer xfer)
+ {
+ /* Unable to process the return value of purple_xfer_get_type, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_xfer_get_account
+ * Function Type: PurpleAccount *
+ * Function RawType: PurpleAccount
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleAccount * purple_xfer_get_account(PurpleXfer * xfer)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_xfer_get_account(IntPtr xfer);
+
+ public static PurpleAccount XferGetAccount(PurpleXfer xfer)
+ {
+ return new PurpleAccount(purple_xfer_get_account(xfer.Reference));
+ }
+
+ /*
+ * Function Name: purple_xfer_get_remote_user
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_xfer_get_remote_user(PurpleXfer * xfer)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_xfer_get_remote_user(IntPtr xfer);
+
+ public static string XferGetRemoteUser(PurpleXfer xfer)
+ {
+ return purple_xfer_get_remote_user(xfer.Reference);
+ }
+
+ /*
+ * Function Name: purple_xfer_get_status
+ * Function Type: PurpleXferStatusType
+ * Function RawType: PurpleXferStatusType
+ * Function Category: KnownEnum
+ */
+ /*
+ * PurpleXferStatusType purple_xfer_get_status(PurpleXfer * xfer)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern Ft.PurpleXferStatusType purple_xfer_get_status(IntPtr xfer);
+
+ public static Ft.PurpleXferStatusType XferGetStatus(PurpleXfer xfer)
+ {
+ /* Unable to process the return value of purple_xfer_get_status, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_xfer_is_canceled
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_xfer_is_canceled(PurpleXfer * xfer)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_xfer_is_canceled(IntPtr xfer);
+
+ public static bool XferIsCanceled(PurpleXfer xfer)
+ {
+ return purple_xfer_is_canceled(xfer.Reference);
+ }
+
+ /*
+ * Function Name: purple_xfer_is_completed
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_xfer_is_completed(PurpleXfer * xfer)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_xfer_is_completed(IntPtr xfer);
+
+ public static bool XferIsCompleted(PurpleXfer xfer)
+ {
+ return purple_xfer_is_completed(xfer.Reference);
+ }
+
+ /*
+ * Function Name: purple_xfer_get_filename
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_xfer_get_filename(PurpleXfer * xfer)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_xfer_get_filename(IntPtr xfer);
+
+ public static string XferGetFilename(PurpleXfer xfer)
+ {
+ return purple_xfer_get_filename(xfer.Reference);
+ }
+
+ /*
+ * Function Name: purple_xfer_get_local_filename
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_xfer_get_local_filename(PurpleXfer * xfer)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_xfer_get_local_filename(IntPtr xfer);
+
+ public static string XferGetLocalFilename(PurpleXfer xfer)
+ {
+ return purple_xfer_get_local_filename(xfer.Reference);
+ }
+
+ /*
+ * Function Name: purple_xfer_get_bytes_sent
+ * Function Type: size_t
+ * Function RawType: size_t
+ * Function Category: Native
+ */
+ /*
+ * size_t purple_xfer_get_bytes_sent(PurpleXfer * xfer)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern ulong purple_xfer_get_bytes_sent(IntPtr xfer);
+
+ public static ulong XferGetBytesSent(PurpleXfer xfer)
+ {
+ return purple_xfer_get_bytes_sent(xfer.Reference);
+ }
+
+ /*
+ * Function Name: purple_xfer_get_bytes_remaining
+ * Function Type: size_t
+ * Function RawType: size_t
+ * Function Category: Native
+ */
+ /*
+ * size_t purple_xfer_get_bytes_remaining(PurpleXfer * xfer)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern ulong purple_xfer_get_bytes_remaining(IntPtr xfer);
+
+ public static ulong XferGetBytesRemaining(PurpleXfer xfer)
+ {
+ return purple_xfer_get_bytes_remaining(xfer.Reference);
+ }
+
+ /*
+ * Function Name: purple_xfer_get_size
+ * Function Type: size_t
+ * Function RawType: size_t
+ * Function Category: Native
+ */
+ /*
+ * size_t purple_xfer_get_size(PurpleXfer * xfer)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern ulong purple_xfer_get_size(IntPtr xfer);
+
+ public static ulong XferGetSize(PurpleXfer xfer)
+ {
+ return purple_xfer_get_size(xfer.Reference);
+ }
+
+ /*
+ * Function Name: purple_xfer_get_progress
+ * Function Type: double
+ * Function RawType: double
+ * Function Category: Native
+ */
+ /*
+ * double purple_xfer_get_progress(PurpleXfer * xfer)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern double purple_xfer_get_progress(IntPtr xfer);
+
+ public static double XferGetProgress(PurpleXfer xfer)
+ {
+ return purple_xfer_get_progress(xfer.Reference);
+ }
+
+ /*
+ * Function Name: purple_xfer_get_local_port
+ * Function Type: unsigned int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * unsigned int purple_xfer_get_local_port(PurpleXfer * xfer)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern uint purple_xfer_get_local_port(IntPtr xfer);
+
+ public static uint XferGetLocalPort(PurpleXfer xfer)
+ {
+ return purple_xfer_get_local_port(xfer.Reference);
+ }
+
+ /*
+ * Function Name: purple_xfer_get_remote_ip
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_xfer_get_remote_ip(PurpleXfer * xfer)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_xfer_get_remote_ip(IntPtr xfer);
+
+ public static string XferGetRemoteIp(PurpleXfer xfer)
+ {
+ return purple_xfer_get_remote_ip(xfer.Reference);
+ }
+
+ /*
+ * Function Name: purple_xfer_get_remote_port
+ * Function Type: unsigned int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * unsigned int purple_xfer_get_remote_port(PurpleXfer * xfer)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern uint purple_xfer_get_remote_port(IntPtr xfer);
+
+ public static uint XferGetRemotePort(PurpleXfer xfer)
+ {
+ return purple_xfer_get_remote_port(xfer.Reference);
+ }
+
+ /*
+ * Function Name: purple_xfer_get_start_time
+ * Function Type: time_t
+ * Function RawType: time_t
+ * Function Category: DateTime
+ */
+ /*
+ * time_t purple_xfer_get_start_time(PurpleXfer * xfer)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern ulong purple_xfer_get_start_time(IntPtr xfer);
+
+ public static DateTime XferGetStartTime(PurpleXfer xfer)
+ {
+ /* Unable to process the return value of purple_xfer_get_start_time, a DateTime. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_xfer_get_end_time
+ * Function Type: time_t
+ * Function RawType: time_t
+ * Function Category: DateTime
+ */
+ /*
+ * time_t purple_xfer_get_end_time(PurpleXfer * xfer)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern ulong purple_xfer_get_end_time(IntPtr xfer);
+
+ public static DateTime XferGetEndTime(PurpleXfer xfer)
+ {
+ /* Unable to process the return value of purple_xfer_get_end_time, a DateTime. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_xfer_set_completed
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_xfer_set_completed(PurpleXfer * xfer, gboolean completed)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_xfer_set_completed(IntPtr xfer, bool completed);
+
+ public static void XferSetCompleted(PurpleXfer xfer, bool completed)
+ {
+ purple_xfer_set_completed(xfer.Reference, completed);
+ }
+
+ /*
+ * Function Name: purple_xfer_set_message
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_xfer_set_message(PurpleXfer * xfer, char * message)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_xfer_set_message(IntPtr xfer, string message);
+
+ public static void XferSetMessage(PurpleXfer xfer, string message)
+ {
+ purple_xfer_set_message(xfer.Reference, message);
+ }
+
+ /*
+ * Function Name: purple_xfer_set_filename
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_xfer_set_filename(PurpleXfer * xfer, char * filename)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_xfer_set_filename(IntPtr xfer, string filename);
+
+ public static void XferSetFilename(PurpleXfer xfer, string filename)
+ {
+ purple_xfer_set_filename(xfer.Reference, filename);
+ }
+
+ /*
+ * Function Name: purple_xfer_set_local_filename
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_xfer_set_local_filename(PurpleXfer * xfer, char * filename)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_xfer_set_local_filename(IntPtr xfer, string filename);
+
+ public static void XferSetLocalFilename(PurpleXfer xfer, string filename)
+ {
+ purple_xfer_set_local_filename(xfer.Reference, filename);
+ }
+
+ /*
+ * Function Name: purple_xfer_set_size
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_xfer_set_size(PurpleXfer * xfer, size_t size)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_xfer_set_size(IntPtr xfer, ulong size);
+
+ public static void XferSetSize(PurpleXfer xfer, ulong size)
+ {
+ purple_xfer_set_size(xfer.Reference, size);
+ }
+
+ /*
+ * Function Name: purple_xfer_set_bytes_sent
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * 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, ulong bytes_sent);
+
+ public static void XferSetBytesSent(PurpleXfer xfer, ulong bytes_sent)
+ {
+ purple_xfer_set_bytes_sent(xfer.Reference, bytes_sent);
+ }
+
+ /*
+ * Function Name: purple_xfer_get_ui_ops
+ * Function Type: PurpleXferUiOps *
+ * Function RawType: PurpleXferUiOps
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleXferUiOps * purple_xfer_get_ui_ops(PurpleXfer * xfer)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_xfer_get_ui_ops(IntPtr xfer);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleXferUiOps */ IntPtr XferGetUiOps(PurpleXfer xfer)
+ {
+ /* Unable to process the return value of purple_xfer_get_ui_ops, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_xfer_read
+ * Function Type: gssize
+ * Function RawType: gssize
+ * Function Category: Native
+ */
+ /*
+ * gssize purple_xfer_read(PurpleXfer * xfer, guchar ** buffer)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern long purple_xfer_read(IntPtr xfer, IntPtr buffer);
+
+ public static long XferRead(PurpleXfer xfer, /* Resolved as PointerToUnknownStruct to guchar */ IntPtr buffer)
+ {
+ /* Unable to process buffer, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_xfer_write
+ * Function Type: gssize
+ * Function RawType: gssize
+ * Function Category: Native
+ */
+ /*
+ * gssize purple_xfer_write(PurpleXfer * xfer, guchar * buffer, gsize size)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern long purple_xfer_write(IntPtr xfer, IntPtr buffer, ulong size);
+
+ public static long XferWrite(PurpleXfer xfer, /* Resolved as PointerToUnknownStruct to guchar */ IntPtr buffer, ulong size)
+ {
+ /* Unable to process buffer, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_xfer_end
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_xfer_end(PurpleXfer * xfer)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_xfer_end(IntPtr xfer);
+
+ public static void XferEnd(PurpleXfer xfer)
+ {
+ purple_xfer_end(xfer.Reference);
+ }
+
+ /*
+ * Function Name: purple_xfer_add
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_xfer_add(PurpleXfer * xfer)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_xfer_add(IntPtr xfer);
+
+ public static void XferAdd(PurpleXfer xfer)
+ {
+ purple_xfer_add(xfer.Reference);
+ }
+
+ /*
+ * Function Name: purple_xfer_cancel_local
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_xfer_cancel_local(PurpleXfer * xfer)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_xfer_cancel_local(IntPtr xfer);
+
+ public static void XferCancelLocal(PurpleXfer xfer)
+ {
+ purple_xfer_cancel_local(xfer.Reference);
+ }
+
+ /*
+ * Function Name: purple_xfer_cancel_remote
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_xfer_cancel_remote(PurpleXfer * xfer)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_xfer_cancel_remote(IntPtr xfer);
+
+ public static void XferCancelRemote(PurpleXfer xfer)
+ {
+ purple_xfer_cancel_remote(xfer.Reference);
+ }
+
+ /*
+ * Function Name: purple_xfer_error
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_xfer_error(PurpleXferType type, PurpleAccount * account, char * who, char * msg)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_xfer_error(Ft.PurpleXferType type, IntPtr 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();
+ }
+
+ /*
+ * Function Name: purple_xfer_update_progress
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_xfer_update_progress(PurpleXfer * xfer)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_xfer_update_progress(IntPtr xfer);
+
+ public static void XferUpdateProgress(PurpleXfer xfer)
+ {
+ purple_xfer_update_progress(xfer.Reference);
+ }
+
+ /*
+ * Function Name: purple_xfer_conversation_write
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_xfer_conversation_write(PurpleXfer * xfer, char * message, gboolean is_error)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_xfer_conversation_write(IntPtr xfer, string message, bool is_error);
+
+ public static void XferConversationWrite(PurpleXfer xfer, string message, bool is_error)
+ {
+ purple_xfer_conversation_write(xfer.Reference, message, is_error);
+ }
+
+ /*
+ * Function Name: purple_xfers_get_handle
+ * Function Type: void *
+ * Function RawType: void
+ * Function Category: VoidPointer
+ */
+ /*
+ * void * purple_xfers_get_handle()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_xfers_get_handle();
+
+ public static IntPtr XfersGetHandle()
+ {
+ return purple_xfers_get_handle();
+ }
+
+ /*
+ * Function Name: purple_xfers_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_xfers_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_xfers_init();
+
+ public static void XfersInit()
+ {
+ purple_xfers_init();
+ }
+
+ /*
+ * Function Name: purple_xfers_uninit
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_xfers_uninit()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_xfers_uninit();
+
+ public static void XfersUninit()
+ {
+ purple_xfers_uninit();
+ }
+
+ /*
+ * Function Name: purple_xfers_set_ui_ops
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_xfers_set_ui_ops(PurpleXferUiOps * ops)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_xfers_set_ui_ops(IntPtr ops);
+
+ public static void XfersSetUiOps(/* Resolved as PointerToUnknownStruct to PurpleXferUiOps */ IntPtr ops)
+ {
+ /* Unable to process ops, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_xfers_get_ui_ops
+ * Function Type: PurpleXferUiOps *
+ * Function RawType: PurpleXferUiOps
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleXferUiOps * purple_xfers_get_ui_ops()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_xfers_get_ui_ops();
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleXferUiOps */ IntPtr XfersGetUiOps()
+ {
+ /* Unable to process the return value of purple_xfers_get_ui_ops, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Idle.cs 93dc3e0f19f2a89eb61c29871058d6e4b5a27bfe
+++ libpurple/wrapper/Idle.cs 93dc3e0f19f2a89eb61c29871058d6e4b5a27bfe
@@ -0,0 +1,155 @@
+/* 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
+{
+
+ /*
+ * File: idle.h
+ */
+ public class Idle
+ {
+
+ /*
+ * Function Name: purple_idle_touch
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_idle_touch()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_idle_touch();
+
+ public static void Touch()
+ {
+ purple_idle_touch();
+ }
+
+ /*
+ * Function Name: purple_idle_set
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_idle_set(time_t time)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_idle_set(ulong time);
+
+ public static void Set(DateTime time)
+ {
+ ulong _PurpleWrapper_param0 = (ulong)(time - new DateTime(1970, 1, 1)).TotalSeconds;
+ purple_idle_set(_PurpleWrapper_param0);
+ }
+
+ /*
+ * Function Name: purple_idle_set_ui_ops
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_idle_set_ui_ops(PurpleIdleUiOps * ops)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_idle_set_ui_ops(IntPtr ops);
+
+ public static void SetUiOps(/* Resolved as PointerToUnknownStruct to PurpleIdleUiOps */ IntPtr ops)
+ {
+ /* Unable to process ops, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_idle_get_ui_ops
+ * Function Type: PurpleIdleUiOps *
+ * Function RawType: PurpleIdleUiOps
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleIdleUiOps * purple_idle_get_ui_ops()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_idle_get_ui_ops();
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleIdleUiOps */ IntPtr GetUiOps()
+ {
+ /* Unable to process the return value of purple_idle_get_ui_ops, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_idle_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_idle_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_idle_init();
+
+ public static void Init()
+ {
+ purple_idle_init();
+ }
+
+ /*
+ * Function Name: purple_idle_uninit
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_idle_uninit()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_idle_uninit();
+
+ public static void Uninit()
+ {
+ purple_idle_uninit();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Imgstore.cs b1afc7cf2aede378f09ae050e66aaf8be55eb8b9
+++ libpurple/wrapper/Imgstore.cs b1afc7cf2aede378f09ae050e66aaf8be55eb8b9
@@ -0,0 +1,314 @@
+/* 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
+{
+
+ /*
+ * File: imgstore.h
+ */
+ public class Imgstore
+ {
+
+ /*
+ * Function Name: purple_imgstore_add
+ * Function Type: PurpleStoredImage *
+ * Function RawType: PurpleStoredImage
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleStoredImage * purple_imgstore_add(gpointer data, size_t size, char * filename)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_imgstore_add(IntPtr data, ulong size, string filename);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleStoredImage */ IntPtr Add(IntPtr data, ulong size, string filename)
+ {
+ /* Unable to process the return value of purple_imgstore_add, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_imgstore_new_from_file
+ * Function Type: PurpleStoredImage *
+ * Function RawType: PurpleStoredImage
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleStoredImage * purple_imgstore_new_from_file(char * path)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_imgstore_new_from_file(string path);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleStoredImage */ IntPtr NewFromFile(string path)
+ {
+ /* Unable to process the return value of purple_imgstore_new_from_file, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_imgstore_add_with_id
+ * Function Type: int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * 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, ulong size, string filename);
+
+ public static int AddWithId(IntPtr data, ulong size, string filename)
+ {
+ return purple_imgstore_add_with_id(data, size, filename);
+ }
+
+ /*
+ * Function Name: purple_imgstore_find_by_id
+ * Function Type: PurpleStoredImage *
+ * Function RawType: PurpleStoredImage
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleStoredImage * purple_imgstore_find_by_id(int id)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_imgstore_find_by_id(int id);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleStoredImage */ IntPtr FindById(int id)
+ {
+ /* Unable to process the return value of purple_imgstore_find_by_id, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_imgstore_get_data
+ * Function Type: gconstpointer
+ * Function RawType: gconstpointer
+ * Function Category: VoidPointer
+ */
+ /*
+ * gconstpointer purple_imgstore_get_data(PurpleStoredImage * img)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_imgstore_get_data(IntPtr img);
+
+ public static IntPtr GetData(/* Resolved as PointerToUnknownStruct to PurpleStoredImage */ IntPtr img)
+ {
+ /* Unable to process img, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_imgstore_get_size
+ * Function Type: size_t
+ * Function RawType: size_t
+ * Function Category: Native
+ */
+ /*
+ * size_t purple_imgstore_get_size(PurpleStoredImage * img)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern ulong purple_imgstore_get_size(IntPtr img);
+
+ public static ulong GetSize(/* Resolved as PointerToUnknownStruct to PurpleStoredImage */ IntPtr img)
+ {
+ /* Unable to process img, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_imgstore_get_filename
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_imgstore_get_filename(PurpleStoredImage * img)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_imgstore_get_filename(IntPtr img);
+
+ public static string GetFilename(/* Resolved as PointerToUnknownStruct to PurpleStoredImage */ IntPtr img)
+ {
+ /* Unable to process img, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_imgstore_get_extension
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_imgstore_get_extension(PurpleStoredImage * img)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_imgstore_get_extension(IntPtr img);
+
+ public static string GetExtension(/* Resolved as PointerToUnknownStruct to PurpleStoredImage */ IntPtr img)
+ {
+ /* Unable to process img, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_imgstore_ref
+ * Function Type: PurpleStoredImage *
+ * Function RawType: PurpleStoredImage
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleStoredImage * purple_imgstore_ref(PurpleStoredImage * img)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_imgstore_ref(IntPtr img);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleStoredImage */ IntPtr Ref(/* Resolved as PointerToUnknownStruct to PurpleStoredImage */ IntPtr img)
+ {
+ /* Unable to process img, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_imgstore_unref
+ * Function Type: PurpleStoredImage *
+ * Function RawType: PurpleStoredImage
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleStoredImage * purple_imgstore_unref(PurpleStoredImage * img)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_imgstore_unref(IntPtr img);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleStoredImage */ IntPtr Unref(/* Resolved as PointerToUnknownStruct to PurpleStoredImage */ IntPtr img)
+ {
+ /* Unable to process img, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_imgstore_ref_by_id
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_imgstore_ref_by_id(int id)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_imgstore_ref_by_id(int id);
+
+ public static void RefById(int id)
+ {
+ purple_imgstore_ref_by_id(id);
+ }
+
+ /*
+ * Function Name: purple_imgstore_unref_by_id
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_imgstore_unref_by_id(int id)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_imgstore_unref_by_id(int id);
+
+ public static void UnrefById(int id)
+ {
+ purple_imgstore_unref_by_id(id);
+ }
+
+ /*
+ * Function Name: purple_imgstore_get_handle
+ * Function Type: void *
+ * Function RawType: void
+ * Function Category: VoidPointer
+ */
+ /*
+ * void * purple_imgstore_get_handle()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_imgstore_get_handle();
+
+ public static IntPtr GetHandle()
+ {
+ return purple_imgstore_get_handle();
+ }
+
+ /*
+ * Function Name: purple_imgstore_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_imgstore_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_imgstore_init();
+
+ public static void Init()
+ {
+ purple_imgstore_init();
+ }
+
+ /*
+ * Function Name: purple_imgstore_uninit
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_imgstore_uninit()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_imgstore_uninit();
+
+ public static void Uninit()
+ {
+ purple_imgstore_uninit();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Log.cs 930e955549ed2b0e8e9a3288c148164ef506cdb7
+++ libpurple/wrapper/Log.cs 930e955549ed2b0e8e9a3288c148164ef506cdb7
@@ -0,0 +1,510 @@
+/* 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
+{
+
+ /*
+ * File: log.h
+ */
+ public class Log
+ {
+ public enum PurpleLogType
+ {
+ PURPLE_LOG_IM,
+ PURPLE_LOG_CHAT,
+ PURPLE_LOG_SYSTEM
+ };
+
+ public enum PurpleLogReadFlags
+ {
+ PURPLE_LOG_READ_NO_NEWLINE = 1
+ };
+
+ public delegate void PurpleLogSetCallback(IntPtr sets, IntPtr set);
+
+ /*
+ * Function Name: purple_log_free
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_log_free(PurpleLog * log)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_log_free(IntPtr log);
+
+ public static void Free(PurpleLog log)
+ {
+ purple_log_free(log.Reference);
+ }
+
+ /*
+ * Function Name: purple_log_read
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_log_read(PurpleLog * log, PurpleLogReadFlags * flags)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_log_read(IntPtr log, Log.PurpleLogReadFlags flags);
+
+ public static string Read(PurpleLog log, Log.PurpleLogReadFlags flags)
+ {
+ /* Unable to process flags, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_log_get_logs
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * 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: Unknown inner-type of argument 0 of purple_log_get_logs
+ */
+
+ /*
+ * Function Name: purple_log_get_log_sets
+ * Function Type: GHashTable *
+ * Function RawType: GHashTable
+ * Function Category: PointerToGHashTable
+ */
+ /*
+ * GHashTable * purple_log_get_log_sets()
+ *
+ * Could not generate a wrapper for purple_log_get_log_sets in file "log.h".
+ * Message: Unknown inner-type of argument 0 of purple_log_get_log_sets
+ */
+
+ /*
+ * Function Name: purple_log_get_system_logs
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_log_get_system_logs(PurpleAccount * account)
+ *
+ * Could not generate a wrapper for purple_log_get_system_logs in file "log.h".
+ * Message: Unknown inner-type of argument 0 of purple_log_get_system_logs
+ */
+
+ /*
+ * Function Name: purple_log_get_size
+ * Function Type: int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * int purple_log_get_size(PurpleLog * log)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern int purple_log_get_size(IntPtr log);
+
+ public static int GetSize(PurpleLog log)
+ {
+ return purple_log_get_size(log.Reference);
+ }
+
+ /*
+ * Function Name: purple_log_get_total_size
+ * Function Type: int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * int purple_log_get_total_size(PurpleLogType type, char * name, PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern int purple_log_get_total_size(Log.PurpleLogType type, string name, IntPtr account);
+
+ public static int GetTotalSize(Log.PurpleLogType type, string name, PurpleAccount account)
+ {
+ /* Unable to process type, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_log_get_activity_score
+ * Function Type: int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * int purple_log_get_activity_score(PurpleLogType type, char * name, PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern int purple_log_get_activity_score(Log.PurpleLogType type, string name, IntPtr account);
+
+ public static int GetActivityScore(Log.PurpleLogType type, string name, PurpleAccount account)
+ {
+ /* Unable to process type, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_log_is_deletable
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_log_is_deletable(PurpleLog * log)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_log_is_deletable(IntPtr log);
+
+ public static bool IsDeletable(PurpleLog log)
+ {
+ return purple_log_is_deletable(log.Reference);
+ }
+
+ /*
+ * Function Name: purple_log_delete
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_log_delete(PurpleLog * log)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_log_delete(IntPtr log);
+
+ public static bool Delete(PurpleLog log)
+ {
+ return purple_log_delete(log.Reference);
+ }
+
+ /*
+ * Function Name: purple_log_get_log_dir
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_log_get_log_dir(PurpleLogType type, char * name, PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_log_get_log_dir(Log.PurpleLogType type, string name, IntPtr account);
+
+ public static string GetLogDir(Log.PurpleLogType type, string name, PurpleAccount account)
+ {
+ /* Unable to process type, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_log_compare
+ * Function Type: gint
+ * Function RawType: gint
+ * Function Category: Native
+ */
+ /*
+ * gint purple_log_compare(gconstpointer y, gconstpointer z)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern int purple_log_compare(IntPtr y, IntPtr z);
+
+ public static int Compare(IntPtr y, IntPtr z)
+ {
+ return purple_log_compare(y, z);
+ }
+
+ /*
+ * Function Name: purple_log_set_compare
+ * Function Type: gint
+ * Function RawType: gint
+ * Function Category: Native
+ */
+ /*
+ * gint purple_log_set_compare(gconstpointer y, gconstpointer z)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern int purple_log_set_compare(IntPtr y, IntPtr z);
+
+ public static int SetCompare(IntPtr y, IntPtr z)
+ {
+ return purple_log_set_compare(y, z);
+ }
+
+ /*
+ * Function Name: purple_log_set_free
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_log_set_free(PurpleLogSet * set)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_log_set_free(IntPtr set);
+
+ public static void SetFree(PurpleLogSet set)
+ {
+ purple_log_set_free(set.Reference);
+ }
+
+ /*
+ * Function Name: purple_log_common_writer
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_log_common_writer(PurpleLog * log, char * ext)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_log_common_writer(IntPtr log, string ext);
+
+ public static void CommonWriter(PurpleLog log, string ext)
+ {
+ purple_log_common_writer(log.Reference, ext);
+ }
+
+ /*
+ * Function Name: purple_log_common_sizer
+ * Function Type: int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * int purple_log_common_sizer(PurpleLog * log)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern int purple_log_common_sizer(IntPtr log);
+
+ public static int CommonSizer(PurpleLog log)
+ {
+ return purple_log_common_sizer(log.Reference);
+ }
+
+ /*
+ * Function Name: purple_log_common_deleter
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_log_common_deleter(PurpleLog * log)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_log_common_deleter(IntPtr log);
+
+ public static bool CommonDeleter(PurpleLog log)
+ {
+ return purple_log_common_deleter(log.Reference);
+ }
+
+ /*
+ * Function Name: purple_log_common_is_deletable
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_log_common_is_deletable(PurpleLog * log)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_log_common_is_deletable(IntPtr log);
+
+ public static bool CommonIsDeletable(PurpleLog log)
+ {
+ return purple_log_common_is_deletable(log.Reference);
+ }
+
+ /*
+ * Function Name: purple_log_logger_free
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_log_logger_free(PurpleLogLogger * logger)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_log_logger_free(IntPtr logger);
+
+ public static void LoggerFree(PurpleLogLogger logger)
+ {
+ purple_log_logger_free(logger.Reference);
+ }
+
+ /*
+ * Function Name: purple_log_logger_add
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_log_logger_add(PurpleLogLogger * logger)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_log_logger_add(IntPtr logger);
+
+ public static void LoggerAdd(PurpleLogLogger logger)
+ {
+ purple_log_logger_add(logger.Reference);
+ }
+
+ /*
+ * Function Name: purple_log_logger_remove
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_log_logger_remove(PurpleLogLogger * logger)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_log_logger_remove(IntPtr logger);
+
+ public static void LoggerRemove(PurpleLogLogger logger)
+ {
+ purple_log_logger_remove(logger.Reference);
+ }
+
+ /*
+ * Function Name: purple_log_logger_set
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_log_logger_set(PurpleLogLogger * logger)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_log_logger_set(IntPtr logger);
+
+ public static void LoggerSet(PurpleLogLogger logger)
+ {
+ purple_log_logger_set(logger.Reference);
+ }
+
+ /*
+ * Function Name: purple_log_logger_get
+ * Function Type: PurpleLogLogger *
+ * Function RawType: PurpleLogLogger
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleLogLogger * purple_log_logger_get()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_log_logger_get();
+
+ public static PurpleLogLogger LoggerGet()
+ {
+ return new PurpleLogLogger(purple_log_logger_get());
+ }
+
+ /*
+ * Function Name: purple_log_logger_get_options
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_log_logger_get_options()
+ *
+ * Could not generate a wrapper for purple_log_logger_get_options in file "log.h".
+ * Message: Unknown inner-type of argument 0 of purple_log_logger_get_options
+ */
+
+ /*
+ * Function Name: purple_log_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_log_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_log_init();
+
+ public static void Init()
+ {
+ purple_log_init();
+ }
+
+ /*
+ * Function Name: purple_log_get_handle
+ * Function Type: void *
+ * Function RawType: void
+ * Function Category: VoidPointer
+ */
+ /*
+ * void * purple_log_get_handle()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_log_get_handle();
+
+ public static IntPtr GetHandle()
+ {
+ return purple_log_get_handle();
+ }
+
+ /*
+ * Function Name: purple_log_uninit
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_log_uninit()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_log_uninit();
+
+ public static void Uninit()
+ {
+ purple_log_uninit();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Media.cs e2af2714fadc4bb277a70ef33dfac6839ac673ff
+++ libpurple/wrapper/Media.cs e2af2714fadc4bb277a70ef33dfac6839ac673ff
@@ -0,0 +1,781 @@
+/* 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
+{
+
+ /*
+ * File: media.h
+ */
+ 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
+ };
+
+
+ /*
+ * Function Name: purple_media_session_type_get_type
+ * Function Type: GType
+ * Function RawType: GType
+ * Function Category: GObjectObject
+ */
+ /*
+ * GType purple_media_session_type_get_type()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_media_session_type_get_type();
+
+ public static /* libobject */ IntPtr SessionTypeGetType()
+ {
+ /* Unable to process the return value of purple_media_session_type_get_type, a GObjectObject. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_candidate_type_get_type
+ * Function Type: GType
+ * Function RawType: GType
+ * Function Category: GObjectObject
+ */
+ /*
+ * GType purple_media_candidate_type_get_type()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_media_candidate_type_get_type();
+
+ public static /* libobject */ IntPtr CandidateTypeGetType()
+ {
+ /* Unable to process the return value of purple_media_candidate_type_get_type, a GObjectObject. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_network_protocol_get_type
+ * Function Type: GType
+ * Function RawType: GType
+ * Function Category: GObjectObject
+ */
+ /*
+ * GType purple_media_network_protocol_get_type()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_media_network_protocol_get_type();
+
+ public static /* libobject */ IntPtr NetworkProtocolGetType()
+ {
+ /* Unable to process the return value of purple_media_network_protocol_get_type, a GObjectObject. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_get_type
+ * Function Type: GType
+ * Function RawType: GType
+ * Function Category: GObjectObject
+ */
+ /*
+ * GType purple_media_get_type()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_media_get_type();
+
+ public static /* libobject */ IntPtr GetType()
+ {
+ /* Unable to process the return value of purple_media_get_type, a GObjectObject. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_state_changed_get_type
+ * Function Type: GType
+ * Function RawType: GType
+ * Function Category: GObjectObject
+ */
+ /*
+ * GType purple_media_state_changed_get_type()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_media_state_changed_get_type();
+
+ public static /* libobject */ IntPtr StateChangedGetType()
+ {
+ /* Unable to process the return value of purple_media_state_changed_get_type, a GObjectObject. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_info_type_get_type
+ * Function Type: GType
+ * Function RawType: GType
+ * Function Category: GObjectObject
+ */
+ /*
+ * GType purple_media_info_type_get_type()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_media_info_type_get_type();
+
+ public static /* libobject */ IntPtr InfoTypeGetType()
+ {
+ /* Unable to process the return value of purple_media_info_type_get_type, a GObjectObject. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_candidate_get_type
+ * Function Type: GType
+ * Function RawType: GType
+ * Function Category: GObjectObject
+ */
+ /*
+ * GType purple_media_candidate_get_type()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_media_candidate_get_type();
+
+ public static /* libobject */ IntPtr CandidateGetType()
+ {
+ /* Unable to process the return value of purple_media_candidate_get_type, a GObjectObject. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_candidate_list_copy
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_media_candidate_list_copy(GList * candidates)
+ *
+ * Could not generate a wrapper for purple_media_candidate_list_copy in file "media.h".
+ * Message: Unknown inner-type of argument 0 of purple_media_candidate_list_copy
+ */
+
+ /*
+ * Function Name: purple_media_candidate_list_free
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_media_candidate_list_free(GList * candidates)
+ *
+ * Could not generate a wrapper for purple_media_candidate_list_free in file "media.h".
+ * Message: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ /*
+ * Function Name: purple_media_candidate_get_foundation
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_media_candidate_get_foundation(PurpleMediaCandidate * candidate)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_media_candidate_get_foundation(IntPtr candidate);
+
+ public static string CandidateGetFoundation(/* Resolved as PointerToUnknownStruct to PurpleMediaCandidate */ IntPtr candidate)
+ {
+ /* Unable to process candidate, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_candidate_get_component_id
+ * Function Type: guint
+ * Function RawType: guint
+ * Function Category: Native
+ */
+ /*
+ * guint purple_media_candidate_get_component_id(PurpleMediaCandidate * candidate)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern uint purple_media_candidate_get_component_id(IntPtr candidate);
+
+ public static uint CandidateGetComponentId(/* Resolved as PointerToUnknownStruct to PurpleMediaCandidate */ IntPtr candidate)
+ {
+ /* Unable to process candidate, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_candidate_get_ip
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_media_candidate_get_ip(PurpleMediaCandidate * candidate)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_media_candidate_get_ip(IntPtr candidate);
+
+ public static string CandidateGetIp(/* Resolved as PointerToUnknownStruct to PurpleMediaCandidate */ IntPtr candidate)
+ {
+ /* Unable to process candidate, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_candidate_get_port
+ * Function Type: guint16
+ * Function RawType: guint16
+ * Function Category: Native
+ */
+ /*
+ * guint16 purple_media_candidate_get_port(PurpleMediaCandidate * candidate)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern ushort purple_media_candidate_get_port(IntPtr candidate);
+
+ public static ushort CandidateGetPort(/* Resolved as PointerToUnknownStruct to PurpleMediaCandidate */ IntPtr candidate)
+ {
+ /* Unable to process candidate, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_candidate_get_base_ip
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_media_candidate_get_base_ip(PurpleMediaCandidate * candidate)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_media_candidate_get_base_ip(IntPtr candidate);
+
+ public static string CandidateGetBaseIp(/* Resolved as PointerToUnknownStruct to PurpleMediaCandidate */ IntPtr candidate)
+ {
+ /* Unable to process candidate, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_candidate_get_base_port
+ * Function Type: guint16
+ * Function RawType: guint16
+ * Function Category: Native
+ */
+ /*
+ * guint16 purple_media_candidate_get_base_port(PurpleMediaCandidate * candidate)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern ushort purple_media_candidate_get_base_port(IntPtr candidate);
+
+ public static ushort CandidateGetBasePort(/* Resolved as PointerToUnknownStruct to PurpleMediaCandidate */ IntPtr candidate)
+ {
+ /* Unable to process candidate, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_candidate_get_priority
+ * Function Type: guint32
+ * Function RawType: guint32
+ * Function Category: Native
+ */
+ /*
+ * guint32 purple_media_candidate_get_priority(PurpleMediaCandidate * candidate)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern uint purple_media_candidate_get_priority(IntPtr candidate);
+
+ public static uint CandidateGetPriority(/* Resolved as PointerToUnknownStruct to PurpleMediaCandidate */ IntPtr candidate)
+ {
+ /* Unable to process candidate, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_candidate_get_username
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_media_candidate_get_username(PurpleMediaCandidate * candidate)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_media_candidate_get_username(IntPtr candidate);
+
+ public static string CandidateGetUsername(/* Resolved as PointerToUnknownStruct to PurpleMediaCandidate */ IntPtr candidate)
+ {
+ /* Unable to process candidate, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_candidate_get_password
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_media_candidate_get_password(PurpleMediaCandidate * candidate)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_media_candidate_get_password(IntPtr candidate);
+
+ public static string CandidateGetPassword(/* Resolved as PointerToUnknownStruct to PurpleMediaCandidate */ IntPtr candidate)
+ {
+ /* Unable to process candidate, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_candidate_get_ttl
+ * Function Type: guint
+ * Function RawType: guint
+ * Function Category: Native
+ */
+ /*
+ * guint purple_media_candidate_get_ttl(PurpleMediaCandidate * candidate)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern uint purple_media_candidate_get_ttl(IntPtr candidate);
+
+ public static uint CandidateGetTtl(/* Resolved as PointerToUnknownStruct to PurpleMediaCandidate */ IntPtr candidate)
+ {
+ /* Unable to process candidate, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_codec_get_type
+ * Function Type: GType
+ * Function RawType: GType
+ * Function Category: GObjectObject
+ */
+ /*
+ * GType purple_media_codec_get_type()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_media_codec_get_type();
+
+ public static /* libobject */ IntPtr CodecGetType()
+ {
+ /* Unable to process the return value of purple_media_codec_get_type, a GObjectObject. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_codec_get_id
+ * Function Type: guint
+ * Function RawType: guint
+ * Function Category: Native
+ */
+ /*
+ * guint purple_media_codec_get_id(PurpleMediaCodec * codec)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern uint purple_media_codec_get_id(IntPtr codec);
+
+ public static uint CodecGetId(/* Resolved as PointerToUnknownStruct to PurpleMediaCodec */ IntPtr codec)
+ {
+ /* Unable to process codec, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_codec_get_encoding_name
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_media_codec_get_encoding_name(PurpleMediaCodec * codec)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_media_codec_get_encoding_name(IntPtr codec);
+
+ public static string CodecGetEncodingName(/* Resolved as PointerToUnknownStruct to PurpleMediaCodec */ IntPtr codec)
+ {
+ /* Unable to process codec, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_codec_get_clock_rate
+ * Function Type: guint
+ * Function RawType: guint
+ * Function Category: Native
+ */
+ /*
+ * guint purple_media_codec_get_clock_rate(PurpleMediaCodec * codec)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern uint purple_media_codec_get_clock_rate(IntPtr codec);
+
+ public static uint CodecGetClockRate(/* Resolved as PointerToUnknownStruct to PurpleMediaCodec */ IntPtr codec)
+ {
+ /* Unable to process codec, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_codec_get_channels
+ * Function Type: guint
+ * Function RawType: guint
+ * Function Category: Native
+ */
+ /*
+ * guint purple_media_codec_get_channels(PurpleMediaCodec * codec)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern uint purple_media_codec_get_channels(IntPtr codec);
+
+ public static uint CodecGetChannels(/* Resolved as PointerToUnknownStruct to PurpleMediaCodec */ IntPtr codec)
+ {
+ /* Unable to process codec, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_codec_get_optional_parameters
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * 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: Unknown inner-type of argument 0 of purple_media_codec_get_optional_parameters
+ */
+
+ /*
+ * Function Name: purple_media_codec_to_string
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_media_codec_to_string(PurpleMediaCodec * codec)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_media_codec_to_string(IntPtr codec);
+
+ public static string CodecToString(/* Resolved as PointerToUnknownStruct to PurpleMediaCodec */ IntPtr codec)
+ {
+ /* Unable to process codec, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_codec_list_copy
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_media_codec_list_copy(GList * codecs)
+ *
+ * Could not generate a wrapper for purple_media_codec_list_copy in file "media.h".
+ * Message: Unknown inner-type of argument 0 of purple_media_codec_list_copy
+ */
+
+ /*
+ * Function Name: purple_media_codec_list_free
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_media_codec_list_free(GList * codecs)
+ *
+ * Could not generate a wrapper for purple_media_codec_list_free in file "media.h".
+ * Message: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ /*
+ * Function Name: purple_media_get_session_ids
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_media_get_session_ids(PurpleMedia * media)
+ *
+ * Could not generate a wrapper for purple_media_get_session_ids in file "media.h".
+ * Message: Unknown inner-type of argument 0 of purple_media_get_session_ids
+ */
+
+ /*
+ * Function Name: purple_media_get_account
+ * Function Type: PurpleAccount *
+ * Function RawType: PurpleAccount
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleAccount * purple_media_get_account(PurpleMedia * media)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_media_get_account(IntPtr media);
+
+ public static PurpleAccount GetAccount(/* Resolved as PointerToUnknownStruct to PurpleMedia */ IntPtr media)
+ {
+ /* Unable to process media, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_get_prpl_data
+ * Function Type: gpointer
+ * Function RawType: gpointer
+ * Function Category: VoidPointer
+ */
+ /*
+ * gpointer purple_media_get_prpl_data(PurpleMedia * media)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_media_get_prpl_data(IntPtr media);
+
+ public static IntPtr GetPrplData(/* Resolved as PointerToUnknownStruct to PurpleMedia */ IntPtr media)
+ {
+ /* Unable to process media, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_set_prpl_data
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_media_set_prpl_data(PurpleMedia * media, gpointer prpl_data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_media_set_prpl_data(IntPtr media, IntPtr prpl_data);
+
+ public static void SetPrplData(/* Resolved as PointerToUnknownStruct to PurpleMedia */ IntPtr media, IntPtr prpl_data)
+ {
+ /* Unable to process media, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_get_session_type
+ * Function Type: PurpleMediaSessionType
+ * Function RawType: PurpleMediaSessionType
+ * Function Category: KnownEnum
+ */
+ /*
+ * PurpleMediaSessionType purple_media_get_session_type(PurpleMedia * media, gchar * sess_id)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern Media.PurpleMediaSessionType purple_media_get_session_type(IntPtr media, string sess_id);
+
+ public static Media.PurpleMediaSessionType GetSessionType(/* Resolved as PointerToUnknownStruct to PurpleMedia */ IntPtr media, string sess_id)
+ {
+ /* Unable to process media, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_get_manager
+ * Function Type: _PurpleMediaManager *
+ * Function RawType: _PurpleMediaManager
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * _PurpleMediaManager * purple_media_get_manager(PurpleMedia * media)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_media_get_manager(IntPtr media);
+
+ public static /* Resolved as PointerToUnknownStruct to _PurpleMediaManager */ IntPtr GetManager(/* Resolved as PointerToUnknownStruct to PurpleMedia */ IntPtr media)
+ {
+ /* Unable to process media, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_get_codecs
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * 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: Unknown inner-type of argument 0 of purple_media_get_codecs
+ */
+
+ /*
+ * Function Name: purple_media_set_send_codec
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_media_set_send_codec(PurpleMedia * media, gchar * sess_id, PurpleMediaCodec * codec)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_media_set_send_codec(IntPtr media, string sess_id, IntPtr codec);
+
+ public static bool SetSendCodec(/* Resolved as PointerToUnknownStruct to PurpleMedia */ IntPtr media, string sess_id, /* Resolved as PointerToUnknownStruct to PurpleMediaCodec */ IntPtr codec)
+ {
+ /* Unable to process media, a PointerToUnknownStruct. */
+ /* Unable to process codec, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_codecs_ready
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_media_codecs_ready(PurpleMedia * media, gchar * sess_id)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_media_codecs_ready(IntPtr media, string sess_id);
+
+ public static bool CodecsReady(/* Resolved as PointerToUnknownStruct to PurpleMedia */ IntPtr media, string sess_id)
+ {
+ /* Unable to process media, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_set_input_volume
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_media_set_input_volume(PurpleMedia * media, gchar * session_id, double level)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_media_set_input_volume(IntPtr media, string session_id, double level);
+
+ public static void SetInputVolume(/* Resolved as PointerToUnknownStruct to PurpleMedia */ IntPtr media, string session_id, double level)
+ {
+ /* Unable to process media, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_remove_output_windows
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_media_remove_output_windows(PurpleMedia * media)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_media_remove_output_windows(IntPtr media);
+
+ public static void RemoveOutputWindows(/* Resolved as PointerToUnknownStruct to PurpleMedia */ IntPtr media)
+ {
+ /* Unable to process media, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Mediamanager.cs 58d745ef6803366c1659314f7bacbf40aff321d9
+++ libpurple/wrapper/Mediamanager.cs 58d745ef6803366c1659314f7bacbf40aff321d9
@@ -0,0 +1,117 @@
+/* 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
+{
+
+ /*
+ * File: mediamanager.h
+ */
+ public class Mediamanager
+ {
+
+ /*
+ * Function Name: purple_media_manager_get_type
+ * Function Type: GType
+ * Function RawType: GType
+ * Function Category: GObjectObject
+ */
+ /*
+ * GType purple_media_manager_get_type()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_media_manager_get_type();
+
+ public static /* libobject */ IntPtr MediaManagerGetType()
+ {
+ /* Unable to process the return value of purple_media_manager_get_type, a GObjectObject. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_manager_get
+ * Function Type: PurpleMediaManager *
+ * Function RawType: PurpleMediaManager
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleMediaManager * purple_media_manager_get()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_media_manager_get();
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleMediaManager */ IntPtr MediaManagerGet()
+ {
+ /* Unable to process the return value of purple_media_manager_get, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_media_manager_get_media
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_media_manager_get_media(PurpleMediaManager * manager)
+ *
+ * Could not generate a wrapper for purple_media_manager_get_media in file "mediamanager.h".
+ * Message: Unknown inner-type of argument 0 of purple_media_manager_get_media
+ */
+
+ /*
+ * Function Name: purple_media_manager_get_ui_caps
+ * Function Type: PurpleMediaCaps
+ * Function RawType: PurpleMediaCaps
+ * Function Category: KnownEnum
+ */
+ /*
+ * PurpleMediaCaps purple_media_manager_get_ui_caps(PurpleMediaManager * manager)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern Media.PurpleMediaCaps purple_media_manager_get_ui_caps(IntPtr manager);
+
+ public static Media.PurpleMediaCaps MediaManagerGetUiCaps(/* Resolved as PointerToUnknownStruct to PurpleMediaManager */ IntPtr manager)
+ {
+ /* Unable to process manager, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Mime.cs 9dbdac00089900ff6956253fa7391cf0cb3c7abb
+++ libpurple/wrapper/Mime.cs 9dbdac00089900ff6956253fa7391cf0cb3c7abb
@@ -0,0 +1,252 @@
+/* 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
+{
+
+ /*
+ * File: mime.h
+ */
+ public class Mime
+ {
+
+ /*
+ * Function Name: purple_mime_document_new
+ * Function Type: PurpleMimeDocument *
+ * Function RawType: PurpleMimeDocument
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleMimeDocument * purple_mime_document_new()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_mime_document_new();
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleMimeDocument */ IntPtr DocumentNew()
+ {
+ /* Unable to process the return value of purple_mime_document_new, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_mime_document_free
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_mime_document_free(PurpleMimeDocument * doc)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_mime_document_free(IntPtr doc);
+
+ public static void DocumentFree(/* Resolved as PointerToUnknownStruct to PurpleMimeDocument */ IntPtr doc)
+ {
+ /* Unable to process doc, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_mime_document_parse
+ * Function Type: PurpleMimeDocument *
+ * Function RawType: PurpleMimeDocument
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleMimeDocument * purple_mime_document_parse(char * buf)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_mime_document_parse(string buf);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleMimeDocument */ IntPtr DocumentParse(string buf)
+ {
+ /* Unable to process the return value of purple_mime_document_parse, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_mime_document_parsen
+ * Function Type: PurpleMimeDocument *
+ * Function RawType: PurpleMimeDocument
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleMimeDocument * purple_mime_document_parsen(char * buf, gsize len)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_mime_document_parsen(string buf, ulong len);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleMimeDocument */ IntPtr DocumentParsen(string buf, ulong len)
+ {
+ /* Unable to process the return value of purple_mime_document_parsen, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_mime_document_write
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_mime_document_write(PurpleMimeDocument * doc, GString * str)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_mime_document_write(IntPtr doc, IntPtr str);
+
+ public static void DocumentWrite(/* Resolved as PointerToUnknownStruct to PurpleMimeDocument */ IntPtr doc, /* Resolved as PointerToUnknownStruct to GString */ IntPtr str)
+ {
+ /* Unable to process doc, a PointerToUnknownStruct. */
+ /* Unable to process str, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_mime_document_get_fields
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_mime_document_get_fields(PurpleMimeDocument * doc)
+ *
+ * Could not generate a wrapper for purple_mime_document_get_fields in file "mime.h".
+ * Message: Unknown inner-type of argument 0 of purple_mime_document_get_fields
+ */
+
+ /*
+ * Function Name: purple_mime_document_get_parts
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_mime_document_get_parts(PurpleMimeDocument * doc)
+ *
+ * Could not generate a wrapper for purple_mime_document_get_parts in file "mime.h".
+ * Message: Unknown inner-type of argument 0 of purple_mime_document_get_parts
+ */
+
+ /*
+ * Function Name: purple_mime_part_new
+ * Function Type: PurpleMimePart *
+ * Function RawType: PurpleMimePart
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleMimePart * purple_mime_part_new(PurpleMimeDocument * doc)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_mime_part_new(IntPtr doc);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleMimePart */ IntPtr PartNew(/* Resolved as PointerToUnknownStruct to PurpleMimeDocument */ IntPtr doc)
+ {
+ /* Unable to process doc, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_mime_part_get_fields
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_mime_part_get_fields(PurpleMimePart * part)
+ *
+ * Could not generate a wrapper for purple_mime_part_get_fields in file "mime.h".
+ * Message: Unknown inner-type of argument 0 of purple_mime_part_get_fields
+ */
+
+ /*
+ * Function Name: purple_mime_part_get_data
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_mime_part_get_data(PurpleMimePart * part)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_mime_part_get_data(IntPtr part);
+
+ public static string PartGetData(/* Resolved as PointerToUnknownStruct to PurpleMimePart */ IntPtr part)
+ {
+ /* Unable to process part, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_mime_part_get_length
+ * Function Type: gsize
+ * Function RawType: gsize
+ * Function Category: Native
+ */
+ /*
+ * gsize purple_mime_part_get_length(PurpleMimePart * part)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern ulong purple_mime_part_get_length(IntPtr part);
+
+ public static ulong PartGetLength(/* Resolved as PointerToUnknownStruct to PurpleMimePart */ IntPtr part)
+ {
+ /* Unable to process part, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_mime_part_set_data
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_mime_part_set_data(PurpleMimePart * part, char * data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_mime_part_set_data(IntPtr part, string data);
+
+ public static void PartSetData(/* Resolved as PointerToUnknownStruct to PurpleMimePart */ IntPtr part, string data)
+ {
+ /* Unable to process part, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/NatPmp.cs 8ecb9d8aab5844631a6efb8dc1a350deb06df638
+++ libpurple/wrapper/NatPmp.cs 8ecb9d8aab5844631a6efb8dc1a350deb06df638
@@ -0,0 +1,126 @@
+/* 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
+{
+
+ /*
+ * File: nat-pmp.h
+ */
+ public class NatPmp
+ {
+ public enum PurplePmpType
+ {
+ PURPLE_PMP_TYPE_UDP,
+ PURPLE_PMP_TYPE_TCP
+ };
+
+
+ /*
+ * Function Name: purple_pmp_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_pmp_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_pmp_init();
+
+ public static void PmpInit()
+ {
+ purple_pmp_init();
+ }
+
+ /*
+ * Function Name: purple_pmp_get_public_ip
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_pmp_get_public_ip()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_pmp_get_public_ip();
+
+ public static string PmpGetPublicIp()
+ {
+ return purple_pmp_get_public_ip();
+ }
+
+ /*
+ * Function Name: purple_pmp_create_map
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * 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(NatPmp.PurplePmpType type, ushort privateport, ushort publicport, int lifetime);
+
+ public static bool PmpCreateMap(NatPmp.PurplePmpType type, ushort privateport, ushort publicport, int lifetime)
+ {
+ /* Unable to process type, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_pmp_destroy_map
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_pmp_destroy_map(PurplePmpType type, unsigned short privateport)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_pmp_destroy_map(NatPmp.PurplePmpType type, ushort privateport);
+
+ public static bool PmpDestroyMap(NatPmp.PurplePmpType type, ushort privateport)
+ {
+ /* Unable to process type, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Network.cs e96e4510c256c7da81898dce9955873cc7be40d9
+++ libpurple/wrapper/Network.cs e96e4510c256c7da81898dce9955873cc7be40d9
@@ -0,0 +1,342 @@
+/* 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
+{
+
+ /*
+ * File: network.h
+ */
+ public class Network
+ {
+ public delegate void PurpleNetworkListenCallback(int listenfd, IntPtr data);
+
+ /*
+ * Function Name: purple_network_ip_atoi
+ * Function Type: unsigned char *
+ * Function RawType: char
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * unsigned char * purple_network_ip_atoi(char * ip)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_network_ip_atoi(string ip);
+
+ public static /* Resolved as PointerToUnknownStruct to char */ IntPtr IpAtoi(string ip)
+ {
+ /* Unable to process the return value of purple_network_ip_atoi, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_network_set_public_ip
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_network_set_public_ip(char * ip)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_network_set_public_ip(string ip);
+
+ public static void SetPublicIp(string ip)
+ {
+ purple_network_set_public_ip(ip);
+ }
+
+ /*
+ * Function Name: purple_network_get_public_ip
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_network_get_public_ip()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_network_get_public_ip();
+
+ public static string GetPublicIp()
+ {
+ return purple_network_get_public_ip();
+ }
+
+ /*
+ * Function Name: purple_network_get_local_system_ip
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_network_get_local_system_ip(int fd)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_network_get_local_system_ip(int fd);
+
+ public static string GetLocalSystemIp(int fd)
+ {
+ return purple_network_get_local_system_ip(fd);
+ }
+
+ /*
+ * Function Name: purple_network_get_my_ip
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_network_get_my_ip(int fd)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_network_get_my_ip(int fd);
+
+ public static string GetMyIp(int fd)
+ {
+ return purple_network_get_my_ip(fd);
+ }
+
+ /*
+ * Function Name: purple_network_listen_map_external
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_network_listen_map_external(gboolean map_external)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_network_listen_map_external(bool map_external);
+
+ public static void ListenMapExternal(bool map_external)
+ {
+ purple_network_listen_map_external(map_external);
+ }
+
+ /*
+ * Function Name: purple_network_listen_cancel
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_network_listen_cancel(PurpleNetworkListenData * listen_data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_network_listen_cancel(IntPtr listen_data);
+
+ public static void ListenCancel(/* Resolved as PointerToUnknownStruct to PurpleNetworkListenData */ IntPtr listen_data)
+ {
+ /* Unable to process listen_data, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_network_get_port_from_fd
+ * Function Type: unsigned short
+ * Function RawType: short
+ * Function Category: Native
+ */
+ /*
+ * unsigned short purple_network_get_port_from_fd(int fd)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern ushort purple_network_get_port_from_fd(int fd);
+
+ public static ushort GetPortFromFd(int fd)
+ {
+ return purple_network_get_port_from_fd(fd);
+ }
+
+ /*
+ * Function Name: purple_network_is_available
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_network_is_available()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_network_is_available();
+
+ public static bool IsAvailable()
+ {
+ return purple_network_is_available();
+ }
+
+ /*
+ * Function Name: purple_network_force_online
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_network_force_online()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_network_force_online();
+
+ public static void ForceOnline()
+ {
+ purple_network_force_online();
+ }
+
+ /*
+ * Function Name: purple_network_get_handle
+ * Function Type: void *
+ * Function RawType: void
+ * Function Category: VoidPointer
+ */
+ /*
+ * void * purple_network_get_handle()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_network_get_handle();
+
+ public static IntPtr GetHandle()
+ {
+ return purple_network_get_handle();
+ }
+
+ /*
+ * Function Name: purple_network_set_stun_server
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_network_set_stun_server(gchar * stun_server)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_network_set_stun_server(string stun_server);
+
+ public static void SetStunServer(string stun_server)
+ {
+ purple_network_set_stun_server(stun_server);
+ }
+
+ /*
+ * Function Name: purple_network_get_stun_ip
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_network_get_stun_ip()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_network_get_stun_ip();
+
+ public static string GetStunIp()
+ {
+ return purple_network_get_stun_ip();
+ }
+
+ /*
+ * Function Name: purple_network_set_turn_server
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_network_set_turn_server(gchar * stun_server)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_network_set_turn_server(string stun_server);
+
+ public static void SetTurnServer(string stun_server)
+ {
+ purple_network_set_turn_server(stun_server);
+ }
+
+ /*
+ * Function Name: purple_network_get_turn_ip
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_network_get_turn_ip()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_network_get_turn_ip();
+
+ public static string GetTurnIp()
+ {
+ return purple_network_get_turn_ip();
+ }
+
+ /*
+ * Function Name: purple_network_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_network_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_network_init();
+
+ public static void Init()
+ {
+ purple_network_init();
+ }
+
+ /*
+ * Function Name: purple_network_uninit
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_network_uninit()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_network_uninit();
+
+ public static void Uninit()
+ {
+ purple_network_uninit();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Notify.cs 4e34f37ea4a1ee2f6e120e3d1599498214523d89
+++ libpurple/wrapper/Notify.cs 4e34f37ea4a1ee2f6e120e3d1599498214523d89
@@ -0,0 +1,637 @@
+/* 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
+{
+
+ /*
+ * File: notify.h
+ */
+ public class Notify
+ {
+ public enum PurpleNotifyType
+ {
+ PURPLE_NOTIFY_MESSAGE = 0,
+ PURPLE_NOTIFY_EMAIL,
+ PURPLE_NOTIFY_EMAILS,
+ PURPLE_NOTIFY_FORMATTED,
+ PURPLE_NOTIFY_SEARCHRESULTS,
+ PURPLE_NOTIFY_USERINFO,
+ PURPLE_NOTIFY_URI
+ };
+
+ public enum PurpleNotifyMsgType
+ {
+ PURPLE_NOTIFY_MSG_ERROR = 0,
+ PURPLE_NOTIFY_MSG_WARNING,
+ PURPLE_NOTIFY_MSG_INFO
+ };
+
+ public enum PurpleNotifySearchButtonType
+ {
+ 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
+ };
+
+ public enum PurpleNotifyUserInfoEntryType
+ {
+ PURPLE_NOTIFY_USER_INFO_ENTRY_PAIR = 0,
+ PURPLE_NOTIFY_USER_INFO_ENTRY_SECTION_BREAK,
+ PURPLE_NOTIFY_USER_INFO_ENTRY_SECTION_HEADER
+ };
+
+ public delegate void PurpleNotifyCloseCallback(IntPtr user_data);
+ public delegate void PurpleNotifySearchResultsCallback(IntPtr c, IntPtr row, IntPtr user_data);
+
+ /*
+ * Function Name: purple_notify_searchresults_free
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_notify_searchresults_free(PurpleNotifySearchResults * results)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_notify_searchresults_free(IntPtr results);
+
+ public static void SearchresultsFree(/* Resolved as PointerToUnknownStruct to PurpleNotifySearchResults */ IntPtr results)
+ {
+ /* Unable to process results, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_notify_searchresults_new
+ * Function Type: PurpleNotifySearchResults *
+ * Function RawType: PurpleNotifySearchResults
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleNotifySearchResults * purple_notify_searchresults_new()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_notify_searchresults_new();
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleNotifySearchResults */ IntPtr SearchresultsNew()
+ {
+ /* Unable to process the return value of purple_notify_searchresults_new, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_notify_searchresults_column_new
+ * Function Type: PurpleNotifySearchColumn *
+ * Function RawType: PurpleNotifySearchColumn
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleNotifySearchColumn * purple_notify_searchresults_column_new(char * title)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_notify_searchresults_column_new(string title);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleNotifySearchColumn */ IntPtr SearchresultsColumnNew(string title)
+ {
+ /* Unable to process the return value of purple_notify_searchresults_column_new, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_notify_searchresults_get_rows_count
+ * Function Type: guint
+ * Function RawType: guint
+ * Function Category: Native
+ */
+ /*
+ * guint purple_notify_searchresults_get_rows_count(PurpleNotifySearchResults * results)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern uint purple_notify_searchresults_get_rows_count(IntPtr results);
+
+ public static uint SearchresultsGetRowsCount(/* Resolved as PointerToUnknownStruct to PurpleNotifySearchResults */ IntPtr results)
+ {
+ /* Unable to process results, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_notify_searchresults_get_columns_count
+ * Function Type: guint
+ * Function RawType: guint
+ * Function Category: Native
+ */
+ /*
+ * guint purple_notify_searchresults_get_columns_count(PurpleNotifySearchResults * results)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern uint purple_notify_searchresults_get_columns_count(IntPtr results);
+
+ public static uint SearchresultsGetColumnsCount(/* Resolved as PointerToUnknownStruct to PurpleNotifySearchResults */ IntPtr results)
+ {
+ /* Unable to process results, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_notify_user_info_new
+ * Function Type: PurpleNotifyUserInfo *
+ * Function RawType: PurpleNotifyUserInfo
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleNotifyUserInfo * purple_notify_user_info_new()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_notify_user_info_new();
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleNotifyUserInfo */ IntPtr UserInfoNew()
+ {
+ /* Unable to process the return value of purple_notify_user_info_new, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_notify_user_info_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_notify_user_info_destroy(PurpleNotifyUserInfo * user_info)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_notify_user_info_destroy(IntPtr user_info);
+
+ public static void UserInfoDestroy(/* Resolved as PointerToUnknownStruct to PurpleNotifyUserInfo */ IntPtr user_info)
+ {
+ /* Unable to process user_info, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_notify_user_info_get_entries
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * 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: Unknown inner-type of argument 0 of purple_notify_user_info_get_entries
+ */
+
+ /*
+ * Function Name: purple_notify_user_info_get_text_with_newline
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_notify_user_info_get_text_with_newline(PurpleNotifyUserInfo * user_info, char * newline)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_notify_user_info_get_text_with_newline(IntPtr user_info, string newline);
+
+ public static string UserInfoGetTextWithNewline(/* Resolved as PointerToUnknownStruct to PurpleNotifyUserInfo */ IntPtr user_info, string newline)
+ {
+ /* Unable to process user_info, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_notify_user_info_add_pair
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_notify_user_info_add_pair(PurpleNotifyUserInfo * user_info, char * label, char * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_notify_user_info_add_pair(IntPtr user_info, string label, string value);
+
+ public static void UserInfoAddPair(/* Resolved as PointerToUnknownStruct to PurpleNotifyUserInfo */ IntPtr user_info, string label, string value)
+ {
+ /* Unable to process user_info, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_notify_user_info_prepend_pair
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_notify_user_info_prepend_pair(PurpleNotifyUserInfo * user_info, char * label, char * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_notify_user_info_prepend_pair(IntPtr user_info, string label, string value);
+
+ public static void UserInfoPrependPair(/* Resolved as PointerToUnknownStruct to PurpleNotifyUserInfo */ IntPtr user_info, string label, string value)
+ {
+ /* Unable to process user_info, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_notify_user_info_remove_entry
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_notify_user_info_remove_entry(PurpleNotifyUserInfo * user_info, PurpleNotifyUserInfoEntry * user_info_entry)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_notify_user_info_remove_entry(IntPtr user_info, IntPtr user_info_entry);
+
+ public static void UserInfoRemoveEntry(/* Resolved as PointerToUnknownStruct to PurpleNotifyUserInfo */ IntPtr user_info, /* Resolved as PointerToUnknownStruct to PurpleNotifyUserInfoEntry */ IntPtr user_info_entry)
+ {
+ /* Unable to process user_info, a PointerToUnknownStruct. */
+ /* Unable to process user_info_entry, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_notify_user_info_entry_new
+ * Function Type: PurpleNotifyUserInfoEntry *
+ * Function RawType: PurpleNotifyUserInfoEntry
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * 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 /* Resolved as PointerToUnknownStruct to PurpleNotifyUserInfoEntry */ IntPtr UserInfoEntryNew(string label, string value)
+ {
+ /* Unable to process the return value of purple_notify_user_info_entry_new, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_notify_user_info_add_section_break
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_notify_user_info_add_section_break(PurpleNotifyUserInfo * user_info)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_notify_user_info_add_section_break(IntPtr user_info);
+
+ public static void UserInfoAddSectionBreak(/* Resolved as PointerToUnknownStruct to PurpleNotifyUserInfo */ IntPtr user_info)
+ {
+ /* Unable to process user_info, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_notify_user_info_prepend_section_break
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_notify_user_info_prepend_section_break(PurpleNotifyUserInfo * user_info)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_notify_user_info_prepend_section_break(IntPtr user_info);
+
+ public static void UserInfoPrependSectionBreak(/* Resolved as PointerToUnknownStruct to PurpleNotifyUserInfo */ IntPtr user_info)
+ {
+ /* Unable to process user_info, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_notify_user_info_add_section_header
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_notify_user_info_add_section_header(PurpleNotifyUserInfo * user_info, char * label)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_notify_user_info_add_section_header(IntPtr user_info, string label);
+
+ public static void UserInfoAddSectionHeader(/* Resolved as PointerToUnknownStruct to PurpleNotifyUserInfo */ IntPtr user_info, string label)
+ {
+ /* Unable to process user_info, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_notify_user_info_prepend_section_header
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_notify_user_info_prepend_section_header(PurpleNotifyUserInfo * user_info, char * label)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_notify_user_info_prepend_section_header(IntPtr user_info, string label);
+
+ public static void UserInfoPrependSectionHeader(/* Resolved as PointerToUnknownStruct to PurpleNotifyUserInfo */ IntPtr user_info, string label)
+ {
+ /* Unable to process user_info, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_notify_user_info_remove_last_item
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_notify_user_info_remove_last_item(PurpleNotifyUserInfo * user_info)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_notify_user_info_remove_last_item(IntPtr user_info);
+
+ public static void UserInfoRemoveLastItem(/* Resolved as PointerToUnknownStruct to PurpleNotifyUserInfo */ IntPtr user_info)
+ {
+ /* Unable to process user_info, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_notify_user_info_entry_get_label
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_notify_user_info_entry_get_label(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(/* Resolved as PointerToUnknownStruct to PurpleNotifyUserInfoEntry */ IntPtr user_info_entry)
+ {
+ /* Unable to process user_info_entry, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_notify_user_info_entry_set_label
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_notify_user_info_entry_set_label(PurpleNotifyUserInfoEntry * user_info_entry, char * label)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_notify_user_info_entry_set_label(IntPtr user_info_entry, string label);
+
+ public static void UserInfoEntrySetLabel(/* Resolved as PointerToUnknownStruct to PurpleNotifyUserInfoEntry */ IntPtr user_info_entry, string label)
+ {
+ /* Unable to process user_info_entry, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_notify_user_info_entry_get_value
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_notify_user_info_entry_get_value(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(/* Resolved as PointerToUnknownStruct to PurpleNotifyUserInfoEntry */ IntPtr user_info_entry)
+ {
+ /* Unable to process user_info_entry, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_notify_user_info_entry_set_value
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_notify_user_info_entry_set_value(PurpleNotifyUserInfoEntry * user_info_entry, char * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_notify_user_info_entry_set_value(IntPtr user_info_entry, string value);
+
+ public static void UserInfoEntrySetValue(/* Resolved as PointerToUnknownStruct to PurpleNotifyUserInfoEntry */ IntPtr user_info_entry, string value)
+ {
+ /* Unable to process user_info_entry, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_notify_user_info_entry_get_type
+ * Function Type: PurpleNotifyUserInfoEntryType
+ * Function RawType: PurpleNotifyUserInfoEntryType
+ * Function Category: KnownEnum
+ */
+ /*
+ * PurpleNotifyUserInfoEntryType purple_notify_user_info_entry_get_type(PurpleNotifyUserInfoEntry * user_info_entry)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern Notify.PurpleNotifyUserInfoEntryType purple_notify_user_info_entry_get_type(IntPtr user_info_entry);
+
+ public static Notify.PurpleNotifyUserInfoEntryType UserInfoEntryGetType(/* Resolved as PointerToUnknownStruct to PurpleNotifyUserInfoEntry */ IntPtr user_info_entry)
+ {
+ /* Unable to process user_info_entry, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_notify_uri
+ * Function Type: void *
+ * Function RawType: void
+ * Function Category: VoidPointer
+ */
+ /*
+ * void * purple_notify_uri(void * handle, char * uri)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_notify_uri(IntPtr handle, string uri);
+
+ public static IntPtr Uri(IntPtr handle, string uri)
+ {
+ return purple_notify_uri(handle, uri);
+ }
+
+ /*
+ * Function Name: purple_notify_close
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_notify_close(PurpleNotifyType type, void * ui_handle)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_notify_close(Notify.PurpleNotifyType type, IntPtr ui_handle);
+
+ public static void Close(Notify.PurpleNotifyType type, IntPtr ui_handle)
+ {
+ /* Unable to process type, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_notify_close_with_handle
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_notify_close_with_handle(void * handle)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_notify_close_with_handle(IntPtr handle);
+
+ public static void CloseWithHandle(IntPtr handle)
+ {
+ purple_notify_close_with_handle(handle);
+ }
+
+ /*
+ * Function Name: purple_notify_set_ui_ops
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_notify_set_ui_ops(PurpleNotifyUiOps * ops)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_notify_set_ui_ops(IntPtr ops);
+
+ public static void SetUiOps(/* Resolved as PointerToUnknownStruct to PurpleNotifyUiOps */ IntPtr ops)
+ {
+ /* Unable to process ops, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_notify_get_ui_ops
+ * Function Type: PurpleNotifyUiOps *
+ * Function RawType: PurpleNotifyUiOps
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleNotifyUiOps * purple_notify_get_ui_ops()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_notify_get_ui_ops();
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleNotifyUiOps */ IntPtr GetUiOps()
+ {
+ /* Unable to process the return value of purple_notify_get_ui_ops, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_notify_get_handle
+ * Function Type: void *
+ * Function RawType: void
+ * Function Category: VoidPointer
+ */
+ /*
+ * void * purple_notify_get_handle()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_notify_get_handle();
+
+ public static IntPtr GetHandle()
+ {
+ return purple_notify_get_handle();
+ }
+
+ /*
+ * Function Name: purple_notify_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_notify_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_notify_init();
+
+ public static void Init()
+ {
+ purple_notify_init();
+ }
+
+ /*
+ * Function Name: purple_notify_uninit
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_notify_uninit()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_notify_uninit();
+
+ public static void Uninit()
+ {
+ purple_notify_uninit();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Ntlm.cs 02f49dd64a31f8e8fb54178ce63870c729437d59
+++ libpurple/wrapper/Ntlm.cs 02f49dd64a31f8e8fb54178ce63870c729437d59
@@ -0,0 +1,104 @@
+/* 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
+{
+
+ /*
+ * File: ntlm.h
+ */
+ public class Ntlm
+ {
+
+ /*
+ * Function Name: purple_ntlm_gen_type1
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_ntlm_gen_type1(gchar * hostname, gchar * domain)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_ntlm_gen_type1(string hostname, string domain);
+
+ public static string GenType1(string hostname, string domain)
+ {
+ return purple_ntlm_gen_type1(hostname, domain);
+ }
+
+ /*
+ * Function Name: purple_ntlm_parse_type2
+ * Function Type: guint8 *
+ * Function RawType: guint8
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * 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 /* Resolved as PointerToUnknownStruct to guint8 */ IntPtr ParseType2(string type2, /* Resolved as PointerToUnknownStruct to guint32 */ IntPtr flags)
+ {
+ /* Unable to process flags, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_ntlm_gen_type3
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_ntlm_gen_type3(gchar * username, gchar * passw, gchar * hostname, gchar * domain, guint8 * nonce, guint32 * flags)
+ */
+ [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, /* Resolved as PointerToUnknownStruct to guint8 */ IntPtr nonce, /* Resolved as PointerToUnknownStruct to guint32 */ IntPtr flags)
+ {
+ /* Unable to process nonce, a PointerToUnknownStruct. */
+ /* Unable to process flags, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Plugin.cs 5abaf8e5ee28dd52224dab281ad576533bd3ad0e
+++ libpurple/wrapper/Plugin.cs 5abaf8e5ee28dd52224dab281ad576533bd3ad0e
@@ -0,0 +1,693 @@
+/* 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
+{
+
+ /*
+ * File: plugin.h
+ */
+ public class Plugin
+ {
+ public enum PurplePluginType
+ {
+ PURPLE_PLUGIN_UNKNOWN = -1,
+ PURPLE_PLUGIN_STANDARD = 0,
+ PURPLE_PLUGIN_LOADER,
+ PURPLE_PLUGIN_PROTOCOL
+ };
+
+
+ /*
+ * Function Name: purple_plugin_new
+ * Function Type: PurplePlugin *
+ * Function RawType: PurplePlugin
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurplePlugin * purple_plugin_new(gboolean native, char * path)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_plugin_new(bool native, string path);
+
+ public static PurplePlugin New(bool native, string path)
+ {
+ return new PurplePlugin(purple_plugin_new(native, path));
+ }
+
+ /*
+ * Function Name: purple_plugin_probe
+ * Function Type: PurplePlugin *
+ * Function RawType: PurplePlugin
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurplePlugin * purple_plugin_probe(char * filename)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_plugin_probe(string filename);
+
+ public static PurplePlugin Probe(string filename)
+ {
+ return new PurplePlugin(purple_plugin_probe(filename));
+ }
+
+ /*
+ * Function Name: purple_plugin_register
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_plugin_register(PurplePlugin * plugin)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_plugin_register(IntPtr plugin);
+
+ public static bool Register(PurplePlugin plugin)
+ {
+ return purple_plugin_register(plugin.Reference);
+ }
+
+ /*
+ * Function Name: purple_plugin_load
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_plugin_load(PurplePlugin * plugin)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_plugin_load(IntPtr plugin);
+
+ public static bool Load(PurplePlugin plugin)
+ {
+ return purple_plugin_load(plugin.Reference);
+ }
+
+ /*
+ * Function Name: purple_plugin_unload
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_plugin_unload(PurplePlugin * plugin)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_plugin_unload(IntPtr plugin);
+
+ public static bool Unload(PurplePlugin plugin)
+ {
+ return purple_plugin_unload(plugin.Reference);
+ }
+
+ /*
+ * Function Name: purple_plugin_disable
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_plugin_disable(PurplePlugin * plugin)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_plugin_disable(IntPtr plugin);
+
+ public static void Disable(PurplePlugin plugin)
+ {
+ purple_plugin_disable(plugin.Reference);
+ }
+
+ /*
+ * Function Name: purple_plugin_reload
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_plugin_reload(PurplePlugin * plugin)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_plugin_reload(IntPtr plugin);
+
+ public static bool Reload(PurplePlugin plugin)
+ {
+ return purple_plugin_reload(plugin.Reference);
+ }
+
+ /*
+ * Function Name: purple_plugin_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_plugin_destroy(PurplePlugin * plugin)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_plugin_destroy(IntPtr plugin);
+
+ public static void Destroy(PurplePlugin plugin)
+ {
+ purple_plugin_destroy(plugin.Reference);
+ }
+
+ /*
+ * Function Name: purple_plugin_is_loaded
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_plugin_is_loaded(PurplePlugin * plugin)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_plugin_is_loaded(IntPtr plugin);
+
+ public static bool IsLoaded(PurplePlugin plugin)
+ {
+ return purple_plugin_is_loaded(plugin.Reference);
+ }
+
+ /*
+ * Function Name: purple_plugin_is_unloadable
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_plugin_is_unloadable(PurplePlugin * plugin)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_plugin_is_unloadable(IntPtr plugin);
+
+ public static bool IsUnloadable(PurplePlugin plugin)
+ {
+ return purple_plugin_is_unloadable(plugin.Reference);
+ }
+
+ /*
+ * Function Name: purple_plugin_get_id
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_plugin_get_id(PurplePlugin * plugin)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_plugin_get_id(IntPtr plugin);
+
+ public static string GetId(PurplePlugin plugin)
+ {
+ return purple_plugin_get_id(plugin.Reference);
+ }
+
+ /*
+ * Function Name: purple_plugin_get_name
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_plugin_get_name(PurplePlugin * plugin)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_plugin_get_name(IntPtr plugin);
+
+ public static string GetName(PurplePlugin plugin)
+ {
+ return purple_plugin_get_name(plugin.Reference);
+ }
+
+ /*
+ * Function Name: purple_plugin_get_version
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_plugin_get_version(PurplePlugin * plugin)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_plugin_get_version(IntPtr plugin);
+
+ public static string GetVersion(PurplePlugin plugin)
+ {
+ return purple_plugin_get_version(plugin.Reference);
+ }
+
+ /*
+ * Function Name: purple_plugin_get_summary
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_plugin_get_summary(PurplePlugin * plugin)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_plugin_get_summary(IntPtr plugin);
+
+ public static string GetSummary(PurplePlugin plugin)
+ {
+ return purple_plugin_get_summary(plugin.Reference);
+ }
+
+ /*
+ * Function Name: purple_plugin_get_description
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_plugin_get_description(PurplePlugin * plugin)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_plugin_get_description(IntPtr plugin);
+
+ public static string GetDescription(PurplePlugin plugin)
+ {
+ return purple_plugin_get_description(plugin.Reference);
+ }
+
+ /*
+ * Function Name: purple_plugin_get_author
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_plugin_get_author(PurplePlugin * plugin)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_plugin_get_author(IntPtr plugin);
+
+ public static string GetAuthor(PurplePlugin plugin)
+ {
+ return purple_plugin_get_author(plugin.Reference);
+ }
+
+ /*
+ * Function Name: purple_plugin_get_homepage
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_plugin_get_homepage(PurplePlugin * plugin)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_plugin_get_homepage(IntPtr plugin);
+
+ public static string GetHomepage(PurplePlugin plugin)
+ {
+ return purple_plugin_get_homepage(plugin.Reference);
+ }
+
+ /*
+ * Function Name: purple_plugin_ipc_unregister
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_plugin_ipc_unregister(PurplePlugin * plugin, char * command)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_plugin_ipc_unregister(IntPtr plugin, string command);
+
+ public static void IpcUnregister(PurplePlugin plugin, string command)
+ {
+ purple_plugin_ipc_unregister(plugin.Reference, command);
+ }
+
+ /*
+ * Function Name: purple_plugin_ipc_unregister_all
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_plugin_ipc_unregister_all(PurplePlugin * plugin)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_plugin_ipc_unregister_all(IntPtr plugin);
+
+ public static void IpcUnregisterAll(PurplePlugin plugin)
+ {
+ purple_plugin_ipc_unregister_all(plugin.Reference);
+ }
+
+ /*
+ * Function Name: purple_plugins_add_search_path
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_plugins_add_search_path(char * path)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_plugins_add_search_path(string path);
+
+ public static void PluginsAddSearchPath(string path)
+ {
+ purple_plugins_add_search_path(path);
+ }
+
+ /*
+ * Function Name: purple_plugins_unload_all
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_plugins_unload_all()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_plugins_unload_all();
+
+ public static void PluginsUnloadAll()
+ {
+ purple_plugins_unload_all();
+ }
+
+ /*
+ * Function Name: purple_plugins_unload
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_plugins_unload(PurplePluginType type)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_plugins_unload(Plugin.PurplePluginType type);
+
+ public static void PluginsUnload(Plugin.PurplePluginType type)
+ {
+ /* Unable to process type, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_plugins_destroy_all
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_plugins_destroy_all()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_plugins_destroy_all();
+
+ public static void PluginsDestroyAll()
+ {
+ purple_plugins_destroy_all();
+ }
+
+ /*
+ * Function Name: purple_plugins_save_loaded
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_plugins_save_loaded(char * key)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_plugins_save_loaded(string key);
+
+ public static void PluginsSaveLoaded(string key)
+ {
+ purple_plugins_save_loaded(key);
+ }
+
+ /*
+ * Function Name: purple_plugins_load_saved
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_plugins_load_saved(char * key)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_plugins_load_saved(string key);
+
+ public static void PluginsLoadSaved(string key)
+ {
+ purple_plugins_load_saved(key);
+ }
+
+ /*
+ * Function Name: purple_plugins_probe
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_plugins_probe(char * ext)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_plugins_probe(string ext);
+
+ public static void PluginsProbe(string ext)
+ {
+ purple_plugins_probe(ext);
+ }
+
+ /*
+ * Function Name: purple_plugins_enabled
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_plugins_enabled()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_plugins_enabled();
+
+ public static bool PluginsEnabled()
+ {
+ return purple_plugins_enabled();
+ }
+
+ /*
+ * Function Name: purple_plugins_find_with_name
+ * Function Type: PurplePlugin *
+ * Function RawType: PurplePlugin
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurplePlugin * purple_plugins_find_with_name(char * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_plugins_find_with_name(string name);
+
+ public static PurplePlugin PluginsFindWithName(string name)
+ {
+ return new PurplePlugin(purple_plugins_find_with_name(name));
+ }
+
+ /*
+ * Function Name: purple_plugins_find_with_filename
+ * Function Type: PurplePlugin *
+ * Function RawType: PurplePlugin
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurplePlugin * purple_plugins_find_with_filename(char * filename)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_plugins_find_with_filename(string filename);
+
+ public static PurplePlugin PluginsFindWithFilename(string filename)
+ {
+ return new PurplePlugin(purple_plugins_find_with_filename(filename));
+ }
+
+ /*
+ * Function Name: purple_plugins_find_with_basename
+ * Function Type: PurplePlugin *
+ * Function RawType: PurplePlugin
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurplePlugin * purple_plugins_find_with_basename(char * basename)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_plugins_find_with_basename(string basename);
+
+ public static PurplePlugin PluginsFindWithBasename(string basename)
+ {
+ return new PurplePlugin(purple_plugins_find_with_basename(basename));
+ }
+
+ /*
+ * Function Name: purple_plugins_find_with_id
+ * Function Type: PurplePlugin *
+ * Function RawType: PurplePlugin
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurplePlugin * purple_plugins_find_with_id(char * id)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_plugins_find_with_id(string id);
+
+ public static PurplePlugin PluginsFindWithId(string id)
+ {
+ return new PurplePlugin(purple_plugins_find_with_id(id));
+ }
+
+ /*
+ * Function Name: purple_plugins_get_loaded
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_plugins_get_loaded()
+ *
+ * Could not generate a wrapper for purple_plugins_get_loaded in file "plugin.h".
+ * Message: Unknown inner-type of argument 0 of purple_plugins_get_loaded
+ */
+
+ /*
+ * Function Name: purple_plugins_get_protocols
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_plugins_get_protocols()
+ *
+ * Could not generate a wrapper for purple_plugins_get_protocols in file "plugin.h".
+ * Message: Unknown inner-type of argument 0 of purple_plugins_get_protocols
+ */
+
+ /*
+ * Function Name: purple_plugins_get_all
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_plugins_get_all()
+ *
+ * Could not generate a wrapper for purple_plugins_get_all in file "plugin.h".
+ * Message: Unknown inner-type of argument 0 of purple_plugins_get_all
+ */
+
+ /*
+ * Function Name: purple_plugins_get_handle
+ * Function Type: void *
+ * Function RawType: void
+ * Function Category: VoidPointer
+ */
+ /*
+ * void * purple_plugins_get_handle()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_plugins_get_handle();
+
+ public static IntPtr PluginsGetHandle()
+ {
+ return purple_plugins_get_handle();
+ }
+
+ /*
+ * Function Name: purple_plugins_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_plugins_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_plugins_init();
+
+ public static void PluginsInit()
+ {
+ purple_plugins_init();
+ }
+
+ /*
+ * Function Name: purple_plugins_uninit
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_plugins_uninit()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_plugins_uninit();
+
+ public static void PluginsUninit()
+ {
+ purple_plugins_uninit();
+ }
+
+ /*
+ * Function Name: purple_plugin_action_free
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_plugin_action_free(PurplePluginAction * action)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_plugin_action_free(IntPtr action);
+
+ public static void ActionFree(PurplePluginAction action)
+ {
+ purple_plugin_action_free(action.Reference);
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Pluginpref.cs bf094f8b8f0d6b6c9c2c595f2286e05dbc01d153
+++ libpurple/wrapper/Pluginpref.cs bf094f8b8f0d6b6c9c2c595f2286e05dbc01d153
@@ -0,0 +1,510 @@
+/* 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
+{
+
+ /*
+ * File: pluginpref.h
+ */
+ 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
+ };
+
+
+ /*
+ * Function Name: purple_plugin_pref_frame_new
+ * Function Type: PurplePluginPrefFrame *
+ * Function RawType: PurplePluginPrefFrame
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurplePluginPrefFrame * purple_plugin_pref_frame_new()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_plugin_pref_frame_new();
+
+ public static /* Resolved as PointerToUnknownStruct to PurplePluginPrefFrame */ IntPtr PluginPrefFrameNew()
+ {
+ /* Unable to process the return value of purple_plugin_pref_frame_new, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_plugin_pref_frame_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_plugin_pref_frame_destroy(PurplePluginPrefFrame * frame)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_plugin_pref_frame_destroy(IntPtr frame);
+
+ public static void PluginPrefFrameDestroy(/* Resolved as PointerToUnknownStruct to PurplePluginPrefFrame */ IntPtr frame)
+ {
+ /* Unable to process frame, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_plugin_pref_frame_add
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_plugin_pref_frame_add(PurplePluginPrefFrame * frame, PurplePluginPref * pref)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_plugin_pref_frame_add(IntPtr frame, IntPtr pref);
+
+ public static void PluginPrefFrameAdd(/* Resolved as PointerToUnknownStruct to PurplePluginPrefFrame */ IntPtr frame, /* Resolved as PointerToUnknownStruct to PurplePluginPref */ IntPtr pref)
+ {
+ /* Unable to process frame, a PointerToUnknownStruct. */
+ /* Unable to process pref, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_plugin_pref_frame_get_prefs
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * 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: Unknown inner-type of argument 0 of purple_plugin_pref_frame_get_prefs
+ */
+
+ /*
+ * Function Name: purple_plugin_pref_new
+ * Function Type: PurplePluginPref *
+ * Function RawType: PurplePluginPref
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurplePluginPref * purple_plugin_pref_new()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_plugin_pref_new();
+
+ public static /* Resolved as PointerToUnknownStruct to PurplePluginPref */ IntPtr PluginPrefNew()
+ {
+ /* Unable to process the return value of purple_plugin_pref_new, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_plugin_pref_new_with_name
+ * Function Type: PurplePluginPref *
+ * Function RawType: PurplePluginPref
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * 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 /* Resolved as PointerToUnknownStruct to PurplePluginPref */ IntPtr PluginPrefNewWithName(string name)
+ {
+ /* Unable to process the return value of purple_plugin_pref_new_with_name, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_plugin_pref_new_with_label
+ * Function Type: PurplePluginPref *
+ * Function RawType: PurplePluginPref
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * 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 /* Resolved as PointerToUnknownStruct to PurplePluginPref */ IntPtr PluginPrefNewWithLabel(string label)
+ {
+ /* Unable to process the return value of purple_plugin_pref_new_with_label, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_plugin_pref_new_with_name_and_label
+ * Function Type: PurplePluginPref *
+ * Function RawType: PurplePluginPref
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * 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 /* Resolved as PointerToUnknownStruct to PurplePluginPref */ IntPtr PluginPrefNewWithNameAndLabel(string name, string label)
+ {
+ /* Unable to process the return value of purple_plugin_pref_new_with_name_and_label, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_plugin_pref_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_plugin_pref_destroy(PurplePluginPref * pref)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_plugin_pref_destroy(IntPtr pref);
+
+ public static void PluginPrefDestroy(/* Resolved as PointerToUnknownStruct to PurplePluginPref */ IntPtr pref)
+ {
+ /* Unable to process pref, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_plugin_pref_set_name
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_plugin_pref_set_name(PurplePluginPref * pref, char * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_plugin_pref_set_name(IntPtr pref, string name);
+
+ public static void PluginPrefSetName(/* Resolved as PointerToUnknownStruct to PurplePluginPref */ IntPtr pref, string name)
+ {
+ /* Unable to process pref, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_plugin_pref_get_name
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_plugin_pref_get_name(PurplePluginPref * pref)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_plugin_pref_get_name(IntPtr pref);
+
+ public static string PluginPrefGetName(/* Resolved as PointerToUnknownStruct to PurplePluginPref */ IntPtr pref)
+ {
+ /* Unable to process pref, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_plugin_pref_set_label
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_plugin_pref_set_label(PurplePluginPref * pref, char * label)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_plugin_pref_set_label(IntPtr pref, string label);
+
+ public static void PluginPrefSetLabel(/* Resolved as PointerToUnknownStruct to PurplePluginPref */ IntPtr pref, string label)
+ {
+ /* Unable to process pref, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_plugin_pref_get_label
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_plugin_pref_get_label(PurplePluginPref * pref)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_plugin_pref_get_label(IntPtr pref);
+
+ public static string PluginPrefGetLabel(/* Resolved as PointerToUnknownStruct to PurplePluginPref */ IntPtr pref)
+ {
+ /* Unable to process pref, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_plugin_pref_set_bounds
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_plugin_pref_set_bounds(PurplePluginPref * pref, int min, int max)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_plugin_pref_set_bounds(IntPtr pref, int min, int max);
+
+ public static void PluginPrefSetBounds(/* Resolved as PointerToUnknownStruct to PurplePluginPref */ IntPtr pref, int min, int max)
+ {
+ /* Unable to process pref, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_plugin_pref_get_bounds
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_plugin_pref_get_bounds(PurplePluginPref * pref, int * min, int * max)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_plugin_pref_get_bounds(IntPtr pref, IntPtr min, IntPtr max);
+
+ public static void PluginPrefGetBounds(/* Resolved as PointerToUnknownStruct to PurplePluginPref */ IntPtr pref, /* Resolved as PointerToUnknownStruct to int */ IntPtr min, /* Resolved as PointerToUnknownStruct to int */ IntPtr max)
+ {
+ /* Unable to process pref, a PointerToUnknownStruct. */
+ /* Unable to process min, a PointerToUnknownStruct. */
+ /* Unable to process max, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_plugin_pref_set_type
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_plugin_pref_set_type(PurplePluginPref * pref, PurplePluginPrefType type)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_plugin_pref_set_type(IntPtr pref, Pluginpref.PurplePluginPrefType type);
+
+ public static void PluginPrefSetType(/* Resolved as PointerToUnknownStruct to PurplePluginPref */ IntPtr pref, Pluginpref.PurplePluginPrefType type)
+ {
+ /* Unable to process pref, a PointerToUnknownStruct. */
+ /* Unable to process type, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_plugin_pref_get_type
+ * Function Type: PurplePluginPrefType
+ * Function RawType: PurplePluginPrefType
+ * Function Category: KnownEnum
+ */
+ /*
+ * PurplePluginPrefType purple_plugin_pref_get_type(PurplePluginPref * pref)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern Pluginpref.PurplePluginPrefType purple_plugin_pref_get_type(IntPtr pref);
+
+ public static Pluginpref.PurplePluginPrefType PluginPrefGetType(/* Resolved as PointerToUnknownStruct to PurplePluginPref */ IntPtr pref)
+ {
+ /* Unable to process pref, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_plugin_pref_add_choice
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_plugin_pref_add_choice(PurplePluginPref * pref, char * label, gpointer choice)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_plugin_pref_add_choice(IntPtr pref, string label, IntPtr choice);
+
+ public static void PluginPrefAddChoice(/* Resolved as PointerToUnknownStruct to PurplePluginPref */ IntPtr pref, string label, IntPtr choice)
+ {
+ /* Unable to process pref, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_plugin_pref_get_choices
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_plugin_pref_get_choices(PurplePluginPref * pref)
+ *
+ * Could not generate a wrapper for purple_plugin_pref_get_choices in file "pluginpref.h".
+ * Message: Unknown inner-type of argument 0 of purple_plugin_pref_get_choices
+ */
+
+ /*
+ * Function Name: purple_plugin_pref_set_max_length
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_plugin_pref_set_max_length(PurplePluginPref * pref, unsigned int max_length)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_plugin_pref_set_max_length(IntPtr pref, uint max_length);
+
+ public static void PluginPrefSetMaxLength(/* Resolved as PointerToUnknownStruct to PurplePluginPref */ IntPtr pref, uint max_length)
+ {
+ /* Unable to process pref, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_plugin_pref_get_max_length
+ * Function Type: unsigned int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * unsigned int purple_plugin_pref_get_max_length(PurplePluginPref * pref)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern uint purple_plugin_pref_get_max_length(IntPtr pref);
+
+ public static uint PluginPrefGetMaxLength(/* Resolved as PointerToUnknownStruct to PurplePluginPref */ IntPtr pref)
+ {
+ /* Unable to process pref, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_plugin_pref_set_masked
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_plugin_pref_set_masked(PurplePluginPref * pref, gboolean mask)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_plugin_pref_set_masked(IntPtr pref, bool mask);
+
+ public static void PluginPrefSetMasked(/* Resolved as PointerToUnknownStruct to PurplePluginPref */ IntPtr pref, bool mask)
+ {
+ /* Unable to process pref, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_plugin_pref_get_masked
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_plugin_pref_get_masked(PurplePluginPref * pref)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_plugin_pref_get_masked(IntPtr pref);
+
+ public static bool PluginPrefGetMasked(/* Resolved as PointerToUnknownStruct to PurplePluginPref */ IntPtr pref)
+ {
+ /* Unable to process pref, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_plugin_pref_set_format_type
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_plugin_pref_set_format_type(PurplePluginPref * pref, PurpleStringFormatType format)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_plugin_pref_set_format_type(IntPtr pref, Pluginpref.PurpleStringFormatType format);
+
+ public static void PluginPrefSetFormatType(/* Resolved as PointerToUnknownStruct to PurplePluginPref */ IntPtr pref, Pluginpref.PurpleStringFormatType format)
+ {
+ /* Unable to process pref, a PointerToUnknownStruct. */
+ /* Unable to process format, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_plugin_pref_get_format_type
+ * Function Type: PurpleStringFormatType
+ * Function RawType: PurpleStringFormatType
+ * Function Category: KnownEnum
+ */
+ /*
+ * PurpleStringFormatType purple_plugin_pref_get_format_type(PurplePluginPref * pref)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern Pluginpref.PurpleStringFormatType purple_plugin_pref_get_format_type(IntPtr pref);
+
+ public static Pluginpref.PurpleStringFormatType PluginPrefGetFormatType(/* Resolved as PointerToUnknownStruct to PurplePluginPref */ IntPtr pref)
+ {
+ /* Unable to process pref, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Pounce.cs e4677ab150180a479dfcd762365121e671f8657e
+++ libpurple/wrapper/Pounce.cs e4677ab150180a479dfcd762365121e671f8657e
@@ -0,0 +1,442 @@
+/* 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
+{
+
+ /*
+ * File: pounce.h
+ */
+ public class Pounce
+ {
+ 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 enum PurplePounceOption
+ {
+ PURPLE_POUNCE_OPTION_NONE = 0x00,
+ PURPLE_POUNCE_OPTION_AWAY = 0x01
+ };
+
+ public delegate void PurplePounceCb(IntPtr _PurpleWrapper_arg0, /* Unresolved: [Category: Unknown], [Name: ] */ IntPtr _PurpleWrapper_arg1, IntPtr _PurpleWrapper_arg2);
+
+ /*
+ * Function Name: purple_pounce_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_pounce_destroy(PurplePounce * pounce)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_pounce_destroy(IntPtr pounce);
+
+ public static void Destroy(PurplePounce pounce)
+ {
+ purple_pounce_destroy(pounce.Reference);
+ }
+
+ /*
+ * Function Name: purple_pounce_destroy_all_by_account
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_pounce_destroy_all_by_account(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_pounce_destroy_all_by_account(IntPtr account);
+
+ public static void DestroyAllByAccount(PurpleAccount account)
+ {
+ purple_pounce_destroy_all_by_account(account.Reference);
+ }
+
+ /*
+ * Function Name: purple_pounce_set_events
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_pounce_set_events(PurplePounce * pounce, PurplePounceEvent events)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_pounce_set_events(IntPtr pounce, Pounce.PurplePounceEvent events);
+
+ public static void SetEvents(PurplePounce pounce, Pounce.PurplePounceEvent events)
+ {
+ /* Unable to process events, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_pounce_set_options
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_pounce_set_options(PurplePounce * pounce, PurplePounceOption options)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_pounce_set_options(IntPtr pounce, Pounce.PurplePounceOption options);
+
+ public static void SetOptions(PurplePounce pounce, Pounce.PurplePounceOption options)
+ {
+ /* Unable to process options, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_pounce_set_pouncer
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_pounce_set_pouncer(PurplePounce * pounce, PurpleAccount * pouncer)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_pounce_set_pouncer(IntPtr pounce, IntPtr pouncer);
+
+ public static void SetPouncer(PurplePounce pounce, PurpleAccount pouncer)
+ {
+ purple_pounce_set_pouncer(pounce.Reference, pouncer.Reference);
+ }
+
+ /*
+ * Function Name: purple_pounce_set_pouncee
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_pounce_set_pouncee(PurplePounce * pounce, char * pouncee)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_pounce_set_pouncee(IntPtr pounce, string pouncee);
+
+ public static void SetPouncee(PurplePounce pounce, string pouncee)
+ {
+ purple_pounce_set_pouncee(pounce.Reference, pouncee);
+ }
+
+ /*
+ * Function Name: purple_pounce_set_save
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_pounce_set_save(PurplePounce * pounce, gboolean save)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_pounce_set_save(IntPtr pounce, bool save);
+
+ public static void SetSave(PurplePounce pounce, bool save)
+ {
+ purple_pounce_set_save(pounce.Reference, save);
+ }
+
+ /*
+ * Function Name: purple_pounce_action_register
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_pounce_action_register(PurplePounce * pounce, char * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_pounce_action_register(IntPtr pounce, string name);
+
+ public static void ActionRegister(PurplePounce pounce, string name)
+ {
+ purple_pounce_action_register(pounce.Reference, name);
+ }
+
+ /*
+ * Function Name: purple_pounce_set_data
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_pounce_set_data(PurplePounce * pounce, void * data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_pounce_set_data(IntPtr pounce, IntPtr data);
+
+ public static void SetData(PurplePounce pounce, IntPtr data)
+ {
+ purple_pounce_set_data(pounce.Reference, data);
+ }
+
+ /*
+ * Function Name: purple_pounce_get_events
+ * Function Type: PurplePounceEvent
+ * Function RawType: PurplePounceEvent
+ * Function Category: KnownEnum
+ */
+ /*
+ * PurplePounceEvent purple_pounce_get_events(PurplePounce * pounce)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern Pounce.PurplePounceEvent purple_pounce_get_events(IntPtr pounce);
+
+ public static Pounce.PurplePounceEvent GetEvents(PurplePounce pounce)
+ {
+ /* Unable to process the return value of purple_pounce_get_events, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_pounce_get_options
+ * Function Type: PurplePounceOption
+ * Function RawType: PurplePounceOption
+ * Function Category: KnownEnum
+ */
+ /*
+ * PurplePounceOption purple_pounce_get_options(PurplePounce * pounce)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern Pounce.PurplePounceOption purple_pounce_get_options(IntPtr pounce);
+
+ public static Pounce.PurplePounceOption GetOptions(PurplePounce pounce)
+ {
+ /* Unable to process the return value of purple_pounce_get_options, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_pounce_get_pouncer
+ * Function Type: PurpleAccount *
+ * Function RawType: PurpleAccount
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleAccount * purple_pounce_get_pouncer(PurplePounce * pounce)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_pounce_get_pouncer(IntPtr pounce);
+
+ public static PurpleAccount GetPouncer(PurplePounce pounce)
+ {
+ return new PurpleAccount(purple_pounce_get_pouncer(pounce.Reference));
+ }
+
+ /*
+ * Function Name: purple_pounce_get_pouncee
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_pounce_get_pouncee(PurplePounce * pounce)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_pounce_get_pouncee(IntPtr pounce);
+
+ public static string GetPouncee(PurplePounce pounce)
+ {
+ return purple_pounce_get_pouncee(pounce.Reference);
+ }
+
+ /*
+ * Function Name: purple_pounce_get_save
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_pounce_get_save(PurplePounce * pounce)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_pounce_get_save(IntPtr pounce);
+
+ public static bool GetSave(PurplePounce pounce)
+ {
+ return purple_pounce_get_save(pounce.Reference);
+ }
+
+ /*
+ * Function Name: purple_pounce_get_data
+ * Function Type: void *
+ * Function RawType: void
+ * Function Category: VoidPointer
+ */
+ /*
+ * void * purple_pounce_get_data(PurplePounce * pounce)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_pounce_get_data(IntPtr pounce);
+
+ public static IntPtr GetData(PurplePounce pounce)
+ {
+ return purple_pounce_get_data(pounce.Reference);
+ }
+
+ /*
+ * Function Name: purple_pounces_load
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_pounces_load()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_pounces_load();
+
+ public static bool PouncesLoad()
+ {
+ return purple_pounces_load();
+ }
+
+ /*
+ * Function Name: purple_pounces_unregister_handler
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_pounces_unregister_handler(char * ui)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_pounces_unregister_handler(string ui);
+
+ public static void PouncesUnregisterHandler(string ui)
+ {
+ purple_pounces_unregister_handler(ui);
+ }
+
+ /*
+ * Function Name: purple_pounces_get_all
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_pounces_get_all()
+ *
+ * Could not generate a wrapper for purple_pounces_get_all in file "pounce.h".
+ * Message: Unknown inner-type of argument 0 of purple_pounces_get_all
+ */
+
+ /*
+ * Function Name: purple_pounces_get_all_for_ui
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * 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: Unknown inner-type of argument 0 of purple_pounces_get_all_for_ui
+ */
+
+ /*
+ * Function Name: purple_pounces_get_handle
+ * Function Type: void *
+ * Function RawType: void
+ * Function Category: VoidPointer
+ */
+ /*
+ * void * purple_pounces_get_handle()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_pounces_get_handle();
+
+ public static IntPtr PouncesGetHandle()
+ {
+ return purple_pounces_get_handle();
+ }
+
+ /*
+ * Function Name: purple_pounces_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_pounces_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_pounces_init();
+
+ public static void PouncesInit()
+ {
+ purple_pounces_init();
+ }
+
+ /*
+ * Function Name: purple_pounces_uninit
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_pounces_uninit()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_pounces_uninit();
+
+ public static void PouncesUninit()
+ {
+ purple_pounces_uninit();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Prefs.cs b365a0b46620d7c77312265dcd82953ff7c9d79c
+++ libpurple/wrapper/Prefs.cs b365a0b46620d7c77312265dcd82953ff7c9d79c
@@ -0,0 +1,630 @@
+/* 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
+{
+
+ /*
+ * File: prefs.h
+ */
+ 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
+ };
+
+ public delegate void PurplePrefCallback(string name, Prefs.PurplePrefType type, IntPtr val, IntPtr data);
+
+ /*
+ * Function Name: purple_prefs_get_handle
+ * Function Type: void *
+ * Function RawType: void
+ * Function Category: VoidPointer
+ */
+ /*
+ * void * purple_prefs_get_handle()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_prefs_get_handle();
+
+ public static IntPtr GetHandle()
+ {
+ return purple_prefs_get_handle();
+ }
+
+ /*
+ * Function Name: purple_prefs_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_prefs_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_prefs_init();
+
+ public static void Init()
+ {
+ purple_prefs_init();
+ }
+
+ /*
+ * Function Name: purple_prefs_uninit
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_prefs_uninit()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_prefs_uninit();
+
+ public static void Uninit()
+ {
+ purple_prefs_uninit();
+ }
+
+ /*
+ * Function Name: purple_prefs_add_none
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_prefs_add_none(char * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_prefs_add_none(string name);
+
+ public static void AddNone(string name)
+ {
+ purple_prefs_add_none(name);
+ }
+
+ /*
+ * Function Name: purple_prefs_add_bool
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_prefs_add_bool(char * name, gboolean value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_prefs_add_bool(string name, bool value);
+
+ public static void AddBool(string name, bool value)
+ {
+ purple_prefs_add_bool(name, value);
+ }
+
+ /*
+ * Function Name: purple_prefs_add_int
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_prefs_add_int(char * name, int value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_prefs_add_int(string name, int value);
+
+ public static void AddInt(string name, int value)
+ {
+ purple_prefs_add_int(name, value);
+ }
+
+ /*
+ * Function Name: purple_prefs_add_string
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_prefs_add_string(char * name, char * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_prefs_add_string(string name, string value);
+
+ public static void AddString(string name, string value)
+ {
+ purple_prefs_add_string(name, value);
+ }
+
+ /*
+ * Function Name: purple_prefs_add_string_list
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * 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: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ /*
+ * Function Name: purple_prefs_add_path
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_prefs_add_path(char * name, char * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_prefs_add_path(string name, string value);
+
+ public static void AddPath(string name, string value)
+ {
+ purple_prefs_add_path(name, value);
+ }
+
+ /*
+ * Function Name: purple_prefs_add_path_list
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * 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: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ /*
+ * Function Name: purple_prefs_remove
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_prefs_remove(char * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_prefs_remove(string name);
+
+ public static void Remove(string name)
+ {
+ purple_prefs_remove(name);
+ }
+
+ /*
+ * Function Name: purple_prefs_rename
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_prefs_rename(char * oldname, char * newname)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_prefs_rename(string oldname, string newname);
+
+ public static void Rename(string oldname, string newname)
+ {
+ purple_prefs_rename(oldname, newname);
+ }
+
+ /*
+ * Function Name: purple_prefs_rename_boolean_toggle
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_prefs_rename_boolean_toggle(char * oldname, char * newname)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_prefs_rename_boolean_toggle(string oldname, string newname);
+
+ public static void RenameBooleanToggle(string oldname, string newname)
+ {
+ purple_prefs_rename_boolean_toggle(oldname, newname);
+ }
+
+ /*
+ * Function Name: purple_prefs_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_prefs_destroy()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_prefs_destroy();
+
+ public static void Destroy()
+ {
+ purple_prefs_destroy();
+ }
+
+ /*
+ * Function Name: purple_prefs_set_generic
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_prefs_set_generic(char * name, gpointer value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_prefs_set_generic(string name, IntPtr value);
+
+ public static void SetGeneric(string name, IntPtr value)
+ {
+ purple_prefs_set_generic(name, value);
+ }
+
+ /*
+ * Function Name: purple_prefs_set_bool
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_prefs_set_bool(char * name, gboolean value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_prefs_set_bool(string name, bool value);
+
+ public static void SetBool(string name, bool value)
+ {
+ purple_prefs_set_bool(name, value);
+ }
+
+ /*
+ * Function Name: purple_prefs_set_int
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_prefs_set_int(char * name, int value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_prefs_set_int(string name, int value);
+
+ public static void SetInt(string name, int value)
+ {
+ purple_prefs_set_int(name, value);
+ }
+
+ /*
+ * Function Name: purple_prefs_set_string
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_prefs_set_string(char * name, char * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_prefs_set_string(string name, string value);
+
+ public static void SetString(string name, string value)
+ {
+ purple_prefs_set_string(name, value);
+ }
+
+ /*
+ * Function Name: purple_prefs_set_string_list
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * 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: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ /*
+ * Function Name: purple_prefs_set_path
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_prefs_set_path(char * name, char * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_prefs_set_path(string name, string value);
+
+ public static void SetPath(string name, string value)
+ {
+ purple_prefs_set_path(name, value);
+ }
+
+ /*
+ * Function Name: purple_prefs_set_path_list
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * 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: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ /*
+ * Function Name: purple_prefs_exists
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_prefs_exists(char * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_prefs_exists(string name);
+
+ public static bool Exists(string name)
+ {
+ return purple_prefs_exists(name);
+ }
+
+ /*
+ * Function Name: purple_prefs_get_type
+ * Function Type: PurplePrefType
+ * Function RawType: PurplePrefType
+ * Function Category: KnownEnum
+ */
+ /*
+ * PurplePrefType purple_prefs_get_type(char * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern Prefs.PurplePrefType purple_prefs_get_type(string name);
+
+ public static Prefs.PurplePrefType GetType(string name)
+ {
+ /* Unable to process the return value of purple_prefs_get_type, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_prefs_get_bool
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_prefs_get_bool(char * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_prefs_get_bool(string name);
+
+ public static bool GetBool(string name)
+ {
+ return purple_prefs_get_bool(name);
+ }
+
+ /*
+ * Function Name: purple_prefs_get_int
+ * Function Type: int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * int purple_prefs_get_int(char * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern int purple_prefs_get_int(string name);
+
+ public static int GetInt(string name)
+ {
+ return purple_prefs_get_int(name);
+ }
+
+ /*
+ * Function Name: purple_prefs_get_string
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_prefs_get_string(char * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_prefs_get_string(string name);
+
+ public static string GetString(string name)
+ {
+ return purple_prefs_get_string(name);
+ }
+
+ /*
+ * Function Name: purple_prefs_get_string_list
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_prefs_get_string_list(char * name)
+ *
+ * Could not generate a wrapper for purple_prefs_get_string_list in file "prefs.h".
+ * Message: Unknown inner-type of argument 0 of purple_prefs_get_string_list
+ */
+
+ /*
+ * Function Name: purple_prefs_get_path
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_prefs_get_path(char * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_prefs_get_path(string name);
+
+ public static string GetPath(string name)
+ {
+ return purple_prefs_get_path(name);
+ }
+
+ /*
+ * Function Name: purple_prefs_get_path_list
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_prefs_get_path_list(char * name)
+ *
+ * Could not generate a wrapper for purple_prefs_get_path_list in file "prefs.h".
+ * Message: Unknown inner-type of argument 0 of purple_prefs_get_path_list
+ */
+
+ /*
+ * Function Name: purple_prefs_get_children_names
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_prefs_get_children_names(char * name)
+ *
+ * Could not generate a wrapper for purple_prefs_get_children_names in file "prefs.h".
+ * Message: Unknown inner-type of argument 0 of purple_prefs_get_children_names
+ */
+
+ /*
+ * Function Name: purple_prefs_disconnect_callback
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_prefs_disconnect_callback(guint callback_id)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_prefs_disconnect_callback(uint callback_id);
+
+ public static void DisconnectCallback(uint callback_id)
+ {
+ purple_prefs_disconnect_callback(callback_id);
+ }
+
+ /*
+ * Function Name: purple_prefs_disconnect_by_handle
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_prefs_disconnect_by_handle(void * handle)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_prefs_disconnect_by_handle(IntPtr handle);
+
+ public static void DisconnectByHandle(IntPtr handle)
+ {
+ purple_prefs_disconnect_by_handle(handle);
+ }
+
+ /*
+ * Function Name: purple_prefs_trigger_callback
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_prefs_trigger_callback(char * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_prefs_trigger_callback(string name);
+
+ public static void TriggerCallback(string name)
+ {
+ purple_prefs_trigger_callback(name);
+ }
+
+ /*
+ * Function Name: purple_prefs_load
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_prefs_load()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_prefs_load();
+
+ public static bool Load()
+ {
+ return purple_prefs_load();
+ }
+
+ /*
+ * Function Name: purple_prefs_update_old
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_prefs_update_old()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_prefs_update_old();
+
+ public static void UpdateOld()
+ {
+ purple_prefs_update_old();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Privacy.cs 0e081fdf34b0a1de943365e30b868b0002da0a2b
+++ libpurple/wrapper/Privacy.cs 0e081fdf34b0a1de943365e30b868b0002da0a2b
@@ -0,0 +1,129 @@
+/* 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
+{
+
+ /*
+ * File: privacy.h
+ */
+ public class Privacy
+ {
+ public enum PurplePrivacyType
+ {
+ PURPLE_PRIVACY_ALLOW_ALL = 1,
+ PURPLE_PRIVACY_DENY_ALL,
+ PURPLE_PRIVACY_ALLOW_USERS,
+ PURPLE_PRIVACY_DENY_USERS,
+ PURPLE_PRIVACY_ALLOW_BUDDYLIST
+ };
+
+
+ /*
+ * Function Name: purple_privacy_check
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_privacy_check(PurpleAccount * account, char * who)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_privacy_check(IntPtr account, string who);
+
+ public static bool Check(PurpleAccount account, string who)
+ {
+ return purple_privacy_check(account.Reference, who);
+ }
+
+ /*
+ * Function Name: purple_privacy_set_ui_ops
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_privacy_set_ui_ops(PurplePrivacyUiOps * ops)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_privacy_set_ui_ops(IntPtr ops);
+
+ public static void SetUiOps(/* Resolved as PointerToUnknownStruct to PurplePrivacyUiOps */ IntPtr ops)
+ {
+ /* Unable to process ops, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_privacy_get_ui_ops
+ * Function Type: PurplePrivacyUiOps *
+ * Function RawType: PurplePrivacyUiOps
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurplePrivacyUiOps * purple_privacy_get_ui_ops()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_privacy_get_ui_ops();
+
+ public static /* Resolved as PointerToUnknownStruct to PurplePrivacyUiOps */ IntPtr GetUiOps()
+ {
+ /* Unable to process the return value of purple_privacy_get_ui_ops, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_privacy_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_privacy_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_privacy_init();
+
+ public static void Init()
+ {
+ purple_privacy_init();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Proxy.cs 8fc9134c1fac5769ac297628282f9cfbfd1322c2
+++ libpurple/wrapper/Proxy.cs 8fc9134c1fac5769ac297628282f9cfbfd1322c2
@@ -0,0 +1,418 @@
+/* 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
+{
+
+ /*
+ * File: proxy.h
+ */
+ 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
+ };
+
+ public delegate void PurpleProxyConnectFunction(IntPtr data, int source, string error_message);
+
+ /*
+ * Function Name: purple_proxy_info_new
+ * Function Type: PurpleProxyInfo *
+ * Function RawType: PurpleProxyInfo
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleProxyInfo * purple_proxy_info_new()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_proxy_info_new();
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleProxyInfo */ IntPtr InfoNew()
+ {
+ /* Unable to process the return value of purple_proxy_info_new, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_proxy_info_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_proxy_info_destroy(PurpleProxyInfo * info)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_proxy_info_destroy(IntPtr info);
+
+ public static void InfoDestroy(/* Resolved as PointerToUnknownStruct to PurpleProxyInfo */ IntPtr info)
+ {
+ /* Unable to process info, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_proxy_info_set_type
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_proxy_info_set_type(PurpleProxyInfo * info, PurpleProxyType type)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_proxy_info_set_type(IntPtr info, Proxy.PurpleProxyType type);
+
+ public static void InfoSetType(/* Resolved as PointerToUnknownStruct to PurpleProxyInfo */ IntPtr info, Proxy.PurpleProxyType type)
+ {
+ /* Unable to process info, a PointerToUnknownStruct. */
+ /* Unable to process type, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_proxy_info_set_host
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_proxy_info_set_host(PurpleProxyInfo * info, char * host)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_proxy_info_set_host(IntPtr info, string host);
+
+ public static void InfoSetHost(/* Resolved as PointerToUnknownStruct to PurpleProxyInfo */ IntPtr info, string host)
+ {
+ /* Unable to process info, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_proxy_info_set_port
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_proxy_info_set_port(PurpleProxyInfo * info, int port)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_proxy_info_set_port(IntPtr info, int port);
+
+ public static void InfoSetPort(/* Resolved as PointerToUnknownStruct to PurpleProxyInfo */ IntPtr info, int port)
+ {
+ /* Unable to process info, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_proxy_info_set_username
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_proxy_info_set_username(PurpleProxyInfo * info, char * username)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_proxy_info_set_username(IntPtr info, string username);
+
+ public static void InfoSetUsername(/* Resolved as PointerToUnknownStruct to PurpleProxyInfo */ IntPtr info, string username)
+ {
+ /* Unable to process info, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_proxy_info_set_password
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_proxy_info_set_password(PurpleProxyInfo * info, char * password)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_proxy_info_set_password(IntPtr info, string password);
+
+ public static void InfoSetPassword(/* Resolved as PointerToUnknownStruct to PurpleProxyInfo */ IntPtr info, string password)
+ {
+ /* Unable to process info, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_proxy_info_get_type
+ * Function Type: PurpleProxyType
+ * Function RawType: PurpleProxyType
+ * Function Category: KnownEnum
+ */
+ /*
+ * PurpleProxyType purple_proxy_info_get_type(PurpleProxyInfo * info)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern Proxy.PurpleProxyType purple_proxy_info_get_type(IntPtr info);
+
+ public static Proxy.PurpleProxyType InfoGetType(/* Resolved as PointerToUnknownStruct to PurpleProxyInfo */ IntPtr info)
+ {
+ /* Unable to process info, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_proxy_info_get_host
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_proxy_info_get_host(PurpleProxyInfo * info)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_proxy_info_get_host(IntPtr info);
+
+ public static string InfoGetHost(/* Resolved as PointerToUnknownStruct to PurpleProxyInfo */ IntPtr info)
+ {
+ /* Unable to process info, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_proxy_info_get_port
+ * Function Type: int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * int purple_proxy_info_get_port(PurpleProxyInfo * info)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern int purple_proxy_info_get_port(IntPtr info);
+
+ public static int InfoGetPort(/* Resolved as PointerToUnknownStruct to PurpleProxyInfo */ IntPtr info)
+ {
+ /* Unable to process info, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_proxy_info_get_username
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_proxy_info_get_username(PurpleProxyInfo * info)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_proxy_info_get_username(IntPtr info);
+
+ public static string InfoGetUsername(/* Resolved as PointerToUnknownStruct to PurpleProxyInfo */ IntPtr info)
+ {
+ /* Unable to process info, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_proxy_info_get_password
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_proxy_info_get_password(PurpleProxyInfo * info)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_proxy_info_get_password(IntPtr info);
+
+ public static string InfoGetPassword(/* Resolved as PointerToUnknownStruct to PurpleProxyInfo */ IntPtr info)
+ {
+ /* Unable to process info, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_global_proxy_get_info
+ * Function Type: PurpleProxyInfo *
+ * Function RawType: PurpleProxyInfo
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleProxyInfo * purple_global_proxy_get_info()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_global_proxy_get_info();
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleProxyInfo */ IntPtr GlobalProxyGetInfo()
+ {
+ /* Unable to process the return value of purple_global_proxy_get_info, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_global_proxy_set_info
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_global_proxy_set_info(PurpleProxyInfo * info)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_global_proxy_set_info(IntPtr info);
+
+ public static void GlobalProxySetInfo(/* Resolved as PointerToUnknownStruct to PurpleProxyInfo */ IntPtr info)
+ {
+ /* Unable to process info, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_proxy_get_handle
+ * Function Type: void *
+ * Function RawType: void
+ * Function Category: VoidPointer
+ */
+ /*
+ * void * purple_proxy_get_handle()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_proxy_get_handle();
+
+ public static IntPtr GetHandle()
+ {
+ return purple_proxy_get_handle();
+ }
+
+ /*
+ * Function Name: purple_proxy_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_proxy_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_proxy_init();
+
+ public static void Init()
+ {
+ purple_proxy_init();
+ }
+
+ /*
+ * Function Name: purple_proxy_uninit
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_proxy_uninit()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_proxy_uninit();
+
+ public static void Uninit()
+ {
+ purple_proxy_uninit();
+ }
+
+ /*
+ * Function Name: purple_proxy_get_setup
+ * Function Type: PurpleProxyInfo *
+ * Function RawType: PurpleProxyInfo
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleProxyInfo * purple_proxy_get_setup(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_proxy_get_setup(IntPtr account);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleProxyInfo */ IntPtr GetSetup(PurpleAccount account)
+ {
+ /* Unable to process the return value of purple_proxy_get_setup, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_proxy_connect_cancel
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_proxy_connect_cancel(PurpleProxyConnectData * connect_data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_proxy_connect_cancel(IntPtr connect_data);
+
+ public static void ConnectCancel(/* Resolved as PointerToUnknownStruct to PurpleProxyConnectData */ IntPtr connect_data)
+ {
+ /* Unable to process connect_data, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_proxy_connect_cancel_with_handle
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_proxy_connect_cancel_with_handle(void * handle)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_proxy_connect_cancel_with_handle(IntPtr handle);
+
+ public static void ConnectCancelWithHandle(IntPtr handle)
+ {
+ purple_proxy_connect_cancel_with_handle(handle);
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Prpl.cs 414add09cf2fe747cab8c3971b4fe8229caf7800
+++ libpurple/wrapper/Prpl.cs 414add09cf2fe747cab8c3971b4fe8229caf7800
@@ -0,0 +1,355 @@
+/* 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
+{
+
+ /*
+ * File: prpl.h
+ */
+ public class Prpl
+ {
+ public enum PurpleIconScaleRules
+ {
+ PURPLE_ICON_SCALE_DISPLAY = 0x01,
+ PURPLE_ICON_SCALE_SEND = 0x02
+ };
+
+ public enum PurpleProtocolOptions
+ {
+ 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
+ };
+
+
+ /*
+ * Function Name: purple_attention_type_set_name
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_attention_type_set_name(PurpleAttentionType * type, char * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_attention_type_set_name(IntPtr type, string name);
+
+ public static void AttentionTypeSetName(PurpleAttentionType type, string name)
+ {
+ purple_attention_type_set_name(type.Reference, name);
+ }
+
+ /*
+ * Function Name: purple_attention_type_set_incoming_desc
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_attention_type_set_incoming_desc(PurpleAttentionType * type, char * desc)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_attention_type_set_incoming_desc(IntPtr type, string desc);
+
+ public static void AttentionTypeSetIncomingDesc(PurpleAttentionType type, string desc)
+ {
+ purple_attention_type_set_incoming_desc(type.Reference, desc);
+ }
+
+ /*
+ * Function Name: purple_attention_type_set_outgoing_desc
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_attention_type_set_outgoing_desc(PurpleAttentionType * type, char * desc)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_attention_type_set_outgoing_desc(IntPtr type, string desc);
+
+ public static void AttentionTypeSetOutgoingDesc(PurpleAttentionType type, string desc)
+ {
+ purple_attention_type_set_outgoing_desc(type.Reference, desc);
+ }
+
+ /*
+ * Function Name: purple_attention_type_set_icon_name
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_attention_type_set_icon_name(PurpleAttentionType * type, char * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_attention_type_set_icon_name(IntPtr type, string name);
+
+ public static void AttentionTypeSetIconName(PurpleAttentionType type, string name)
+ {
+ purple_attention_type_set_icon_name(type.Reference, name);
+ }
+
+ /*
+ * Function Name: purple_attention_type_set_unlocalized_name
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_attention_type_set_unlocalized_name(PurpleAttentionType * type, char * ulname)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_attention_type_set_unlocalized_name(IntPtr type, string ulname);
+
+ public static void AttentionTypeSetUnlocalizedName(PurpleAttentionType type, string ulname)
+ {
+ purple_attention_type_set_unlocalized_name(type.Reference, ulname);
+ }
+
+ /*
+ * Function Name: purple_attention_type_get_name
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_attention_type_get_name(PurpleAttentionType * type)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_attention_type_get_name(IntPtr type);
+
+ public static string AttentionTypeGetName(PurpleAttentionType type)
+ {
+ return purple_attention_type_get_name(type.Reference);
+ }
+
+ /*
+ * Function Name: purple_attention_type_get_incoming_desc
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_attention_type_get_incoming_desc(PurpleAttentionType * type)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_attention_type_get_incoming_desc(IntPtr type);
+
+ public static string AttentionTypeGetIncomingDesc(PurpleAttentionType type)
+ {
+ return purple_attention_type_get_incoming_desc(type.Reference);
+ }
+
+ /*
+ * Function Name: purple_attention_type_get_outgoing_desc
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_attention_type_get_outgoing_desc(PurpleAttentionType * type)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_attention_type_get_outgoing_desc(IntPtr type);
+
+ public static string AttentionTypeGetOutgoingDesc(PurpleAttentionType type)
+ {
+ return purple_attention_type_get_outgoing_desc(type.Reference);
+ }
+
+ /*
+ * Function Name: purple_attention_type_get_icon_name
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_attention_type_get_icon_name(PurpleAttentionType * type)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_attention_type_get_icon_name(IntPtr type);
+
+ public static string AttentionTypeGetIconName(PurpleAttentionType type)
+ {
+ return purple_attention_type_get_icon_name(type.Reference);
+ }
+
+ /*
+ * Function Name: purple_attention_type_get_unlocalized_name
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_attention_type_get_unlocalized_name(PurpleAttentionType * type)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_attention_type_get_unlocalized_name(IntPtr type);
+
+ public static string AttentionTypeGetUnlocalizedName(PurpleAttentionType type)
+ {
+ return purple_attention_type_get_unlocalized_name(type.Reference);
+ }
+
+ /*
+ * Function Name: purple_prpl_got_account_login_time
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * 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, ulong login_time);
+
+ public static void GotAccountLoginTime(PurpleAccount account, DateTime login_time)
+ {
+ ulong _PurpleWrapper_param1 = (ulong)(login_time - new DateTime(1970, 1, 1)).TotalSeconds;
+ purple_prpl_got_account_login_time(account.Reference, _PurpleWrapper_param1);
+ }
+
+ /*
+ * Function Name: purple_prpl_got_account_actions
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_prpl_got_account_actions(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_prpl_got_account_actions(IntPtr account);
+
+ public static void GotAccountActions(PurpleAccount account)
+ {
+ purple_prpl_got_account_actions(account.Reference);
+ }
+
+ /*
+ * Function Name: purple_prpl_get_statuses
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_prpl_get_statuses(PurpleAccount * account, PurplePresence * presence)
+ *
+ * Could not generate a wrapper for purple_prpl_get_statuses in file "prpl.h".
+ * Message: Unknown inner-type of argument 0 of purple_prpl_get_statuses
+ */
+
+ /*
+ * Function Name: purple_prpl_send_attention
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_prpl_send_attention(PurpleConnection * gc, char * who, guint type_code)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_prpl_send_attention(IntPtr gc, string who, uint type_code);
+
+ public static void SendAttention(PurpleConnection gc, string who, uint type_code)
+ {
+ purple_prpl_send_attention(gc.Reference, who, type_code);
+ }
+
+ /*
+ * Function Name: purple_prpl_got_attention
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_prpl_got_attention(PurpleConnection * gc, char * who, guint type_code)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_prpl_got_attention(IntPtr gc, string who, uint type_code);
+
+ public static void GotAttention(PurpleConnection gc, string who, uint type_code)
+ {
+ purple_prpl_got_attention(gc.Reference, who, type_code);
+ }
+
+ /*
+ * Function Name: purple_prpl_got_attention_in_chat
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_prpl_got_attention_in_chat(PurpleConnection * gc, int id, char * who, guint type_code)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_prpl_got_attention_in_chat(IntPtr gc, int id, string who, uint type_code);
+
+ public static void GotAttentionInChat(PurpleConnection gc, int id, string who, uint type_code)
+ {
+ purple_prpl_got_attention_in_chat(gc.Reference, id, who, type_code);
+ }
+
+ /*
+ * Function Name: purple_find_prpl
+ * Function Type: PurplePlugin *
+ * Function RawType: PurplePlugin
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurplePlugin * purple_find_prpl(char * id)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_find_prpl(string id);
+
+ public static PurplePlugin FindPrpl(string id)
+ {
+ return new PurplePlugin(purple_find_prpl(id));
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/PurpleAccount.cs e3322674a37f1ff5ad009a0ca95797f96e5a2b0c
+++ libpurple/wrapper/PurpleAccount.cs e3322674a37f1ff5ad009a0ca95797f96e5a2b0c
@@ -0,0 +1,567 @@
+/* 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
+{
+
+ /*
+ * File: account.h
+ * Structure: PurpleAccount
+ */
+ public class PurpleAccount : UnmanagedWrapper<_PurpleAccount>
+ {
+ public PurpleAccount()
+ {
+ }
+
+ public PurpleAccount(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleAccount)Marshal.PtrToStructure(this.Reference, typeof(_PurpleAccount));
+ }
+
+ /*
+ * Argument Name: username
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string username
+ {
+ get
+ {
+ return this.Data.username;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.username = value;
+ }
+ }
+
+ /*
+ * Argument Name: alias
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string alias
+ {
+ get
+ {
+ return this.Data.alias;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.alias = value;
+ }
+ }
+
+ /*
+ * Argument Name: password
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string password
+ {
+ get
+ {
+ return this.Data.password;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.password = value;
+ }
+ }
+
+ /*
+ * Argument Name: user_info
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ 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;
+ }
+ }
+
+ /*
+ * Argument Name: buddy_icon_path
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ 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;
+ }
+ }
+
+ /*
+ * Argument Name: remember_pass
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ 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;
+ }
+ }
+
+ /*
+ * Argument Name: protocol_id
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ 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;
+ }
+ }
+
+ /*
+ * Argument Name: gc
+ * Argument Type: PurpleConnection *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: disconnecting
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public bool disconnecting
+ {
+ get
+ {
+ return this.Data.disconnecting;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.disconnecting = value;
+ }
+ }
+
+ /*
+ * Argument Name: settings
+ * Argument Type: GHashTable *
+ * Argument Category: PointerToGHashTable
+ */
+ /*
+ * Could not generate a wrapper for PurpleAccount.settings in file "account.h".
+ * Message: Unable to provide a type for HashTable as no function information was provided in code.
+ */
+
+ /*
+ * Argument Name: ui_settings
+ * Argument Type: GHashTable *
+ * Argument Category: PointerToGHashTable
+ */
+ /*
+ * Could not generate a wrapper for PurpleAccount.ui_settings in file "account.h".
+ * Message: Unable to provide a type for HashTable as no function information was provided in code.
+ */
+
+ /*
+ * Argument Name: proxy_info
+ * Argument Type: PurpleProxyInfo *
+ * Argument Category: PointerToUnknownStruct
+ */
+ public /* Resolved as PointerToUnknownStruct to PurpleProxyInfo */ IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: permit
+ * Argument Type: GSList *
+ * Argument Category: PointerToGSList
+ */
+ /*
+ * Could not generate a wrapper for PurpleAccount.permit in file "account.h".
+ * Message: Unable to provide a type for GSList as no function information was provided in code.
+ */
+
+ /*
+ * Argument Name: deny
+ * Argument Type: GSList *
+ * Argument Category: PointerToGSList
+ */
+ /*
+ * Could not generate a wrapper for PurpleAccount.deny in file "account.h".
+ * Message: Unable to provide a type for GSList as no function information was provided in code.
+ */
+
+ /*
+ * Argument Name: perm_deny
+ * Argument Type: PurplePrivacyType
+ * Argument Category: KnownEnum
+ */
+ public Privacy.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. */
+ }
+ }
+
+ /*
+ * Argument Name: status_types
+ * Argument Type: GList *
+ * Argument Category: PointerToGList
+ */
+ /*
+ * Could not generate a wrapper for PurpleAccount.status_types in file "account.h".
+ * Message: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ /*
+ * Argument Name: presence
+ * Argument Type: PurplePresence *
+ * Argument Category: PointerToUnknownStruct
+ */
+ public /* Resolved as PointerToUnknownStruct to PurplePresence */ IntPtr presence
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: system_log
+ * Argument Type: PurpleLog *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: ui_data
+ * Argument Type: void *
+ * Argument Category: VoidPointer
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: registration_cb
+ * Argument Type: PurpleAccountRegistrationCb
+ * Argument Category: KnownFunctionPointer
+ */
+ public Account.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. */
+ }
+ }
+
+ /*
+ * Argument Name: registration_cb_user_data
+ * Argument Type: void *
+ * Argument Category: VoidPointer
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: priv
+ * Argument Type: gpointer
+ * Argument Category: VoidPointer
+ */
+ 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)]
+ public class _PurpleAccount
+ {
+ /*
+ * char * username
+ */
+ public string username;
+
+ /*
+ * char * alias
+ */
+ public string alias;
+
+ /*
+ * char * password
+ */
+ public string password;
+
+ /*
+ * char * user_info
+ */
+ public string user_info;
+
+ /*
+ * char * buddy_icon_path
+ */
+ public string buddy_icon_path;
+
+ /*
+ * gboolean remember_pass
+ */
+ public bool remember_pass;
+
+ /*
+ * char * protocol_id
+ */
+ public string protocol_id;
+
+ /*
+ * PurpleConnection * gc
+ */
+ public IntPtr gc;
+
+ /*
+ * gboolean disconnecting
+ */
+ public bool disconnecting;
+
+ /*
+ * GHashTable * settings
+ */
+ public IntPtr settings;
+
+ /*
+ * GHashTable * ui_settings
+ */
+ public IntPtr ui_settings;
+
+ /*
+ * PurpleProxyInfo * proxy_info
+ */
+ public IntPtr proxy_info;
+
+ /*
+ * GSList * permit
+ */
+ public IntPtr permit;
+
+ /*
+ * GSList * deny
+ */
+ public IntPtr deny;
+
+ /*
+ * PurplePrivacyType perm_deny
+ */
+ public Privacy.PurplePrivacyType perm_deny;
+
+ /*
+ * GList * status_types
+ */
+ public IntPtr status_types;
+
+ /*
+ * PurplePresence * presence
+ */
+ public IntPtr presence;
+
+ /*
+ * PurpleLog * system_log
+ */
+ public IntPtr system_log;
+
+ /*
+ * void * ui_data
+ */
+ public IntPtr ui_data;
+
+ /*
+ * PurpleAccountRegistrationCb registration_cb
+ */
+ public IntPtr registration_cb;
+
+ /*
+ * void * registration_cb_user_data
+ */
+ public IntPtr registration_cb_user_data;
+
+ /*
+ * gpointer priv
+ */
+ public IntPtr priv;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleAccountUiOps.cs f9c060ab1fbcd085b0214f31dd76445397394bc5
+++ libpurple/wrapper/PurpleAccountUiOps.cs f9c060ab1fbcd085b0214f31dd76445397394bc5
@@ -0,0 +1,292 @@
+/* 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
+{
+
+ /*
+ * File: account.h
+ * Structure: PurpleAccountUiOps
+ */
+ public class PurpleAccountUiOps : UnmanagedWrapper<_PurpleAccountUiOps>
+ {
+ public PurpleAccountUiOps()
+ {
+ }
+
+ public PurpleAccountUiOps(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleAccountUiOps)Marshal.PtrToStructure(this.Reference, typeof(_PurpleAccountUiOps));
+ }
+
+ /*
+ * Argument Name: notify_added
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr notify_added
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: status_changed
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr status_changed
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: request_add
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr request_add
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: request_authorize
+ * Argument Type: void *
+ * Argument Category: VoidPointer
+ */
+ public IntPtr request_authorize
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: close_account_request
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr close_account_request
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved1
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved2
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved3
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved4
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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)]
+ public class _PurpleAccountUiOps
+ {
+ /*
+ * void (*notify_added)(PurpleAccount * account, char * remote_user, char * id, char * alias, char * message)
+ */
+ public IntPtr notify_added;
+
+ /*
+ * void (*status_changed)(PurpleAccount * account, PurpleStatus * status)
+ */
+ public IntPtr status_changed;
+
+ /*
+ * void (*request_add)(PurpleAccount * account, char * remote_user, char * id, char * alias, char * message)
+ */
+ public 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)
+ */
+ public IntPtr request_authorize;
+
+ /*
+ * void (*close_account_request)(void * ui_handle)
+ */
+ public IntPtr close_account_request;
+
+ /*
+ * void (*_purple_reserved1)()
+ */
+ public IntPtr _purple_reserved1;
+
+ /*
+ * void (*_purple_reserved2)()
+ */
+ public IntPtr _purple_reserved2;
+
+ /*
+ * void (*_purple_reserved3)()
+ */
+ public IntPtr _purple_reserved3;
+
+ /*
+ * void (*_purple_reserved4)()
+ */
+ public IntPtr _purple_reserved4;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleAttentionType.cs 9bfd14f62ce4a5de8dd0603fd2db5224ea7024a2
+++ libpurple/wrapper/PurpleAttentionType.cs 9bfd14f62ce4a5de8dd0603fd2db5224ea7024a2
@@ -0,0 +1,267 @@
+/* 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
+{
+
+ /*
+ * File: prpl.h
+ * Structure: PurpleAttentionType
+ */
+ public class PurpleAttentionType : UnmanagedWrapper<_PurpleAttentionType>
+ {
+ public PurpleAttentionType()
+ {
+ }
+
+ public PurpleAttentionType(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleAttentionType)Marshal.PtrToStructure(this.Reference, typeof(_PurpleAttentionType));
+ }
+
+ /*
+ * Argument Name: name
+ * Argument Type: const char *
+ * Argument Category: PointerToUnknownStruct
+ */
+ public /* Resolved as PointerToUnknownStruct to char */ IntPtr name
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: incoming_description
+ * Argument Type: const char *
+ * Argument Category: PointerToUnknownStruct
+ */
+ public /* Resolved as PointerToUnknownStruct to char */ IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: outgoing_description
+ * Argument Type: const char *
+ * Argument Category: PointerToUnknownStruct
+ */
+ public /* Resolved as PointerToUnknownStruct to char */ IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: icon_name
+ * Argument Type: const char *
+ * Argument Category: PointerToUnknownStruct
+ */
+ public /* Resolved as PointerToUnknownStruct to char */ IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: unlocalized_name
+ * Argument Type: const char *
+ * Argument Category: PointerToUnknownStruct
+ */
+ public /* Resolved as PointerToUnknownStruct to char */ IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: reserved2
+ * Argument Type: gpointer
+ * Argument Category: VoidPointer
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: reserved3
+ * Argument Type: gpointer
+ * Argument Category: VoidPointer
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: reserved4
+ * Argument Type: gpointer
+ * Argument Category: VoidPointer
+ */
+ 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)]
+ public class _PurpleAttentionType
+ {
+ /*
+ * const char * name
+ */
+ public IntPtr name;
+
+ /*
+ * const char * incoming_description
+ */
+ public IntPtr incoming_description;
+
+ /*
+ * const char * outgoing_description
+ */
+ public IntPtr outgoing_description;
+
+ /*
+ * const char * icon_name
+ */
+ public IntPtr icon_name;
+
+ /*
+ * const char * unlocalized_name
+ */
+ public IntPtr unlocalized_name;
+
+ /*
+ * gpointer reserved2
+ */
+ public IntPtr reserved2;
+
+ /*
+ * gpointer reserved3
+ */
+ public IntPtr reserved3;
+
+ /*
+ * gpointer reserved4
+ */
+ public IntPtr reserved4;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleBlistNode.cs b030a90dedec43e692519fc0e4f7977ed91d45be
+++ libpurple/wrapper/PurpleBlistNode.cs b030a90dedec43e692519fc0e4f7977ed91d45be
@@ -0,0 +1,257 @@
+/* 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
+{
+
+ /*
+ * File: blist.h
+ * Structure: PurpleBlistNode
+ */
+ public class PurpleBlistNode : UnmanagedWrapper<_PurpleBlistNode>
+ {
+ public PurpleBlistNode()
+ {
+ }
+
+ public PurpleBlistNode(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleBlistNode)Marshal.PtrToStructure(this.Reference, typeof(_PurpleBlistNode));
+ }
+
+ /*
+ * Argument Name: type
+ * Argument Type: PurpleBlistNodeType
+ * Argument Category: KnownEnum
+ */
+ public Blist.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. */
+ }
+ }
+
+ /*
+ * Argument Name: prev
+ * Argument Type: PurpleBlistNode *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: next
+ * Argument Type: PurpleBlistNode *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: parent
+ * Argument Type: PurpleBlistNode *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: child
+ * Argument Type: PurpleBlistNode *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: settings
+ * Argument Type: GHashTable *
+ * Argument Category: PointerToGHashTable
+ */
+ /*
+ * Could not generate a wrapper for PurpleBlistNode.settings in file "blist.h".
+ * Message: Unable to provide a type for HashTable as no function information was provided in code.
+ */
+
+ /*
+ * Argument Name: ui_data
+ * Argument Type: void *
+ * Argument Category: PointerToUnknownStruct
+ */
+ public /* Resolved as PointerToUnknownStruct to void */ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: flags
+ * Argument Type: PurpleBlistNodeFlags
+ * Argument Category: KnownEnum
+ */
+ public Blist.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)]
+ public class _PurpleBlistNode
+ {
+ /*
+ * PurpleBlistNodeType type
+ */
+ public Blist.PurpleBlistNodeType type;
+
+ /*
+ * PurpleBlistNode * prev
+ */
+ public IntPtr prev;
+
+ /*
+ * PurpleBlistNode * next
+ */
+ public IntPtr next;
+
+ /*
+ * PurpleBlistNode * parent
+ */
+ public IntPtr parent;
+
+ /*
+ * PurpleBlistNode * child
+ */
+ public IntPtr child;
+
+ /*
+ * GHashTable * settings
+ */
+ public IntPtr settings;
+
+ /*
+ * void * ui_data
+ */
+ public IntPtr ui_data;
+
+ /*
+ * PurpleBlistNodeFlags flags
+ */
+ public Blist.PurpleBlistNodeFlags flags;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleBlistUiOps.cs 96fa647f23de57a21497b0054406326be9367b70
+++ libpurple/wrapper/PurpleBlistUiOps.cs 96fa647f23de57a21497b0054406326be9367b70
@@ -0,0 +1,417 @@
+/* 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
+{
+
+ /*
+ * File: blist.h
+ * Structure: PurpleBlistUiOps
+ */
+ public class PurpleBlistUiOps : UnmanagedWrapper<_PurpleBlistUiOps>
+ {
+ public PurpleBlistUiOps()
+ {
+ }
+
+ public PurpleBlistUiOps(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleBlistUiOps)Marshal.PtrToStructure(this.Reference, typeof(_PurpleBlistUiOps));
+ }
+
+ /*
+ * Argument Name: new_list
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr new_list
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: new_node
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr new_node
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: show
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr show
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: update
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr update
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: remove
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr remove
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: destroy
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr destroy
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: set_visible
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr set_visible
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: request_add_buddy
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr request_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. */
+ }
+ }
+
+ /*
+ * Argument Name: request_add_chat
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr request_add_chat
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: request_add_group
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr request_add_group
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved1
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved2
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved3
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved4
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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)]
+ public class _PurpleBlistUiOps
+ {
+ /*
+ * void (*new_list)(PurpleBuddyList * list)
+ */
+ public IntPtr new_list;
+
+ /*
+ * void (*new_node)(PurpleBlistNode * node)
+ */
+ public IntPtr new_node;
+
+ /*
+ * void (*show)(PurpleBuddyList * list)
+ */
+ public IntPtr show;
+
+ /*
+ * void (*update)(PurpleBuddyList * list, PurpleBlistNode * node)
+ */
+ public IntPtr update;
+
+ /*
+ * void (*remove)(PurpleBuddyList * list, PurpleBlistNode * node)
+ */
+ public IntPtr remove;
+
+ /*
+ * void (*destroy)(PurpleBuddyList * list)
+ */
+ public IntPtr destroy;
+
+ /*
+ * void (*set_visible)(PurpleBuddyList * list, gboolean show)
+ */
+ public IntPtr set_visible;
+
+ /*
+ * void (*request_add_buddy)(PurpleAccount * account, char * username, char * group, char * alias)
+ */
+ public IntPtr request_add_buddy;
+
+ /*
+ * void (*request_add_chat)(PurpleAccount * account, PurpleGroup * group, char * alias, char * name)
+ */
+ public IntPtr request_add_chat;
+
+ /*
+ * void (*request_add_group)()
+ */
+ public IntPtr request_add_group;
+
+ /*
+ * void (*_purple_reserved1)()
+ */
+ public IntPtr _purple_reserved1;
+
+ /*
+ * void (*_purple_reserved2)()
+ */
+ public IntPtr _purple_reserved2;
+
+ /*
+ * void (*_purple_reserved3)()
+ */
+ public IntPtr _purple_reserved3;
+
+ /*
+ * void (*_purple_reserved4)()
+ */
+ public IntPtr _purple_reserved4;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleBuddy.cs ee57b87f0101fe5d0be8f31f0982e8ae840d53c6
+++ libpurple/wrapper/PurpleBuddy.cs ee57b87f0101fe5d0be8f31f0982e8ae840d53c6
@@ -0,0 +1,260 @@
+/* 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
+{
+
+ /*
+ * File: blist.h
+ * Structure: PurpleBuddy
+ */
+ public class PurpleBuddy : UnmanagedWrapper<_PurpleBuddy>
+ {
+ public PurpleBuddy()
+ {
+ }
+
+ public PurpleBuddy(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleBuddy)Marshal.PtrToStructure(this.Reference, typeof(_PurpleBuddy));
+ }
+
+ /*
+ * Argument Name: node
+ * Argument Type: PurpleBlistNode
+ * Argument Category: KnownStruct
+ */
+ /*
+ * Could not generate a wrapper for PurpleBuddy.node in file "blist.h".
+ * Message: The struct contains an object that resolves to a function that is not a function pointer (PurpleBlistNode node).
+ */
+
+ /*
+ * Argument Name: name
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string name
+ {
+ get
+ {
+ return this.Data.name;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.name = value;
+ }
+ }
+
+ /*
+ * Argument Name: alias
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string alias
+ {
+ get
+ {
+ return this.Data.alias;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.alias = value;
+ }
+ }
+
+ /*
+ * Argument Name: server_alias
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ 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;
+ }
+ }
+
+ /*
+ * Argument Name: proto_data
+ * Argument Type: void *
+ * Argument Category: VoidPointer
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: icon
+ * Argument Type: PurpleBuddyIcon *
+ * Argument Category: PointerToUnknownStruct
+ */
+ public /* Resolved as PointerToUnknownStruct to PurpleBuddyIcon */ IntPtr icon
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: account
+ * Argument Type: PurpleAccount *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: presence
+ * Argument Type: PurplePresence *
+ * Argument Category: PointerToUnknownStruct
+ */
+ public /* Resolved as PointerToUnknownStruct to PurplePresence */ IntPtr 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)]
+ public class _PurpleBuddy
+ {
+ /*
+ * PurpleBlistNode node
+ */
+ /*
+ * Could not generate a wrapper for PurpleBuddy.node in file "blist.h".
+ * Message: The struct contains an object that resolves to a function that is not a function pointer (PurpleBlistNode node).
+ */
+
+ /*
+ * char * name
+ */
+ public string name;
+
+ /*
+ * char * alias
+ */
+ public string alias;
+
+ /*
+ * char * server_alias
+ */
+ public string server_alias;
+
+ /*
+ * void * proto_data
+ */
+ public IntPtr proto_data;
+
+ /*
+ * PurpleBuddyIcon * icon
+ */
+ public IntPtr icon;
+
+ /*
+ * PurpleAccount * account
+ */
+ public IntPtr account;
+
+ /*
+ * PurplePresence * presence
+ */
+ public IntPtr presence;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleBuddyIconSpec.cs 86ea6086cc253536dcae5c52c8ea29635b84b455
+++ libpurple/wrapper/PurpleBuddyIconSpec.cs 86ea6086cc253536dcae5c52c8ea29635b84b455
@@ -0,0 +1,242 @@
+/* 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
+{
+
+ /*
+ * File: prpl.h
+ * Structure: PurpleBuddyIconSpec
+ */
+ public class PurpleBuddyIconSpec : UnmanagedWrapper<_PurpleBuddyIconSpec>
+ {
+ public PurpleBuddyIconSpec()
+ {
+ }
+
+ public PurpleBuddyIconSpec(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleBuddyIconSpec)Marshal.PtrToStructure(this.Reference, typeof(_PurpleBuddyIconSpec));
+ }
+
+ /*
+ * Argument Name: format
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string format
+ {
+ get
+ {
+ return this.Data.format;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.format = value;
+ }
+ }
+
+ /*
+ * Argument Name: min_width
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ public int min_width
+ {
+ get
+ {
+ return this.Data.min_width;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.min_width = value;
+ }
+ }
+
+ /*
+ * Argument Name: min_height
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ public int min_height
+ {
+ get
+ {
+ return this.Data.min_height;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.min_height = value;
+ }
+ }
+
+ /*
+ * Argument Name: max_width
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ public int max_width
+ {
+ get
+ {
+ return this.Data.max_width;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.max_width = value;
+ }
+ }
+
+ /*
+ * Argument Name: max_height
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ public int max_height
+ {
+ get
+ {
+ return this.Data.max_height;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.max_height = value;
+ }
+ }
+
+ /*
+ * Argument Name: max_filesize
+ * Argument Type: size_t
+ * Argument Category: Native
+ */
+ public ulong max_filesize
+ {
+ get
+ {
+ return this.Data.max_filesize;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.max_filesize = value;
+ }
+ }
+
+ /*
+ * Argument Name: scale_rules
+ * Argument Type: PurpleIconScaleRules
+ * Argument Category: KnownEnum
+ */
+ public Prpl.PurpleIconScaleRules scale_rules
+ {
+ 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)]
+ public class _PurpleBuddyIconSpec
+ {
+ /*
+ * char * format
+ */
+ public string format;
+
+ /*
+ * int min_width
+ */
+ public int min_width;
+
+ /*
+ * int min_height
+ */
+ public int min_height;
+
+ /*
+ * int max_width
+ */
+ public int max_width;
+
+ /*
+ * int max_height
+ */
+ public int max_height;
+
+ /*
+ * size_t max_filesize
+ */
+ public ulong max_filesize;
+
+ /*
+ * PurpleIconScaleRules scale_rules
+ */
+ public Prpl.PurpleIconScaleRules scale_rules;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleBuddyList.cs 689bcda277f630ba19172b033cee720e221cae04
+++ libpurple/wrapper/PurpleBuddyList.cs 689bcda277f630ba19172b033cee720e221cae04
@@ -0,0 +1,132 @@
+/* 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
+{
+
+ /*
+ * File: blist.h
+ * Structure: PurpleBuddyList
+ */
+ public class PurpleBuddyList : UnmanagedWrapper<_PurpleBuddyList>
+ {
+ public PurpleBuddyList()
+ {
+ }
+
+ public PurpleBuddyList(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleBuddyList)Marshal.PtrToStructure(this.Reference, typeof(_PurpleBuddyList));
+ }
+
+ /*
+ * Argument Name: root
+ * Argument Type: PurpleBlistNode *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: buddies
+ * Argument Type: GHashTable *
+ * Argument Category: PointerToGHashTable
+ */
+ /*
+ * Could not generate a wrapper for PurpleBuddyList.buddies in file "blist.h".
+ * Message: Unable to provide a type for HashTable as no function information was provided in code.
+ */
+
+ /*
+ * Argument Name: ui_data
+ * Argument Type: void *
+ * Argument Category: VoidPointer
+ */
+ 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)]
+ public class _PurpleBuddyList
+ {
+ /*
+ * PurpleBlistNode * root
+ */
+ public IntPtr root;
+
+ /*
+ * GHashTable * buddies
+ */
+ public IntPtr buddies;
+
+ /*
+ * void * ui_data
+ */
+ public IntPtr ui_data;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleCertificate.cs 19e6265864a426325f86e3cb40f507c2c0554958
+++ libpurple/wrapper/PurpleCertificate.cs 19e6265864a426325f86e3cb40f507c2c0554958
@@ -0,0 +1,117 @@
+/* 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
+{
+
+ /*
+ * File: certificate.h
+ * Structure: PurpleCertificate
+ */
+ public class PurpleCertificate : UnmanagedWrapper<_PurpleCertificate>
+ {
+ public PurpleCertificate()
+ {
+ }
+
+ public PurpleCertificate(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleCertificate)Marshal.PtrToStructure(this.Reference, typeof(_PurpleCertificate));
+ }
+
+ /*
+ * Argument Name: scheme
+ * Argument Type: PurpleCertificateScheme *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: data
+ * Argument Type: gpointer
+ * Argument Category: VoidPointer
+ */
+ 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)]
+ public class _PurpleCertificate
+ {
+ /*
+ * PurpleCertificateScheme * scheme
+ */
+ public IntPtr scheme;
+
+ /*
+ * gpointer data
+ */
+ public IntPtr data;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleCertificatePool.cs 5d44cddd088d31d7ad1417f69d683504534a4661
+++ libpurple/wrapper/PurpleCertificatePool.cs 5d44cddd088d31d7ad1417f69d683504534a4661
@@ -0,0 +1,442 @@
+/* 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
+{
+
+ /*
+ * File: certificate.h
+ * Structure: PurpleCertificatePool
+ */
+ public class PurpleCertificatePool : UnmanagedWrapper<_PurpleCertificatePool>
+ {
+ public PurpleCertificatePool()
+ {
+ }
+
+ public PurpleCertificatePool(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleCertificatePool)Marshal.PtrToStructure(this.Reference, typeof(_PurpleCertificatePool));
+ }
+
+ /*
+ * Argument Name: scheme_name
+ * Argument Type: gchar *
+ * Argument Category: Native
+ */
+ 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;
+ }
+ }
+
+ /*
+ * Argument Name: name
+ * Argument Type: gchar *
+ * Argument Category: Native
+ */
+ public string name
+ {
+ get
+ {
+ return this.Data.name;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.name = value;
+ }
+ }
+
+ /*
+ * Argument Name: fullname
+ * Argument Type: gchar *
+ * Argument Category: Native
+ */
+ public string fullname
+ {
+ get
+ {
+ return this.Data.fullname;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.fullname = value;
+ }
+ }
+
+ /*
+ * Argument Name: data
+ * Argument Type: gpointer
+ * Argument Category: VoidPointer
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: init
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public IntPtr init
+ {
+ get
+ {
+ return this.Data.init;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.init = value;
+ }
+ }
+
+ /*
+ * Argument Name: uninit
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr uninit
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: cert_in_pool
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public IntPtr cert_in_pool
+ {
+ get
+ {
+ return this.Data.cert_in_pool;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.cert_in_pool = value;
+ }
+ }
+
+ /*
+ * Argument Name: get_cert
+ * Argument Type: PurpleCertificate *
+ * Argument Category: PointerToKnownStruct
+ */
+ public IntPtr get_cert
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: put_cert
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public IntPtr put_cert
+ {
+ get
+ {
+ return this.Data.put_cert;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.put_cert = value;
+ }
+ }
+
+ /*
+ * Argument Name: delete_cert
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public IntPtr delete_cert
+ {
+ get
+ {
+ return this.Data.delete_cert;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.delete_cert = value;
+ }
+ }
+
+ /*
+ * Argument Name: get_idlist
+ * Argument Type: GList *
+ * Argument Category: PointerToGList
+ */
+ public IntPtr get_idlist
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved1
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved2
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved3
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved4
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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)]
+ public class _PurpleCertificatePool
+ {
+ /*
+ * gchar * scheme_name
+ */
+ public string scheme_name;
+
+ /*
+ * gchar * name
+ */
+ public string name;
+
+ /*
+ * gchar * fullname
+ */
+ public string fullname;
+
+ /*
+ * gpointer data
+ */
+ public IntPtr data;
+
+ /*
+ * gboolean (*init)()
+ */
+ public IntPtr init;
+
+ /*
+ * void (*uninit)()
+ */
+ public IntPtr uninit;
+
+ /*
+ * gboolean (*cert_in_pool)(gchar * id)
+ */
+ public IntPtr cert_in_pool;
+
+ /*
+ * PurpleCertificate * (*get_cert)(gchar * id)
+ */
+ public IntPtr get_cert;
+
+ /*
+ * gboolean (*put_cert)(gchar * id, PurpleCertificate * crt)
+ */
+ public IntPtr put_cert;
+
+ /*
+ * gboolean (*delete_cert)(gchar * id)
+ */
+ public IntPtr delete_cert;
+
+ /*
+ * GList * (*get_idlist)()
+ */
+ public IntPtr get_idlist;
+
+ /*
+ * void (*_purple_reserved1)()
+ */
+ public IntPtr _purple_reserved1;
+
+ /*
+ * void (*_purple_reserved2)()
+ */
+ public IntPtr _purple_reserved2;
+
+ /*
+ * void (*_purple_reserved3)()
+ */
+ public IntPtr _purple_reserved3;
+
+ /*
+ * void (*_purple_reserved4)()
+ */
+ public IntPtr _purple_reserved4;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleCertificateScheme.cs fb0d4b31bde4d728a8c8e4628efa20e02b0d535b
+++ libpurple/wrapper/PurpleCertificateScheme.cs fb0d4b31bde4d728a8c8e4628efa20e02b0d535b
@@ -0,0 +1,492 @@
+/* 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
+{
+
+ /*
+ * File: certificate.h
+ * Structure: PurpleCertificateScheme
+ */
+ public class PurpleCertificateScheme : UnmanagedWrapper<_PurpleCertificateScheme>
+ {
+ public PurpleCertificateScheme()
+ {
+ }
+
+ public PurpleCertificateScheme(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleCertificateScheme)Marshal.PtrToStructure(this.Reference, typeof(_PurpleCertificateScheme));
+ }
+
+ /*
+ * Argument Name: name
+ * Argument Type: gchar *
+ * Argument Category: Native
+ */
+ public string name
+ {
+ get
+ {
+ return this.Data.name;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.name = value;
+ }
+ }
+
+ /*
+ * Argument Name: fullname
+ * Argument Type: gchar *
+ * Argument Category: Native
+ */
+ public string fullname
+ {
+ get
+ {
+ return this.Data.fullname;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.fullname = value;
+ }
+ }
+
+ /*
+ * Argument Name: import_certificate
+ * Argument Type: PurpleCertificate *
+ * Argument Category: PointerToKnownStruct
+ */
+ public IntPtr import_certificate
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: export_certificate
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public IntPtr export_certificate
+ {
+ get
+ {
+ return this.Data.export_certificate;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.export_certificate = value;
+ }
+ }
+
+ /*
+ * Argument Name: copy_certificate
+ * Argument Type: PurpleCertificate *
+ * Argument Category: PointerToKnownStruct
+ */
+ public IntPtr copy_certificate
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: destroy_certificate
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr destroy_certificate
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: signed_by
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public IntPtr signed_by
+ {
+ get
+ {
+ return this.Data.signed_by;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.signed_by = value;
+ }
+ }
+
+ /*
+ * Argument Name: get_fingerprint_sha1
+ * Argument Type: GByteArray *
+ * Argument Category: PointerToUnknownStruct
+ */
+ public IntPtr get_fingerprint_sha1
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: get_unique_id
+ * Argument Type: gchar *
+ * Argument Category: Native
+ */
+ public IntPtr get_unique_id
+ {
+ get
+ {
+ return this.Data.get_unique_id;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.get_unique_id = value;
+ }
+ }
+
+ /*
+ * Argument Name: get_issuer_unique_id
+ * Argument Type: gchar *
+ * Argument Category: Native
+ */
+ public IntPtr get_issuer_unique_id
+ {
+ get
+ {
+ return this.Data.get_issuer_unique_id;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.get_issuer_unique_id = value;
+ }
+ }
+
+ /*
+ * Argument Name: get_subject_name
+ * Argument Type: gchar *
+ * Argument Category: Native
+ */
+ public IntPtr get_subject_name
+ {
+ get
+ {
+ return this.Data.get_subject_name;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.get_subject_name = value;
+ }
+ }
+
+ /*
+ * Argument Name: check_subject_name
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public IntPtr check_subject_name
+ {
+ get
+ {
+ return this.Data.check_subject_name;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.check_subject_name = value;
+ }
+ }
+
+ /*
+ * Argument Name: get_times
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public IntPtr get_times
+ {
+ get
+ {
+ return this.Data.get_times;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.get_times = value;
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved1
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved2
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved3
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved4
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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)]
+ public class _PurpleCertificateScheme
+ {
+ /*
+ * gchar * name
+ */
+ public string name;
+
+ /*
+ * gchar * fullname
+ */
+ public string fullname;
+
+ /*
+ * PurpleCertificate * (*import_certificate)(gchar * filename)
+ */
+ public IntPtr import_certificate;
+
+ /*
+ * gboolean (*export_certificate)(gchar * filename, PurpleCertificate * crt)
+ */
+ public IntPtr export_certificate;
+
+ /*
+ * PurpleCertificate * (*copy_certificate)(PurpleCertificate * crt)
+ */
+ public IntPtr copy_certificate;
+
+ /*
+ * void (*destroy_certificate)(PurpleCertificate * crt)
+ */
+ public IntPtr destroy_certificate;
+
+ /*
+ * gboolean (*signed_by)(PurpleCertificate * crt, PurpleCertificate * issuer)
+ */
+ public IntPtr signed_by;
+
+ /*
+ * GByteArray * (*get_fingerprint_sha1)(PurpleCertificate * crt)
+ */
+ public IntPtr get_fingerprint_sha1;
+
+ /*
+ * gchar * (*get_unique_id)(PurpleCertificate * crt)
+ */
+ public IntPtr get_unique_id;
+
+ /*
+ * gchar * (*get_issuer_unique_id)(PurpleCertificate * crt)
+ */
+ public IntPtr get_issuer_unique_id;
+
+ /*
+ * gchar * (*get_subject_name)(PurpleCertificate * crt)
+ */
+ public IntPtr get_subject_name;
+
+ /*
+ * gboolean (*check_subject_name)(PurpleCertificate * crt, gchar * name)
+ */
+ public IntPtr check_subject_name;
+
+ /*
+ * gboolean (*get_times)(PurpleCertificate * crt, time_t * activation, time_t * expiration)
+ */
+ public IntPtr get_times;
+
+ /*
+ * void (*_purple_reserved1)()
+ */
+ public IntPtr _purple_reserved1;
+
+ /*
+ * void (*_purple_reserved2)()
+ */
+ public IntPtr _purple_reserved2;
+
+ /*
+ * void (*_purple_reserved3)()
+ */
+ public IntPtr _purple_reserved3;
+
+ /*
+ * void (*_purple_reserved4)()
+ */
+ public IntPtr _purple_reserved4;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleCertificateVerificationRequest.cs cfcc9ffbf62088223b555f982dfb89033b618712
+++ libpurple/wrapper/PurpleCertificateVerificationRequest.cs cfcc9ffbf62088223b555f982dfb89033b618712
@@ -0,0 +1,232 @@
+/* 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
+{
+
+ /*
+ * File: certificate.h
+ * Structure: PurpleCertificateVerificationRequest
+ */
+ public class PurpleCertificateVerificationRequest : UnmanagedWrapper<_PurpleCertificateVerificationRequest>
+ {
+ public PurpleCertificateVerificationRequest()
+ {
+ }
+
+ public PurpleCertificateVerificationRequest(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleCertificateVerificationRequest)Marshal.PtrToStructure(this.Reference, typeof(_PurpleCertificateVerificationRequest));
+ }
+
+ /*
+ * Argument Name: verifier
+ * Argument Type: PurpleCertificateVerifier *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: scheme
+ * Argument Type: PurpleCertificateScheme *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: subject_name
+ * Argument Type: gchar *
+ * Argument Category: Native
+ */
+ 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;
+ }
+ }
+
+ /*
+ * Argument Name: cert_chain
+ * Argument Type: GList *
+ * Argument Category: PointerToGList
+ */
+ /*
+ * Could not generate a wrapper for PurpleCertificateVerificationRequest.cert_chain in file "certificate.h".
+ * Message: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ /*
+ * Argument Name: data
+ * Argument Type: gpointer
+ * Argument Category: VoidPointer
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: cb
+ * Argument Type: PurpleCertificateVerifiedCallback
+ * Argument Category: KnownFunctionPointer
+ */
+ public Certificate.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. */
+ }
+ }
+
+ /*
+ * Argument Name: cb_data
+ * Argument Type: gpointer
+ * Argument Category: VoidPointer
+ */
+ 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)]
+ public class _PurpleCertificateVerificationRequest
+ {
+ /*
+ * PurpleCertificateVerifier * verifier
+ */
+ public IntPtr verifier;
+
+ /*
+ * PurpleCertificateScheme * scheme
+ */
+ public IntPtr scheme;
+
+ /*
+ * gchar * subject_name
+ */
+ public string subject_name;
+
+ /*
+ * GList * cert_chain
+ */
+ public IntPtr cert_chain;
+
+ /*
+ * gpointer data
+ */
+ public IntPtr data;
+
+ /*
+ * PurpleCertificateVerifiedCallback cb
+ */
+ public IntPtr cb;
+
+ /*
+ * gpointer cb_data
+ */
+ public IntPtr cb_data;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleCertificateVerifier.cs c224d405bbbc0870dd92b7f83dcc1bd42fa72c2f
+++ libpurple/wrapper/PurpleCertificateVerifier.cs c224d405bbbc0870dd92b7f83dcc1bd42fa72c2f
@@ -0,0 +1,267 @@
+/* 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
+{
+
+ /*
+ * File: certificate.h
+ * Structure: PurpleCertificateVerifier
+ */
+ public class PurpleCertificateVerifier : UnmanagedWrapper<_PurpleCertificateVerifier>
+ {
+ public PurpleCertificateVerifier()
+ {
+ }
+
+ public PurpleCertificateVerifier(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleCertificateVerifier)Marshal.PtrToStructure(this.Reference, typeof(_PurpleCertificateVerifier));
+ }
+
+ /*
+ * Argument Name: scheme_name
+ * Argument Type: gchar *
+ * Argument Category: Native
+ */
+ 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;
+ }
+ }
+
+ /*
+ * Argument Name: name
+ * Argument Type: gchar *
+ * Argument Category: Native
+ */
+ public string name
+ {
+ get
+ {
+ return this.Data.name;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.name = value;
+ }
+ }
+
+ /*
+ * Argument Name: start_verification
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr start_verification
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: destroy_request
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr destroy_request
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved1
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved2
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved3
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved4
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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)]
+ public class _PurpleCertificateVerifier
+ {
+ /*
+ * gchar * scheme_name
+ */
+ public string scheme_name;
+
+ /*
+ * gchar * name
+ */
+ public string name;
+
+ /*
+ * void (*start_verification)(PurpleCertificateVerificationRequest * vrq)
+ */
+ public IntPtr start_verification;
+
+ /*
+ * void (*destroy_request)(PurpleCertificateVerificationRequest * vrq)
+ */
+ public IntPtr destroy_request;
+
+ /*
+ * void (*_purple_reserved1)()
+ */
+ public IntPtr _purple_reserved1;
+
+ /*
+ * void (*_purple_reserved2)()
+ */
+ public IntPtr _purple_reserved2;
+
+ /*
+ * void (*_purple_reserved3)()
+ */
+ public IntPtr _purple_reserved3;
+
+ /*
+ * void (*_purple_reserved4)()
+ */
+ public IntPtr _purple_reserved4;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleChat.cs 7f9cb6dbfd1f9292b53cd6bb65e4bcc8c2be1268
+++ libpurple/wrapper/PurpleChat.cs 7f9cb6dbfd1f9292b53cd6bb65e4bcc8c2be1268
@@ -0,0 +1,150 @@
+/* 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
+{
+
+ /*
+ * File: blist.h
+ * Structure: PurpleChat
+ */
+ public class PurpleChat : UnmanagedWrapper<_PurpleChat>
+ {
+ public PurpleChat()
+ {
+ }
+
+ public PurpleChat(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleChat)Marshal.PtrToStructure(this.Reference, typeof(_PurpleChat));
+ }
+
+ /*
+ * Argument Name: node
+ * Argument Type: PurpleBlistNode
+ * Argument Category: KnownStruct
+ */
+ /*
+ * Could not generate a wrapper for PurpleChat.node in file "blist.h".
+ * Message: The struct contains an object that resolves to a function that is not a function pointer (PurpleBlistNode node).
+ */
+
+ /*
+ * Argument Name: alias
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string alias
+ {
+ get
+ {
+ return this.Data.alias;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.alias = value;
+ }
+ }
+
+ /*
+ * Argument Name: components
+ * Argument Type: GHashTable *
+ * Argument Category: PointerToGHashTable
+ */
+ /*
+ * Could not generate a wrapper for PurpleChat.components in file "blist.h".
+ * Message: Unable to provide a type for HashTable as no function information was provided in code.
+ */
+
+ /*
+ * Argument Name: account
+ * Argument Type: PurpleAccount *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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)]
+ public class _PurpleChat
+ {
+ /*
+ * PurpleBlistNode node
+ */
+ /*
+ * Could not generate a wrapper for PurpleChat.node in file "blist.h".
+ * Message: The struct contains an object that resolves to a function that is not a function pointer (PurpleBlistNode node).
+ */
+
+ /*
+ * char * alias
+ */
+ public string alias;
+
+ /*
+ * GHashTable * components
+ */
+ public IntPtr components;
+
+ /*
+ * PurpleAccount * account
+ */
+ public IntPtr account;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleCipherOps.cs 60d9c73757ad92643435345990521b9ddf2d70dd
+++ libpurple/wrapper/PurpleCipherOps.cs 60d9c73757ad92643435345990521b9ddf2d70dd
@@ -0,0 +1,517 @@
+/* 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
+{
+
+ /*
+ * File: cipher.h
+ * Structure: PurpleCipherOps
+ */
+ public class PurpleCipherOps : UnmanagedWrapper<_PurpleCipherOps>
+ {
+ public PurpleCipherOps()
+ {
+ }
+
+ public PurpleCipherOps(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleCipherOps)Marshal.PtrToStructure(this.Reference, typeof(_PurpleCipherOps));
+ }
+
+ /*
+ * Argument Name: set_option
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr set_option
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: get_option
+ * Argument Type: void *
+ * Argument Category: VoidPointer
+ */
+ public IntPtr get_option
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: init
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr init
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: reset
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr reset
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: uninit
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr uninit
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: set_iv
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr set_iv
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: append
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr append
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: digest
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public IntPtr digest
+ {
+ get
+ {
+ return this.Data.digest;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.digest = value;
+ }
+ }
+
+ /*
+ * Argument Name: encrypt
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ public IntPtr encrypt
+ {
+ get
+ {
+ return this.Data.encrypt;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.encrypt = value;
+ }
+ }
+
+ /*
+ * Argument Name: decrypt
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ public IntPtr decrypt
+ {
+ get
+ {
+ return this.Data.decrypt;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.decrypt = value;
+ }
+ }
+
+ /*
+ * Argument Name: set_salt
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr set_salt
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: get_salt_size
+ * Argument Type: size_t
+ * Argument Category: Native
+ */
+ public IntPtr get_salt_size
+ {
+ get
+ {
+ return this.Data.get_salt_size;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.get_salt_size = value;
+ }
+ }
+
+ /*
+ * Argument Name: set_key
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr set_key
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: get_key_size
+ * Argument Type: size_t
+ * Argument Category: Native
+ */
+ public IntPtr get_key_size
+ {
+ get
+ {
+ return this.Data.get_key_size;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.get_key_size = value;
+ }
+ }
+
+ /*
+ * Argument Name: set_batch_mode
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr set_batch_mode
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: get_batch_mode
+ * Argument Type: PurpleCipherBatchMode
+ * Argument Category: KnownEnum
+ */
+ public IntPtr get_batch_mode
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: get_block_size
+ * Argument Type: size_t
+ * Argument Category: Native
+ */
+ public IntPtr get_block_size
+ {
+ get
+ {
+ return this.Data.get_block_size;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.get_block_size = value;
+ }
+ }
+
+ /*
+ * Argument Name: set_key_with_len
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr set_key_with_len
+ {
+ 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)]
+ public class _PurpleCipherOps
+ {
+ /*
+ * void (*set_option)(PurpleCipherContext * context, gchar * name, void * value)
+ */
+ public IntPtr set_option;
+
+ /*
+ * void * (*get_option)(PurpleCipherContext * context, gchar * name)
+ */
+ public IntPtr get_option;
+
+ /*
+ * void (*init)(PurpleCipherContext * context, void * extra)
+ */
+ public IntPtr init;
+
+ /*
+ * void (*reset)(PurpleCipherContext * context, void * extra)
+ */
+ public IntPtr reset;
+
+ /*
+ * void (*uninit)(PurpleCipherContext * context)
+ */
+ public IntPtr uninit;
+
+ /*
+ * void (*set_iv)(PurpleCipherContext * context, guchar * iv, size_t len)
+ */
+ public IntPtr set_iv;
+
+ /*
+ * void (*append)(PurpleCipherContext * context, guchar * data, size_t len)
+ */
+ public IntPtr append;
+
+ /*
+ * gboolean (*digest)(PurpleCipherContext * context, size_t in_len, guchar digest[], size_t * out_len)
+ */
+ public IntPtr digest;
+
+ /*
+ * int (*encrypt)(PurpleCipherContext * context, guchar data[], size_t len, guchar output[], size_t * outlen)
+ */
+ public IntPtr encrypt;
+
+ /*
+ * int (*decrypt)(PurpleCipherContext * context, guchar data[], size_t len, guchar output[], size_t * outlen)
+ */
+ public IntPtr decrypt;
+
+ /*
+ * void (*set_salt)(PurpleCipherContext * context, guchar * salt)
+ */
+ public IntPtr set_salt;
+
+ /*
+ * size_t (*get_salt_size)(PurpleCipherContext * context)
+ */
+ public IntPtr get_salt_size;
+
+ /*
+ * void (*set_key)(PurpleCipherContext * context, guchar * key)
+ */
+ public IntPtr set_key;
+
+ /*
+ * size_t (*get_key_size)(PurpleCipherContext * context)
+ */
+ public IntPtr get_key_size;
+
+ /*
+ * void (*set_batch_mode)(PurpleCipherContext * context, PurpleCipherBatchMode mode)
+ */
+ public IntPtr set_batch_mode;
+
+ /*
+ * PurpleCipherBatchMode (*get_batch_mode)(PurpleCipherContext * context)
+ */
+ public IntPtr get_batch_mode;
+
+ /*
+ * size_t (*get_block_size)(PurpleCipherContext * context)
+ */
+ public IntPtr get_block_size;
+
+ /*
+ * void (*set_key_with_len)(PurpleCipherContext * context, guchar * key, size_t len)
+ */
+ public IntPtr set_key_with_len;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleCircBuffer.cs 5c6f6f1f40ee9a090dfdd7c25fd68fb9ddd728b9
+++ libpurple/wrapper/PurpleCircBuffer.cs 5c6f6f1f40ee9a090dfdd7c25fd68fb9ddd728b9
@@ -0,0 +1,217 @@
+/* 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
+{
+
+ /*
+ * File: circbuffer.h
+ * Structure: PurpleCircBuffer
+ */
+ public class PurpleCircBuffer : UnmanagedWrapper<_PurpleCircBuffer>
+ {
+ public PurpleCircBuffer()
+ {
+ }
+
+ public PurpleCircBuffer(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleCircBuffer)Marshal.PtrToStructure(this.Reference, typeof(_PurpleCircBuffer));
+ }
+
+ /*
+ * Argument Name: buffer
+ * Argument Type: gchar *
+ * Argument Category: Native
+ */
+ public string buffer
+ {
+ get
+ {
+ return this.Data.buffer;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.buffer = value;
+ }
+ }
+
+ /*
+ * Argument Name: growsize
+ * Argument Type: gsize
+ * Argument Category: Native
+ */
+ public ulong growsize
+ {
+ get
+ {
+ return this.Data.growsize;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.growsize = value;
+ }
+ }
+
+ /*
+ * Argument Name: buflen
+ * Argument Type: gsize
+ * Argument Category: Native
+ */
+ public ulong buflen
+ {
+ get
+ {
+ return this.Data.buflen;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.buflen = value;
+ }
+ }
+
+ /*
+ * Argument Name: bufused
+ * Argument Type: gsize
+ * Argument Category: Native
+ */
+ public ulong bufused
+ {
+ get
+ {
+ return this.Data.bufused;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.bufused = value;
+ }
+ }
+
+ /*
+ * Argument Name: inptr
+ * Argument Type: gchar *
+ * Argument Category: Native
+ */
+ public string inptr
+ {
+ get
+ {
+ return this.Data.inptr;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.inptr = value;
+ }
+ }
+
+ /*
+ * Argument Name: outptr
+ * Argument Type: gchar *
+ * Argument Category: Native
+ */
+ 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)]
+ public class _PurpleCircBuffer
+ {
+ /*
+ * gchar * buffer
+ */
+ public string buffer;
+
+ /*
+ * gsize growsize
+ */
+ public ulong growsize;
+
+ /*
+ * gsize buflen
+ */
+ public ulong buflen;
+
+ /*
+ * gsize bufused
+ */
+ public ulong bufused;
+
+ /*
+ * gchar * inptr
+ */
+ public string inptr;
+
+ /*
+ * gchar * outptr
+ */
+ public string outptr;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleClient.cs 378a383b6cfd1ec7ba221ff96e0b3cb432a61c70
+++ libpurple/wrapper/PurpleClient.cs 378a383b6cfd1ec7ba221ff96e0b3cb432a61c70
@@ -0,0 +1,67 @@
+/* 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
+{
+
+ /*
+ * File: purple-client.h
+ */
+ public class PurpleClient
+ {
+
+ /*
+ * Function Name: purple_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_init();
+
+ public static void Init()
+ {
+ purple_init();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/PurpleConnection.cs a8fe0dc9574fda9e65ce0d580ed12346f46b3053
+++ libpurple/wrapper/PurpleConnection.cs a8fe0dc9574fda9e65ce0d580ed12346f46b3053
@@ -0,0 +1,382 @@
+/* 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
+{
+
+ /*
+ * File: connection.h
+ * Structure: PurpleConnection
+ */
+ public class PurpleConnection : UnmanagedWrapper<_PurpleConnection>
+ {
+ public PurpleConnection()
+ {
+ }
+
+ public PurpleConnection(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleConnection)Marshal.PtrToStructure(this.Reference, typeof(_PurpleConnection));
+ }
+
+ /*
+ * Argument Name: prpl
+ * Argument Type: PurplePlugin *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: flags
+ * Argument Type: PurpleConnectionFlags
+ * Argument Category: KnownEnum
+ */
+ public Connection.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. */
+ }
+ }
+
+ /*
+ * Argument Name: state
+ * Argument Type: PurpleConnectionState
+ * Argument Category: KnownEnum
+ */
+ public Connection.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. */
+ }
+ }
+
+ /*
+ * Argument Name: account
+ * Argument Type: PurpleAccount *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: password
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string password
+ {
+ get
+ {
+ return this.Data.password;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.password = value;
+ }
+ }
+
+ /*
+ * Argument Name: inpa
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ public int inpa
+ {
+ get
+ {
+ return this.Data.inpa;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.inpa = value;
+ }
+ }
+
+ /*
+ * Argument Name: buddy_chats
+ * Argument Type: GSList *
+ * Argument Category: PointerToGSList
+ */
+ /*
+ * Could not generate a wrapper for PurpleConnection.buddy_chats in file "connection.h".
+ * Message: Unable to provide a type for GSList as no function information was provided in code.
+ */
+
+ /*
+ * Argument Name: proto_data
+ * Argument Type: void *
+ * Argument Category: VoidPointer
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: display_name
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ 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;
+ }
+ }
+
+ /*
+ * Argument Name: keepalive
+ * Argument Type: guint
+ * Argument Category: Native
+ */
+ public uint keepalive
+ {
+ get
+ {
+ return this.Data.keepalive;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.keepalive = value;
+ }
+ }
+
+ /*
+ * Argument Name: wants_to_die
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ 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;
+ }
+ }
+
+ /*
+ * Argument Name: disconnect_timeout
+ * Argument Type: guint
+ * Argument Category: Native
+ */
+ 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;
+ }
+ }
+
+ /*
+ * Argument Name: last_received
+ * Argument Type: time_t
+ * Argument Category: DateTime
+ */
+ public DateTime 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)]
+ public class _PurpleConnection
+ {
+ /*
+ * PurplePlugin * prpl
+ */
+ public IntPtr prpl;
+
+ /*
+ * PurpleConnectionFlags flags
+ */
+ public Connection.PurpleConnectionFlags flags;
+
+ /*
+ * PurpleConnectionState state
+ */
+ public Connection.PurpleConnectionState state;
+
+ /*
+ * PurpleAccount * account
+ */
+ public IntPtr account;
+
+ /*
+ * char * password
+ */
+ public string password;
+
+ /*
+ * int inpa
+ */
+ public int inpa;
+
+ /*
+ * GSList * buddy_chats
+ */
+ public IntPtr buddy_chats;
+
+ /*
+ * void * proto_data
+ */
+ public IntPtr proto_data;
+
+ /*
+ * char * display_name
+ */
+ public string display_name;
+
+ /*
+ * guint keepalive
+ */
+ public uint keepalive;
+
+ /*
+ * gboolean wants_to_die
+ */
+ public bool wants_to_die;
+
+ /*
+ * guint disconnect_timeout
+ */
+ public uint disconnect_timeout;
+
+ /*
+ * time_t last_received
+ */
+ public ulong last_received;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleContact.cs e6c1bde12e225fb3fb721ed175a615023b31bb47
+++ libpurple/wrapper/PurpleContact.cs e6c1bde12e225fb3fb721ed175a615023b31bb47
@@ -0,0 +1,235 @@
+/* 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
+{
+
+ /*
+ * File: blist.h
+ * Structure: PurpleContact
+ */
+ public class PurpleContact : UnmanagedWrapper<_PurpleContact>
+ {
+ public PurpleContact()
+ {
+ }
+
+ public PurpleContact(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleContact)Marshal.PtrToStructure(this.Reference, typeof(_PurpleContact));
+ }
+
+ /*
+ * Argument Name: node
+ * Argument Type: PurpleBlistNode
+ * Argument Category: KnownStruct
+ */
+ /*
+ * Could not generate a wrapper for PurpleContact.node in file "blist.h".
+ * Message: The struct contains an object that resolves to a function that is not a function pointer (PurpleBlistNode node).
+ */
+
+ /*
+ * Argument Name: alias
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string alias
+ {
+ get
+ {
+ return this.Data.alias;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.alias = value;
+ }
+ }
+
+ /*
+ * Argument Name: totalsize
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ public int totalsize
+ {
+ get
+ {
+ return this.Data.totalsize;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.totalsize = value;
+ }
+ }
+
+ /*
+ * Argument Name: currentsize
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ public int currentsize
+ {
+ get
+ {
+ return this.Data.currentsize;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.currentsize = value;
+ }
+ }
+
+ /*
+ * Argument Name: online
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ public int online
+ {
+ get
+ {
+ return this.Data.online;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.online = value;
+ }
+ }
+
+ /*
+ * Argument Name: priority
+ * Argument Type: PurpleBuddy *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: priority_valid
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ 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)]
+ public class _PurpleContact
+ {
+ /*
+ * PurpleBlistNode node
+ */
+ /*
+ * Could not generate a wrapper for PurpleContact.node in file "blist.h".
+ * Message: The struct contains an object that resolves to a function that is not a function pointer (PurpleBlistNode node).
+ */
+
+ /*
+ * char * alias
+ */
+ public string alias;
+
+ /*
+ * int totalsize
+ */
+ public int totalsize;
+
+ /*
+ * int currentsize
+ */
+ public int currentsize;
+
+ /*
+ * int online
+ */
+ public int online;
+
+ /*
+ * PurpleBuddy * priority
+ */
+ public IntPtr priority;
+
+ /*
+ * gboolean priority_valid
+ */
+ public bool priority_valid;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleConvChat.cs 6c9eb1aba2d75abba2142f895db04c77528842e3
+++ libpurple/wrapper/PurpleConvChat.cs 6c9eb1aba2d75abba2142f895db04c77528842e3
@@ -0,0 +1,247 @@
+/* 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
+{
+
+ /*
+ * File: conversation.h
+ * Structure: PurpleConvChat
+ */
+ public class PurpleConvChat : UnmanagedWrapper<_PurpleConvChat>
+ {
+ public PurpleConvChat()
+ {
+ }
+
+ public PurpleConvChat(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleConvChat)Marshal.PtrToStructure(this.Reference, typeof(_PurpleConvChat));
+ }
+
+ /*
+ * Argument Name: conv
+ * Argument Type: PurpleConversation *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: in_room
+ * Argument Type: GList *
+ * Argument Category: PointerToGList
+ */
+ /*
+ * Could not generate a wrapper for PurpleConvChat.in_room in file "conversation.h".
+ * Message: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ /*
+ * Argument Name: ignored
+ * Argument Type: GList *
+ * Argument Category: PointerToGList
+ */
+ /*
+ * Could not generate a wrapper for PurpleConvChat.ignored in file "conversation.h".
+ * Message: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ /*
+ * Argument Name: who
+ * Argument Type: char *
+ * Argument Category: PointerToUnknownStruct
+ */
+ public /* Resolved as PointerToUnknownStruct to char */ IntPtr who
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: topic
+ * Argument Type: char *
+ * Argument Category: PointerToUnknownStruct
+ */
+ public /* Resolved as PointerToUnknownStruct to char */ IntPtr topic
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: id
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ public int id
+ {
+ get
+ {
+ return this.Data.id;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.id = value;
+ }
+ }
+
+ /*
+ * Argument Name: nick
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string nick
+ {
+ get
+ {
+ return this.Data.nick;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.nick = value;
+ }
+ }
+
+ /*
+ * Argument Name: left
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ 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)]
+ public class _PurpleConvChat
+ {
+ /*
+ * PurpleConversation * conv
+ */
+ public IntPtr conv;
+
+ /*
+ * GList * in_room
+ */
+ public IntPtr in_room;
+
+ /*
+ * GList * ignored
+ */
+ public IntPtr ignored;
+
+ /*
+ * char * who
+ */
+ public IntPtr who;
+
+ /*
+ * char * topic
+ */
+ public IntPtr topic;
+
+ /*
+ * int id
+ */
+ public int id;
+
+ /*
+ * char * nick
+ */
+ public string nick;
+
+ /*
+ * gboolean left
+ */
+ public bool left;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleConvChatBuddy.cs a70c61b3667a595fa30e0468d462b94f3707bf80
+++ libpurple/wrapper/PurpleConvChatBuddy.cs a70c61b3667a595fa30e0468d462b94f3707bf80
@@ -0,0 +1,192 @@
+/* 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
+{
+
+ /*
+ * File: conversation.h
+ * Structure: PurpleConvChatBuddy
+ */
+ public class PurpleConvChatBuddy : UnmanagedWrapper<_PurpleConvChatBuddy>
+ {
+ public PurpleConvChatBuddy()
+ {
+ }
+
+ public PurpleConvChatBuddy(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleConvChatBuddy)Marshal.PtrToStructure(this.Reference, typeof(_PurpleConvChatBuddy));
+ }
+
+ /*
+ * Argument Name: name
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string name
+ {
+ get
+ {
+ return this.Data.name;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.name = value;
+ }
+ }
+
+ /*
+ * Argument Name: alias
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string alias
+ {
+ get
+ {
+ return this.Data.alias;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.alias = value;
+ }
+ }
+
+ /*
+ * Argument Name: alias_key
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string alias_key
+ {
+ get
+ {
+ return this.Data.alias_key;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.alias_key = value;
+ }
+ }
+
+ /*
+ * Argument Name: buddy
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public bool buddy
+ {
+ get
+ {
+ return this.Data.buddy;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.buddy = value;
+ }
+ }
+
+ /*
+ * Argument Name: flags
+ * Argument Type: PurpleConvChatBuddyFlags
+ * Argument Category: KnownEnum
+ */
+ public Conversation.PurpleConvChatBuddyFlags 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)]
+ public class _PurpleConvChatBuddy
+ {
+ /*
+ * char * name
+ */
+ public string name;
+
+ /*
+ * char * alias
+ */
+ public string alias;
+
+ /*
+ * char * alias_key
+ */
+ public string alias_key;
+
+ /*
+ * gboolean buddy
+ */
+ public bool buddy;
+
+ /*
+ * PurpleConvChatBuddyFlags flags
+ */
+ public Conversation.PurpleConvChatBuddyFlags flags;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleConvIm.cs 841f60f7bc4a161f808f8fbd52c8ff78312fbec4
+++ libpurple/wrapper/PurpleConvIm.cs 841f60f7bc4a161f808f8fbd52c8ff78312fbec4
@@ -0,0 +1,217 @@
+/* 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
+{
+
+ /*
+ * File: conversation.h
+ * Structure: PurpleConvIm
+ */
+ public class PurpleConvIm : UnmanagedWrapper<_PurpleConvIm>
+ {
+ public PurpleConvIm()
+ {
+ }
+
+ public PurpleConvIm(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleConvIm)Marshal.PtrToStructure(this.Reference, typeof(_PurpleConvIm));
+ }
+
+ /*
+ * Argument Name: conv
+ * Argument Type: PurpleConversation *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: typing_state
+ * Argument Type: PurpleTypingState
+ * Argument Category: KnownEnum
+ */
+ public Conversation.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. */
+ }
+ }
+
+ /*
+ * Argument Name: typing_timeout
+ * Argument Type: guint
+ * Argument Category: Native
+ */
+ 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;
+ }
+ }
+
+ /*
+ * Argument Name: type_again
+ * Argument Type: time_t
+ * Argument Category: DateTime
+ */
+ public DateTime 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. */
+ }
+ }
+
+ /*
+ * Argument Name: send_typed_timeout
+ * Argument Type: guint
+ * Argument Category: Native
+ */
+ 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;
+ }
+ }
+
+ /*
+ * Argument Name: icon
+ * Argument Type: PurpleBuddyIcon *
+ * Argument Category: PointerToUnknownStruct
+ */
+ public /* Resolved as PointerToUnknownStruct to PurpleBuddyIcon */ IntPtr 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)]
+ public class _PurpleConvIm
+ {
+ /*
+ * PurpleConversation * conv
+ */
+ public IntPtr conv;
+
+ /*
+ * PurpleTypingState typing_state
+ */
+ public Conversation.PurpleTypingState typing_state;
+
+ /*
+ * guint typing_timeout
+ */
+ public uint typing_timeout;
+
+ /*
+ * time_t type_again
+ */
+ public ulong type_again;
+
+ /*
+ * guint send_typed_timeout
+ */
+ public uint send_typed_timeout;
+
+ /*
+ * PurpleBuddyIcon * icon
+ */
+ public IntPtr icon;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleConvMessage.cs b7b894d07dc0b25daa902a80f73f276f25e6513d
+++ libpurple/wrapper/PurpleConvMessage.cs b7b894d07dc0b25daa902a80f73f276f25e6513d
@@ -0,0 +1,217 @@
+/* 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
+{
+
+ /*
+ * File: conversation.h
+ * Structure: PurpleConvMessage
+ */
+ public class PurpleConvMessage : UnmanagedWrapper<_PurpleConvMessage>
+ {
+ public PurpleConvMessage()
+ {
+ }
+
+ public PurpleConvMessage(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleConvMessage)Marshal.PtrToStructure(this.Reference, typeof(_PurpleConvMessage));
+ }
+
+ /*
+ * Argument Name: who
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string who
+ {
+ get
+ {
+ return this.Data.who;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.who = value;
+ }
+ }
+
+ /*
+ * Argument Name: what
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string what
+ {
+ get
+ {
+ return this.Data.what;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.what = value;
+ }
+ }
+
+ /*
+ * Argument Name: flags
+ * Argument Type: PurpleMessageFlags
+ * Argument Category: KnownEnum
+ */
+ public Conversation.PurpleMessageFlags flags
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: when
+ * Argument Type: time_t
+ * Argument Category: DateTime
+ */
+ public DateTime when
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: conv
+ * Argument Type: PurpleConversation *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: alias
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string alias
+ {
+ get
+ {
+ return this.Data.alias;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.alias = value;
+ }
+ }
+
+ }
+
+
+ [StructLayout(LayoutKind.Sequential)]
+ public class _PurpleConvMessage
+ {
+ /*
+ * char * who
+ */
+ public string who;
+
+ /*
+ * char * what
+ */
+ public string what;
+
+ /*
+ * PurpleMessageFlags flags
+ */
+ public Conversation.PurpleMessageFlags flags;
+
+ /*
+ * time_t when
+ */
+ public ulong when;
+
+ /*
+ * PurpleConversation * conv
+ */
+ public IntPtr conv;
+
+ /*
+ * char * alias
+ */
+ public string alias;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleConversation.cs 8a00b4fca90be368184fda439042d0ccbb29566b
+++ libpurple/wrapper/PurpleConversation.cs 8a00b4fca90be368184fda439042d0ccbb29566b
@@ -0,0 +1,279 @@
+/* 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
+{
+
+ /*
+ * File: conversation.h
+ * Structure: PurpleConversation
+ */
+ public class PurpleConversation : UnmanagedWrapper<_PurpleConversation>
+ {
+ public PurpleConversation()
+ {
+ }
+
+ public PurpleConversation(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleConversation)Marshal.PtrToStructure(this.Reference, typeof(_PurpleConversation));
+ }
+
+ /*
+ * Argument Name: type
+ * Argument Type: PurpleConversationType
+ * Argument Category: KnownEnum
+ */
+ public Conversation.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. */
+ }
+ }
+
+ /*
+ * Argument Name: account
+ * Argument Type: PurpleAccount *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: name
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string name
+ {
+ get
+ {
+ return this.Data.name;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.name = value;
+ }
+ }
+
+ /*
+ * Argument Name: title
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string title
+ {
+ get
+ {
+ return this.Data.title;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.title = value;
+ }
+ }
+
+ /*
+ * Argument Name: logging
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public bool logging
+ {
+ get
+ {
+ return this.Data.logging;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.logging = value;
+ }
+ }
+
+ /*
+ * Argument Name: logs
+ * Argument Type: GList *
+ * Argument Category: PointerToGList
+ */
+ /*
+ * Could not generate a wrapper for PurpleConversation.logs in file "conversation.h".
+ * Message: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ /*
+ * Argument Name: {
+ PurpleConvIm *im
+ * Argument Type: union
+ * Argument Category: InnerStruct
+ */
+ /*
+ * Could not generate a wrapper for PurpleConversation.{
+ PurpleConvIm *im in file "conversation.h".
+ * Message: The struct contains an inner-struct or inner-union and cannot be automatically wrapped.
+ */
+
+ /*
+ * Argument Name: chat
+ * Argument Type: PurpleConvChat *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: misc
+ * Argument Type: void *
+ * Argument Category: VoidPointer
+ */
+ 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. */
+ }
+ }
+
+ }
+
+
+ [StructLayout(LayoutKind.Sequential)]
+ public class _PurpleConversation
+ {
+ /*
+ * PurpleConversationType type
+ */
+ public Conversation.PurpleConversationType type;
+
+ /*
+ * PurpleAccount * account
+ */
+ public IntPtr account;
+
+ /*
+ * char * name
+ */
+ public string name;
+
+ /*
+ * char * title
+ */
+ public string title;
+
+ /*
+ * gboolean logging
+ */
+ public bool logging;
+
+ /*
+ * GList * logs
+ */
+ public IntPtr logs;
+
+ /*
+ * union {
+ PurpleConvIm *im
+ */
+ /*
+ * Could not generate a wrapper for PurpleConversation.{
+ PurpleConvIm *im in file "conversation.h".
+ * Message: The struct contains an inner-struct or inner-union and cannot be automatically wrapped.
+ */
+
+ /*
+ * PurpleConvChat * chat
+ */
+ public IntPtr chat;
+
+ /*
+ * void * misc
+ */
+ public IntPtr misc;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleConversationUiOps.cs e9ce7305ad865b0caa177922753415a170d5ff77
+++ libpurple/wrapper/PurpleConversationUiOps.cs e9ce7305ad865b0caa177922753415a170d5ff77
@@ -0,0 +1,542 @@
+/* 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
+{
+
+ /*
+ * File: conversation.h
+ * Structure: PurpleConversationUiOps
+ */
+ public class PurpleConversationUiOps : UnmanagedWrapper<_PurpleConversationUiOps>
+ {
+ public PurpleConversationUiOps()
+ {
+ }
+
+ public PurpleConversationUiOps(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleConversationUiOps)Marshal.PtrToStructure(this.Reference, typeof(_PurpleConversationUiOps));
+ }
+
+ /*
+ * Argument Name: create_conversation
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr create_conversation
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: destroy_conversation
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr destroy_conversation
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: write_chat
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr write_chat
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: write_im
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr write_im
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: write_conv
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr write_conv
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: chat_add_users
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr chat_add_users
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: chat_rename_user
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr chat_rename_user
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: chat_remove_users
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr chat_remove_users
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: chat_update_user
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr chat_update_user
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: present
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr present
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: has_focus
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public IntPtr has_focus
+ {
+ get
+ {
+ return this.Data.has_focus;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.has_focus = value;
+ }
+ }
+
+ /*
+ * Argument Name: custom_smiley_add
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public IntPtr custom_smiley_add
+ {
+ get
+ {
+ return this.Data.custom_smiley_add;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.custom_smiley_add = value;
+ }
+ }
+
+ /*
+ * Argument Name: custom_smiley_write
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr custom_smiley_write
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: custom_smiley_close
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr custom_smiley_close
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: send_confirm
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr send_confirm
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved1
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved2
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved3
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved4
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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)]
+ public class _PurpleConversationUiOps
+ {
+ /*
+ * void (*create_conversation)(PurpleConversation * conv)
+ */
+ public IntPtr create_conversation;
+
+ /*
+ * void (*destroy_conversation)(PurpleConversation * conv)
+ */
+ public IntPtr destroy_conversation;
+
+ /*
+ * void (*write_chat)(PurpleConversation * conv, char * who, char * message, PurpleMessageFlags flags, time_t mtime)
+ */
+ public IntPtr write_chat;
+
+ /*
+ * void (*write_im)(PurpleConversation * conv, char * who, char * message, PurpleMessageFlags flags, time_t mtime)
+ */
+ public IntPtr write_im;
+
+ /*
+ * void (*write_conv)(PurpleConversation * conv, char * name, char * alias, char * message, PurpleMessageFlags flags, time_t mtime)
+ */
+ public IntPtr write_conv;
+
+ /*
+ * void (*chat_add_users)(PurpleConversation * conv, GList * cbuddies, gboolean new_arrivals)
+ */
+ public IntPtr chat_add_users;
+
+ /*
+ * void (*chat_rename_user)(PurpleConversation * conv, char * old_name, char * new_name, char * new_alias)
+ */
+ public IntPtr chat_rename_user;
+
+ /*
+ * void (*chat_remove_users)(PurpleConversation * conv, GList * users)
+ */
+ public IntPtr chat_remove_users;
+
+ /*
+ * void (*chat_update_user)(PurpleConversation * conv, char * user)
+ */
+ public IntPtr chat_update_user;
+
+ /*
+ * void (*present)(PurpleConversation * conv)
+ */
+ public IntPtr present;
+
+ /*
+ * gboolean (*has_focus)(PurpleConversation * conv)
+ */
+ public IntPtr has_focus;
+
+ /*
+ * gboolean (*custom_smiley_add)(PurpleConversation * conv, char * smile, gboolean remote)
+ */
+ public IntPtr custom_smiley_add;
+
+ /*
+ * void (*custom_smiley_write)(PurpleConversation * conv, char * smile, guchar * data, gsize size)
+ */
+ public IntPtr custom_smiley_write;
+
+ /*
+ * void (*custom_smiley_close)(PurpleConversation * conv, char * smile)
+ */
+ public IntPtr custom_smiley_close;
+
+ /*
+ * void (*send_confirm)(PurpleConversation * conv, char * message)
+ */
+ public IntPtr send_confirm;
+
+ /*
+ * void (*_purple_reserved1)()
+ */
+ public IntPtr _purple_reserved1;
+
+ /*
+ * void (*_purple_reserved2)()
+ */
+ public IntPtr _purple_reserved2;
+
+ /*
+ * void (*_purple_reserved3)()
+ */
+ public IntPtr _purple_reserved3;
+
+ /*
+ * void (*_purple_reserved4)()
+ */
+ public IntPtr _purple_reserved4;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleEventLoopUiOps.cs 4927f3cf427845d0cb130f9326e7001f9eca58eb
+++ libpurple/wrapper/PurpleEventLoopUiOps.cs 4927f3cf427845d0cb130f9326e7001f9eca58eb
@@ -0,0 +1,292 @@
+/* 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
+{
+
+ /*
+ * File: eventloop.h
+ * Structure: PurpleEventLoopUiOps
+ */
+ public class PurpleEventLoopUiOps : UnmanagedWrapper<_PurpleEventLoopUiOps>
+ {
+ public PurpleEventLoopUiOps()
+ {
+ }
+
+ public PurpleEventLoopUiOps(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleEventLoopUiOps)Marshal.PtrToStructure(this.Reference, typeof(_PurpleEventLoopUiOps));
+ }
+
+ /*
+ * Argument Name: timeout_add
+ * Argument Type: guint
+ * Argument Category: Native
+ */
+ public IntPtr timeout_add
+ {
+ get
+ {
+ return this.Data.timeout_add;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.timeout_add = value;
+ }
+ }
+
+ /*
+ * Argument Name: timeout_remove
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public IntPtr timeout_remove
+ {
+ get
+ {
+ return this.Data.timeout_remove;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.timeout_remove = value;
+ }
+ }
+
+ /*
+ * Argument Name: input_add
+ * Argument Type: guint
+ * Argument Category: Native
+ */
+ public IntPtr input_add
+ {
+ get
+ {
+ return this.Data.input_add;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.input_add = value;
+ }
+ }
+
+ /*
+ * Argument Name: input_remove
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public IntPtr input_remove
+ {
+ get
+ {
+ return this.Data.input_remove;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.input_remove = value;
+ }
+ }
+
+ /*
+ * Argument Name: input_get_error
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ public IntPtr input_get_error
+ {
+ get
+ {
+ return this.Data.input_get_error;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.input_get_error = value;
+ }
+ }
+
+ /*
+ * Argument Name: timeout_add_seconds
+ * Argument Type: guint
+ * Argument Category: Native
+ */
+ public IntPtr timeout_add_seconds
+ {
+ get
+ {
+ return this.Data.timeout_add_seconds;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.timeout_add_seconds = value;
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved2
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved3
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved4
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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)]
+ public class _PurpleEventLoopUiOps
+ {
+ /*
+ * guint (*timeout_add)(guint interval, GSourceFunc function, gpointer data)
+ */
+ public IntPtr timeout_add;
+
+ /*
+ * gboolean (*timeout_remove)(guint handle)
+ */
+ public IntPtr timeout_remove;
+
+ /*
+ * guint (*input_add)(int fd, PurpleInputCondition cond, PurpleInputFunction func, gpointer user_data)
+ */
+ public IntPtr input_add;
+
+ /*
+ * gboolean (*input_remove)(guint handle)
+ */
+ public IntPtr input_remove;
+
+ /*
+ * int (*input_get_error)(int fd, int * error)
+ */
+ public IntPtr input_get_error;
+
+ /*
+ * guint (*timeout_add_seconds)(guint interval, GSourceFunc function, gpointer data)
+ */
+ public IntPtr timeout_add_seconds;
+
+ /*
+ * void (*_purple_reserved2)()
+ */
+ public IntPtr _purple_reserved2;
+
+ /*
+ * void (*_purple_reserved3)()
+ */
+ public IntPtr _purple_reserved3;
+
+ /*
+ * void (*_purple_reserved4)()
+ */
+ public IntPtr _purple_reserved4;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleGroup.cs 9feae08c2ab266df1677cdcc3463d6a18da5554a
+++ libpurple/wrapper/PurpleGroup.cs 9feae08c2ab266df1677cdcc3463d6a18da5554a
@@ -0,0 +1,185 @@
+/* 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
+{
+
+ /*
+ * File: blist.h
+ * Structure: PurpleGroup
+ */
+ public class PurpleGroup : UnmanagedWrapper<_PurpleGroup>
+ {
+ public PurpleGroup()
+ {
+ }
+
+ public PurpleGroup(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleGroup)Marshal.PtrToStructure(this.Reference, typeof(_PurpleGroup));
+ }
+
+ /*
+ * Argument Name: node
+ * Argument Type: PurpleBlistNode
+ * Argument Category: KnownStruct
+ */
+ /*
+ * Could not generate a wrapper for PurpleGroup.node in file "blist.h".
+ * Message: The struct contains an object that resolves to a function that is not a function pointer (PurpleBlistNode node).
+ */
+
+ /*
+ * Argument Name: name
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string name
+ {
+ get
+ {
+ return this.Data.name;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.name = value;
+ }
+ }
+
+ /*
+ * Argument Name: totalsize
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ public int totalsize
+ {
+ get
+ {
+ return this.Data.totalsize;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.totalsize = value;
+ }
+ }
+
+ /*
+ * Argument Name: currentsize
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ public int currentsize
+ {
+ get
+ {
+ return this.Data.currentsize;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.currentsize = value;
+ }
+ }
+
+ /*
+ * Argument Name: online
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ 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)]
+ public class _PurpleGroup
+ {
+ /*
+ * PurpleBlistNode node
+ */
+ /*
+ * Could not generate a wrapper for PurpleGroup.node in file "blist.h".
+ * Message: The struct contains an object that resolves to a function that is not a function pointer (PurpleBlistNode node).
+ */
+
+ /*
+ * char * name
+ */
+ public string name;
+
+ /*
+ * int totalsize
+ */
+ public int totalsize;
+
+ /*
+ * int currentsize
+ */
+ public int currentsize;
+
+ /*
+ * int online
+ */
+ public int online;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleKeyValuePair.cs 649266ab2fbce3195c29737e1763d92a7834baec
+++ libpurple/wrapper/PurpleKeyValuePair.cs 649266ab2fbce3195c29737e1763d92a7834baec
@@ -0,0 +1,117 @@
+/* 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
+{
+
+ /*
+ * File: util.h
+ * Structure: PurpleKeyValuePair
+ */
+ public class PurpleKeyValuePair : UnmanagedWrapper<_PurpleKeyValuePair>
+ {
+ public PurpleKeyValuePair()
+ {
+ }
+
+ public PurpleKeyValuePair(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleKeyValuePair)Marshal.PtrToStructure(this.Reference, typeof(_PurpleKeyValuePair));
+ }
+
+ /*
+ * Argument Name: key
+ * Argument Type: gchar *
+ * Argument Category: Native
+ */
+ public string key
+ {
+ get
+ {
+ return this.Data.key;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.key = value;
+ }
+ }
+
+ /*
+ * Argument Name: value
+ * Argument Type: void *
+ * Argument Category: VoidPointer
+ */
+ public IntPtr value
+ {
+ 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)]
+ public class _PurpleKeyValuePair
+ {
+ /*
+ * gchar * key
+ */
+ public string key;
+
+ /*
+ * void * value
+ */
+ public IntPtr value;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleLog.cs b199292fbde439a2fc30faf7a541b45488ea2781
+++ libpurple/wrapper/PurpleLog.cs b199292fbde439a2fc30faf7a541b45488ea2781
@@ -0,0 +1,260 @@
+/* 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
+{
+
+ /*
+ * File: log.h
+ * Structure: PurpleLog
+ */
+ public class PurpleLog : UnmanagedWrapper<_PurpleLog>
+ {
+ public PurpleLog()
+ {
+ }
+
+ public PurpleLog(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleLog)Marshal.PtrToStructure(this.Reference, typeof(_PurpleLog));
+ }
+
+ /*
+ * Argument Name: type
+ * Argument Type: PurpleLogType
+ * Argument Category: KnownEnum
+ */
+ public Log.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. */
+ }
+ }
+
+ /*
+ * Argument Name: name
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string name
+ {
+ get
+ {
+ return this.Data.name;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.name = value;
+ }
+ }
+
+ /*
+ * Argument Name: account
+ * Argument Type: PurpleAccount *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: conv
+ * Argument Type: PurpleConversation *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: time
+ * Argument Type: time_t
+ * Argument Category: DateTime
+ */
+ public DateTime time
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: logger
+ * Argument Type: PurpleLogLogger *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: logger_data
+ * Argument Type: void *
+ * Argument Category: VoidPointer
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: tm *tm
+ * Argument Type: struct
+ * Argument Category: InnerStruct
+ */
+ /*
+ * Could not generate a wrapper for PurpleLog.tm *tm in file "log.h".
+ * Message: The struct contains an inner-struct or inner-union and cannot be automatically wrapped.
+ */
+
+ }
+
+
+ [StructLayout(LayoutKind.Sequential)]
+ public class _PurpleLog
+ {
+ /*
+ * PurpleLogType type
+ */
+ public Log.PurpleLogType type;
+
+ /*
+ * char * name
+ */
+ public string name;
+
+ /*
+ * PurpleAccount * account
+ */
+ public IntPtr account;
+
+ /*
+ * PurpleConversation * conv
+ */
+ public IntPtr conv;
+
+ /*
+ * time_t time
+ */
+ public ulong time;
+
+ /*
+ * PurpleLogLogger * logger
+ */
+ public IntPtr logger;
+
+ /*
+ * void * logger_data
+ */
+ public IntPtr logger_data;
+
+ /*
+ * struct tm *tm
+ */
+ /*
+ * Could not generate a wrapper for PurpleLog.tm *tm in file "log.h".
+ * Message: The struct contains an inner-struct or inner-union and cannot be automatically wrapped.
+ */
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleLogCommonLoggerData.cs 88a04e8494fceb66baf3ab1878ff808f3164f9cd
+++ libpurple/wrapper/PurpleLogCommonLoggerData.cs 88a04e8494fceb66baf3ab1878ff808f3164f9cd
@@ -0,0 +1,142 @@
+/* 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
+{
+
+ /*
+ * File: log.h
+ * Structure: PurpleLogCommonLoggerData
+ */
+ public class PurpleLogCommonLoggerData : UnmanagedWrapper<_PurpleLogCommonLoggerData>
+ {
+ public PurpleLogCommonLoggerData()
+ {
+ }
+
+ public PurpleLogCommonLoggerData(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleLogCommonLoggerData)Marshal.PtrToStructure(this.Reference, typeof(_PurpleLogCommonLoggerData));
+ }
+
+ /*
+ * Argument Name: path
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string path
+ {
+ get
+ {
+ return this.Data.path;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.path = value;
+ }
+ }
+
+ /*
+ * Argument Name: file
+ * Argument Type: FILE *
+ * Argument Category: PointerToUnknownStruct
+ */
+ public /* Resolved as PointerToUnknownStruct to FILE */ IntPtr file
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: extra_data
+ * Argument Type: void *
+ * Argument Category: VoidPointer
+ */
+ 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)]
+ public class _PurpleLogCommonLoggerData
+ {
+ /*
+ * char * path
+ */
+ public string path;
+
+ /*
+ * FILE * file
+ */
+ public IntPtr file;
+
+ /*
+ * void * extra_data
+ */
+ public IntPtr extra_data;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleLogLogger.cs 2421a793f65179da3943b135916b561603f55b6d
+++ libpurple/wrapper/PurpleLogLogger.cs 2421a793f65179da3943b135916b561603f55b6d
@@ -0,0 +1,492 @@
+/* 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
+{
+
+ /*
+ * File: log.h
+ * Structure: PurpleLogLogger
+ */
+ public class PurpleLogLogger : UnmanagedWrapper<_PurpleLogLogger>
+ {
+ public PurpleLogLogger()
+ {
+ }
+
+ public PurpleLogLogger(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleLogLogger)Marshal.PtrToStructure(this.Reference, typeof(_PurpleLogLogger));
+ }
+
+ /*
+ * Argument Name: name
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string name
+ {
+ get
+ {
+ return this.Data.name;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.name = value;
+ }
+ }
+
+ /*
+ * Argument Name: id
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string id
+ {
+ get
+ {
+ return this.Data.id;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.id = value;
+ }
+ }
+
+ /*
+ * Argument Name: create
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: write
+ * Argument Type: gsize
+ * Argument Category: Native
+ */
+ public IntPtr write
+ {
+ get
+ {
+ return this.Data.write;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.write = value;
+ }
+ }
+
+ /*
+ * Argument Name: finalize
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: list
+ * Argument Type: GList *
+ * Argument Category: PointerToGList
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: read
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public IntPtr read
+ {
+ get
+ {
+ return this.Data.read;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.read = value;
+ }
+ }
+
+ /*
+ * Argument Name: size
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ public IntPtr size
+ {
+ get
+ {
+ return this.Data.size;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.size = value;
+ }
+ }
+
+ /*
+ * Argument Name: total_size
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ 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;
+ }
+ }
+
+ /*
+ * Argument Name: list_syslog
+ * Argument Type: GList *
+ * Argument Category: PointerToGList
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: get_log_sets
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: remove
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public IntPtr remove
+ {
+ get
+ {
+ return this.Data.remove;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.remove = value;
+ }
+ }
+
+ /*
+ * Argument Name: is_deletable
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ 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;
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved1
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved2
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved3
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved4
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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)]
+ public class _PurpleLogLogger
+ {
+ /*
+ * char * name
+ */
+ public string name;
+
+ /*
+ * char * id
+ */
+ public string id;
+
+ /*
+ * void (*create)(PurpleLog * log)
+ */
+ public IntPtr create;
+
+ /*
+ * gsize (*write)(PurpleLog * log, PurpleMessageFlags type, char * from, time_t time, char * message)
+ */
+ public IntPtr write;
+
+ /*
+ * void (*finalize)(PurpleLog * log)
+ */
+ public IntPtr finalize;
+
+ /*
+ * GList * (*list)(PurpleLogType type, char * name, PurpleAccount * account)
+ */
+ public IntPtr list;
+
+ /*
+ * char * (*read)(PurpleLog * log, PurpleLogReadFlags * flags)
+ */
+ public IntPtr read;
+
+ /*
+ * int (*size)(PurpleLog * log)
+ */
+ public IntPtr size;
+
+ /*
+ * int (*total_size)(PurpleLogType type, char * name, PurpleAccount * account)
+ */
+ public IntPtr total_size;
+
+ /*
+ * GList * (*list_syslog)(PurpleAccount * account)
+ */
+ public IntPtr list_syslog;
+
+ /*
+ * void (*get_log_sets)(PurpleLogSetCallback cb, GHashTable * sets)
+ */
+ public IntPtr get_log_sets;
+
+ /*
+ * gboolean (*remove)(PurpleLog * log)
+ */
+ public IntPtr remove;
+
+ /*
+ * gboolean (*is_deletable)(PurpleLog * log)
+ */
+ public IntPtr is_deletable;
+
+ /*
+ * void (*_purple_reserved1)()
+ */
+ public IntPtr _purple_reserved1;
+
+ /*
+ * void (*_purple_reserved2)()
+ */
+ public IntPtr _purple_reserved2;
+
+ /*
+ * void (*_purple_reserved3)()
+ */
+ public IntPtr _purple_reserved3;
+
+ /*
+ * void (*_purple_reserved4)()
+ */
+ public IntPtr _purple_reserved4;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleLogSet.cs eb6aee9232a158317e7b8a3f319db0a25be3495f
+++ libpurple/wrapper/PurpleLogSet.cs eb6aee9232a158317e7b8a3f319db0a25be3495f
@@ -0,0 +1,192 @@
+/* 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
+{
+
+ /*
+ * File: log.h
+ * Structure: PurpleLogSet
+ */
+ public class PurpleLogSet : UnmanagedWrapper<_PurpleLogSet>
+ {
+ public PurpleLogSet()
+ {
+ }
+
+ public PurpleLogSet(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleLogSet)Marshal.PtrToStructure(this.Reference, typeof(_PurpleLogSet));
+ }
+
+ /*
+ * Argument Name: type
+ * Argument Type: PurpleLogType
+ * Argument Category: KnownEnum
+ */
+ public Log.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. */
+ }
+ }
+
+ /*
+ * Argument Name: name
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string name
+ {
+ get
+ {
+ return this.Data.name;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.name = value;
+ }
+ }
+
+ /*
+ * Argument Name: account
+ * Argument Type: PurpleAccount *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: buddy
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public bool buddy
+ {
+ get
+ {
+ return this.Data.buddy;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.buddy = value;
+ }
+ }
+
+ /*
+ * Argument Name: normalized_name
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string normalized_name
+ {
+ get
+ {
+ return this.Data.normalized_name;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.normalized_name = value;
+ }
+ }
+
+ }
+
+
+ [StructLayout(LayoutKind.Sequential)]
+ public class _PurpleLogSet
+ {
+ /*
+ * PurpleLogType type
+ */
+ public Log.PurpleLogType type;
+
+ /*
+ * char * name
+ */
+ public string name;
+
+ /*
+ * PurpleAccount * account
+ */
+ public IntPtr account;
+
+ /*
+ * gboolean buddy
+ */
+ public bool buddy;
+
+ /*
+ * char * normalized_name
+ */
+ public string normalized_name;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleMenuAction.cs 39f52b4f5eee94195585367960eedfcf87a95ac3
+++ libpurple/wrapper/PurpleMenuAction.cs 39f52b4f5eee94195585367960eedfcf87a95ac3
@@ -0,0 +1,157 @@
+/* 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
+{
+
+ /*
+ * File: util.h
+ * Structure: PurpleMenuAction
+ */
+ public class PurpleMenuAction : UnmanagedWrapper<_PurpleMenuAction>
+ {
+ public PurpleMenuAction()
+ {
+ }
+
+ public PurpleMenuAction(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleMenuAction)Marshal.PtrToStructure(this.Reference, typeof(_PurpleMenuAction));
+ }
+
+ /*
+ * Argument Name: label
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string label
+ {
+ get
+ {
+ return this.Data.label;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.label = value;
+ }
+ }
+
+ /*
+ * Argument Name: callback
+ * Argument Type: PurpleCallback
+ * Argument Category: KnownFunctionPointer
+ */
+ public Signals.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. */
+ }
+ }
+
+ /*
+ * Argument Name: data
+ * Argument Type: gpointer
+ * Argument Category: VoidPointer
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: children
+ * Argument Type: GList *
+ * Argument Category: PointerToGList
+ */
+ /*
+ * Could not generate a wrapper for PurpleMenuAction.children in file "util.h".
+ * Message: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ }
+
+
+ [StructLayout(LayoutKind.Sequential)]
+ public class _PurpleMenuAction
+ {
+ /*
+ * char * label
+ */
+ public string label;
+
+ /*
+ * PurpleCallback callback
+ */
+ public IntPtr callback;
+
+ /*
+ * gpointer data
+ */
+ public IntPtr data;
+
+ /*
+ * GList * children
+ */
+ public IntPtr children;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurplePlugin.cs 1b8cdaefe57c5b251f0e22112df3af05c696fbda
+++ libpurple/wrapper/PurplePlugin.cs 1b8cdaefe57c5b251f0e22112df3af05c696fbda
@@ -0,0 +1,407 @@
+/* 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
+{
+
+ /*
+ * File: plugin.h
+ * Structure: PurplePlugin
+ */
+ public class PurplePlugin : UnmanagedWrapper<_PurplePlugin>
+ {
+ public PurplePlugin()
+ {
+ }
+
+ public PurplePlugin(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurplePlugin)Marshal.PtrToStructure(this.Reference, typeof(_PurplePlugin));
+ }
+
+ /*
+ * Argument Name: native_plugin
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ 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;
+ }
+ }
+
+ /*
+ * Argument Name: loaded
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public bool loaded
+ {
+ get
+ {
+ return this.Data.loaded;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.loaded = value;
+ }
+ }
+
+ /*
+ * Argument Name: handle
+ * Argument Type: void *
+ * Argument Category: VoidPointer
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: path
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string path
+ {
+ get
+ {
+ return this.Data.path;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.path = value;
+ }
+ }
+
+ /*
+ * Argument Name: info
+ * Argument Type: PurplePluginInfo *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: error
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string error
+ {
+ get
+ {
+ return this.Data.error;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.error = value;
+ }
+ }
+
+ /*
+ * Argument Name: ipc_data
+ * Argument Type: void *
+ * Argument Category: VoidPointer
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: extra
+ * Argument Type: void *
+ * Argument Category: VoidPointer
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: unloadable
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public bool unloadable
+ {
+ get
+ {
+ return this.Data.unloadable;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.unloadable = value;
+ }
+ }
+
+ /*
+ * Argument Name: dependent_plugins
+ * Argument Type: GList *
+ * Argument Category: PointerToGList
+ */
+ /*
+ * Could not generate a wrapper for PurplePlugin.dependent_plugins in file "plugin.h".
+ * Message: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ /*
+ * Argument Name: _purple_reserved1
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved2
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved3
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved4
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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)]
+ public class _PurplePlugin
+ {
+ /*
+ * gboolean native_plugin
+ */
+ public bool native_plugin;
+
+ /*
+ * gboolean loaded
+ */
+ public bool loaded;
+
+ /*
+ * void * handle
+ */
+ public IntPtr handle;
+
+ /*
+ * char * path
+ */
+ public string path;
+
+ /*
+ * PurplePluginInfo * info
+ */
+ public IntPtr info;
+
+ /*
+ * char * error
+ */
+ public string error;
+
+ /*
+ * void * ipc_data
+ */
+ public IntPtr ipc_data;
+
+ /*
+ * void * extra
+ */
+ public IntPtr extra;
+
+ /*
+ * gboolean unloadable
+ */
+ public bool unloadable;
+
+ /*
+ * GList * dependent_plugins
+ */
+ public IntPtr dependent_plugins;
+
+ /*
+ * void (*_purple_reserved1)()
+ */
+ public IntPtr _purple_reserved1;
+
+ /*
+ * void (*_purple_reserved2)()
+ */
+ public IntPtr _purple_reserved2;
+
+ /*
+ * void (*_purple_reserved3)()
+ */
+ public IntPtr _purple_reserved3;
+
+ /*
+ * void (*_purple_reserved4)()
+ */
+ public IntPtr _purple_reserved4;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurplePluginAction.cs c23c593c1b94481249493b06be0dc43110f53a69
+++ libpurple/wrapper/PurplePluginAction.cs c23c593c1b94481249493b06be0dc43110f53a69
@@ -0,0 +1,192 @@
+/* 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
+{
+
+ /*
+ * File: plugin.h
+ * Structure: PurplePluginAction
+ */
+ public class PurplePluginAction : UnmanagedWrapper<_PurplePluginAction>
+ {
+ public PurplePluginAction()
+ {
+ }
+
+ public PurplePluginAction(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurplePluginAction)Marshal.PtrToStructure(this.Reference, typeof(_PurplePluginAction));
+ }
+
+ /*
+ * Argument Name: label
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string label
+ {
+ get
+ {
+ return this.Data.label;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.label = value;
+ }
+ }
+
+ /*
+ * Argument Name: callback
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr callback
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: plugin
+ * Argument Type: PurplePlugin *
+ * Argument Category: PointerToKnownStruct
+ */
+ public PurplePlugin plugin
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: context
+ * Argument Type: gpointer
+ * Argument Category: VoidPointer
+ */
+ public IntPtr context
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: user_data
+ * Argument Type: gpointer
+ * Argument Category: VoidPointer
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ }
+
+
+ [StructLayout(LayoutKind.Sequential)]
+ public class _PurplePluginAction
+ {
+ /*
+ * char * label
+ */
+ public string label;
+
+ /*
+ * void (*callback)(PurplePluginAction * )
+ */
+ public IntPtr callback;
+
+ /*
+ * PurplePlugin * plugin
+ */
+ public IntPtr plugin;
+
+ /*
+ * gpointer context
+ */
+ public IntPtr context;
+
+ /*
+ * gpointer user_data
+ */
+ public IntPtr user_data;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurplePluginInfo.cs 9a408ea041350f74d326286f73cd246ee5c4d062
+++ libpurple/wrapper/PurplePluginInfo.cs 9a408ea041350f74d326286f73cd246ee5c4d062
@@ -0,0 +1,707 @@
+/* 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
+{
+
+ /*
+ * File: plugin.h
+ * Structure: PurplePluginInfo
+ */
+ public class PurplePluginInfo : UnmanagedWrapper<_PurplePluginInfo>
+ {
+ public PurplePluginInfo()
+ {
+ }
+
+ public PurplePluginInfo(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurplePluginInfo)Marshal.PtrToStructure(this.Reference, typeof(_PurplePluginInfo));
+ }
+
+ /*
+ * Argument Name: magic
+ * Argument Type: unsigned int
+ * Argument Category: Native
+ */
+ public uint magic
+ {
+ get
+ {
+ return this.Data.magic;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.magic = value;
+ }
+ }
+
+ /*
+ * Argument Name: major_version
+ * Argument Type: unsigned int
+ * Argument Category: Native
+ */
+ public uint major_version
+ {
+ get
+ {
+ return this.Data.major_version;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.major_version = value;
+ }
+ }
+
+ /*
+ * Argument Name: minor_version
+ * Argument Type: unsigned int
+ * Argument Category: Native
+ */
+ public uint minor_version
+ {
+ get
+ {
+ return this.Data.minor_version;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.minor_version = value;
+ }
+ }
+
+ /*
+ * Argument Name: type
+ * Argument Type: PurplePluginType
+ * Argument Category: KnownEnum
+ */
+ public Plugin.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. */
+ }
+ }
+
+ /*
+ * Argument Name: ui_requirement
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ 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;
+ }
+ }
+
+ /*
+ * Argument Name: flags
+ * Argument Type: unsigned long
+ * Argument Category: Native
+ */
+ public ulong flags
+ {
+ get
+ {
+ return this.Data.flags;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.flags = value;
+ }
+ }
+
+ /*
+ * Argument Name: dependencies
+ * Argument Type: GList *
+ * Argument Category: PointerToGList
+ */
+ /*
+ * Could not generate a wrapper for PurplePluginInfo.dependencies in file "plugin.h".
+ * Message: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ /*
+ * Argument Name: priority
+ * Argument Type: PurplePluginPriority
+ * Argument Category: Native
+ */
+ public int priority
+ {
+ get
+ {
+ return this.Data.priority;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.priority = value;
+ }
+ }
+
+ /*
+ * Argument Name: id
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string id
+ {
+ get
+ {
+ return this.Data.id;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.id = value;
+ }
+ }
+
+ /*
+ * Argument Name: name
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string name
+ {
+ get
+ {
+ return this.Data.name;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.name = value;
+ }
+ }
+
+ /*
+ * Argument Name: version
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string version
+ {
+ get
+ {
+ return this.Data.version;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.version = value;
+ }
+ }
+
+ /*
+ * Argument Name: summary
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string summary
+ {
+ get
+ {
+ return this.Data.summary;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.summary = value;
+ }
+ }
+
+ /*
+ * Argument Name: description
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string description
+ {
+ get
+ {
+ return this.Data.description;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.description = value;
+ }
+ }
+
+ /*
+ * Argument Name: author
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string author
+ {
+ get
+ {
+ return this.Data.author;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.author = value;
+ }
+ }
+
+ /*
+ * Argument Name: homepage
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string homepage
+ {
+ get
+ {
+ return this.Data.homepage;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.homepage = value;
+ }
+ }
+
+ /*
+ * Argument Name: load
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public IntPtr load
+ {
+ get
+ {
+ return this.Data.load;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.load = value;
+ }
+ }
+
+ /*
+ * Argument Name: unload
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public IntPtr unload
+ {
+ get
+ {
+ return this.Data.unload;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.unload = value;
+ }
+ }
+
+ /*
+ * Argument Name: destroy
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr destroy
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: ui_info
+ * Argument Type: void *
+ * Argument Category: VoidPointer
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: extra_info
+ * Argument Type: void *
+ * Argument Category: VoidPointer
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: prefs_info
+ * Argument Type: PurplePluginUiInfo *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: actions
+ * Argument Type: GList *
+ * Argument Category: PointerToGList
+ */
+ public IntPtr actions
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved1
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved2
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved3
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved4
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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)]
+ public class _PurplePluginInfo
+ {
+ /*
+ * unsigned int magic
+ */
+ public uint magic;
+
+ /*
+ * unsigned int major_version
+ */
+ public uint major_version;
+
+ /*
+ * unsigned int minor_version
+ */
+ public uint minor_version;
+
+ /*
+ * PurplePluginType type
+ */
+ public Plugin.PurplePluginType type;
+
+ /*
+ * char * ui_requirement
+ */
+ public string ui_requirement;
+
+ /*
+ * unsigned long flags
+ */
+ public ulong flags;
+
+ /*
+ * GList * dependencies
+ */
+ public IntPtr dependencies;
+
+ /*
+ * PurplePluginPriority priority
+ */
+ public int priority;
+
+ /*
+ * char * id
+ */
+ public string id;
+
+ /*
+ * char * name
+ */
+ public string name;
+
+ /*
+ * char * version
+ */
+ public string version;
+
+ /*
+ * char * summary
+ */
+ public string summary;
+
+ /*
+ * char * description
+ */
+ public string description;
+
+ /*
+ * char * author
+ */
+ public string author;
+
+ /*
+ * char * homepage
+ */
+ public string homepage;
+
+ /*
+ * gboolean (*load)(PurplePlugin * plugin)
+ */
+ public IntPtr load;
+
+ /*
+ * gboolean (*unload)(PurplePlugin * plugin)
+ */
+ public IntPtr unload;
+
+ /*
+ * void (*destroy)(PurplePlugin * plugin)
+ */
+ public IntPtr destroy;
+
+ /*
+ * void * ui_info
+ */
+ public IntPtr ui_info;
+
+ /*
+ * void * extra_info
+ */
+ public IntPtr extra_info;
+
+ /*
+ * PurplePluginUiInfo * prefs_info
+ */
+ public IntPtr prefs_info;
+
+ /*
+ * GList * (*actions)(PurplePlugin * plugin, gpointer context)
+ */
+ public IntPtr actions;
+
+ /*
+ * void (*_purple_reserved1)()
+ */
+ public IntPtr _purple_reserved1;
+
+ /*
+ * void (*_purple_reserved2)()
+ */
+ public IntPtr _purple_reserved2;
+
+ /*
+ * void (*_purple_reserved3)()
+ */
+ public IntPtr _purple_reserved3;
+
+ /*
+ * void (*_purple_reserved4)()
+ */
+ public IntPtr _purple_reserved4;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurplePluginLoaderInfo.cs 2bbbf5a587fe384be8976e0bae6d9f5bcf8049af
+++ libpurple/wrapper/PurplePluginLoaderInfo.cs 2bbbf5a587fe384be8976e0bae6d9f5bcf8049af
@@ -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
+{
+
+ /*
+ * File: plugin.h
+ * Structure: PurplePluginLoaderInfo
+ */
+ public class PurplePluginLoaderInfo : UnmanagedWrapper<_PurplePluginLoaderInfo>
+ {
+ public PurplePluginLoaderInfo()
+ {
+ }
+
+ public PurplePluginLoaderInfo(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurplePluginLoaderInfo)Marshal.PtrToStructure(this.Reference, typeof(_PurplePluginLoaderInfo));
+ }
+
+ /*
+ * Argument Name: exts
+ * Argument Type: GList *
+ * Argument Category: PointerToGList
+ */
+ /*
+ * Could not generate a wrapper for PurplePluginLoaderInfo.exts in file "plugin.h".
+ * Message: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ /*
+ * Argument Name: probe
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public IntPtr probe
+ {
+ get
+ {
+ return this.Data.probe;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.probe = value;
+ }
+ }
+
+ /*
+ * Argument Name: load
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public IntPtr load
+ {
+ get
+ {
+ return this.Data.load;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.load = value;
+ }
+ }
+
+ /*
+ * Argument Name: unload
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public IntPtr unload
+ {
+ get
+ {
+ return this.Data.unload;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.unload = value;
+ }
+ }
+
+ /*
+ * Argument Name: destroy
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr destroy
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved1
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved2
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved3
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved4
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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)]
+ public class _PurplePluginLoaderInfo
+ {
+ /*
+ * GList * exts
+ */
+ public IntPtr exts;
+
+ /*
+ * gboolean (*probe)(PurplePlugin * plugin)
+ */
+ public IntPtr probe;
+
+ /*
+ * gboolean (*load)(PurplePlugin * plugin)
+ */
+ public IntPtr load;
+
+ /*
+ * gboolean (*unload)(PurplePlugin * plugin)
+ */
+ public IntPtr unload;
+
+ /*
+ * void (*destroy)(PurplePlugin * plugin)
+ */
+ public IntPtr destroy;
+
+ /*
+ * void (*_purple_reserved1)()
+ */
+ public IntPtr _purple_reserved1;
+
+ /*
+ * void (*_purple_reserved2)()
+ */
+ public IntPtr _purple_reserved2;
+
+ /*
+ * void (*_purple_reserved3)()
+ */
+ public IntPtr _purple_reserved3;
+
+ /*
+ * void (*_purple_reserved4)()
+ */
+ public IntPtr _purple_reserved4;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurplePluginProtocolInfo.cs 52047447980ddc0a97a6b6e430482bb2309c214f
+++ libpurple/wrapper/PurplePluginProtocolInfo.cs 52047447980ddc0a97a6b6e430482bb2309c214f
@@ -0,0 +1,1765 @@
+/* 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
+{
+
+ /*
+ * File: prpl.h
+ * Structure: PurplePluginProtocolInfo
+ */
+ public class PurplePluginProtocolInfo : UnmanagedWrapper<_PurplePluginProtocolInfo>
+ {
+ public PurplePluginProtocolInfo()
+ {
+ }
+
+ public PurplePluginProtocolInfo(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurplePluginProtocolInfo)Marshal.PtrToStructure(this.Reference, typeof(_PurplePluginProtocolInfo));
+ }
+
+ /*
+ * Argument Name: options
+ * Argument Type: PurpleProtocolOptions
+ * Argument Category: KnownEnum
+ */
+ public Prpl.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. */
+ }
+ }
+
+ /*
+ * Argument Name: user_splits
+ * Argument Type: GList *
+ * Argument Category: PointerToGList
+ */
+ /*
+ * Could not generate a wrapper for PurplePluginProtocolInfo.user_splits in file "prpl.h".
+ * Message: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ /*
+ * Argument Name: protocol_options
+ * Argument Type: GList *
+ * Argument Category: PointerToGList
+ */
+ /*
+ * Could not generate a wrapper for PurplePluginProtocolInfo.protocol_options in file "prpl.h".
+ * Message: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ /*
+ * Argument Name: icon_spec
+ * Argument Type: PurpleBuddyIconSpec
+ * Argument Category: KnownStruct
+ */
+ /*
+ * Could not generate a wrapper for PurplePluginProtocolInfo.icon_spec in file "prpl.h".
+ * Message: The struct contains an object that resolves to a function that is not a function pointer (PurpleBuddyIconSpec icon_spec).
+ */
+
+ /*
+ * Argument Name: list_icon
+ * Argument Type: const char *
+ * Argument Category: PointerToUnknownStruct
+ */
+ public IntPtr list_icon
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: list_emblem
+ * Argument Type: const char *
+ * Argument Category: PointerToUnknownStruct
+ */
+ public IntPtr list_emblem
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: status_text
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public IntPtr status_text
+ {
+ get
+ {
+ return this.Data.status_text;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.status_text = value;
+ }
+ }
+
+ /*
+ * Argument Name: tooltip_text
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: status_types
+ * Argument Type: GList *
+ * Argument Category: PointerToGList
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: blist_node_menu
+ * Argument Type: GList *
+ * Argument Category: PointerToGList
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: chat_info
+ * Argument Type: GList *
+ * Argument Category: PointerToGList
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: chat_info_defaults
+ * Argument Type: GHashTable *
+ * Argument Category: PointerToGHashTable
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: login
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr login
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: close
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr close
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: send_im
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ public IntPtr send_im
+ {
+ get
+ {
+ return this.Data.send_im;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.send_im = value;
+ }
+ }
+
+ /*
+ * Argument Name: set_info
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: send_typing
+ * Argument Type: unsigned int
+ * Argument Category: Native
+ */
+ public IntPtr send_typing
+ {
+ get
+ {
+ return this.Data.send_typing;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.send_typing = value;
+ }
+ }
+
+ /*
+ * Argument Name: get_info
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: set_status
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: set_idle
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: change_passwd
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: add_buddy
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: add_buddies
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: remove_buddy
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: remove_buddies
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: add_permit
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: add_deny
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: rem_permit
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: rem_deny
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: set_permit_deny
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: join_chat
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: reject_chat
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: get_chat_name
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public IntPtr 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;
+ }
+ }
+
+ /*
+ * Argument Name: chat_invite
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: chat_leave
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: chat_whisper
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: chat_send
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ public IntPtr chat_send
+ {
+ get
+ {
+ return this.Data.chat_send;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.chat_send = value;
+ }
+ }
+
+ /*
+ * Argument Name: keepalive
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr keepalive
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: register_user
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: get_cb_info
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: get_cb_away
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: alias_buddy
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: group_buddy
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: rename_group
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: buddy_free
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: convo_closed
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: normalize
+ * Argument Type: const char *
+ * Argument Category: PointerToUnknownStruct
+ */
+ public IntPtr normalize
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: set_buddy_icon
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: remove_group
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: get_cb_real_name
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public IntPtr 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;
+ }
+ }
+
+ /*
+ * Argument Name: set_chat_topic
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: find_blist_chat
+ * Argument Type: PurpleChat *
+ * Argument Category: PointerToKnownStruct
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: roomlist_get_list
+ * Argument Type: PurpleRoomlist *
+ * Argument Category: PointerToKnownStruct
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: roomlist_cancel
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: roomlist_expand_category
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: can_receive_file
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public IntPtr 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;
+ }
+ }
+
+ /*
+ * Argument Name: send_file
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: new_xfer
+ * Argument Type: PurpleXfer *
+ * Argument Category: PointerToKnownStruct
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: offline_message
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public IntPtr offline_message
+ {
+ get
+ {
+ return this.Data.offline_message;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.offline_message = value;
+ }
+ }
+
+ /*
+ * Argument Name: whiteboard_prpl_ops
+ * Argument Type: PurpleWhiteboardPrplOps *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: send_raw
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ public IntPtr send_raw
+ {
+ get
+ {
+ return this.Data.send_raw;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.send_raw = value;
+ }
+ }
+
+ /*
+ * Argument Name: roomlist_room_serialize
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public IntPtr 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;
+ }
+ }
+
+ /*
+ * Argument Name: unregister_user
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: send_attention
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public IntPtr send_attention
+ {
+ get
+ {
+ return this.Data.send_attention;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.send_attention = value;
+ }
+ }
+
+ /*
+ * Argument Name: get_attention_types
+ * Argument Type: GList *
+ * Argument Category: PointerToGList
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: struct_size
+ * Argument Type: unsigned long
+ * Argument Category: Native
+ */
+ public ulong struct_size
+ {
+ get
+ {
+ return this.Data.struct_size;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.struct_size = value;
+ }
+ }
+
+ /*
+ * Argument Name: get_account_text_table
+ * Argument Type: GHashTable *
+ * Argument Category: PointerToGHashTable
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: initiate_media
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public IntPtr initiate_media
+ {
+ get
+ {
+ return this.Data.initiate_media;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.initiate_media = value;
+ }
+ }
+
+ /*
+ * Argument Name: get_media_caps
+ * Argument Type: PurpleMediaCaps
+ * Argument Category: KnownEnum
+ */
+ public IntPtr 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)]
+ public class _PurplePluginProtocolInfo
+ {
+ /*
+ * PurpleProtocolOptions options
+ */
+ public Prpl.PurpleProtocolOptions options;
+
+ /*
+ * GList * user_splits
+ */
+ public IntPtr user_splits;
+
+ /*
+ * GList * protocol_options
+ */
+ public IntPtr protocol_options;
+
+ /*
+ * PurpleBuddyIconSpec icon_spec
+ */
+ /*
+ * Could not generate a wrapper for PurplePluginProtocolInfo.icon_spec in file "prpl.h".
+ * Message: The struct contains an object that resolves to a function that is not a function pointer (PurpleBuddyIconSpec icon_spec).
+ */
+
+ /*
+ * const char * (*list_icon)(PurpleAccount * account, PurpleBuddy * buddy)
+ */
+ public IntPtr list_icon;
+
+ /*
+ * const char * (*list_emblem)(PurpleBuddy * buddy)
+ */
+ public IntPtr list_emblem;
+
+ /*
+ * char * (*status_text)(PurpleBuddy * buddy)
+ */
+ public IntPtr status_text;
+
+ /*
+ * void (*tooltip_text)(PurpleBuddy * buddy, PurpleNotifyUserInfo * user_info, gboolean full)
+ */
+ public IntPtr tooltip_text;
+
+ /*
+ * GList * (*status_types)(PurpleAccount * account)
+ */
+ public IntPtr status_types;
+
+ /*
+ * GList * (*blist_node_menu)(PurpleBlistNode * node)
+ */
+ public IntPtr blist_node_menu;
+
+ /*
+ * GList * (*chat_info)(PurpleConnection * )
+ */
+ public IntPtr chat_info;
+
+ /*
+ * GHashTable * (*chat_info_defaults)(PurpleConnection * , char * chat_name)
+ */
+ public IntPtr chat_info_defaults;
+
+ /*
+ * void (*login)(PurpleAccount * )
+ */
+ public IntPtr login;
+
+ /*
+ * void (*close)(PurpleConnection * )
+ */
+ public IntPtr close;
+
+ /*
+ * int (*send_im)(PurpleConnection * , char * who, char * message, PurpleMessageFlags flags)
+ */
+ public IntPtr send_im;
+
+ /*
+ * void (*set_info)(PurpleConnection * , char * info)
+ */
+ public IntPtr set_info;
+
+ /*
+ * unsigned int (*send_typing)(PurpleConnection * , char * name, PurpleTypingState state)
+ */
+ public IntPtr send_typing;
+
+ /*
+ * void (*get_info)(PurpleConnection * , char * who)
+ */
+ public IntPtr get_info;
+
+ /*
+ * void (*set_status)(PurpleAccount * account, PurpleStatus * status)
+ */
+ public IntPtr set_status;
+
+ /*
+ * void (*set_idle)(PurpleConnection * , int idletime)
+ */
+ public IntPtr set_idle;
+
+ /*
+ * void (*change_passwd)(PurpleConnection * , char * old_pass, char * new_pass)
+ */
+ public IntPtr change_passwd;
+
+ /*
+ * void (*add_buddy)(PurpleConnection * , PurpleBuddy * buddy, PurpleGroup * group)
+ */
+ public IntPtr add_buddy;
+
+ /*
+ * void (*add_buddies)(PurpleConnection * , GList * buddies, GList * groups)
+ */
+ public IntPtr add_buddies;
+
+ /*
+ * void (*remove_buddy)(PurpleConnection * , PurpleBuddy * buddy, PurpleGroup * group)
+ */
+ public IntPtr remove_buddy;
+
+ /*
+ * void (*remove_buddies)(PurpleConnection * , GList * buddies, GList * groups)
+ */
+ public IntPtr remove_buddies;
+
+ /*
+ * void (*add_permit)(PurpleConnection * , char * name)
+ */
+ public IntPtr add_permit;
+
+ /*
+ * void (*add_deny)(PurpleConnection * , char * name)
+ */
+ public IntPtr add_deny;
+
+ /*
+ * void (*rem_permit)(PurpleConnection * , char * name)
+ */
+ public IntPtr rem_permit;
+
+ /*
+ * void (*rem_deny)(PurpleConnection * , char * name)
+ */
+ public IntPtr rem_deny;
+
+ /*
+ * void (*set_permit_deny)(PurpleConnection * )
+ */
+ public IntPtr set_permit_deny;
+
+ /*
+ * void (*join_chat)(PurpleConnection * , GHashTable * components)
+ */
+ public IntPtr join_chat;
+
+ /*
+ * void (*reject_chat)(PurpleConnection * , GHashTable * components)
+ */
+ public IntPtr reject_chat;
+
+ /*
+ * char * (*get_chat_name)(GHashTable * components)
+ */
+ public IntPtr get_chat_name;
+
+ /*
+ * void (*chat_invite)(PurpleConnection * , int id, char * message, char * who)
+ */
+ public IntPtr chat_invite;
+
+ /*
+ * void (*chat_leave)(PurpleConnection * , int id)
+ */
+ public IntPtr chat_leave;
+
+ /*
+ * void (*chat_whisper)(PurpleConnection * , int id, char * who, char * message)
+ */
+ public IntPtr chat_whisper;
+
+ /*
+ * int (*chat_send)(PurpleConnection * , int id, char * message, PurpleMessageFlags flags)
+ */
+ public IntPtr chat_send;
+
+ /*
+ * void (*keepalive)(PurpleConnection * )
+ */
+ public IntPtr keepalive;
+
+ /*
+ * void (*register_user)(PurpleAccount * )
+ */
+ public IntPtr register_user;
+
+ /*
+ * void (*get_cb_info)(PurpleConnection * , , char * who)
+ */
+ public IntPtr get_cb_info;
+
+ /*
+ * void (*get_cb_away)(PurpleConnection * , , char * who)
+ */
+ public IntPtr get_cb_away;
+
+ /*
+ * void (*alias_buddy)(PurpleConnection * , char * who, char * alias)
+ */
+ public IntPtr alias_buddy;
+
+ /*
+ * void (*group_buddy)(PurpleConnection * , char * who, char * old_group, char * new_group)
+ */
+ public IntPtr group_buddy;
+
+ /*
+ * void (*rename_group)(PurpleConnection * , char * old_name, PurpleGroup * group, GList * moved_buddies)
+ */
+ public IntPtr rename_group;
+
+ /*
+ * void (*buddy_free)(PurpleBuddy * )
+ */
+ public IntPtr buddy_free;
+
+ /*
+ * void (*convo_closed)(PurpleConnection * , char * who)
+ */
+ public IntPtr convo_closed;
+
+ /*
+ * const char * (*normalize)(PurpleAccount * , char * who)
+ */
+ public IntPtr normalize;
+
+ /*
+ * void (*set_buddy_icon)(PurpleConnection * , PurpleStoredImage * img)
+ */
+ public IntPtr set_buddy_icon;
+
+ /*
+ * void (*remove_group)(PurpleConnection * gc, PurpleGroup * group)
+ */
+ public IntPtr remove_group;
+
+ /*
+ * char * (*get_cb_real_name)(PurpleConnection * gc, int id, char * who)
+ */
+ public IntPtr get_cb_real_name;
+
+ /*
+ * void (*set_chat_topic)(PurpleConnection * gc, int id, char * topic)
+ */
+ public IntPtr set_chat_topic;
+
+ /*
+ * PurpleChat * (*find_blist_chat)(PurpleAccount * account, char * name)
+ */
+ public IntPtr find_blist_chat;
+
+ /*
+ * PurpleRoomlist * (*roomlist_get_list)(PurpleConnection * gc)
+ */
+ public IntPtr roomlist_get_list;
+
+ /*
+ * void (*roomlist_cancel)(PurpleRoomlist * list)
+ */
+ public IntPtr roomlist_cancel;
+
+ /*
+ * void (*roomlist_expand_category)(PurpleRoomlist * list, PurpleRoomlistRoom * category)
+ */
+ public IntPtr roomlist_expand_category;
+
+ /*
+ * gboolean (*can_receive_file)(PurpleConnection * , char * who)
+ */
+ public IntPtr can_receive_file;
+
+ /*
+ * void (*send_file)(PurpleConnection * , char * who, char * filename)
+ */
+ public IntPtr send_file;
+
+ /*
+ * PurpleXfer * (*new_xfer)(PurpleConnection * , char * who)
+ */
+ public IntPtr new_xfer;
+
+ /*
+ * gboolean (*offline_message)(PurpleBuddy * buddy)
+ */
+ public IntPtr offline_message;
+
+ /*
+ * PurpleWhiteboardPrplOps * whiteboard_prpl_ops
+ */
+ public IntPtr whiteboard_prpl_ops;
+
+ /*
+ * int (*send_raw)(PurpleConnection * gc, char * buf, int len)
+ */
+ public IntPtr send_raw;
+
+ /*
+ * char * (*roomlist_room_serialize)(PurpleRoomlistRoom * room)
+ */
+ public IntPtr roomlist_room_serialize;
+
+ /*
+ * void (*unregister_user)(PurpleAccount * , PurpleAccountUnregistrationCb cb, void * user_data)
+ */
+ public IntPtr unregister_user;
+
+ /*
+ * gboolean (*send_attention)(PurpleConnection * gc, char * username, guint type)
+ */
+ public IntPtr send_attention;
+
+ /*
+ * GList * (*get_attention_types)(PurpleAccount * acct)
+ */
+ public IntPtr get_attention_types;
+
+ /*
+ * unsigned long struct_size
+ */
+ public ulong struct_size;
+
+ /*
+ * GHashTable * (*get_account_text_table)(PurpleAccount * account)
+ */
+ public IntPtr get_account_text_table;
+
+ /*
+ * gboolean (*initiate_media)(PurpleAccount * account, char * who, PurpleMediaSessionType type)
+ */
+ public IntPtr initiate_media;
+
+ /*
+ * PurpleMediaCaps (*get_media_caps)(PurpleAccount * account, char * who)
+ */
+ public IntPtr get_media_caps;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurplePluginUiInfo.cs 28cfac5c4ea61cf4127818102c78c370eb891d8e
+++ libpurple/wrapper/PurplePluginUiInfo.cs 28cfac5c4ea61cf4127818102c78c370eb891d8e
@@ -0,0 +1,242 @@
+/* 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
+{
+
+ /*
+ * File: plugin.h
+ * Structure: PurplePluginUiInfo
+ */
+ public class PurplePluginUiInfo : UnmanagedWrapper<_PurplePluginUiInfo>
+ {
+ public PurplePluginUiInfo()
+ {
+ }
+
+ public PurplePluginUiInfo(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurplePluginUiInfo)Marshal.PtrToStructure(this.Reference, typeof(_PurplePluginUiInfo));
+ }
+
+ /*
+ * Argument Name: get_plugin_pref_frame
+ * Argument Type: PurplePluginPrefFrame *
+ * Argument Category: PointerToUnknownStruct
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: page_num
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ 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;
+ }
+ }
+
+ /*
+ * Argument Name: frame
+ * Argument Type: PurplePluginPrefFrame *
+ * Argument Category: PointerToUnknownStruct
+ */
+ public /* Resolved as PointerToUnknownStruct to PurplePluginPrefFrame */ IntPtr frame
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved1
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved2
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved3
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved4
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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)]
+ public class _PurplePluginUiInfo
+ {
+ /*
+ * PurplePluginPrefFrame * (*get_plugin_pref_frame)(PurplePlugin * plugin)
+ */
+ public IntPtr get_plugin_pref_frame;
+
+ /*
+ * int page_num
+ */
+ public int page_num;
+
+ /*
+ * PurplePluginPrefFrame * frame
+ */
+ public IntPtr frame;
+
+ /*
+ * void (*_purple_reserved1)()
+ */
+ public IntPtr _purple_reserved1;
+
+ /*
+ * void (*_purple_reserved2)()
+ */
+ public IntPtr _purple_reserved2;
+
+ /*
+ * void (*_purple_reserved3)()
+ */
+ public IntPtr _purple_reserved3;
+
+ /*
+ * void (*_purple_reserved4)()
+ */
+ public IntPtr _purple_reserved4;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurplePounce.cs be78ae6afcc02e9e5f588727ddeff22d5c13c185
+++ libpurple/wrapper/PurplePounce.cs be78ae6afcc02e9e5f588727ddeff22d5c13c185
@@ -0,0 +1,257 @@
+/* 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
+{
+
+ /*
+ * File: pounce.h
+ * Structure: PurplePounce
+ */
+ public class PurplePounce : UnmanagedWrapper<_PurplePounce>
+ {
+ public PurplePounce()
+ {
+ }
+
+ public PurplePounce(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurplePounce)Marshal.PtrToStructure(this.Reference, typeof(_PurplePounce));
+ }
+
+ /*
+ * Argument Name: ui_type
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ 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;
+ }
+ }
+
+ /*
+ * Argument Name: events
+ * Argument Type: PurplePounceEvent
+ * Argument Category: KnownEnum
+ */
+ public Pounce.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. */
+ }
+ }
+
+ /*
+ * Argument Name: options
+ * Argument Type: PurplePounceOption
+ * Argument Category: KnownEnum
+ */
+ public Pounce.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. */
+ }
+ }
+
+ /*
+ * Argument Name: pouncer
+ * Argument Type: PurpleAccount *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: pouncee
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string pouncee
+ {
+ get
+ {
+ return this.Data.pouncee;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.pouncee = value;
+ }
+ }
+
+ /*
+ * Argument Name: actions
+ * Argument Type: GHashTable *
+ * Argument Category: PointerToGHashTable
+ */
+ /*
+ * Could not generate a wrapper for PurplePounce.actions in file "pounce.h".
+ * Message: Unable to provide a type for HashTable as no function information was provided in code.
+ */
+
+ /*
+ * Argument Name: save
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public bool save
+ {
+ get
+ {
+ return this.Data.save;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.save = value;
+ }
+ }
+
+ /*
+ * Argument Name: data
+ * Argument Type: void *
+ * Argument Category: VoidPointer
+ */
+ 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)]
+ public class _PurplePounce
+ {
+ /*
+ * char * ui_type
+ */
+ public string ui_type;
+
+ /*
+ * PurplePounceEvent events
+ */
+ public Pounce.PurplePounceEvent events;
+
+ /*
+ * PurplePounceOption options
+ */
+ public Pounce.PurplePounceOption options;
+
+ /*
+ * PurpleAccount * pouncer
+ */
+ public IntPtr pouncer;
+
+ /*
+ * char * pouncee
+ */
+ public string pouncee;
+
+ /*
+ * GHashTable * actions
+ */
+ public IntPtr actions;
+
+ /*
+ * gboolean save
+ */
+ public bool save;
+
+ /*
+ * void * data
+ */
+ public IntPtr data;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleRequestField.cs 64b2a748ba228a4abc2569bef834ee19e2b14100
+++ libpurple/wrapper/PurpleRequestField.cs 64b2a748ba228a4abc2569bef834ee19e2b14100
@@ -0,0 +1,372 @@
+/* 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
+{
+
+ /*
+ * File: request.h
+ * Structure: PurpleRequestField
+ */
+ public class PurpleRequestField : UnmanagedWrapper<_PurpleRequestField>
+ {
+ public PurpleRequestField()
+ {
+ }
+
+ public PurpleRequestField(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleRequestField)Marshal.PtrToStructure(this.Reference, typeof(_PurpleRequestField));
+ }
+
+ /*
+ * Argument Name: type
+ * Argument Type: PurpleRequestFieldType
+ * Argument Category: KnownEnum
+ */
+ public Request.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. */
+ }
+ }
+
+ /*
+ * Argument Name: group
+ * Argument Type: PurpleRequestFieldGroup *
+ * Argument Category: PointerToUnknownStruct
+ */
+ public /* Resolved as PointerToUnknownStruct to PurpleRequestFieldGroup */ IntPtr group
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: id
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string id
+ {
+ get
+ {
+ return this.Data.id;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.id = value;
+ }
+ }
+
+ /*
+ * Argument Name: label
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string label
+ {
+ get
+ {
+ return this.Data.label;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.label = value;
+ }
+ }
+
+ /*
+ * Argument Name: type_hint
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ 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;
+ }
+ }
+
+ /*
+ * Argument Name: visible
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public bool visible
+ {
+ get
+ {
+ return this.Data.visible;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.visible = value;
+ }
+ }
+
+ /*
+ * Argument Name: required
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public bool required
+ {
+ get
+ {
+ return this.Data.required;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.required = value;
+ }
+ }
+
+ /*
+ * Argument Name: {
+ struct
+ {
+ gboolean multiline
+ * Argument Type: union
+ * Argument Category: InnerStruct
+ */
+ /*
+ * Could not generate a wrapper for PurpleRequestField.{
+ struct
+ {
+ gboolean multiline in file "request.h".
+ * Message: The struct contains an inner-struct or inner-union and cannot be automatically wrapped.
+ */
+
+ /*
+ * Argument Name: masked
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public bool masked
+ {
+ get
+ {
+ return this.Data.masked;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.masked = value;
+ }
+ }
+
+ /*
+ * Argument Name: editable
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public bool editable
+ {
+ get
+ {
+ return this.Data.editable;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.editable = value;
+ }
+ }
+
+ /*
+ * Argument Name: default_value
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ 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;
+ }
+ }
+
+ /*
+ * Argument Name: value
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string value
+ {
+ get
+ {
+ return this.Data.value;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.value = value;
+ }
+ }
+
+ }
+
+
+ [StructLayout(LayoutKind.Sequential)]
+ public class _PurpleRequestField
+ {
+ /*
+ * PurpleRequestFieldType type
+ */
+ public Request.PurpleRequestFieldType type;
+
+ /*
+ * PurpleRequestFieldGroup * group
+ */
+ public IntPtr group;
+
+ /*
+ * char * id
+ */
+ public string id;
+
+ /*
+ * char * label
+ */
+ public string label;
+
+ /*
+ * char * type_hint
+ */
+ public string type_hint;
+
+ /*
+ * gboolean visible
+ */
+ public bool visible;
+
+ /*
+ * gboolean required
+ */
+ public bool required;
+
+ /*
+ * union {
+ struct
+ {
+ gboolean multiline
+ */
+ /*
+ * Could not generate a wrapper for PurpleRequestField.{
+ struct
+ {
+ gboolean multiline in file "request.h".
+ * Message: The struct contains an inner-struct or inner-union and cannot be automatically wrapped.
+ */
+
+ /*
+ * gboolean masked
+ */
+ public bool masked;
+
+ /*
+ * gboolean editable
+ */
+ public bool editable;
+
+ /*
+ * char * default_value
+ */
+ public string default_value;
+
+ /*
+ * char * value
+ */
+ public string value;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleRoomlist.cs 6bcfe00c95851429e05273eda22ad6a667192309
+++ libpurple/wrapper/PurpleRoomlist.cs 6bcfe00c95851429e05273eda22ad6a667192309
@@ -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
+{
+
+ /*
+ * File: roomlist.h
+ * Structure: PurpleRoomlist
+ */
+ public class PurpleRoomlist : UnmanagedWrapper<_PurpleRoomlist>
+ {
+ public PurpleRoomlist()
+ {
+ }
+
+ public PurpleRoomlist(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleRoomlist)Marshal.PtrToStructure(this.Reference, typeof(_PurpleRoomlist));
+ }
+
+ /*
+ * Argument Name: account
+ * Argument Type: PurpleAccount *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: fields
+ * Argument Type: GList *
+ * Argument Category: PointerToGList
+ */
+ /*
+ * Could not generate a wrapper for PurpleRoomlist.fields in file "roomlist.h".
+ * Message: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ /*
+ * Argument Name: rooms
+ * Argument Type: GList *
+ * Argument Category: PointerToGList
+ */
+ /*
+ * Could not generate a wrapper for PurpleRoomlist.rooms in file "roomlist.h".
+ * Message: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ /*
+ * Argument Name: in_progress
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ 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;
+ }
+ }
+
+ /*
+ * Argument Name: ui_data
+ * Argument Type: gpointer
+ * Argument Category: VoidPointer
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: proto_data
+ * Argument Type: gpointer
+ * Argument Category: VoidPointer
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: ref
+ * Argument Type: guint
+ * Argument Category: Native
+ */
+ 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)]
+ public class _PurpleRoomlist
+ {
+ /*
+ * PurpleAccount * account
+ */
+ public IntPtr account;
+
+ /*
+ * GList * fields
+ */
+ public IntPtr fields;
+
+ /*
+ * GList * rooms
+ */
+ public IntPtr rooms;
+
+ /*
+ * gboolean in_progress
+ */
+ public bool in_progress;
+
+ /*
+ * gpointer ui_data
+ */
+ public IntPtr ui_data;
+
+ /*
+ * gpointer proto_data
+ */
+ public IntPtr proto_data;
+
+ /*
+ * guint ref
+ */
+ public uint ref_;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleRoomlistField.cs 795b68f0be72d5e5978616bfe37c4ec690a0b596
+++ libpurple/wrapper/PurpleRoomlistField.cs 795b68f0be72d5e5978616bfe37c4ec690a0b596
@@ -0,0 +1,167 @@
+/* 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
+{
+
+ /*
+ * File: roomlist.h
+ * Structure: PurpleRoomlistField
+ */
+ public class PurpleRoomlistField : UnmanagedWrapper<_PurpleRoomlistField>
+ {
+ public PurpleRoomlistField()
+ {
+ }
+
+ public PurpleRoomlistField(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleRoomlistField)Marshal.PtrToStructure(this.Reference, typeof(_PurpleRoomlistField));
+ }
+
+ /*
+ * Argument Name: type
+ * Argument Type: PurpleRoomlistFieldType
+ * Argument Category: KnownEnum
+ */
+ public Roomlist.PurpleRoomlistFieldType type
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: label
+ * Argument Type: gchar *
+ * Argument Category: Native
+ */
+ public string label
+ {
+ get
+ {
+ return this.Data.label;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.label = value;
+ }
+ }
+
+ /*
+ * Argument Name: name
+ * Argument Type: gchar *
+ * Argument Category: Native
+ */
+ public string name
+ {
+ get
+ {
+ return this.Data.name;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.name = value;
+ }
+ }
+
+ /*
+ * Argument Name: hidden
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public bool hidden
+ {
+ get
+ {
+ return this.Data.hidden;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.hidden = value;
+ }
+ }
+
+ }
+
+
+ [StructLayout(LayoutKind.Sequential)]
+ public class _PurpleRoomlistField
+ {
+ /*
+ * PurpleRoomlistFieldType type
+ */
+ public Roomlist.PurpleRoomlistFieldType type;
+
+ /*
+ * gchar * label
+ */
+ public string label;
+
+ /*
+ * gchar * name
+ */
+ public string name;
+
+ /*
+ * gboolean hidden
+ */
+ public bool hidden;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleRoomlistRoom.cs b7ebb018fd32b6757e105fff83e538f5ae1cb64a
+++ libpurple/wrapper/PurpleRoomlistRoom.cs b7ebb018fd32b6757e105fff83e538f5ae1cb64a
@@ -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
+{
+
+ /*
+ * File: roomlist.h
+ * Structure: PurpleRoomlistRoom
+ */
+ public class PurpleRoomlistRoom : UnmanagedWrapper<_PurpleRoomlistRoom>
+ {
+ public PurpleRoomlistRoom()
+ {
+ }
+
+ public PurpleRoomlistRoom(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleRoomlistRoom)Marshal.PtrToStructure(this.Reference, typeof(_PurpleRoomlistRoom));
+ }
+
+ /*
+ * Argument Name: type
+ * Argument Type: PurpleRoomlistRoomType
+ * Argument Category: KnownEnum
+ */
+ public Roomlist.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. */
+ }
+ }
+
+ /*
+ * Argument Name: name
+ * Argument Type: gchar *
+ * Argument Category: Native
+ */
+ public string name
+ {
+ get
+ {
+ return this.Data.name;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.name = value;
+ }
+ }
+
+ /*
+ * Argument Name: fields
+ * Argument Type: GList *
+ * Argument Category: PointerToGList
+ */
+ /*
+ * Could not generate a wrapper for PurpleRoomlistRoom.fields in file "roomlist.h".
+ * Message: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ /*
+ * Argument Name: parent
+ * Argument Type: PurpleRoomlistRoom *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: expanded_once
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ 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)]
+ public class _PurpleRoomlistRoom
+ {
+ /*
+ * PurpleRoomlistRoomType type
+ */
+ public Roomlist.PurpleRoomlistRoomType type;
+
+ /*
+ * gchar * name
+ */
+ public string name;
+
+ /*
+ * GList * fields
+ */
+ public IntPtr fields;
+
+ /*
+ * PurpleRoomlistRoom * parent
+ */
+ public IntPtr parent;
+
+ /*
+ * gboolean expanded_once
+ */
+ public bool expanded_once;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleRoomlistUiOps.cs 578ece8bee91e00abbf778d7fdf3fa8756d6e4c7
+++ libpurple/wrapper/PurpleRoomlistUiOps.cs 578ece8bee91e00abbf778d7fdf3fa8756d6e4c7
@@ -0,0 +1,317 @@
+/* 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
+{
+
+ /*
+ * File: roomlist.h
+ * Structure: PurpleRoomlistUiOps
+ */
+ public class PurpleRoomlistUiOps : UnmanagedWrapper<_PurpleRoomlistUiOps>
+ {
+ public PurpleRoomlistUiOps()
+ {
+ }
+
+ public PurpleRoomlistUiOps(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleRoomlistUiOps)Marshal.PtrToStructure(this.Reference, typeof(_PurpleRoomlistUiOps));
+ }
+
+ /*
+ * Argument Name: show_with_account
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr show_with_account
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: create
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: set_fields
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr set_fields
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: add_room
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr add_room
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: in_progress
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr in_progress
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: destroy
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr destroy
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved1
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved2
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved3
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved4
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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)]
+ public class _PurpleRoomlistUiOps
+ {
+ /*
+ * void (*show_with_account)(PurpleAccount * account)
+ */
+ public IntPtr show_with_account;
+
+ /*
+ * void (*create)(PurpleRoomlist * list)
+ */
+ public IntPtr create;
+
+ /*
+ * void (*set_fields)(PurpleRoomlist * list, GList * fields)
+ */
+ public IntPtr set_fields;
+
+ /*
+ * void (*add_room)(PurpleRoomlist * list, PurpleRoomlistRoom * room)
+ */
+ public IntPtr add_room;
+
+ /*
+ * void (*in_progress)(PurpleRoomlist * list, gboolean flag)
+ */
+ public IntPtr in_progress;
+
+ /*
+ * void (*destroy)(PurpleRoomlist * list)
+ */
+ public IntPtr destroy;
+
+ /*
+ * void (*_purple_reserved1)()
+ */
+ public IntPtr _purple_reserved1;
+
+ /*
+ * void (*_purple_reserved2)()
+ */
+ public IntPtr _purple_reserved2;
+
+ /*
+ * void (*_purple_reserved3)()
+ */
+ public IntPtr _purple_reserved3;
+
+ /*
+ * void (*_purple_reserved4)()
+ */
+ public IntPtr _purple_reserved4;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleSoundTheme.cs 21ca3d1964ba1531cf42de7a9ff5c32b9e604219
+++ libpurple/wrapper/PurpleSoundTheme.cs 21ca3d1964ba1531cf42de7a9ff5c32b9e604219
@@ -0,0 +1,110 @@
+/* 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
+{
+
+ /*
+ * File: sound-theme.h
+ * Structure: PurpleSoundTheme
+ */
+ public class PurpleSoundTheme : UnmanagedWrapper<_PurpleSoundTheme>
+ {
+ public PurpleSoundTheme()
+ {
+ }
+
+ public PurpleSoundTheme(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleSoundTheme)Marshal.PtrToStructure(this.Reference, typeof(_PurpleSoundTheme));
+ }
+
+ /*
+ * Argument Name: parent
+ * Argument Type: PurpleTheme
+ * Argument Category: KnownStruct
+ */
+ /*
+ * Could not generate a wrapper for PurpleSoundTheme.parent in file "sound-theme.h".
+ * Message: The struct contains an object that resolves to a function that is not a function pointer (PurpleTheme parent).
+ */
+
+ /*
+ * Argument Name: priv
+ * Argument Type: gpointer
+ * Argument Category: VoidPointer
+ */
+ 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)]
+ public class _PurpleSoundTheme
+ {
+ /*
+ * PurpleTheme parent
+ */
+ /*
+ * Could not generate a wrapper for PurpleSoundTheme.parent in file "sound-theme.h".
+ * Message: The struct contains an object that resolves to a function that is not a function pointer (PurpleTheme parent).
+ */
+
+ /*
+ * gpointer priv
+ */
+ public IntPtr priv;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleSoundThemeClass.cs e3962db64b0b34c585e21c5b2d1c8068755c86cf
+++ libpurple/wrapper/PurpleSoundThemeClass.cs e3962db64b0b34c585e21c5b2d1c8068755c86cf
@@ -0,0 +1,85 @@
+/* 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
+{
+
+ /*
+ * File: sound-theme.h
+ * Structure: PurpleSoundThemeClass
+ */
+ public class PurpleSoundThemeClass : UnmanagedWrapper<_PurpleSoundThemeClass>
+ {
+ public PurpleSoundThemeClass()
+ {
+ }
+
+ public PurpleSoundThemeClass(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleSoundThemeClass)Marshal.PtrToStructure(this.Reference, typeof(_PurpleSoundThemeClass));
+ }
+
+ /*
+ * Argument Name: parent_class
+ * Argument Type: PurpleThemeClass
+ * Argument Category: KnownStruct
+ */
+ /*
+ * Could not generate a wrapper for PurpleSoundThemeClass.parent_class in file "sound-theme.h".
+ * Message: The struct contains an object that resolves to a function that is not a function pointer (PurpleThemeClass parent_class).
+ */
+
+ }
+
+
+ [StructLayout(LayoutKind.Sequential)]
+ public class _PurpleSoundThemeClass
+ {
+ /*
+ * PurpleThemeClass parent_class
+ */
+ /*
+ * Could not generate a wrapper for PurpleSoundThemeClass.parent_class in file "sound-theme.h".
+ * Message: The struct contains an object that resolves to a function that is not a function pointer (PurpleThemeClass parent_class).
+ */
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleSoundThemeLoader.cs 726aff5b8de792a69696991d9980114f98173209
+++ libpurple/wrapper/PurpleSoundThemeLoader.cs 726aff5b8de792a69696991d9980114f98173209
@@ -0,0 +1,85 @@
+/* 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
+{
+
+ /*
+ * File: sound-theme-loader.h
+ * Structure: PurpleSoundThemeLoader
+ */
+ public class PurpleSoundThemeLoader : UnmanagedWrapper<_PurpleSoundThemeLoader>
+ {
+ public PurpleSoundThemeLoader()
+ {
+ }
+
+ public PurpleSoundThemeLoader(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleSoundThemeLoader)Marshal.PtrToStructure(this.Reference, typeof(_PurpleSoundThemeLoader));
+ }
+
+ /*
+ * Argument Name: parent
+ * Argument Type: PurpleThemeLoader
+ * Argument Category: KnownStruct
+ */
+ /*
+ * Could not generate a wrapper for PurpleSoundThemeLoader.parent in file "sound-theme-loader.h".
+ * Message: The struct contains an object that resolves to a function that is not a function pointer (PurpleThemeLoader parent).
+ */
+
+ }
+
+
+ [StructLayout(LayoutKind.Sequential)]
+ public class _PurpleSoundThemeLoader
+ {
+ /*
+ * PurpleThemeLoader parent
+ */
+ /*
+ * Could not generate a wrapper for PurpleSoundThemeLoader.parent in file "sound-theme-loader.h".
+ * Message: The struct contains an object that resolves to a function that is not a function pointer (PurpleThemeLoader parent).
+ */
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleSoundThemeLoaderClass.cs d676c05dec03d2e06dd9738566314034b3f9b173
+++ libpurple/wrapper/PurpleSoundThemeLoaderClass.cs d676c05dec03d2e06dd9738566314034b3f9b173
@@ -0,0 +1,85 @@
+/* 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
+{
+
+ /*
+ * File: sound-theme-loader.h
+ * Structure: PurpleSoundThemeLoaderClass
+ */
+ public class PurpleSoundThemeLoaderClass : UnmanagedWrapper<_PurpleSoundThemeLoaderClass>
+ {
+ public PurpleSoundThemeLoaderClass()
+ {
+ }
+
+ public PurpleSoundThemeLoaderClass(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleSoundThemeLoaderClass)Marshal.PtrToStructure(this.Reference, typeof(_PurpleSoundThemeLoaderClass));
+ }
+
+ /*
+ * Argument Name: parent_class
+ * Argument Type: PurpleThemeLoaderClass
+ * Argument Category: KnownStruct
+ */
+ /*
+ * Could not generate a wrapper for PurpleSoundThemeLoaderClass.parent_class in file "sound-theme-loader.h".
+ * Message: The struct contains an object that resolves to a function that is not a function pointer (PurpleThemeLoaderClass parent_class).
+ */
+
+ }
+
+
+ [StructLayout(LayoutKind.Sequential)]
+ public class _PurpleSoundThemeLoaderClass
+ {
+ /*
+ * PurpleThemeLoaderClass parent_class
+ */
+ /*
+ * Could not generate a wrapper for PurpleSoundThemeLoaderClass.parent_class in file "sound-theme-loader.h".
+ * Message: The struct contains an object that resolves to a function that is not a function pointer (PurpleThemeLoaderClass parent_class).
+ */
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleSoundUiOps.cs 72dd29d87d4e7f9e0bb9493f03b2e7c7231b5c91
+++ libpurple/wrapper/PurpleSoundUiOps.cs 72dd29d87d4e7f9e0bb9493f03b2e7c7231b5c91
@@ -0,0 +1,267 @@
+/* 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
+{
+
+ /*
+ * File: sound.h
+ * Structure: PurpleSoundUiOps
+ */
+ public class PurpleSoundUiOps : UnmanagedWrapper<_PurpleSoundUiOps>
+ {
+ public PurpleSoundUiOps()
+ {
+ }
+
+ public PurpleSoundUiOps(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleSoundUiOps)Marshal.PtrToStructure(this.Reference, typeof(_PurpleSoundUiOps));
+ }
+
+ /*
+ * Argument Name: init
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr init
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: uninit
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr uninit
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: play_file
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: play_event
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved1
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved2
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved3
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved4
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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)]
+ public class _PurpleSoundUiOps
+ {
+ /*
+ * void (*init)()
+ */
+ public IntPtr init;
+
+ /*
+ * void (*uninit)()
+ */
+ public IntPtr uninit;
+
+ /*
+ * void (*play_file)(char * filename)
+ */
+ public IntPtr play_file;
+
+ /*
+ * void (*play_event)(PurpleSoundEventID event)
+ */
+ public IntPtr play_event;
+
+ /*
+ * void (*_purple_reserved1)()
+ */
+ public IntPtr _purple_reserved1;
+
+ /*
+ * void (*_purple_reserved2)()
+ */
+ public IntPtr _purple_reserved2;
+
+ /*
+ * void (*_purple_reserved3)()
+ */
+ public IntPtr _purple_reserved3;
+
+ /*
+ * void (*_purple_reserved4)()
+ */
+ public IntPtr _purple_reserved4;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleSrvResponse.cs 658039f6e90e26a6084eb2f5617b65f72b219941
+++ libpurple/wrapper/PurpleSrvResponse.cs 658039f6e90e26a6084eb2f5617b65f72b219941
@@ -0,0 +1,167 @@
+/* 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
+{
+
+ /*
+ * File: dnssrv.h
+ * Structure: PurpleSrvResponse
+ */
+ public class PurpleSrvResponse : UnmanagedWrapper<_PurpleSrvResponse>
+ {
+ public PurpleSrvResponse()
+ {
+ }
+
+ public PurpleSrvResponse(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleSrvResponse)Marshal.PtrToStructure(this.Reference, typeof(_PurpleSrvResponse));
+ }
+
+ /*
+ * Argument Name: hostname
+ * Argument Type: char
+ * Argument Category: Native
+ */
+ public string[] hostname
+ {
+ get
+ {
+ return this.Data.hostname;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.hostname = value;
+ }
+ }
+
+ /*
+ * Argument Name: port
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ public int port
+ {
+ get
+ {
+ return this.Data.port;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.port = value;
+ }
+ }
+
+ /*
+ * Argument Name: weight
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ public int weight
+ {
+ get
+ {
+ return this.Data.weight;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.weight = value;
+ }
+ }
+
+ /*
+ * Argument Name: pref
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ public int pref
+ {
+ get
+ {
+ return this.Data.pref;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.pref = value;
+ }
+ }
+
+ }
+
+
+ [StructLayout(LayoutKind.Sequential)]
+ public class _PurpleSrvResponse
+ {
+ /*
+ * char hostname
+ */
+ public string[] hostname;
+
+ /*
+ * int port
+ */
+ public int port;
+
+ /*
+ * int weight
+ */
+ public int weight;
+
+ /*
+ * int pref
+ */
+ public int pref;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleSslConnection.cs ffba038f7b7a36cc7ca101f59dbec509c131ecbf
+++ libpurple/wrapper/PurpleSslConnection.cs ffba038f7b7a36cc7ca101f59dbec509c131ecbf
@@ -0,0 +1,367 @@
+/* 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
+{
+
+ /*
+ * File: sslconn.h
+ * Structure: PurpleSslConnection
+ */
+ public class PurpleSslConnection : UnmanagedWrapper<_PurpleSslConnection>
+ {
+ public PurpleSslConnection()
+ {
+ }
+
+ public PurpleSslConnection(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleSslConnection)Marshal.PtrToStructure(this.Reference, typeof(_PurpleSslConnection));
+ }
+
+ /*
+ * Argument Name: host
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string host
+ {
+ get
+ {
+ return this.Data.host;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.host = value;
+ }
+ }
+
+ /*
+ * Argument Name: port
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ public int port
+ {
+ get
+ {
+ return this.Data.port;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.port = value;
+ }
+ }
+
+ /*
+ * Argument Name: connect_cb_data
+ * Argument Type: void *
+ * Argument Category: VoidPointer
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: connect_cb
+ * Argument Type: PurpleSslInputFunction
+ * Argument Category: KnownFunctionPointer
+ */
+ public Sslconn.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. */
+ }
+ }
+
+ /*
+ * Argument Name: error_cb
+ * Argument Type: PurpleSslErrorFunction
+ * Argument Category: KnownFunctionPointer
+ */
+ public Sslconn.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. */
+ }
+ }
+
+ /*
+ * Argument Name: recv_cb_data
+ * Argument Type: void *
+ * Argument Category: VoidPointer
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: recv_cb
+ * Argument Type: PurpleSslInputFunction
+ * Argument Category: KnownFunctionPointer
+ */
+ public Sslconn.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. */
+ }
+ }
+
+ /*
+ * Argument Name: fd
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ public int fd
+ {
+ get
+ {
+ return this.Data.fd;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.fd = value;
+ }
+ }
+
+ /*
+ * Argument Name: inpa
+ * Argument Type: guint
+ * Argument Category: Native
+ */
+ public uint inpa
+ {
+ get
+ {
+ return this.Data.inpa;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.inpa = value;
+ }
+ }
+
+ /*
+ * Argument Name: connect_data
+ * Argument Type: PurpleProxyConnectData *
+ * Argument Category: PointerToUnknownStruct
+ */
+ public /* Resolved as PointerToUnknownStruct to PurpleProxyConnectData */ IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: private_data
+ * Argument Type: void *
+ * Argument Category: VoidPointer
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: verifier
+ * Argument Type: PurpleCertificateVerifier *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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)]
+ public class _PurpleSslConnection
+ {
+ /*
+ * char * host
+ */
+ public string host;
+
+ /*
+ * int port
+ */
+ public int port;
+
+ /*
+ * void * connect_cb_data
+ */
+ public IntPtr connect_cb_data;
+
+ /*
+ * PurpleSslInputFunction connect_cb
+ */
+ public IntPtr connect_cb;
+
+ /*
+ * PurpleSslErrorFunction error_cb
+ */
+ public IntPtr error_cb;
+
+ /*
+ * void * recv_cb_data
+ */
+ public IntPtr recv_cb_data;
+
+ /*
+ * PurpleSslInputFunction recv_cb
+ */
+ public IntPtr recv_cb;
+
+ /*
+ * int fd
+ */
+ public int fd;
+
+ /*
+ * guint inpa
+ */
+ public uint inpa;
+
+ /*
+ * PurpleProxyConnectData * connect_data
+ */
+ public IntPtr connect_data;
+
+ /*
+ * void * private_data
+ */
+ public IntPtr private_data;
+
+ /*
+ * PurpleCertificateVerifier * verifier
+ */
+ public IntPtr verifier;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleStunNatDiscovery.cs bc6e27b23130fb3873d0b105e8abae998e0c11b9
+++ libpurple/wrapper/PurpleStunNatDiscovery.cs bc6e27b23130fb3873d0b105e8abae998e0c11b9
@@ -0,0 +1,192 @@
+/* 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
+{
+
+ /*
+ * File: stun.h
+ * Structure: PurpleStunNatDiscovery
+ */
+ public class PurpleStunNatDiscovery : UnmanagedWrapper<_PurpleStunNatDiscovery>
+ {
+ public PurpleStunNatDiscovery()
+ {
+ }
+
+ public PurpleStunNatDiscovery(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleStunNatDiscovery)Marshal.PtrToStructure(this.Reference, typeof(_PurpleStunNatDiscovery));
+ }
+
+ /*
+ * Argument Name: status
+ * Argument Type: PurpleStunStatus
+ * Argument Category: KnownEnum
+ */
+ public Stun.PurpleStunStatus status
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: type
+ * Argument Type: PurpleStunNatType
+ * Argument Category: KnownEnum
+ */
+ public Stun.PurpleStunNatType type
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: publicip
+ * Argument Type: char
+ * Argument Category: Native
+ */
+ public string[] publicip
+ {
+ get
+ {
+ return this.Data.publicip;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.publicip = value;
+ }
+ }
+
+ /*
+ * Argument Name: servername
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string servername
+ {
+ get
+ {
+ return this.Data.servername;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.servername = value;
+ }
+ }
+
+ /*
+ * Argument Name: lookup_time
+ * Argument Type: time_t
+ * Argument Category: DateTime
+ */
+ public DateTime lookup_time
+ {
+ 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)]
+ public class _PurpleStunNatDiscovery
+ {
+ /*
+ * PurpleStunStatus status
+ */
+ public Stun.PurpleStunStatus status;
+
+ /*
+ * PurpleStunNatType type
+ */
+ public Stun.PurpleStunNatType type;
+
+ /*
+ * char publicip
+ */
+ public string[] publicip;
+
+ /*
+ * char * servername
+ */
+ public string servername;
+
+ /*
+ * time_t lookup_time
+ */
+ public ulong lookup_time;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleTheme.cs 5b7fe0d509e5bd80194694d5d2ea1769e2e9f998
+++ libpurple/wrapper/PurpleTheme.cs 5b7fe0d509e5bd80194694d5d2ea1769e2e9f998
@@ -0,0 +1,117 @@
+/* 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
+{
+
+ /*
+ * File: theme.h
+ * Structure: PurpleTheme
+ */
+ public class PurpleTheme : UnmanagedWrapper<_PurpleTheme>
+ {
+ public PurpleTheme()
+ {
+ }
+
+ public PurpleTheme(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleTheme)Marshal.PtrToStructure(this.Reference, typeof(_PurpleTheme));
+ }
+
+ /*
+ * Argument Name: parent
+ * Argument Type: GObject
+ * Argument Category: GObjectObject
+ */
+ public /* libobject */ IntPtr parent
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: priv
+ * Argument Type: gpointer
+ * Argument Category: VoidPointer
+ */
+ 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)]
+ public class _PurpleTheme
+ {
+ /*
+ * GObject parent
+ */
+ public IntPtr parent;
+
+ /*
+ * gpointer priv
+ */
+ public IntPtr priv;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleThemeClass.cs 63ce3584583cb8a1aaf7aae02da6a332431e10d3
+++ libpurple/wrapper/PurpleThemeClass.cs 63ce3584583cb8a1aaf7aae02da6a332431e10d3
@@ -0,0 +1,92 @@
+/* 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
+{
+
+ /*
+ * File: theme.h
+ * Structure: PurpleThemeClass
+ */
+ public class PurpleThemeClass : UnmanagedWrapper<_PurpleThemeClass>
+ {
+ public PurpleThemeClass()
+ {
+ }
+
+ public PurpleThemeClass(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleThemeClass)Marshal.PtrToStructure(this.Reference, typeof(_PurpleThemeClass));
+ }
+
+ /*
+ * Argument Name: parent_class
+ * Argument Type: GObjectClass
+ * Argument Category: GObjectObject
+ */
+ public /* libobject */ IntPtr 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)]
+ public class _PurpleThemeClass
+ {
+ /*
+ * GObjectClass parent_class
+ */
+ public IntPtr parent_class;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleThemeLoader.cs f28c6a32549e3d5b4a42af21c34303c815efe32c
+++ libpurple/wrapper/PurpleThemeLoader.cs f28c6a32549e3d5b4a42af21c34303c815efe32c
@@ -0,0 +1,117 @@
+/* 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
+{
+
+ /*
+ * File: theme-loader.h
+ * Structure: PurpleThemeLoader
+ */
+ public class PurpleThemeLoader : UnmanagedWrapper<_PurpleThemeLoader>
+ {
+ public PurpleThemeLoader()
+ {
+ }
+
+ public PurpleThemeLoader(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleThemeLoader)Marshal.PtrToStructure(this.Reference, typeof(_PurpleThemeLoader));
+ }
+
+ /*
+ * Argument Name: parent
+ * Argument Type: GObject
+ * Argument Category: GObjectObject
+ */
+ public /* libobject */ IntPtr parent
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: priv
+ * Argument Type: gpointer
+ * Argument Category: VoidPointer
+ */
+ 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)]
+ public class _PurpleThemeLoader
+ {
+ /*
+ * GObject parent
+ */
+ public IntPtr parent;
+
+ /*
+ * gpointer priv
+ */
+ public IntPtr priv;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleThemeLoaderClass.cs c5255410d6261737391b5d8ec75d1afdc118cc7a
+++ libpurple/wrapper/PurpleThemeLoaderClass.cs c5255410d6261737391b5d8ec75d1afdc118cc7a
@@ -0,0 +1,117 @@
+/* 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
+{
+
+ /*
+ * File: theme-loader.h
+ * Structure: PurpleThemeLoaderClass
+ */
+ public class PurpleThemeLoaderClass : UnmanagedWrapper<_PurpleThemeLoaderClass>
+ {
+ public PurpleThemeLoaderClass()
+ {
+ }
+
+ public PurpleThemeLoaderClass(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleThemeLoaderClass)Marshal.PtrToStructure(this.Reference, typeof(_PurpleThemeLoaderClass));
+ }
+
+ /*
+ * Argument Name: parent_class
+ * Argument Type: GObjectClass
+ * Argument Category: GObjectObject
+ */
+ public /* libobject */ IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: purple_theme_loader_build
+ * Argument Type: PurpleTheme *
+ * Argument Category: PointerToKnownStruct
+ */
+ public IntPtr purple_theme_loader_build
+ {
+ 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)]
+ public class _PurpleThemeLoaderClass
+ {
+ /*
+ * GObjectClass parent_class
+ */
+ public IntPtr parent_class;
+
+ /*
+ * PurpleTheme * (*purple_theme_loader_build)(gchar* )
+ */
+ public IntPtr purple_theme_loader_build;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleThemeManager.cs 05720e6991f402dfd385edc3fe460eb18509a58e
+++ libpurple/wrapper/PurpleThemeManager.cs 05720e6991f402dfd385edc3fe460eb18509a58e
@@ -0,0 +1,92 @@
+/* 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
+{
+
+ /*
+ * File: theme-manager.h
+ * Structure: PurpleThemeManager
+ */
+ public class PurpleThemeManager : UnmanagedWrapper<_PurpleThemeManager>
+ {
+ public PurpleThemeManager()
+ {
+ }
+
+ public PurpleThemeManager(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleThemeManager)Marshal.PtrToStructure(this.Reference, typeof(_PurpleThemeManager));
+ }
+
+ /*
+ * Argument Name: parent
+ * Argument Type: GObject
+ * Argument Category: GObjectObject
+ */
+ public /* libobject */ IntPtr 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)]
+ public class _PurpleThemeManager
+ {
+ /*
+ * GObject parent
+ */
+ public IntPtr parent;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleThemeManagerClass.cs b8c0a7354ea6e889fc25977b0172236a611a3afe
+++ libpurple/wrapper/PurpleThemeManagerClass.cs b8c0a7354ea6e889fc25977b0172236a611a3afe
@@ -0,0 +1,92 @@
+/* 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
+{
+
+ /*
+ * File: theme-manager.h
+ * Structure: PurpleThemeManagerClass
+ */
+ public class PurpleThemeManagerClass : UnmanagedWrapper<_PurpleThemeManagerClass>
+ {
+ public PurpleThemeManagerClass()
+ {
+ }
+
+ public PurpleThemeManagerClass(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleThemeManagerClass)Marshal.PtrToStructure(this.Reference, typeof(_PurpleThemeManagerClass));
+ }
+
+ /*
+ * Argument Name: parent_class
+ * Argument Type: GObjectClass
+ * Argument Category: GObjectObject
+ */
+ public /* libobject */ IntPtr 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)]
+ public class _PurpleThemeManagerClass
+ {
+ /*
+ * GObjectClass parent_class
+ */
+ public IntPtr parent_class;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleWhiteboard.cs dfee8b7418759c6113019d70a6069d0993a2eef5
+++ libpurple/wrapper/PurpleWhiteboard.cs dfee8b7418759c6113019d70a6069d0993a2eef5
@@ -0,0 +1,232 @@
+/* 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
+{
+
+ /*
+ * File: whiteboard.h
+ * Structure: PurpleWhiteboard
+ */
+ public class PurpleWhiteboard : UnmanagedWrapper<_PurpleWhiteboard>
+ {
+ public PurpleWhiteboard()
+ {
+ }
+
+ public PurpleWhiteboard(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleWhiteboard)Marshal.PtrToStructure(this.Reference, typeof(_PurpleWhiteboard));
+ }
+
+ /*
+ * Argument Name: state
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ public int state
+ {
+ get
+ {
+ return this.Data.state;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.state = value;
+ }
+ }
+
+ /*
+ * Argument Name: account
+ * Argument Type: PurpleAccount *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: who
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string who
+ {
+ get
+ {
+ return this.Data.who;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.who = value;
+ }
+ }
+
+ /*
+ * Argument Name: ui_data
+ * Argument Type: void *
+ * Argument Category: VoidPointer
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: proto_data
+ * Argument Type: void *
+ * Argument Category: VoidPointer
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: prpl_ops
+ * Argument Type: PurpleWhiteboardPrplOps *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: draw_list
+ * Argument Type: GList *
+ * Argument Category: PointerToGList
+ */
+ /*
+ * Could not generate a wrapper for PurpleWhiteboard.draw_list in file "whiteboard.h".
+ * Message: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ }
+
+
+ [StructLayout(LayoutKind.Sequential)]
+ public class _PurpleWhiteboard
+ {
+ /*
+ * int state
+ */
+ public int state;
+
+ /*
+ * PurpleAccount * account
+ */
+ public IntPtr account;
+
+ /*
+ * char * who
+ */
+ public string who;
+
+ /*
+ * void * ui_data
+ */
+ public IntPtr ui_data;
+
+ /*
+ * void * proto_data
+ */
+ public IntPtr proto_data;
+
+ /*
+ * PurpleWhiteboardPrplOps * prpl_ops
+ */
+ public IntPtr prpl_ops;
+
+ /*
+ * GList * draw_list
+ */
+ public IntPtr draw_list;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleWhiteboardPrplOps.cs 945e364643f1d70dbb89b44d3b331a73b6bc96d5
+++ libpurple/wrapper/PurpleWhiteboardPrplOps.cs 945e364643f1d70dbb89b44d3b331a73b6bc96d5
@@ -0,0 +1,367 @@
+/* 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
+{
+
+ /*
+ * File: whiteboard.h
+ * Structure: PurpleWhiteboardPrplOps
+ */
+ public class PurpleWhiteboardPrplOps : UnmanagedWrapper<_PurpleWhiteboardPrplOps>
+ {
+ public PurpleWhiteboardPrplOps()
+ {
+ }
+
+ public PurpleWhiteboardPrplOps(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleWhiteboardPrplOps)Marshal.PtrToStructure(this.Reference, typeof(_PurpleWhiteboardPrplOps));
+ }
+
+ /*
+ * Argument Name: start
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr start
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: end
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr end
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: get_dimensions
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: set_dimensions
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: get_brush
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: set_brush
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: send_draw_list
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: clear
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr clear
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved1
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved2
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved3
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved4
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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)]
+ public class _PurpleWhiteboardPrplOps
+ {
+ /*
+ * void (*start)(PurpleWhiteboard * wb)
+ */
+ public IntPtr start;
+
+ /*
+ * void (*end)(PurpleWhiteboard * wb)
+ */
+ public IntPtr end;
+
+ /*
+ * void (*get_dimensions)(PurpleWhiteboard * wb, int * width, int * height)
+ */
+ public IntPtr get_dimensions;
+
+ /*
+ * void (*set_dimensions)(PurpleWhiteboard * wb, int width, int height)
+ */
+ public IntPtr set_dimensions;
+
+ /*
+ * void (*get_brush)(PurpleWhiteboard * wb, int * size, int * color)
+ */
+ public IntPtr get_brush;
+
+ /*
+ * void (*set_brush)(PurpleWhiteboard * wb, int size, int color)
+ */
+ public IntPtr set_brush;
+
+ /*
+ * void (*send_draw_list)(PurpleWhiteboard * wb, GList * draw_list)
+ */
+ public IntPtr send_draw_list;
+
+ /*
+ * void (*clear)(PurpleWhiteboard * wb)
+ */
+ public IntPtr clear;
+
+ /*
+ * void (*_purple_reserved1)()
+ */
+ public IntPtr _purple_reserved1;
+
+ /*
+ * void (*_purple_reserved2)()
+ */
+ public IntPtr _purple_reserved2;
+
+ /*
+ * void (*_purple_reserved3)()
+ */
+ public IntPtr _purple_reserved3;
+
+ /*
+ * void (*_purple_reserved4)()
+ */
+ public IntPtr _purple_reserved4;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleWhiteboardUiOps.cs ee5ee6544ea1a72b8b3780b5d9a46d9e2485b520
+++ libpurple/wrapper/PurpleWhiteboardUiOps.cs ee5ee6544ea1a72b8b3780b5d9a46d9e2485b520
@@ -0,0 +1,342 @@
+/* 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
+{
+
+ /*
+ * File: whiteboard.h
+ * Structure: PurpleWhiteboardUiOps
+ */
+ public class PurpleWhiteboardUiOps : UnmanagedWrapper<_PurpleWhiteboardUiOps>
+ {
+ public PurpleWhiteboardUiOps()
+ {
+ }
+
+ public PurpleWhiteboardUiOps(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleWhiteboardUiOps)Marshal.PtrToStructure(this.Reference, typeof(_PurpleWhiteboardUiOps));
+ }
+
+ /*
+ * Argument Name: create
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: destroy
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr destroy
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: set_dimensions
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: set_brush
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: draw_point
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: draw_line
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: clear
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr clear
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved1
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved2
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved3
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: _purple_reserved4
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ 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)]
+ public class _PurpleWhiteboardUiOps
+ {
+ /*
+ * void (*create)(PurpleWhiteboard * wb)
+ */
+ public IntPtr create;
+
+ /*
+ * void (*destroy)(PurpleWhiteboard * wb)
+ */
+ public IntPtr destroy;
+
+ /*
+ * void (*set_dimensions)(PurpleWhiteboard * wb, int width, int height)
+ */
+ public IntPtr set_dimensions;
+
+ /*
+ * void (*set_brush)(PurpleWhiteboard * wb, int size, int color)
+ */
+ public IntPtr set_brush;
+
+ /*
+ * void (*draw_point)(PurpleWhiteboard * wb, int x, int y, int color, int size)
+ */
+ public IntPtr draw_point;
+
+ /*
+ * void (*draw_line)(PurpleWhiteboard * wb, int x1, int y1, int x2, int y2, int color, int size)
+ */
+ public IntPtr draw_line;
+
+ /*
+ * void (*clear)(PurpleWhiteboard * wb)
+ */
+ public IntPtr clear;
+
+ /*
+ * void (*_purple_reserved1)()
+ */
+ public IntPtr _purple_reserved1;
+
+ /*
+ * void (*_purple_reserved2)()
+ */
+ public IntPtr _purple_reserved2;
+
+ /*
+ * void (*_purple_reserved3)()
+ */
+ public IntPtr _purple_reserved3;
+
+ /*
+ * void (*_purple_reserved4)()
+ */
+ public IntPtr _purple_reserved4;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/PurpleWrapper.csproj cda9988892e23cf62f44eefee6f20ef427533252
+++ libpurple/wrapper/PurpleWrapper.csproj cda9988892e23cf62f44eefee6f20ef427533252
@@ -0,0 +1,180 @@
+<?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>Library</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>
+ <PlatformTarget>x86</PlatformTarget>
+ </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>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+ <PlatformTarget>x86</PlatformTarget>
+ <OutputPath>bin\x86\Debug\</OutputPath>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+ <PlatformTarget>x86</PlatformTarget>
+ <OutputPath>bin\x86\Release\</OutputPath>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug %28Win32%29|AnyCPU' ">
+ <OutputPath>bin\Debug %28Win32%29\</OutputPath>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug %28Win32%29|x86' ">
+ <OutputPath>bin\x86\Debug %28Win32%29\</OutputPath>
+ </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>
\ No newline at end of file
============================================================
--- libpurple/wrapper/PurpleXfer.cs d7dfed200d807464cd60a43a82b2817a978f9ed3
+++ libpurple/wrapper/PurpleXfer.cs d7dfed200d807464cd60a43a82b2817a978f9ed3
@@ -0,0 +1,789 @@
+/* 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
+{
+
+ /*
+ * File: ft.h
+ * Structure: PurpleXfer
+ */
+ public class PurpleXfer : UnmanagedWrapper<_PurpleXfer>
+ {
+ public PurpleXfer()
+ {
+ }
+
+ public PurpleXfer(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_PurpleXfer)Marshal.PtrToStructure(this.Reference, typeof(_PurpleXfer));
+ }
+
+ /*
+ * Argument Name: ref
+ * Argument Type: guint
+ * Argument Category: Native
+ */
+ public uint ref_
+ {
+ get
+ {
+ return this.Data.ref_;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.ref_ = value;
+ }
+ }
+
+ /*
+ * Argument Name: type
+ * Argument Type: PurpleXferType
+ * Argument Category: KnownEnum
+ */
+ public Ft.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. */
+ }
+ }
+
+ /*
+ * Argument Name: account
+ * Argument Type: PurpleAccount *
+ * Argument Category: PointerToKnownStruct
+ */
+ 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. */
+ }
+ }
+
+ /*
+ * Argument Name: who
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string who
+ {
+ get
+ {
+ return this.Data.who;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.who = value;
+ }
+ }
+
+ /*
+ * Argument Name: message
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string message
+ {
+ get
+ {
+ return this.Data.message;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.message = value;
+ }
+ }
+
+ /*
+ * Argument Name: filename
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string filename
+ {
+ get
+ {
+ return this.Data.filename;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.filename = value;
+ }
+ }
+
+ /*
+ * Argument Name: local_filename
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ 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;
+ }
+ }
+
+ /*
+ * Argument Name: size
+ * Argument Type: size_t
+ * Argument Category: Native
+ */
+ public ulong size
+ {
+ get
+ {
+ return this.Data.size;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.size = value;
+ }
+ }
+
+ /*
+ * Argument Name: dest_fp
+ * Argument Type: FILE *
+ * Argument Category: PointerToUnknownStruct
+ */
+ public /* Resolved as PointerToUnknownStruct to FILE */ IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: remote_ip
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ 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;
+ }
+ }
+
+ /*
+ * Argument Name: local_port
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ 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;
+ }
+ }
+
+ /*
+ * Argument Name: remote_port
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ 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;
+ }
+ }
+
+ /*
+ * Argument Name: fd
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ public int fd
+ {
+ get
+ {
+ return this.Data.fd;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.fd = value;
+ }
+ }
+
+ /*
+ * Argument Name: watcher
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ public int watcher
+ {
+ get
+ {
+ return this.Data.watcher;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.watcher = value;
+ }
+ }
+
+ /*
+ * Argument Name: bytes_sent
+ * Argument Type: size_t
+ * Argument Category: Native
+ */
+ public ulong bytes_sent
+ {
+ get
+ {
+ return this.Data.bytes_sent;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.bytes_sent = value;
+ }
+ }
+
+ /*
+ * Argument Name: bytes_remaining
+ * Argument Type: size_t
+ * Argument Category: Native
+ */
+ public ulong bytes_remaining
+ {
+ get
+ {
+ return this.Data.bytes_remaining;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.bytes_remaining = value;
+ }
+ }
+
+ /*
+ * Argument Name: start_time
+ * Argument Type: time_t
+ * Argument Category: DateTime
+ */
+ public DateTime 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. */
+ }
+ }
+
+ /*
+ * Argument Name: end_time
+ * Argument Type: time_t
+ * Argument Category: DateTime
+ */
+ public DateTime 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. */
+ }
+ }
+
+ /*
+ * Argument Name: current_buffer_size
+ * Argument Type: size_t
+ * Argument Category: Native
+ */
+ public ulong current_buffer_size
+ {
+ get
+ {
+ return this.Data.current_buffer_size;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.current_buffer_size = value;
+ }
+ }
+
+ /*
+ * Argument Name: status
+ * Argument Type: PurpleXferStatusType
+ * Argument Category: KnownEnum
+ */
+ public Ft.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. */
+ }
+ }
+
+ /*
+ * Argument Name: {
+ void (*init)(PurpleXfer *xfer)
+ * Argument Type: struct
+ * Argument Category: InnerStruct
+ */
+ /*
+ * Could not generate a wrapper for PurpleXfer.{
+ void (*init)(PurpleXfer *xfer) in file "ft.h".
+ * Message: The struct contains an inner-struct or inner-union and cannot be automatically wrapped.
+ */
+
+ /*
+ * Argument Name: request_denied
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: start
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr start
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: end
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr end
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: cancel_send
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: cancel_recv
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr 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. */
+ }
+ }
+
+ /*
+ * Argument Name: read
+ * Argument Type: gssize
+ * Argument Category: Native
+ */
+ public IntPtr read
+ {
+ get
+ {
+ return this.Data.read;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.read = value;
+ }
+ }
+
+ /*
+ * Argument Name: write
+ * Argument Type: gssize
+ * Argument Category: Native
+ */
+ public IntPtr write
+ {
+ get
+ {
+ return this.Data.write;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.write = value;
+ }
+ }
+
+ /*
+ * Argument Name: ack
+ * Argument Type: void
+ * Argument Category: Void
+ */
+ public IntPtr ack
+ {
+ 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)]
+ public class _PurpleXfer
+ {
+ /*
+ * guint ref
+ */
+ public uint ref_;
+
+ /*
+ * PurpleXferType type
+ */
+ public Ft.PurpleXferType type;
+
+ /*
+ * PurpleAccount * account
+ */
+ public IntPtr account;
+
+ /*
+ * char * who
+ */
+ public string who;
+
+ /*
+ * char * message
+ */
+ public string message;
+
+ /*
+ * char * filename
+ */
+ public string filename;
+
+ /*
+ * char * local_filename
+ */
+ public string local_filename;
+
+ /*
+ * size_t size
+ */
+ public ulong size;
+
+ /*
+ * FILE * dest_fp
+ */
+ public IntPtr dest_fp;
+
+ /*
+ * char * remote_ip
+ */
+ public string remote_ip;
+
+ /*
+ * int local_port
+ */
+ public int local_port;
+
+ /*
+ * int remote_port
+ */
+ public int remote_port;
+
+ /*
+ * int fd
+ */
+ public int fd;
+
+ /*
+ * int watcher
+ */
+ public int watcher;
+
+ /*
+ * size_t bytes_sent
+ */
+ public ulong bytes_sent;
+
+ /*
+ * size_t bytes_remaining
+ */
+ public ulong bytes_remaining;
+
+ /*
+ * time_t start_time
+ */
+ public ulong start_time;
+
+ /*
+ * time_t end_time
+ */
+ public ulong end_time;
+
+ /*
+ * size_t current_buffer_size
+ */
+ public ulong current_buffer_size;
+
+ /*
+ * PurpleXferStatusType status
+ */
+ public Ft.PurpleXferStatusType status;
+
+ /*
+ * struct {
+ void (*init)(PurpleXfer *xfer)
+ */
+ /*
+ * Could not generate a wrapper for PurpleXfer.{
+ void (*init)(PurpleXfer *xfer) in file "ft.h".
+ * Message: The struct contains an inner-struct or inner-union and cannot be automatically wrapped.
+ */
+
+ /*
+ * void (*request_denied)(PurpleXfer * xfer)
+ */
+ public IntPtr request_denied;
+
+ /*
+ * void (*start)(PurpleXfer * xfer)
+ */
+ public IntPtr start;
+
+ /*
+ * void (*end)(PurpleXfer * xfer)
+ */
+ public IntPtr end;
+
+ /*
+ * void (*cancel_send)(PurpleXfer * xfer)
+ */
+ public IntPtr cancel_send;
+
+ /*
+ * void (*cancel_recv)(PurpleXfer * xfer)
+ */
+ public IntPtr cancel_recv;
+
+ /*
+ * gssize (*read)(guchar ** buffer, PurpleXfer * xfer)
+ */
+ public IntPtr read;
+
+ /*
+ * gssize (*write)(guchar * buffer, size_t size, PurpleXfer * xfer)
+ */
+ public IntPtr write;
+
+ /*
+ * void (*ack)(PurpleXfer * xfer, guchar * buffer, size_t size)
+ */
+ public IntPtr ack;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/Request.cs 7c608be59c50f1daf9009e475aea50bdfe0e2a6d
+++ libpurple/wrapper/Request.cs 7c608be59c50f1daf9009e475aea50bdfe0e2a6d
@@ -0,0 +1,768 @@
+/* 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
+{
+
+ /*
+ * File: request.h
+ */
+ public class Request
+ {
+ public enum PurpleRequestType
+ {
+ PURPLE_REQUEST_INPUT = 0,
+ PURPLE_REQUEST_CHOICE,
+ PURPLE_REQUEST_ACTION,
+ PURPLE_REQUEST_FIELDS,
+ PURPLE_REQUEST_FILE,
+ PURPLE_REQUEST_FOLDER
+ };
+
+ public enum PurpleRequestFieldType
+ {
+ 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
+ };
+
+ public delegate void PurpleRequestInputCb(IntPtr _PurpleWrapper_arg0, string _PurpleWrapper_arg1);
+ public delegate void PurpleRequestActionCb(IntPtr _PurpleWrapper_arg0, /* Unresolved: [Category: Unknown], [Name: ] */ IntPtr _PurpleWrapper_arg1);
+ public delegate void PurpleRequestChoiceCb(IntPtr _PurpleWrapper_arg0, /* Unresolved: [Category: Unknown], [Name: ] */ IntPtr _PurpleWrapper_arg1);
+ public delegate void PurpleRequestFieldsCb(IntPtr _PurpleWrapper_arg0, IntPtr fields);
+ public delegate void PurpleRequestFileCb(IntPtr _PurpleWrapper_arg0, string filename);
+
+ /*
+ * Function Name: purple_request_fields_new
+ * Function Type: PurpleRequestFields *
+ * Function RawType: PurpleRequestFields
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleRequestFields * purple_request_fields_new()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_request_fields_new();
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleRequestFields */ IntPtr FieldsNew()
+ {
+ /* Unable to process the return value of purple_request_fields_new, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_request_fields_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_request_fields_destroy(PurpleRequestFields * fields)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_request_fields_destroy(IntPtr fields);
+
+ public static void FieldsDestroy(/* Resolved as PointerToUnknownStruct to PurpleRequestFields */ IntPtr fields)
+ {
+ /* Unable to process fields, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_request_fields_get_groups
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_request_fields_get_groups(PurpleRequestFields * fields)
+ *
+ * Could not generate a wrapper for purple_request_fields_get_groups in file "request.h".
+ * Message: Unknown inner-type of argument 0 of purple_request_fields_get_groups
+ */
+
+ /*
+ * Function Name: purple_request_fields_get_required
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_request_fields_get_required(PurpleRequestFields * fields)
+ *
+ * Could not generate a wrapper for purple_request_fields_get_required in file "request.h".
+ * Message: Unknown inner-type of argument 0 of purple_request_fields_get_required
+ */
+
+ /*
+ * Function Name: purple_request_field_group_new
+ * Function Type: PurpleRequestFieldGroup *
+ * Function RawType: PurpleRequestFieldGroup
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleRequestFieldGroup * purple_request_field_group_new(char * title)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_request_field_group_new(string title);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleRequestFieldGroup */ IntPtr FieldGroupNew(string title)
+ {
+ /* Unable to process the return value of purple_request_field_group_new, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_request_field_group_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_request_field_group_destroy(PurpleRequestFieldGroup * group)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_request_field_group_destroy(IntPtr group);
+
+ public static void FieldGroupDestroy(/* Resolved as PointerToUnknownStruct to PurpleRequestFieldGroup */ IntPtr group)
+ {
+ /* Unable to process group, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_request_field_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_request_field_destroy(PurpleRequestField * field)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_request_field_destroy(IntPtr field);
+
+ public static void FieldDestroy(PurpleRequestField field)
+ {
+ purple_request_field_destroy(field.Reference);
+ }
+
+ /*
+ * Function Name: purple_request_field_set_label
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_request_field_set_label(PurpleRequestField * field, char * label)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_request_field_set_label(IntPtr field, string label);
+
+ public static void FieldSetLabel(PurpleRequestField field, string label)
+ {
+ purple_request_field_set_label(field.Reference, label);
+ }
+
+ /*
+ * Function Name: purple_request_field_set_visible
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_request_field_set_visible(PurpleRequestField * field, gboolean visible)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_request_field_set_visible(IntPtr field, bool visible);
+
+ public static void FieldSetVisible(PurpleRequestField field, bool visible)
+ {
+ purple_request_field_set_visible(field.Reference, visible);
+ }
+
+ /*
+ * Function Name: purple_request_field_get_type
+ * Function Type: PurpleRequestFieldType
+ * Function RawType: PurpleRequestFieldType
+ * Function Category: KnownEnum
+ */
+ /*
+ * PurpleRequestFieldType purple_request_field_get_type(PurpleRequestField * field)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern Request.PurpleRequestFieldType purple_request_field_get_type(IntPtr field);
+
+ public static Request.PurpleRequestFieldType FieldGetType(PurpleRequestField field)
+ {
+ /* Unable to process the return value of purple_request_field_get_type, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_request_field_get_group
+ * Function Type: PurpleRequestFieldGroup *
+ * Function RawType: PurpleRequestFieldGroup
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleRequestFieldGroup * purple_request_field_get_group(PurpleRequestField * field)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_request_field_get_group(IntPtr field);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleRequestFieldGroup */ IntPtr FieldGetGroup(PurpleRequestField field)
+ {
+ /* Unable to process the return value of purple_request_field_get_group, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_request_field_get_id
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_request_field_get_id(PurpleRequestField * field)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_request_field_get_id(IntPtr field);
+
+ public static string FieldGetId(PurpleRequestField field)
+ {
+ return purple_request_field_get_id(field.Reference);
+ }
+
+ /*
+ * Function Name: purple_request_field_get_label
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_request_field_get_label(PurpleRequestField * field)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_request_field_get_label(IntPtr field);
+
+ public static string FieldGetLabel(PurpleRequestField field)
+ {
+ return purple_request_field_get_label(field.Reference);
+ }
+
+ /*
+ * Function Name: purple_request_field_is_visible
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_request_field_is_visible(PurpleRequestField * field)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_request_field_is_visible(IntPtr field);
+
+ public static bool FieldIsVisible(PurpleRequestField field)
+ {
+ return purple_request_field_is_visible(field.Reference);
+ }
+
+ /*
+ * Function Name: purple_request_field_get_type_hint
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_request_field_get_type_hint(PurpleRequestField * field)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_request_field_get_type_hint(IntPtr field);
+
+ public static string FieldGetTypeHint(PurpleRequestField field)
+ {
+ return purple_request_field_get_type_hint(field.Reference);
+ }
+
+ /*
+ * Function Name: purple_request_field_is_required
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_request_field_is_required(PurpleRequestField * field)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_request_field_is_required(IntPtr field);
+
+ public static bool FieldIsRequired(PurpleRequestField field)
+ {
+ return purple_request_field_is_required(field.Reference);
+ }
+
+ /*
+ * Function Name: purple_request_field_get_ui_data
+ * Function Type: gpointer
+ * Function RawType: gpointer
+ * Function Category: VoidPointer
+ */
+ /*
+ * gpointer purple_request_field_get_ui_data(PurpleRequestField * field)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_request_field_get_ui_data(IntPtr field);
+
+ public static IntPtr FieldGetUiData(PurpleRequestField field)
+ {
+ return purple_request_field_get_ui_data(field.Reference);
+ }
+
+ /*
+ * Function Name: purple_request_field_string_get_value
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_request_field_string_get_value(PurpleRequestField * field)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_request_field_string_get_value(IntPtr field);
+
+ public static string FieldStringGetValue(PurpleRequestField field)
+ {
+ return purple_request_field_string_get_value(field.Reference);
+ }
+
+ /*
+ * Function Name: purple_request_field_string_is_multiline
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_request_field_string_is_multiline(PurpleRequestField * field)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_request_field_string_is_multiline(IntPtr field);
+
+ public static bool FieldStringIsMultiline(PurpleRequestField field)
+ {
+ return purple_request_field_string_is_multiline(field.Reference);
+ }
+
+ /*
+ * Function Name: purple_request_field_string_is_masked
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_request_field_string_is_masked(PurpleRequestField * field)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_request_field_string_is_masked(IntPtr field);
+
+ public static bool FieldStringIsMasked(PurpleRequestField field)
+ {
+ return purple_request_field_string_is_masked(field.Reference);
+ }
+
+ /*
+ * Function Name: purple_request_field_string_is_editable
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_request_field_string_is_editable(PurpleRequestField * field)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_request_field_string_is_editable(IntPtr field);
+
+ public static bool FieldStringIsEditable(PurpleRequestField field)
+ {
+ return purple_request_field_string_is_editable(field.Reference);
+ }
+
+ /*
+ * Function Name: purple_request_field_int_set_value
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_request_field_int_set_value(PurpleRequestField * field, int value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_request_field_int_set_value(IntPtr field, int value);
+
+ public static void FieldIntSetValue(PurpleRequestField field, int value)
+ {
+ purple_request_field_int_set_value(field.Reference, value);
+ }
+
+ /*
+ * Function Name: purple_request_field_int_get_default_value
+ * Function Type: int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * int purple_request_field_int_get_default_value(PurpleRequestField * field)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern int purple_request_field_int_get_default_value(IntPtr field);
+
+ public static int FieldIntGetDefaultValue(PurpleRequestField field)
+ {
+ return purple_request_field_int_get_default_value(field.Reference);
+ }
+
+ /*
+ * Function Name: purple_request_field_int_get_value
+ * Function Type: int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * int purple_request_field_int_get_value(PurpleRequestField * field)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern int purple_request_field_int_get_value(IntPtr field);
+
+ public static int FieldIntGetValue(PurpleRequestField field)
+ {
+ return purple_request_field_int_get_value(field.Reference);
+ }
+
+ /*
+ * Function Name: purple_request_field_bool_get_value
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_request_field_bool_get_value(PurpleRequestField * field)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_request_field_bool_get_value(IntPtr field);
+
+ public static bool FieldBoolGetValue(PurpleRequestField field)
+ {
+ return purple_request_field_bool_get_value(field.Reference);
+ }
+
+ /*
+ * Function Name: purple_request_field_choice_set_value
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_request_field_choice_set_value(PurpleRequestField * field, int value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_request_field_choice_set_value(IntPtr field, int value);
+
+ public static void FieldChoiceSetValue(PurpleRequestField field, int value)
+ {
+ purple_request_field_choice_set_value(field.Reference, value);
+ }
+
+ /*
+ * Function Name: purple_request_field_choice_get_default_value
+ * Function Type: int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * int purple_request_field_choice_get_default_value(PurpleRequestField * field)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern int purple_request_field_choice_get_default_value(IntPtr field);
+
+ public static int FieldChoiceGetDefaultValue(PurpleRequestField field)
+ {
+ return purple_request_field_choice_get_default_value(field.Reference);
+ }
+
+ /*
+ * Function Name: purple_request_field_choice_get_value
+ * Function Type: int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * int purple_request_field_choice_get_value(PurpleRequestField * field)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern int purple_request_field_choice_get_value(IntPtr field);
+
+ public static int FieldChoiceGetValue(PurpleRequestField field)
+ {
+ return purple_request_field_choice_get_value(field.Reference);
+ }
+
+ /*
+ * Function Name: purple_request_field_choice_get_labels
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * 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: Unknown inner-type of argument 0 of purple_request_field_choice_get_labels
+ */
+
+ /*
+ * Function Name: purple_request_field_list_new
+ * Function Type: PurpleRequestField *
+ * Function RawType: PurpleRequestField
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleRequestField * purple_request_field_list_new(char * id, char * text)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_request_field_list_new(string id, string text);
+
+ public static PurpleRequestField FieldListNew(string id, string text)
+ {
+ return new PurpleRequestField(purple_request_field_list_new(id, text));
+ }
+
+ /*
+ * Function Name: purple_request_field_list_clear_selected
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_request_field_list_clear_selected(PurpleRequestField * field)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_request_field_list_clear_selected(IntPtr field);
+
+ public static void FieldListClearSelected(PurpleRequestField field)
+ {
+ purple_request_field_list_clear_selected(field.Reference);
+ }
+
+ /*
+ * Function Name: purple_request_field_list_get_items
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * 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: Unknown inner-type of argument 0 of purple_request_field_list_get_items
+ */
+
+ /*
+ * Function Name: purple_request_field_image_set_scale
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_request_field_image_set_scale(PurpleRequestField * field, unsigned int x, unsigned int y)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_request_field_image_set_scale(IntPtr field, uint x, uint y);
+
+ public static void FieldImageSetScale(PurpleRequestField field, uint x, uint y)
+ {
+ purple_request_field_image_set_scale(field.Reference, x, y);
+ }
+
+ /*
+ * Function Name: purple_request_field_image_get_buffer
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_request_field_image_get_buffer(PurpleRequestField * field)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_request_field_image_get_buffer(IntPtr field);
+
+ public static string FieldImageGetBuffer(PurpleRequestField field)
+ {
+ return purple_request_field_image_get_buffer(field.Reference);
+ }
+
+ /*
+ * Function Name: purple_request_field_image_get_size
+ * Function Type: gsize
+ * Function RawType: gsize
+ * Function Category: Native
+ */
+ /*
+ * gsize purple_request_field_image_get_size(PurpleRequestField * field)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern ulong purple_request_field_image_get_size(IntPtr field);
+
+ public static ulong FieldImageGetSize(PurpleRequestField field)
+ {
+ return purple_request_field_image_get_size(field.Reference);
+ }
+
+ /*
+ * Function Name: purple_request_field_image_get_scale_x
+ * Function Type: unsigned int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * unsigned int purple_request_field_image_get_scale_x(PurpleRequestField * field)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern uint purple_request_field_image_get_scale_x(IntPtr field);
+
+ public static uint FieldImageGetScaleX(PurpleRequestField field)
+ {
+ return purple_request_field_image_get_scale_x(field.Reference);
+ }
+
+ /*
+ * Function Name: purple_request_field_image_get_scale_y
+ * Function Type: unsigned int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * unsigned int purple_request_field_image_get_scale_y(PurpleRequestField * field)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern uint purple_request_field_image_get_scale_y(IntPtr field);
+
+ public static uint FieldImageGetScaleY(PurpleRequestField field)
+ {
+ return purple_request_field_image_get_scale_y(field.Reference);
+ }
+
+ /*
+ * Function Name: purple_request_close
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_request_close(PurpleRequestType type, void * uihandle)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_request_close(Request.PurpleRequestType type, IntPtr uihandle);
+
+ public static void Close(Request.PurpleRequestType type, IntPtr uihandle)
+ {
+ /* Unable to process type, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_request_close_with_handle
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_request_close_with_handle(void * handle)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_request_close_with_handle(IntPtr handle);
+
+ public static void CloseWithHandle(IntPtr handle)
+ {
+ purple_request_close_with_handle(handle);
+ }
+
+ /*
+ * Function Name: purple_request_set_ui_ops
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_request_set_ui_ops(PurpleRequestUiOps * ops)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_request_set_ui_ops(IntPtr ops);
+
+ public static void SetUiOps(/* Resolved as PointerToUnknownStruct to PurpleRequestUiOps */ IntPtr ops)
+ {
+ /* Unable to process ops, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_request_get_ui_ops
+ * Function Type: PurpleRequestUiOps *
+ * Function RawType: PurpleRequestUiOps
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleRequestUiOps * purple_request_get_ui_ops()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_request_get_ui_ops();
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleRequestUiOps */ IntPtr GetUiOps()
+ {
+ /* Unable to process the return value of purple_request_get_ui_ops, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Roomlist.cs 4b084a19266da03ebd7f11496d0370cd0f3dba54
+++ libpurple/wrapper/Roomlist.cs 4b084a19266da03ebd7f11496d0370cd0f3dba54
@@ -0,0 +1,444 @@
+/* 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
+{
+
+ /*
+ * File: roomlist.h
+ */
+ 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
+ };
+
+
+ /*
+ * Function Name: purple_roomlist_show_with_account
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_roomlist_show_with_account(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_roomlist_show_with_account(IntPtr account);
+
+ public static void ShowWithAccount(PurpleAccount account)
+ {
+ purple_roomlist_show_with_account(account.Reference);
+ }
+
+ /*
+ * Function Name: purple_roomlist_new
+ * Function Type: PurpleRoomlist *
+ * Function RawType: PurpleRoomlist
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleRoomlist * purple_roomlist_new(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_roomlist_new(IntPtr account);
+
+ public static PurpleRoomlist New(PurpleAccount account)
+ {
+ return new PurpleRoomlist(purple_roomlist_new(account.Reference));
+ }
+
+ /*
+ * Function Name: purple_roomlist_ref
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_roomlist_ref(PurpleRoomlist * list)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_roomlist_ref(IntPtr list);
+
+ public static void Ref(PurpleRoomlist list)
+ {
+ purple_roomlist_ref(list.Reference);
+ }
+
+ /*
+ * Function Name: purple_roomlist_unref
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_roomlist_unref(PurpleRoomlist * list)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_roomlist_unref(IntPtr list);
+
+ public static void Unref(PurpleRoomlist list)
+ {
+ purple_roomlist_unref(list.Reference);
+ }
+
+ /*
+ * Function Name: purple_roomlist_set_fields
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_roomlist_set_fields(PurpleRoomlist * list, GList * fields)
+ *
+ * Could not generate a wrapper for purple_roomlist_set_fields in file "roomlist.h".
+ * Message: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ /*
+ * Function Name: purple_roomlist_set_in_progress
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_roomlist_set_in_progress(PurpleRoomlist * list, gboolean in_progress)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_roomlist_set_in_progress(IntPtr list, bool in_progress);
+
+ public static void SetInProgress(PurpleRoomlist list, bool in_progress)
+ {
+ purple_roomlist_set_in_progress(list.Reference, in_progress);
+ }
+
+ /*
+ * Function Name: purple_roomlist_get_in_progress
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_roomlist_get_in_progress(PurpleRoomlist * list)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_roomlist_get_in_progress(IntPtr list);
+
+ public static bool GetInProgress(PurpleRoomlist list)
+ {
+ return purple_roomlist_get_in_progress(list.Reference);
+ }
+
+ /*
+ * Function Name: purple_roomlist_room_add
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_roomlist_room_add(PurpleRoomlist * list, PurpleRoomlistRoom * room)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_roomlist_room_add(IntPtr list, IntPtr room);
+
+ public static void RoomAdd(PurpleRoomlist list, PurpleRoomlistRoom room)
+ {
+ purple_roomlist_room_add(list.Reference, room.Reference);
+ }
+
+ /*
+ * Function Name: purple_roomlist_get_list
+ * Function Type: PurpleRoomlist *
+ * Function RawType: PurpleRoomlist
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleRoomlist * purple_roomlist_get_list(PurpleConnection * gc)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_roomlist_get_list(IntPtr gc);
+
+ public static PurpleRoomlist GetList(PurpleConnection gc)
+ {
+ return new PurpleRoomlist(purple_roomlist_get_list(gc.Reference));
+ }
+
+ /*
+ * Function Name: purple_roomlist_cancel_get_list
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_roomlist_cancel_get_list(PurpleRoomlist * list)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_roomlist_cancel_get_list(IntPtr list);
+
+ public static void CancelGetList(PurpleRoomlist list)
+ {
+ purple_roomlist_cancel_get_list(list.Reference);
+ }
+
+ /*
+ * Function Name: purple_roomlist_expand_category
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_roomlist_expand_category(PurpleRoomlist * list, PurpleRoomlistRoom * category)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_roomlist_expand_category(IntPtr list, IntPtr category);
+
+ public static void ExpandCategory(PurpleRoomlist list, PurpleRoomlistRoom category)
+ {
+ purple_roomlist_expand_category(list.Reference, category.Reference);
+ }
+
+ /*
+ * Function Name: purple_roomlist_get_fields
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_roomlist_get_fields(PurpleRoomlist * roomlist)
+ *
+ * Could not generate a wrapper for purple_roomlist_get_fields in file "roomlist.h".
+ * Message: Unknown inner-type of argument 0 of purple_roomlist_get_fields
+ */
+
+ /*
+ * Function Name: purple_roomlist_room_add_field
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * 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, IntPtr field);
+
+ public static void RoomAddField(PurpleRoomlist list, PurpleRoomlistRoom room, IntPtr field)
+ {
+ purple_roomlist_room_add_field(list.Reference, room.Reference, field);
+ }
+
+ /*
+ * Function Name: purple_roomlist_room_join
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_roomlist_room_join(PurpleRoomlist * list, PurpleRoomlistRoom * room)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_roomlist_room_join(IntPtr list, IntPtr room);
+
+ public static void RoomJoin(PurpleRoomlist list, PurpleRoomlistRoom room)
+ {
+ purple_roomlist_room_join(list.Reference, room.Reference);
+ }
+
+ /*
+ * Function Name: purple_roomlist_room_get_type
+ * Function Type: PurpleRoomlistRoomType
+ * Function RawType: PurpleRoomlistRoomType
+ * Function Category: KnownEnum
+ */
+ /*
+ * PurpleRoomlistRoomType purple_roomlist_room_get_type(PurpleRoomlistRoom * room)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern Roomlist.PurpleRoomlistRoomType purple_roomlist_room_get_type(IntPtr room);
+
+ public static Roomlist.PurpleRoomlistRoomType RoomGetType(PurpleRoomlistRoom room)
+ {
+ /* Unable to process the return value of purple_roomlist_room_get_type, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_roomlist_room_get_name
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_roomlist_room_get_name(PurpleRoomlistRoom * room)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_roomlist_room_get_name(IntPtr room);
+
+ public static string RoomGetName(PurpleRoomlistRoom room)
+ {
+ return purple_roomlist_room_get_name(room.Reference);
+ }
+
+ /*
+ * Function Name: purple_roomlist_room_get_parent
+ * Function Type: PurpleRoomlistRoom *
+ * Function RawType: PurpleRoomlistRoom
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * 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));
+ }
+
+ /*
+ * Function Name: purple_roomlist_room_get_fields
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_roomlist_room_get_fields(PurpleRoomlistRoom * room)
+ *
+ * Could not generate a wrapper for purple_roomlist_room_get_fields in file "roomlist.h".
+ * Message: Unknown inner-type of argument 0 of purple_roomlist_room_get_fields
+ */
+
+ /*
+ * Function Name: purple_roomlist_field_get_type
+ * Function Type: PurpleRoomlistFieldType
+ * Function RawType: PurpleRoomlistFieldType
+ * Function Category: KnownEnum
+ */
+ /*
+ * PurpleRoomlistFieldType purple_roomlist_field_get_type(PurpleRoomlistField * field)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern Roomlist.PurpleRoomlistFieldType purple_roomlist_field_get_type(IntPtr field);
+
+ public static Roomlist.PurpleRoomlistFieldType FieldGetType(PurpleRoomlistField field)
+ {
+ /* Unable to process the return value of purple_roomlist_field_get_type, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_roomlist_field_get_label
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * 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);
+ }
+
+ /*
+ * Function Name: purple_roomlist_field_get_hidden
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_roomlist_field_get_hidden(PurpleRoomlistField * field)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_roomlist_field_get_hidden(IntPtr field);
+
+ public static bool FieldGetHidden(PurpleRoomlistField field)
+ {
+ return purple_roomlist_field_get_hidden(field.Reference);
+ }
+
+ /*
+ * Function Name: purple_roomlist_set_ui_ops
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_roomlist_set_ui_ops(PurpleRoomlistUiOps * ops)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_roomlist_set_ui_ops(IntPtr ops);
+
+ public static void SetUiOps(PurpleRoomlistUiOps ops)
+ {
+ purple_roomlist_set_ui_ops(ops.Reference);
+ }
+
+ /*
+ * Function Name: purple_roomlist_get_ui_ops
+ * Function Type: PurpleRoomlistUiOps *
+ * Function RawType: PurpleRoomlistUiOps
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleRoomlistUiOps * purple_roomlist_get_ui_ops()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_roomlist_get_ui_ops();
+
+ public static PurpleRoomlistUiOps GetUiOps()
+ {
+ return new PurpleRoomlistUiOps(purple_roomlist_get_ui_ops());
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Savedstatuses.cs 44d737ddd6227b0b10d095a385507ce4958e4c9b
+++ libpurple/wrapper/Savedstatuses.cs 44d737ddd6227b0b10d095a385507ce4958e4c9b
@@ -0,0 +1,503 @@
+/* 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
+{
+
+ /*
+ * File: savedstatuses.h
+ */
+ public class Savedstatuses
+ {
+
+ /*
+ * Function Name: purple_savedstatus_delete
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_savedstatus_delete(char * title)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_savedstatus_delete(string title);
+
+ public static bool SavedstatusDelete(string title)
+ {
+ return purple_savedstatus_delete(title);
+ }
+
+ /*
+ * Function Name: purple_savedstatus_delete_by_status
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_savedstatus_delete_by_status(PurpleSavedStatus * saved_status)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_savedstatus_delete_by_status(IntPtr saved_status);
+
+ public static void SavedstatusDeleteByStatus(/* Resolved as PointerToUnknownStruct to PurpleSavedStatus */ IntPtr saved_status)
+ {
+ /* Unable to process saved_status, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_savedstatuses_get_all
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_savedstatuses_get_all()
+ *
+ * Could not generate a wrapper for purple_savedstatuses_get_all in file "savedstatuses.h".
+ * Message: Unknown inner-type of argument 0 of purple_savedstatuses_get_all
+ */
+
+ /*
+ * Function Name: purple_savedstatuses_get_popular
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_savedstatuses_get_popular(unsigned int how_many)
+ *
+ * Could not generate a wrapper for purple_savedstatuses_get_popular in file "savedstatuses.h".
+ * Message: Unknown inner-type of argument 0 of purple_savedstatuses_get_popular
+ */
+
+ /*
+ * Function Name: purple_savedstatus_get_current
+ * Function Type: PurpleSavedStatus *
+ * Function RawType: PurpleSavedStatus
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleSavedStatus * purple_savedstatus_get_current()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_savedstatus_get_current();
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleSavedStatus */ IntPtr SavedstatusGetCurrent()
+ {
+ /* Unable to process the return value of purple_savedstatus_get_current, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_savedstatus_get_default
+ * Function Type: PurpleSavedStatus *
+ * Function RawType: PurpleSavedStatus
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleSavedStatus * purple_savedstatus_get_default()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_savedstatus_get_default();
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleSavedStatus */ IntPtr SavedstatusGetDefault()
+ {
+ /* Unable to process the return value of purple_savedstatus_get_default, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_savedstatus_get_idleaway
+ * Function Type: PurpleSavedStatus *
+ * Function RawType: PurpleSavedStatus
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleSavedStatus * purple_savedstatus_get_idleaway()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_savedstatus_get_idleaway();
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleSavedStatus */ IntPtr SavedstatusGetIdleaway()
+ {
+ /* Unable to process the return value of purple_savedstatus_get_idleaway, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_savedstatus_is_idleaway
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_savedstatus_is_idleaway()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_savedstatus_is_idleaway();
+
+ public static bool SavedstatusIsIdleaway()
+ {
+ return purple_savedstatus_is_idleaway();
+ }
+
+ /*
+ * Function Name: purple_savedstatus_set_idleaway
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_savedstatus_set_idleaway(gboolean idleaway)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_savedstatus_set_idleaway(bool idleaway);
+
+ public static void SavedstatusSetIdleaway(bool idleaway)
+ {
+ purple_savedstatus_set_idleaway(idleaway);
+ }
+
+ /*
+ * Function Name: purple_savedstatus_get_startup
+ * Function Type: PurpleSavedStatus *
+ * Function RawType: PurpleSavedStatus
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleSavedStatus * purple_savedstatus_get_startup()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_savedstatus_get_startup();
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleSavedStatus */ IntPtr SavedstatusGetStartup()
+ {
+ /* Unable to process the return value of purple_savedstatus_get_startup, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_savedstatus_find
+ * Function Type: PurpleSavedStatus *
+ * Function RawType: PurpleSavedStatus
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleSavedStatus * purple_savedstatus_find(char * title)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_savedstatus_find(string title);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleSavedStatus */ IntPtr SavedstatusFind(string title)
+ {
+ /* Unable to process the return value of purple_savedstatus_find, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_savedstatus_find_by_creation_time
+ * Function Type: PurpleSavedStatus *
+ * Function RawType: PurpleSavedStatus
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleSavedStatus * purple_savedstatus_find_by_creation_time(time_t creation_time)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_savedstatus_find_by_creation_time(ulong creation_time);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleSavedStatus */ IntPtr SavedstatusFindByCreationTime(DateTime creation_time)
+ {
+ ulong _PurpleWrapper_param0 = (ulong)(creation_time - new DateTime(1970, 1, 1)).TotalSeconds;
+ /* Unable to process the return value of purple_savedstatus_find_by_creation_time, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_savedstatus_find_transient_by_type_and_message
+ * Function Type: PurpleSavedStatus *
+ * Function RawType: PurpleSavedStatus
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * 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(Status.PurpleStatusPrimitive type, string message);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleSavedStatus */ IntPtr SavedstatusFindTransientByTypeAndMessage(Status.PurpleStatusPrimitive type, string message)
+ {
+ /* Unable to process type, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_savedstatus_is_transient
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_savedstatus_is_transient(PurpleSavedStatus * saved_status)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_savedstatus_is_transient(IntPtr saved_status);
+
+ public static bool SavedstatusIsTransient(/* Resolved as PointerToUnknownStruct to PurpleSavedStatus */ IntPtr saved_status)
+ {
+ /* Unable to process saved_status, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_savedstatus_get_title
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_savedstatus_get_title(PurpleSavedStatus * saved_status)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_savedstatus_get_title(IntPtr saved_status);
+
+ public static string SavedstatusGetTitle(/* Resolved as PointerToUnknownStruct to PurpleSavedStatus */ IntPtr saved_status)
+ {
+ /* Unable to process saved_status, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_savedstatus_get_type
+ * Function Type: PurpleStatusPrimitive
+ * Function RawType: PurpleStatusPrimitive
+ * Function Category: KnownEnum
+ */
+ /*
+ * PurpleStatusPrimitive purple_savedstatus_get_type(PurpleSavedStatus * saved_status)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern Status.PurpleStatusPrimitive purple_savedstatus_get_type(IntPtr saved_status);
+
+ public static Status.PurpleStatusPrimitive SavedstatusGetType(/* Resolved as PointerToUnknownStruct to PurpleSavedStatus */ IntPtr saved_status)
+ {
+ /* Unable to process saved_status, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_savedstatus_get_message
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_savedstatus_get_message(PurpleSavedStatus * saved_status)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_savedstatus_get_message(IntPtr saved_status);
+
+ public static string SavedstatusGetMessage(/* Resolved as PointerToUnknownStruct to PurpleSavedStatus */ IntPtr saved_status)
+ {
+ /* Unable to process saved_status, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_savedstatus_get_creation_time
+ * Function Type: time_t
+ * Function RawType: time_t
+ * Function Category: DateTime
+ */
+ /*
+ * time_t purple_savedstatus_get_creation_time(PurpleSavedStatus * saved_status)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern ulong purple_savedstatus_get_creation_time(IntPtr saved_status);
+
+ public static DateTime SavedstatusGetCreationTime(/* Resolved as PointerToUnknownStruct to PurpleSavedStatus */ IntPtr saved_status)
+ {
+ /* Unable to process saved_status, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_savedstatus_has_substatuses
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_savedstatus_has_substatuses(PurpleSavedStatus * saved_status)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_savedstatus_has_substatuses(IntPtr saved_status);
+
+ public static bool SavedstatusHasSubstatuses(/* Resolved as PointerToUnknownStruct to PurpleSavedStatus */ IntPtr saved_status)
+ {
+ /* Unable to process saved_status, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_savedstatus_substatus_get_type
+ * Function Type: PurpleStatusType *
+ * Function RawType: PurpleStatusType
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleStatusType * purple_savedstatus_substatus_get_type(PurpleSavedStatusSub * substatus)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_savedstatus_substatus_get_type(IntPtr substatus);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleStatusType */ IntPtr SavedstatusSubstatusGetType(/* Resolved as PointerToUnknownStruct to PurpleSavedStatusSub */ IntPtr substatus)
+ {
+ /* Unable to process substatus, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_savedstatus_substatus_get_message
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_savedstatus_substatus_get_message(PurpleSavedStatusSub * substatus)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_savedstatus_substatus_get_message(IntPtr substatus);
+
+ public static string SavedstatusSubstatusGetMessage(/* Resolved as PointerToUnknownStruct to PurpleSavedStatusSub */ IntPtr substatus)
+ {
+ /* Unable to process substatus, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_savedstatus_activate
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_savedstatus_activate(PurpleSavedStatus * saved_status)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_savedstatus_activate(IntPtr saved_status);
+
+ public static void SavedstatusActivate(/* Resolved as PointerToUnknownStruct to PurpleSavedStatus */ IntPtr saved_status)
+ {
+ /* Unable to process saved_status, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_savedstatus_activate_for_account
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_savedstatus_activate_for_account(PurpleSavedStatus * saved_status, PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_savedstatus_activate_for_account(IntPtr saved_status, IntPtr account);
+
+ public static void SavedstatusActivateForAccount(/* Resolved as PointerToUnknownStruct to PurpleSavedStatus */ IntPtr saved_status, PurpleAccount account)
+ {
+ /* Unable to process saved_status, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_savedstatuses_get_handle
+ * Function Type: void *
+ * Function RawType: void
+ * Function Category: VoidPointer
+ */
+ /*
+ * void * purple_savedstatuses_get_handle()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_savedstatuses_get_handle();
+
+ public static IntPtr GetHandle()
+ {
+ return purple_savedstatuses_get_handle();
+ }
+
+ /*
+ * Function Name: purple_savedstatuses_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_savedstatuses_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_savedstatuses_init();
+
+ public static void Init()
+ {
+ purple_savedstatuses_init();
+ }
+
+ /*
+ * Function Name: purple_savedstatuses_uninit
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_savedstatuses_uninit()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_savedstatuses_uninit();
+
+ public static void Uninit()
+ {
+ purple_savedstatuses_uninit();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Server.cs ec1cfa4837a4164119fa9e7d5abb2b6a6185fa5d
+++ libpurple/wrapper/Server.cs ec1cfa4837a4164119fa9e7d5abb2b6a6185fa5d
@@ -0,0 +1,487 @@
+/* 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
+{
+
+ /*
+ * File: server.h
+ */
+ public class Server
+ {
+
+ /*
+ * Function Name: serv_send_typing
+ * Function Type: unsigned int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * unsigned int serv_send_typing(PurpleConnection * gc, char * name, PurpleTypingState state)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern uint serv_send_typing(IntPtr gc, string name, Conversation.PurpleTypingState state);
+
+ public static uint ServSendTyping(PurpleConnection gc, string name, Conversation.PurpleTypingState state)
+ {
+ /* Unable to process state, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: serv_move_buddy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void serv_move_buddy(PurpleBuddy * , PurpleGroup * , PurpleGroup * )
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void serv_move_buddy(IntPtr _PurpleWrapper_arg0, IntPtr _PurpleWrapper_arg1, IntPtr _PurpleWrapper_arg2);
+
+ public static void ServMoveBuddy(PurpleBuddy _PurpleWrapper_arg0, PurpleGroup _PurpleWrapper_arg1, PurpleGroup _PurpleWrapper_arg2)
+ {
+ serv_move_buddy(_PurpleWrapper_arg0.Reference, _PurpleWrapper_arg1.Reference, _PurpleWrapper_arg2.Reference);
+ }
+
+ /*
+ * Function Name: serv_send_im
+ * Function Type: int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * int serv_send_im(PurpleConnection * , char * , char * , PurpleMessageFlags flags)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern int serv_send_im(IntPtr _PurpleWrapper_arg0, string _PurpleWrapper_arg1, string _PurpleWrapper_arg2, 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();
+ }
+
+ /*
+ * Function Name: purple_get_attention_type_from_code
+ * Function Type: PurpleAttentionType *
+ * Function RawType: PurpleAttentionType
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleAttentionType * purple_get_attention_type_from_code(PurpleAccount * account, guint type_code)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_get_attention_type_from_code(IntPtr account, uint type_code);
+
+ public static PurpleAttentionType GetAttentionTypeFromCode(PurpleAccount account, uint type_code)
+ {
+ return new PurpleAttentionType(purple_get_attention_type_from_code(account.Reference, type_code));
+ }
+
+ /*
+ * Function Name: serv_send_attention
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void serv_send_attention(PurpleConnection * gc, char * who, guint type_code)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void serv_send_attention(IntPtr gc, string who, uint type_code);
+
+ public static void ServSendAttention(PurpleConnection gc, string who, uint type_code)
+ {
+ serv_send_attention(gc.Reference, who, type_code);
+ }
+
+ /*
+ * Function Name: serv_got_attention
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void serv_got_attention(PurpleConnection * gc, char * who, guint type_code)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void serv_got_attention(IntPtr gc, string who, uint type_code);
+
+ public static void ServGotAttention(PurpleConnection gc, string who, uint type_code)
+ {
+ serv_got_attention(gc.Reference, who, type_code);
+ }
+
+ /*
+ * Function Name: serv_get_info
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void serv_get_info(PurpleConnection * , char * )
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void serv_get_info(IntPtr _PurpleWrapper_arg0, string _PurpleWrapper_arg1);
+
+ public static void ServGetInfo(PurpleConnection _PurpleWrapper_arg0, string _PurpleWrapper_arg1)
+ {
+ serv_get_info(_PurpleWrapper_arg0.Reference, _PurpleWrapper_arg1);
+ }
+
+ /*
+ * Function Name: serv_set_info
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void serv_set_info(PurpleConnection * , char * )
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void serv_set_info(IntPtr _PurpleWrapper_arg0, string _PurpleWrapper_arg1);
+
+ public static void ServSetInfo(PurpleConnection _PurpleWrapper_arg0, string _PurpleWrapper_arg1)
+ {
+ serv_set_info(_PurpleWrapper_arg0.Reference, _PurpleWrapper_arg1);
+ }
+
+ /*
+ * Function Name: serv_add_permit
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void serv_add_permit(PurpleConnection * , char * )
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void serv_add_permit(IntPtr _PurpleWrapper_arg0, string _PurpleWrapper_arg1);
+
+ public static void ServAddPermit(PurpleConnection _PurpleWrapper_arg0, string _PurpleWrapper_arg1)
+ {
+ serv_add_permit(_PurpleWrapper_arg0.Reference, _PurpleWrapper_arg1);
+ }
+
+ /*
+ * Function Name: serv_add_deny
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void serv_add_deny(PurpleConnection * , char * )
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void serv_add_deny(IntPtr _PurpleWrapper_arg0, string _PurpleWrapper_arg1);
+
+ public static void ServAddDeny(PurpleConnection _PurpleWrapper_arg0, string _PurpleWrapper_arg1)
+ {
+ serv_add_deny(_PurpleWrapper_arg0.Reference, _PurpleWrapper_arg1);
+ }
+
+ /*
+ * Function Name: serv_rem_permit
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void serv_rem_permit(PurpleConnection * , char * )
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void serv_rem_permit(IntPtr _PurpleWrapper_arg0, string _PurpleWrapper_arg1);
+
+ public static void ServRemPermit(PurpleConnection _PurpleWrapper_arg0, string _PurpleWrapper_arg1)
+ {
+ serv_rem_permit(_PurpleWrapper_arg0.Reference, _PurpleWrapper_arg1);
+ }
+
+ /*
+ * Function Name: serv_rem_deny
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void serv_rem_deny(PurpleConnection * , char * )
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void serv_rem_deny(IntPtr _PurpleWrapper_arg0, string _PurpleWrapper_arg1);
+
+ public static void ServRemDeny(PurpleConnection _PurpleWrapper_arg0, string _PurpleWrapper_arg1)
+ {
+ serv_rem_deny(_PurpleWrapper_arg0.Reference, _PurpleWrapper_arg1);
+ }
+
+ /*
+ * Function Name: serv_set_permit_deny
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void serv_set_permit_deny(PurpleConnection * )
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void serv_set_permit_deny(IntPtr _PurpleWrapper_arg0);
+
+ public static void ServSetPermitDeny(PurpleConnection _PurpleWrapper_arg0)
+ {
+ serv_set_permit_deny(_PurpleWrapper_arg0.Reference);
+ }
+
+ /*
+ * Function Name: serv_chat_invite
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void serv_chat_invite(PurpleConnection * , , char * , char * )
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void serv_chat_invite(IntPtr _PurpleWrapper_arg0, /* Unresolved: [Category: Unknown], [Name: ] */ IntPtr _PurpleWrapper_arg1, string _PurpleWrapper_arg2, string _PurpleWrapper_arg3);
+
+ public static void ServChatInvite(PurpleConnection _PurpleWrapper_arg0, /* Unresolved: [Category: Unknown], [Name: ] */ IntPtr _PurpleWrapper_arg1, string _PurpleWrapper_arg2, string _PurpleWrapper_arg3)
+ {
+ /* Unable to process , a Unknown. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: serv_chat_leave
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void serv_chat_leave(PurpleConnection * , )
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void serv_chat_leave(IntPtr _PurpleWrapper_arg0, /* Unresolved: [Category: Unknown], [Name: ] */ IntPtr _PurpleWrapper_arg1);
+
+ public static void ServChatLeave(PurpleConnection _PurpleWrapper_arg0, /* Unresolved: [Category: Unknown], [Name: ] */ IntPtr _PurpleWrapper_arg1)
+ {
+ /* Unable to process , a Unknown. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: serv_chat_whisper
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void serv_chat_whisper(PurpleConnection * , , char * , char * )
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void serv_chat_whisper(IntPtr _PurpleWrapper_arg0, /* Unresolved: [Category: Unknown], [Name: ] */ IntPtr _PurpleWrapper_arg1, string _PurpleWrapper_arg2, string _PurpleWrapper_arg3);
+
+ public static void ServChatWhisper(PurpleConnection _PurpleWrapper_arg0, /* Unresolved: [Category: Unknown], [Name: ] */ IntPtr _PurpleWrapper_arg1, string _PurpleWrapper_arg2, string _PurpleWrapper_arg3)
+ {
+ /* Unable to process , a Unknown. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: serv_chat_send
+ * Function Type: int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * int serv_chat_send(PurpleConnection * , , char * , PurpleMessageFlags flags)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern int serv_chat_send(IntPtr _PurpleWrapper_arg0, /* Unresolved: [Category: Unknown], [Name: ] */ IntPtr _PurpleWrapper_arg1, string _PurpleWrapper_arg2, Conversation.PurpleMessageFlags flags);
+
+ public static int ServChatSend(PurpleConnection _PurpleWrapper_arg0, /* Unresolved: [Category: Unknown], [Name: ] */ IntPtr _PurpleWrapper_arg1, string _PurpleWrapper_arg2, Conversation.PurpleMessageFlags flags)
+ {
+ /* Unable to process , a Unknown. */
+ /* Unable to process flags, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: serv_alias_buddy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void serv_alias_buddy(PurpleBuddy * )
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void serv_alias_buddy(IntPtr _PurpleWrapper_arg0);
+
+ public static void ServAliasBuddy(PurpleBuddy _PurpleWrapper_arg0)
+ {
+ serv_alias_buddy(_PurpleWrapper_arg0.Reference);
+ }
+
+ /*
+ * Function Name: serv_got_alias
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void serv_got_alias(PurpleConnection * gc, char * who, char * alias)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void serv_got_alias(IntPtr gc, string who, string alias);
+
+ public static void ServGotAlias(PurpleConnection gc, string who, string alias)
+ {
+ serv_got_alias(gc.Reference, who, alias);
+ }
+
+ /*
+ * Function Name: purple_serv_got_private_alias
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_serv_got_private_alias(PurpleConnection * gc, char * who, char * alias)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_serv_got_private_alias(IntPtr gc, string who, string alias);
+
+ public static void ServGotPrivateAlias(PurpleConnection gc, string who, string alias)
+ {
+ purple_serv_got_private_alias(gc.Reference, who, alias);
+ }
+
+ /*
+ * Function Name: serv_got_typing_stopped
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void serv_got_typing_stopped(PurpleConnection * gc, char * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void serv_got_typing_stopped(IntPtr gc, string name);
+
+ public static void ServGotTypingStopped(PurpleConnection gc, string name)
+ {
+ serv_got_typing_stopped(gc.Reference, name);
+ }
+
+ /*
+ * Function Name: serv_join_chat
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void serv_join_chat(PurpleConnection * , GHashTable * data)
+ *
+ * Could not generate a wrapper for serv_join_chat in file "server.h".
+ * Message: Unable to provide a type for HashTable as no function information was provided in code.
+ */
+
+ /*
+ * Function Name: serv_reject_chat
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void serv_reject_chat(PurpleConnection * , GHashTable * data)
+ *
+ * Could not generate a wrapper for serv_reject_chat in file "server.h".
+ * Message: Unable to provide a type for HashTable as no function information was provided in code.
+ */
+
+ /*
+ * Function Name: purple_serv_got_join_chat_failed
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * 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: Unable to provide a type for HashTable as no function information was provided in code.
+ */
+
+ /*
+ * Function Name: serv_got_chat_left
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void serv_got_chat_left(PurpleConnection * g, int id)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void serv_got_chat_left(IntPtr g, int id);
+
+ public static void ServGotChatLeft(PurpleConnection g, int id)
+ {
+ serv_got_chat_left(g.Reference, id);
+ }
+
+ /*
+ * Function Name: serv_send_file
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void serv_send_file(PurpleConnection * gc, char * who, char * file)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void serv_send_file(IntPtr gc, string who, string file);
+
+ public static void ServSendFile(PurpleConnection gc, string who, string file)
+ {
+ serv_send_file(gc.Reference, who, file);
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Signals.cs 5ce5840147945ca3b82efb535b88fba2ef0610f2
+++ libpurple/wrapper/Signals.cs 5ce5840147945ca3b82efb535b88fba2ef0610f2
@@ -0,0 +1,155 @@
+/* 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
+{
+
+ /*
+ * File: signals.h
+ */
+ public class Signals
+ {
+ public delegate void PurpleCallback();
+ public delegate void PurpleSignalMarshalFunc(IntPtr cb, /* Unresolved: [Category: Unknown], [Name: va_list args] */ IntPtr args, IntPtr data, IntPtr return_val);
+
+ /*
+ * Function Name: purple_signal_unregister
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_signal_unregister(void * instance, char * signal)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_signal_unregister(IntPtr instance, string signal);
+
+ public static void SignalUnregister(IntPtr instance, string signal)
+ {
+ purple_signal_unregister(instance, signal);
+ }
+
+ /*
+ * Function Name: purple_signals_unregister_by_instance
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_signals_unregister_by_instance(void * instance)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_signals_unregister_by_instance(IntPtr instance);
+
+ public static void UnregisterByInstance(IntPtr instance)
+ {
+ purple_signals_unregister_by_instance(instance);
+ }
+
+ /*
+ * Function Name: purple_signals_disconnect_by_handle
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_signals_disconnect_by_handle(void * handle)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_signals_disconnect_by_handle(IntPtr handle);
+
+ public static void DisconnectByHandle(IntPtr handle)
+ {
+ purple_signals_disconnect_by_handle(handle);
+ }
+
+ /*
+ * Function Name: purple_signal_emit_vargs
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_signal_emit_vargs(void * instance, char * signal, va_list args)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_signal_emit_vargs(IntPtr instance, string signal, /* Unresolved: [Category: Unknown], [Name: va_list args] */ IntPtr args);
+
+ public static void SignalEmitVargs(IntPtr instance, string signal, /* Unresolved: [Category: Unknown], [Name: va_list args] */ IntPtr args)
+ {
+ /* Unable to process args, a Unknown. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_signals_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_signals_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_signals_init();
+
+ public static void Init()
+ {
+ purple_signals_init();
+ }
+
+ /*
+ * Function Name: purple_signals_uninit
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_signals_uninit()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_signals_uninit();
+
+ public static void Uninit()
+ {
+ purple_signals_uninit();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Smiley.cs 1698f8bde3d5f1da93e087572170f108ea358967
+++ libpurple/wrapper/Smiley.cs 1698f8bde3d5f1da93e087572170f108ea358967
@@ -0,0 +1,349 @@
+/* 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
+{
+
+ /*
+ * File: smiley.h
+ */
+ public class Smiley
+ {
+
+ /*
+ * Function Name: purple_smiley_get_type
+ * Function Type: GType
+ * Function RawType: GType
+ * Function Category: GObjectObject
+ */
+ /*
+ * GType purple_smiley_get_type()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_smiley_get_type();
+
+ public static /* libobject */ IntPtr GetType()
+ {
+ /* Unable to process the return value of purple_smiley_get_type, a GObjectObject. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_smiley_new
+ * Function Type: PurpleSmiley *
+ * Function RawType: PurpleSmiley
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleSmiley * purple_smiley_new(PurpleStoredImage * img, char * shortcut)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_smiley_new(IntPtr img, string shortcut);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleSmiley */ IntPtr New(/* Resolved as PointerToUnknownStruct to PurpleStoredImage */ IntPtr img, string shortcut)
+ {
+ /* Unable to process img, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_smiley_new_from_file
+ * Function Type: PurpleSmiley *
+ * Function RawType: PurpleSmiley
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleSmiley * purple_smiley_new_from_file(char * shortcut, char * filepath)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_smiley_new_from_file(string shortcut, string filepath);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleSmiley */ IntPtr NewFromFile(string shortcut, string filepath)
+ {
+ /* Unable to process the return value of purple_smiley_new_from_file, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_smiley_delete
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_smiley_delete(PurpleSmiley * smiley)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_smiley_delete(IntPtr smiley);
+
+ public static void Delete(/* Resolved as PointerToUnknownStruct to PurpleSmiley */ IntPtr smiley)
+ {
+ /* Unable to process smiley, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_smiley_set_shortcut
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_smiley_set_shortcut(PurpleSmiley * smiley, char * shortcut)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_smiley_set_shortcut(IntPtr smiley, string shortcut);
+
+ public static bool SetShortcut(/* Resolved as PointerToUnknownStruct to PurpleSmiley */ IntPtr smiley, string shortcut)
+ {
+ /* Unable to process smiley, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_smiley_get_shortcut
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_smiley_get_shortcut(PurpleSmiley * smiley)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_smiley_get_shortcut(IntPtr smiley);
+
+ public static string GetShortcut(/* Resolved as PointerToUnknownStruct to PurpleSmiley */ IntPtr smiley)
+ {
+ /* Unable to process smiley, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_smiley_get_checksum
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_smiley_get_checksum(PurpleSmiley * smiley)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_smiley_get_checksum(IntPtr smiley);
+
+ public static string GetChecksum(/* Resolved as PointerToUnknownStruct to PurpleSmiley */ IntPtr smiley)
+ {
+ /* Unable to process smiley, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_smiley_get_stored_image
+ * Function Type: PurpleStoredImage *
+ * Function RawType: PurpleStoredImage
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleStoredImage * purple_smiley_get_stored_image(PurpleSmiley * smiley)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_smiley_get_stored_image(IntPtr smiley);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleStoredImage */ IntPtr GetStoredImage(/* Resolved as PointerToUnknownStruct to PurpleSmiley */ IntPtr smiley)
+ {
+ /* Unable to process smiley, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_smiley_get_data
+ * Function Type: gconstpointer
+ * Function RawType: gconstpointer
+ * Function Category: VoidPointer
+ */
+ /*
+ * gconstpointer purple_smiley_get_data(PurpleSmiley * smiley, size_t * len)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_smiley_get_data(IntPtr smiley, IntPtr len);
+
+ public static IntPtr GetData(/* Resolved as PointerToUnknownStruct to PurpleSmiley */ IntPtr smiley, /* Resolved as PointerToUnknownStruct to size_t */ IntPtr len)
+ {
+ /* Unable to process smiley, a PointerToUnknownStruct. */
+ /* Unable to process len, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_smiley_get_extension
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_smiley_get_extension(PurpleSmiley * smiley)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_smiley_get_extension(IntPtr smiley);
+
+ public static string GetExtension(/* Resolved as PointerToUnknownStruct to PurpleSmiley */ IntPtr smiley)
+ {
+ /* Unable to process smiley, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_smiley_get_full_path
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_smiley_get_full_path(PurpleSmiley * smiley)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_smiley_get_full_path(IntPtr smiley);
+
+ public static string GetFullPath(/* Resolved as PointerToUnknownStruct to PurpleSmiley */ IntPtr smiley)
+ {
+ /* Unable to process smiley, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_smileys_get_all
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_smileys_get_all()
+ *
+ * Could not generate a wrapper for purple_smileys_get_all in file "smiley.h".
+ * Message: Unknown inner-type of argument 0 of purple_smileys_get_all
+ */
+
+ /*
+ * Function Name: purple_smileys_find_by_shortcut
+ * Function Type: PurpleSmiley *
+ * Function RawType: PurpleSmiley
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleSmiley * purple_smileys_find_by_shortcut(char * shortcut)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_smileys_find_by_shortcut(string shortcut);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleSmiley */ IntPtr SmileysFindByShortcut(string shortcut)
+ {
+ /* Unable to process the return value of purple_smileys_find_by_shortcut, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_smileys_find_by_checksum
+ * Function Type: PurpleSmiley *
+ * Function RawType: PurpleSmiley
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleSmiley * purple_smileys_find_by_checksum(char * checksum)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_smileys_find_by_checksum(string checksum);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleSmiley */ IntPtr SmileysFindByChecksum(string checksum)
+ {
+ /* Unable to process the return value of purple_smileys_find_by_checksum, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_smileys_get_storing_dir
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_smileys_get_storing_dir()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_smileys_get_storing_dir();
+
+ public static string SmileysGetStoringDir()
+ {
+ return purple_smileys_get_storing_dir();
+ }
+
+ /*
+ * Function Name: purple_smileys_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_smileys_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_smileys_init();
+
+ public static void SmileysInit()
+ {
+ purple_smileys_init();
+ }
+
+ /*
+ * Function Name: purple_smileys_uninit
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_smileys_uninit()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_smileys_uninit();
+
+ public static void SmileysUninit()
+ {
+ purple_smileys_uninit();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Sound.cs fc64187c425037e587606410686ae9ab1e062f05
+++ libpurple/wrapper/Sound.cs fc64187c425037e587606410686ae9ab1e062f05
@@ -0,0 +1,186 @@
+/* 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
+{
+
+ /*
+ * File: sound.h
+ */
+ 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
+ };
+
+
+ /*
+ * Function Name: purple_sound_play_file
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_sound_play_file(char * filename, PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_sound_play_file(string filename, IntPtr account);
+
+ public static void PlayFile(string filename, PurpleAccount account)
+ {
+ purple_sound_play_file(filename, account.Reference);
+ }
+
+ /*
+ * Function Name: purple_sound_play_event
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_sound_play_event(PurpleSoundEventID event, PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_sound_play_event(Sound.PurpleSoundEventID event_, IntPtr account);
+
+ public static void PlayEvent(Sound.PurpleSoundEventID event_, PurpleAccount account)
+ {
+ /* Unable to process event, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_sound_set_ui_ops
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_sound_set_ui_ops(PurpleSoundUiOps * ops)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_sound_set_ui_ops(IntPtr ops);
+
+ public static void SetUiOps(PurpleSoundUiOps ops)
+ {
+ purple_sound_set_ui_ops(ops.Reference);
+ }
+
+ /*
+ * Function Name: purple_sound_get_ui_ops
+ * Function Type: PurpleSoundUiOps *
+ * Function RawType: PurpleSoundUiOps
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleSoundUiOps * purple_sound_get_ui_ops()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_sound_get_ui_ops();
+
+ public static PurpleSoundUiOps GetUiOps()
+ {
+ return new PurpleSoundUiOps(purple_sound_get_ui_ops());
+ }
+
+ /*
+ * Function Name: purple_sound_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_sound_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_sound_init();
+
+ public static void Init()
+ {
+ purple_sound_init();
+ }
+
+ /*
+ * Function Name: purple_sound_uninit
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_sound_uninit()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_sound_uninit();
+
+ public static void Uninit()
+ {
+ purple_sound_uninit();
+ }
+
+ /*
+ * Function Name: purple_sounds_get_handle
+ * Function Type: void *
+ * Function RawType: void
+ * Function Category: VoidPointer
+ */
+ /*
+ * void * purple_sounds_get_handle()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_sounds_get_handle();
+
+ public static IntPtr SoundsGetHandle()
+ {
+ return purple_sounds_get_handle();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/SoundTheme.cs f53b4b8770f37ecc2eb021c55829789c0362a0b3
+++ libpurple/wrapper/SoundTheme.cs f53b4b8770f37ecc2eb021c55829789c0362a0b3
@@ -0,0 +1,68 @@
+/* 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
+{
+
+ /*
+ * File: sound-theme.h
+ */
+ public class SoundTheme
+ {
+
+ /*
+ * Function Name: purple_sound_theme_get_type
+ * Function Type: GType
+ * Function RawType: GType
+ * Function Category: GObjectObject
+ */
+ /*
+ * GType purple_sound_theme_get_type()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_sound_theme_get_type();
+
+ public static /* libobject */ IntPtr SoundThemeGetType()
+ {
+ /* Unable to process the return value of purple_sound_theme_get_type, a GObjectObject. */
+ throw new NotImplementedException();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/SoundThemeLoader.cs 58c7a1b4421ff84c528532d121ff9a5e89fecfef
+++ libpurple/wrapper/SoundThemeLoader.cs 58c7a1b4421ff84c528532d121ff9a5e89fecfef
@@ -0,0 +1,68 @@
+/* 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
+{
+
+ /*
+ * File: sound-theme-loader.h
+ */
+ public class SoundThemeLoader
+ {
+
+ /*
+ * Function Name: purple_sound_theme_loader_get_type
+ * Function Type: GType
+ * Function RawType: GType
+ * Function Category: GObjectObject
+ */
+ /*
+ * GType purple_sound_theme_loader_get_type()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_sound_theme_loader_get_type();
+
+ public static /* libobject */ IntPtr SoundThemeLoaderGetType()
+ {
+ /* Unable to process the return value of purple_sound_theme_loader_get_type, a GObjectObject. */
+ throw new NotImplementedException();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Sslconn.cs d35ded8ce86fc7aae5a2f36ed51eb431cb6229fa
+++ libpurple/wrapper/Sslconn.cs d35ded8ce86fc7aae5a2f36ed51eb431cb6229fa
@@ -0,0 +1,228 @@
+/* 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
+{
+
+ /*
+ * File: sslconn.h
+ */
+ public class Sslconn
+ {
+ public enum PurpleSslErrorType
+ {
+ PURPLE_SSL_HANDSHAKE_FAILED = 1,
+ PURPLE_SSL_CONNECT_FAILED = 2,
+ PURPLE_SSL_CERTIFICATE_INVALID = 3
+ };
+
+ public delegate void PurpleSslInputFunction(/* Unresolved: [Category: Unknown], [Name: ] */ IntPtr _PurpleWrapper_arg0, IntPtr _PurpleWrapper_arg1, /* Unresolved: [Category: Unknown], [Name: ] */ IntPtr _PurpleWrapper_arg2);
+ public delegate void PurpleSslErrorFunction(IntPtr _PurpleWrapper_arg0, /* Unresolved: [Category: Unknown], [Name: ] */ IntPtr _PurpleWrapper_arg1, /* Unresolved: [Category: Unknown], [Name: ] */ IntPtr _PurpleWrapper_arg2);
+
+ /*
+ * Function Name: purple_ssl_is_supported
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_ssl_is_supported()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_ssl_is_supported();
+
+ public static bool SslIsSupported()
+ {
+ return purple_ssl_is_supported();
+ }
+
+ /*
+ * Function Name: purple_ssl_strerror
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_ssl_strerror(PurpleSslErrorType error)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_ssl_strerror(Sslconn.PurpleSslErrorType error);
+
+ public static string SslStrerror(Sslconn.PurpleSslErrorType error)
+ {
+ /* Unable to process error, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_ssl_close
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_ssl_close(PurpleSslConnection * gsc)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_ssl_close(IntPtr gsc);
+
+ public static void SslClose(PurpleSslConnection gsc)
+ {
+ purple_ssl_close(gsc.Reference);
+ }
+
+ /*
+ * Function Name: purple_ssl_read
+ * Function Type: size_t
+ * Function RawType: size_t
+ * Function Category: Native
+ */
+ /*
+ * size_t purple_ssl_read(PurpleSslConnection * gsc, void * buffer, size_t len)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern ulong purple_ssl_read(IntPtr gsc, IntPtr buffer, ulong len);
+
+ public static ulong SslRead(PurpleSslConnection gsc, IntPtr buffer, ulong len)
+ {
+ return purple_ssl_read(gsc.Reference, buffer, len);
+ }
+
+ /*
+ * Function Name: purple_ssl_write
+ * Function Type: size_t
+ * Function RawType: size_t
+ * Function Category: Native
+ */
+ /*
+ * size_t purple_ssl_write(PurpleSslConnection * gsc, void * buffer, size_t len)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern ulong purple_ssl_write(IntPtr gsc, IntPtr buffer, ulong len);
+
+ public static ulong SslWrite(PurpleSslConnection gsc, IntPtr buffer, ulong len)
+ {
+ return purple_ssl_write(gsc.Reference, buffer, len);
+ }
+
+ /*
+ * Function Name: purple_ssl_get_peer_certificates
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_ssl_get_peer_certificates(PurpleSslConnection * gsc)
+ *
+ * Could not generate a wrapper for purple_ssl_get_peer_certificates in file "sslconn.h".
+ * Message: Unknown inner-type of argument 0 of purple_ssl_get_peer_certificates
+ */
+
+ /*
+ * Function Name: purple_ssl_set_ops
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_ssl_set_ops(PurpleSslOps * ops)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_ssl_set_ops(IntPtr ops);
+
+ public static void SslSetOps(/* Resolved as PointerToUnknownStruct to PurpleSslOps */ IntPtr ops)
+ {
+ /* Unable to process ops, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_ssl_get_ops
+ * Function Type: PurpleSslOps *
+ * Function RawType: PurpleSslOps
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleSslOps * purple_ssl_get_ops()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_ssl_get_ops();
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleSslOps */ IntPtr SslGetOps()
+ {
+ /* Unable to process the return value of purple_ssl_get_ops, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_ssl_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_ssl_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_ssl_init();
+
+ public static void SslInit()
+ {
+ purple_ssl_init();
+ }
+
+ /*
+ * Function Name: purple_ssl_uninit
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_ssl_uninit()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_ssl_uninit();
+
+ public static void SslUninit()
+ {
+ purple_ssl_uninit();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Status.cs e746894fcdf9eaf7bc29a1458353e08ebb896d09
+++ libpurple/wrapper/Status.cs e746894fcdf9eaf7bc29a1458353e08ebb896d09
@@ -0,0 +1,1011 @@
+/* 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
+{
+
+ /*
+ * File: status.h
+ */
+ public class Status
+ {
+ public enum PurplePresenceContext
+ {
+ PURPLE_PRESENCE_CONTEXT_UNSET = 0,
+ PURPLE_PRESENCE_CONTEXT_ACCOUNT,
+ PURPLE_PRESENCE_CONTEXT_CONV,
+ PURPLE_PRESENCE_CONTEXT_BUDDY
+ };
+
+ public enum PurpleStatusPrimitive
+ {
+ 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
+ };
+
+
+ /*
+ * Function Name: purple_primitive_get_id_from_type
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_primitive_get_id_from_type(PurpleStatusPrimitive type)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_primitive_get_id_from_type(Status.PurpleStatusPrimitive type);
+
+ public static string PrimitiveGetIdFromType(Status.PurpleStatusPrimitive type)
+ {
+ /* Unable to process type, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_primitive_get_name_from_type
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_primitive_get_name_from_type(PurpleStatusPrimitive type)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_primitive_get_name_from_type(Status.PurpleStatusPrimitive type);
+
+ public static string PrimitiveGetNameFromType(Status.PurpleStatusPrimitive type)
+ {
+ /* Unable to process type, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_primitive_get_type_from_id
+ * Function Type: PurpleStatusPrimitive
+ * Function RawType: PurpleStatusPrimitive
+ * Function Category: KnownEnum
+ */
+ /*
+ * PurpleStatusPrimitive purple_primitive_get_type_from_id(char * id)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern Status.PurpleStatusPrimitive purple_primitive_get_type_from_id(string id);
+
+ public static Status.PurpleStatusPrimitive PrimitiveGetTypeFromId(string id)
+ {
+ /* Unable to process the return value of purple_primitive_get_type_from_id, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_status_type_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_status_type_destroy(PurpleStatusType * status_type)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_status_type_destroy(IntPtr status_type);
+
+ public static void TypeDestroy(/* Resolved as PointerToUnknownStruct to PurpleStatusType */ IntPtr status_type)
+ {
+ /* Unable to process status_type, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_status_type_get_id
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_status_type_get_id(PurpleStatusType * status_type)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_status_type_get_id(IntPtr status_type);
+
+ public static string TypeGetId(/* Resolved as PointerToUnknownStruct to PurpleStatusType */ IntPtr status_type)
+ {
+ /* Unable to process status_type, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_status_type_get_name
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_status_type_get_name(PurpleStatusType * status_type)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_status_type_get_name(IntPtr status_type);
+
+ public static string TypeGetName(/* Resolved as PointerToUnknownStruct to PurpleStatusType */ IntPtr status_type)
+ {
+ /* Unable to process status_type, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_status_type_is_saveable
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_status_type_is_saveable(PurpleStatusType * status_type)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_status_type_is_saveable(IntPtr status_type);
+
+ public static bool TypeIsSaveable(/* Resolved as PointerToUnknownStruct to PurpleStatusType */ IntPtr status_type)
+ {
+ /* Unable to process status_type, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_status_type_is_user_settable
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_status_type_is_user_settable(PurpleStatusType * status_type)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_status_type_is_user_settable(IntPtr status_type);
+
+ public static bool TypeIsUserSettable(/* Resolved as PointerToUnknownStruct to PurpleStatusType */ IntPtr status_type)
+ {
+ /* Unable to process status_type, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_status_type_is_independent
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_status_type_is_independent(PurpleStatusType * status_type)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_status_type_is_independent(IntPtr status_type);
+
+ public static bool TypeIsIndependent(/* Resolved as PointerToUnknownStruct to PurpleStatusType */ IntPtr status_type)
+ {
+ /* Unable to process status_type, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_status_type_is_exclusive
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_status_type_is_exclusive(PurpleStatusType * status_type)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_status_type_is_exclusive(IntPtr status_type);
+
+ public static bool TypeIsExclusive(/* Resolved as PointerToUnknownStruct to PurpleStatusType */ IntPtr status_type)
+ {
+ /* Unable to process status_type, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_status_type_is_available
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_status_type_is_available(PurpleStatusType * status_type)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_status_type_is_available(IntPtr status_type);
+
+ public static bool TypeIsAvailable(/* Resolved as PointerToUnknownStruct to PurpleStatusType */ IntPtr status_type)
+ {
+ /* Unable to process status_type, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_status_type_get_primary_attr
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_status_type_get_primary_attr(PurpleStatusType * type)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_status_type_get_primary_attr(IntPtr type);
+
+ public static string TypeGetPrimaryAttr(/* Resolved as PointerToUnknownStruct to PurpleStatusType */ IntPtr type)
+ {
+ /* Unable to process type, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_status_type_get_attrs
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * 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: Unknown inner-type of argument 0 of purple_status_type_get_attrs
+ */
+
+ /*
+ * Function Name: purple_status_attr_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_status_attr_destroy(PurpleStatusAttr * attr)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_status_attr_destroy(IntPtr attr);
+
+ public static void AttrDestroy(/* Resolved as PointerToUnknownStruct to PurpleStatusAttr */ IntPtr attr)
+ {
+ /* Unable to process attr, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_status_attr_get_id
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_status_attr_get_id(PurpleStatusAttr * attr)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_status_attr_get_id(IntPtr attr);
+
+ public static string AttrGetId(/* Resolved as PointerToUnknownStruct to PurpleStatusAttr */ IntPtr attr)
+ {
+ /* Unable to process attr, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_status_attr_get_name
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_status_attr_get_name(PurpleStatusAttr * attr)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_status_attr_get_name(IntPtr attr);
+
+ public static string AttrGetName(/* Resolved as PointerToUnknownStruct to PurpleStatusAttr */ IntPtr attr)
+ {
+ /* Unable to process attr, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_status_attr_get_value
+ * Function Type: PurpleValue *
+ * Function RawType: PurpleValue
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleValue * purple_status_attr_get_value(PurpleStatusAttr * attr)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_status_attr_get_value(IntPtr attr);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr AttrGetValue(/* Resolved as PointerToUnknownStruct to PurpleStatusAttr */ IntPtr attr)
+ {
+ /* Unable to process attr, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_status_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_status_destroy(PurpleStatus * status)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_status_destroy(IntPtr status);
+
+ public static void Destroy(/* Resolved as PointerToUnknownStruct to PurpleStatus */ IntPtr status)
+ {
+ /* Unable to process status, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_status_set_active
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_status_set_active(PurpleStatus * status, gboolean active)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_status_set_active(IntPtr status, bool active);
+
+ public static void SetActive(/* Resolved as PointerToUnknownStruct to PurpleStatus */ IntPtr status, bool active)
+ {
+ /* Unable to process status, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_status_get_type
+ * Function Type: PurpleStatusType *
+ * Function RawType: PurpleStatusType
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleStatusType * purple_status_get_type(PurpleStatus * status)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_status_get_type(IntPtr status);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleStatusType */ IntPtr GetType(/* Resolved as PointerToUnknownStruct to PurpleStatus */ IntPtr status)
+ {
+ /* Unable to process status, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_status_get_presence
+ * Function Type: PurplePresence *
+ * Function RawType: PurplePresence
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurplePresence * purple_status_get_presence(PurpleStatus * status)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_status_get_presence(IntPtr status);
+
+ public static /* Resolved as PointerToUnknownStruct to PurplePresence */ IntPtr GetPresence(/* Resolved as PointerToUnknownStruct to PurpleStatus */ IntPtr status)
+ {
+ /* Unable to process status, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_status_get_id
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_status_get_id(PurpleStatus * status)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_status_get_id(IntPtr status);
+
+ public static string GetId(/* Resolved as PointerToUnknownStruct to PurpleStatus */ IntPtr status)
+ {
+ /* Unable to process status, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_status_get_name
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_status_get_name(PurpleStatus * status)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_status_get_name(IntPtr status);
+
+ public static string GetName(/* Resolved as PointerToUnknownStruct to PurpleStatus */ IntPtr status)
+ {
+ /* Unable to process status, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_status_is_independent
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_status_is_independent(PurpleStatus * status)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_status_is_independent(IntPtr status);
+
+ public static bool IsIndependent(/* Resolved as PointerToUnknownStruct to PurpleStatus */ IntPtr status)
+ {
+ /* Unable to process status, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_status_is_exclusive
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_status_is_exclusive(PurpleStatus * status)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_status_is_exclusive(IntPtr status);
+
+ public static bool IsExclusive(/* Resolved as PointerToUnknownStruct to PurpleStatus */ IntPtr status)
+ {
+ /* Unable to process status, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_status_is_available
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_status_is_available(PurpleStatus * status)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_status_is_available(IntPtr status);
+
+ public static bool IsAvailable(/* Resolved as PointerToUnknownStruct to PurpleStatus */ IntPtr status)
+ {
+ /* Unable to process status, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_status_is_active
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_status_is_active(PurpleStatus * status)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_status_is_active(IntPtr status);
+
+ public static bool IsActive(/* Resolved as PointerToUnknownStruct to PurpleStatus */ IntPtr status)
+ {
+ /* Unable to process status, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_status_is_online
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_status_is_online(PurpleStatus * status)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_status_is_online(IntPtr status);
+
+ public static bool IsOnline(/* Resolved as PointerToUnknownStruct to PurpleStatus */ IntPtr status)
+ {
+ /* Unable to process status, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_status_get_attr_int
+ * Function Type: int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * int purple_status_get_attr_int(PurpleStatus * status, char * id)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern int purple_status_get_attr_int(IntPtr status, string id);
+
+ public static int GetAttrInt(/* Resolved as PointerToUnknownStruct to PurpleStatus */ IntPtr status, string id)
+ {
+ /* Unable to process status, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_status_compare
+ * Function Type: gint
+ * Function RawType: gint
+ * Function Category: Native
+ */
+ /*
+ * gint purple_status_compare(PurpleStatus * status1, PurpleStatus * status2)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern int purple_status_compare(IntPtr status1, IntPtr status2);
+
+ public static int Compare(/* Resolved as PointerToUnknownStruct to PurpleStatus */ IntPtr status1, /* Resolved as PointerToUnknownStruct to PurpleStatus */ IntPtr status2)
+ {
+ /* Unable to process status1, a PointerToUnknownStruct. */
+ /* Unable to process status2, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_presence_new
+ * Function Type: PurplePresence *
+ * Function RawType: PurplePresence
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurplePresence * purple_presence_new(PurplePresenceContext context)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_presence_new(Status.PurplePresenceContext context);
+
+ public static /* Resolved as PointerToUnknownStruct to PurplePresence */ IntPtr PresenceNew(Status.PurplePresenceContext context)
+ {
+ /* Unable to process context, a KnownEnum. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_presence_new_for_account
+ * Function Type: PurplePresence *
+ * Function RawType: PurplePresence
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurplePresence * purple_presence_new_for_account(PurpleAccount * account)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_presence_new_for_account(IntPtr account);
+
+ public static /* Resolved as PointerToUnknownStruct to PurplePresence */ IntPtr PresenceNewForAccount(PurpleAccount account)
+ {
+ /* Unable to process the return value of purple_presence_new_for_account, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_presence_new_for_conv
+ * Function Type: PurplePresence *
+ * Function RawType: PurplePresence
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurplePresence * purple_presence_new_for_conv(PurpleConversation * conv)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_presence_new_for_conv(IntPtr conv);
+
+ public static /* Resolved as PointerToUnknownStruct to PurplePresence */ IntPtr PresenceNewForConv(PurpleConversation conv)
+ {
+ /* Unable to process the return value of purple_presence_new_for_conv, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_presence_new_for_buddy
+ * Function Type: PurplePresence *
+ * Function RawType: PurplePresence
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurplePresence * purple_presence_new_for_buddy(PurpleBuddy * buddy)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_presence_new_for_buddy(IntPtr buddy);
+
+ public static /* Resolved as PointerToUnknownStruct to PurplePresence */ IntPtr PresenceNewForBuddy(PurpleBuddy buddy)
+ {
+ /* Unable to process the return value of purple_presence_new_for_buddy, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_presence_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_presence_destroy(PurplePresence * presence)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_presence_destroy(IntPtr presence);
+
+ public static void PresenceDestroy(/* Resolved as PointerToUnknownStruct to PurplePresence */ IntPtr presence)
+ {
+ /* Unable to process presence, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_presence_add_status
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_presence_add_status(PurplePresence * presence, PurpleStatus * status)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_presence_add_status(IntPtr presence, IntPtr status);
+
+ public static void PresenceAddStatus(/* Resolved as PointerToUnknownStruct to PurplePresence */ IntPtr presence, /* Resolved as PointerToUnknownStruct to PurpleStatus */ IntPtr status)
+ {
+ /* Unable to process presence, a PointerToUnknownStruct. */
+ /* Unable to process status, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_presence_add_list
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * 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: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ /*
+ * Function Name: purple_presence_set_login_time
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_presence_set_login_time(PurplePresence * presence, time_t login_time)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_presence_set_login_time(IntPtr presence, ulong login_time);
+
+ public static void PresenceSetLoginTime(/* Resolved as PointerToUnknownStruct to PurplePresence */ IntPtr presence, DateTime login_time)
+ {
+ /* Unable to process presence, a PointerToUnknownStruct. */
+ ulong _PurpleWrapper_param1 = (ulong)(login_time - new DateTime(1970, 1, 1)).TotalSeconds;
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_presence_get_context
+ * Function Type: PurplePresenceContext
+ * Function RawType: PurplePresenceContext
+ * Function Category: KnownEnum
+ */
+ /*
+ * PurplePresenceContext purple_presence_get_context(PurplePresence * presence)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern Status.PurplePresenceContext purple_presence_get_context(IntPtr presence);
+
+ public static Status.PurplePresenceContext PresenceGetContext(/* Resolved as PointerToUnknownStruct to PurplePresence */ IntPtr presence)
+ {
+ /* Unable to process presence, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_presence_get_account
+ * Function Type: PurpleAccount *
+ * Function RawType: PurpleAccount
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleAccount * purple_presence_get_account(PurplePresence * presence)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_presence_get_account(IntPtr presence);
+
+ public static PurpleAccount PresenceGetAccount(/* Resolved as PointerToUnknownStruct to PurplePresence */ IntPtr presence)
+ {
+ /* Unable to process presence, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_presence_get_conversation
+ * Function Type: PurpleConversation *
+ * Function RawType: PurpleConversation
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleConversation * purple_presence_get_conversation(PurplePresence * presence)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_presence_get_conversation(IntPtr presence);
+
+ public static PurpleConversation PresenceGetConversation(/* Resolved as PointerToUnknownStruct to PurplePresence */ IntPtr presence)
+ {
+ /* Unable to process presence, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_presence_get_chat_user
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_presence_get_chat_user(PurplePresence * presence)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_presence_get_chat_user(IntPtr presence);
+
+ public static string PresenceGetChatUser(/* Resolved as PointerToUnknownStruct to PurplePresence */ IntPtr presence)
+ {
+ /* Unable to process presence, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_presence_get_buddy
+ * Function Type: PurpleBuddy *
+ * Function RawType: PurpleBuddy
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleBuddy * purple_presence_get_buddy(PurplePresence * presence)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_presence_get_buddy(IntPtr presence);
+
+ public static PurpleBuddy PresenceGetBuddy(/* Resolved as PointerToUnknownStruct to PurplePresence */ IntPtr presence)
+ {
+ /* Unable to process presence, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_presence_get_statuses
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * GList * purple_presence_get_statuses(PurplePresence * presence)
+ *
+ * Could not generate a wrapper for purple_presence_get_statuses in file "status.h".
+ * Message: Unknown inner-type of argument 0 of purple_presence_get_statuses
+ */
+
+ /*
+ * Function Name: purple_presence_get_active_status
+ * Function Type: PurpleStatus *
+ * Function RawType: PurpleStatus
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleStatus * purple_presence_get_active_status(PurplePresence * presence)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_presence_get_active_status(IntPtr presence);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleStatus */ IntPtr PresenceGetActiveStatus(/* Resolved as PointerToUnknownStruct to PurplePresence */ IntPtr presence)
+ {
+ /* Unable to process presence, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_presence_is_available
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_presence_is_available(PurplePresence * presence)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_presence_is_available(IntPtr presence);
+
+ public static bool PresenceIsAvailable(/* Resolved as PointerToUnknownStruct to PurplePresence */ IntPtr presence)
+ {
+ /* Unable to process presence, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_presence_is_online
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_presence_is_online(PurplePresence * presence)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_presence_is_online(IntPtr presence);
+
+ public static bool PresenceIsOnline(/* Resolved as PointerToUnknownStruct to PurplePresence */ IntPtr presence)
+ {
+ /* Unable to process presence, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_presence_is_idle
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_presence_is_idle(PurplePresence * presence)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_presence_is_idle(IntPtr presence);
+
+ public static bool PresenceIsIdle(/* Resolved as PointerToUnknownStruct to PurplePresence */ IntPtr presence)
+ {
+ /* Unable to process presence, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_presence_get_idle_time
+ * Function Type: time_t
+ * Function RawType: time_t
+ * Function Category: DateTime
+ */
+ /*
+ * time_t purple_presence_get_idle_time(PurplePresence * presence)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern ulong purple_presence_get_idle_time(IntPtr presence);
+
+ public static DateTime PresenceGetIdleTime(/* Resolved as PointerToUnknownStruct to PurplePresence */ IntPtr presence)
+ {
+ /* Unable to process presence, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_presence_get_login_time
+ * Function Type: time_t
+ * Function RawType: time_t
+ * Function Category: DateTime
+ */
+ /*
+ * time_t purple_presence_get_login_time(PurplePresence * presence)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern ulong purple_presence_get_login_time(IntPtr presence);
+
+ public static DateTime PresenceGetLoginTime(/* Resolved as PointerToUnknownStruct to PurplePresence */ IntPtr presence)
+ {
+ /* Unable to process presence, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_status_get_handle
+ * Function Type: void *
+ * Function RawType: void
+ * Function Category: VoidPointer
+ */
+ /*
+ * void * purple_status_get_handle()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_status_get_handle();
+
+ public static IntPtr GetHandle()
+ {
+ return purple_status_get_handle();
+ }
+
+ /*
+ * Function Name: purple_status_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_status_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_status_init();
+
+ public static void Init()
+ {
+ purple_status_init();
+ }
+
+ /*
+ * Function Name: purple_status_uninit
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_status_uninit()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_status_uninit();
+
+ public static void Uninit()
+ {
+ purple_status_uninit();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Stringref.cs b2dad7f99682c683ede37461a98f76df72f869ef
+++ libpurple/wrapper/Stringref.cs b2dad7f99682c683ede37461a98f76df72f869ef
@@ -0,0 +1,177 @@
+/* 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
+{
+
+ /*
+ * File: stringref.h
+ */
+ public class Stringref
+ {
+
+ /*
+ * Function Name: purple_stringref_new
+ * Function Type: PurpleStringref *
+ * Function RawType: PurpleStringref
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleStringref * purple_stringref_new(char * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_stringref_new(string value);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleStringref */ IntPtr New(string value)
+ {
+ /* Unable to process the return value of purple_stringref_new, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_stringref_new_noref
+ * Function Type: PurpleStringref *
+ * Function RawType: PurpleStringref
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleStringref * purple_stringref_new_noref(char * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_stringref_new_noref(string value);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleStringref */ IntPtr NewNoref(string value)
+ {
+ /* Unable to process the return value of purple_stringref_new_noref, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_stringref_ref
+ * Function Type: PurpleStringref *
+ * Function RawType: PurpleStringref
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleStringref * purple_stringref_ref(PurpleStringref * stringref)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_stringref_ref(IntPtr stringref);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleStringref */ IntPtr Ref(/* Resolved as PointerToUnknownStruct to PurpleStringref */ IntPtr stringref)
+ {
+ /* Unable to process stringref, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_stringref_unref
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_stringref_unref(PurpleStringref * stringref)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_stringref_unref(IntPtr stringref);
+
+ public static void Unref(/* Resolved as PointerToUnknownStruct to PurpleStringref */ IntPtr stringref)
+ {
+ /* Unable to process stringref, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_stringref_value
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_stringref_value(PurpleStringref * stringref)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_stringref_value(IntPtr stringref);
+
+ public static string Value(/* Resolved as PointerToUnknownStruct to PurpleStringref */ IntPtr stringref)
+ {
+ /* Unable to process stringref, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_stringref_cmp
+ * Function Type: int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * int purple_stringref_cmp(PurpleStringref * s1, PurpleStringref * s2)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern int purple_stringref_cmp(IntPtr s1, IntPtr s2);
+
+ public static int Cmp(/* Resolved as PointerToUnknownStruct to PurpleStringref */ IntPtr s1, /* Resolved as PointerToUnknownStruct to PurpleStringref */ IntPtr s2)
+ {
+ /* Unable to process s1, a PointerToUnknownStruct. */
+ /* Unable to process s2, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_stringref_len
+ * Function Type: size_t
+ * Function RawType: size_t
+ * Function Category: Native
+ */
+ /*
+ * size_t purple_stringref_len(PurpleStringref * stringref)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern ulong purple_stringref_len(IntPtr stringref);
+
+ public static ulong Len(/* Resolved as PointerToUnknownStruct to PurpleStringref */ IntPtr stringref)
+ {
+ /* Unable to process stringref, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Stun.cs 2969871d7b706ff294c678770bd0984bf1e59d24
+++ libpurple/wrapper/Stun.cs 2969871d7b706ff294c678770bd0984bf1e59d24
@@ -0,0 +1,104 @@
+/* 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
+{
+
+ /*
+ * File: stun.h
+ */
+ 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
+ };
+
+ public delegate void StunCallback(IntPtr _PurpleWrapper_arg0);
+
+ /*
+ * Function Name: purple_stun_discover
+ * Function Type: PurpleStunNatDiscovery *
+ * Function RawType: PurpleStunNatDiscovery
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleStunNatDiscovery * purple_stun_discover(StunCallback cb)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_stun_discover(IntPtr cb);
+
+ public static PurpleStunNatDiscovery Discover(Stun.StunCallback cb)
+ {
+ /* Unable to process cb, a KnownFunctionPointer. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_stun_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_stun_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_stun_init();
+
+ public static void Init()
+ {
+ purple_stun_init();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Theme.cs c02cea2452452bcbe7305cee11a95f56aed9dc3d
+++ libpurple/wrapper/Theme.cs c02cea2452452bcbe7305cee11a95f56aed9dc3d
@@ -0,0 +1,272 @@
+/* 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
+{
+
+ /*
+ * File: theme.h
+ */
+ public class Theme
+ {
+
+ /*
+ * Function Name: purple_theme_get_type
+ * Function Type: GType
+ * Function RawType: GType
+ * Function Category: GObjectObject
+ */
+ /*
+ * GType purple_theme_get_type()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_theme_get_type();
+
+ public static /* libobject */ IntPtr GetType()
+ {
+ /* Unable to process the return value of purple_theme_get_type, a GObjectObject. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_theme_get_name
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_theme_get_name(PurpleTheme * theme)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_theme_get_name(IntPtr theme);
+
+ public static string GetName(PurpleTheme theme)
+ {
+ return purple_theme_get_name(theme.Reference);
+ }
+
+ /*
+ * Function Name: purple_theme_set_name
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_theme_set_name(PurpleTheme * theme, gchar * name)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_theme_set_name(IntPtr theme, string name);
+
+ public static void SetName(PurpleTheme theme, string name)
+ {
+ purple_theme_set_name(theme.Reference, name);
+ }
+
+ /*
+ * Function Name: purple_theme_get_description
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_theme_get_description(PurpleTheme * theme)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_theme_get_description(IntPtr theme);
+
+ public static string GetDescription(PurpleTheme theme)
+ {
+ return purple_theme_get_description(theme.Reference);
+ }
+
+ /*
+ * Function Name: purple_theme_set_description
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_theme_set_description(PurpleTheme * theme, gchar * description)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_theme_set_description(IntPtr theme, string description);
+
+ public static void SetDescription(PurpleTheme theme, string description)
+ {
+ purple_theme_set_description(theme.Reference, description);
+ }
+
+ /*
+ * Function Name: purple_theme_get_author
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_theme_get_author(PurpleTheme * theme)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_theme_get_author(IntPtr theme);
+
+ public static string GetAuthor(PurpleTheme theme)
+ {
+ return purple_theme_get_author(theme.Reference);
+ }
+
+ /*
+ * Function Name: purple_theme_set_author
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_theme_set_author(PurpleTheme * theme, gchar * author)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_theme_set_author(IntPtr theme, string author);
+
+ public static void SetAuthor(PurpleTheme theme, string author)
+ {
+ purple_theme_set_author(theme.Reference, author);
+ }
+
+ /*
+ * Function Name: purple_theme_get_type_string
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_theme_get_type_string(PurpleTheme * theme)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_theme_get_type_string(IntPtr theme);
+
+ public static string GetTypeString(PurpleTheme theme)
+ {
+ return purple_theme_get_type_string(theme.Reference);
+ }
+
+ /*
+ * Function Name: purple_theme_get_dir
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_theme_get_dir(PurpleTheme * theme)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_theme_get_dir(IntPtr theme);
+
+ public static string GetDir(PurpleTheme theme)
+ {
+ return purple_theme_get_dir(theme.Reference);
+ }
+
+ /*
+ * Function Name: purple_theme_set_dir
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_theme_set_dir(PurpleTheme * theme, gchar * dir)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_theme_set_dir(IntPtr theme, string dir);
+
+ public static void SetDir(PurpleTheme theme, string dir)
+ {
+ purple_theme_set_dir(theme.Reference, dir);
+ }
+
+ /*
+ * Function Name: purple_theme_get_image
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_theme_get_image(PurpleTheme * theme)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_theme_get_image(IntPtr theme);
+
+ public static string GetImage(PurpleTheme theme)
+ {
+ return purple_theme_get_image(theme.Reference);
+ }
+
+ /*
+ * Function Name: purple_theme_get_image_full
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_theme_get_image_full(PurpleTheme * theme)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_theme_get_image_full(IntPtr theme);
+
+ public static string GetImageFull(PurpleTheme theme)
+ {
+ return purple_theme_get_image_full(theme.Reference);
+ }
+
+ /*
+ * Function Name: purple_theme_set_image
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_theme_set_image(PurpleTheme * theme, gchar * img)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_theme_set_image(IntPtr theme, string img);
+
+ public static void SetImage(PurpleTheme theme, string img)
+ {
+ purple_theme_set_image(theme.Reference, img);
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/ThemeLoader.cs 66a41853118873c3ecb0727cfc05f04e6f830558
+++ libpurple/wrapper/ThemeLoader.cs 66a41853118873c3ecb0727cfc05f04e6f830558
@@ -0,0 +1,102 @@
+/* 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
+{
+
+ /*
+ * File: theme-loader.h
+ */
+ public class ThemeLoader
+ {
+
+ /*
+ * Function Name: purple_theme_loader_get_type
+ * Function Type: GType
+ * Function RawType: GType
+ * Function Category: GObjectObject
+ */
+ /*
+ * GType purple_theme_loader_get_type()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_theme_loader_get_type();
+
+ public static /* libobject */ IntPtr ThemeLoaderGetType()
+ {
+ /* Unable to process the return value of purple_theme_loader_get_type, a GObjectObject. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_theme_loader_get_type_string
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_theme_loader_get_type_string(PurpleThemeLoader * self)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_theme_loader_get_type_string(IntPtr self);
+
+ public static string ThemeLoaderGetTypeString(PurpleThemeLoader self)
+ {
+ return purple_theme_loader_get_type_string(self.Reference);
+ }
+
+ /*
+ * Function Name: purple_theme_loader_build
+ * Function Type: PurpleTheme *
+ * Function RawType: PurpleTheme
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleTheme * purple_theme_loader_build(PurpleThemeLoader * loader, gchar * dir)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_theme_loader_build(IntPtr loader, string dir);
+
+ public static PurpleTheme ThemeLoaderBuild(PurpleThemeLoader loader, string dir)
+ {
+ return new PurpleTheme(purple_theme_loader_build(loader.Reference, dir));
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/ThemeManager.cs 33fbfae2f21af715e2ad00536f8339bf9ac97b92
+++ libpurple/wrapper/ThemeManager.cs 33fbfae2f21af715e2ad00536f8339bf9ac97b92
@@ -0,0 +1,223 @@
+/* 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
+{
+
+ /*
+ * File: theme-manager.h
+ */
+ public class ThemeManager
+ {
+ public delegate void PTFunc(IntPtr _PurpleWrapper_arg0);
+
+ /*
+ * Function Name: purple_theme_manager_get_type
+ * Function Type: GType
+ * Function RawType: GType
+ * Function Category: GObjectObject
+ */
+ /*
+ * GType purple_theme_manager_get_type()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_theme_manager_get_type();
+
+ public static /* libobject */ IntPtr ThemeManagerGetType()
+ {
+ /* Unable to process the return value of purple_theme_manager_get_type, a GObjectObject. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_theme_manager_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_theme_manager_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_theme_manager_init();
+
+ public static void ThemeManagerInit()
+ {
+ purple_theme_manager_init();
+ }
+
+ /*
+ * Function Name: purple_theme_manager_uninit
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_theme_manager_uninit()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_theme_manager_uninit();
+
+ public static void ThemeManagerUninit()
+ {
+ purple_theme_manager_uninit();
+ }
+
+ /*
+ * Function Name: purple_theme_manager_refresh
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_theme_manager_refresh()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_theme_manager_refresh();
+
+ public static void ThemeManagerRefresh()
+ {
+ purple_theme_manager_refresh();
+ }
+
+ /*
+ * Function Name: purple_theme_manager_find_theme
+ * Function Type: PurpleTheme *
+ * Function RawType: PurpleTheme
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleTheme * purple_theme_manager_find_theme(gchar * name, gchar * type)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_theme_manager_find_theme(string name, string type);
+
+ public static PurpleTheme ThemeManagerFindTheme(string name, string type)
+ {
+ return new PurpleTheme(purple_theme_manager_find_theme(name, type));
+ }
+
+ /*
+ * Function Name: purple_theme_manager_add_theme
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_theme_manager_add_theme(PurpleTheme * theme)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_theme_manager_add_theme(IntPtr theme);
+
+ public static void ThemeManagerAddTheme(PurpleTheme theme)
+ {
+ purple_theme_manager_add_theme(theme.Reference);
+ }
+
+ /*
+ * Function Name: purple_theme_manager_remove_theme
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_theme_manager_remove_theme(PurpleTheme * theme)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_theme_manager_remove_theme(IntPtr theme);
+
+ public static void ThemeManagerRemoveTheme(PurpleTheme theme)
+ {
+ purple_theme_manager_remove_theme(theme.Reference);
+ }
+
+ /*
+ * Function Name: purple_theme_manager_register_type
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_theme_manager_register_type(PurpleThemeLoader * loader)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_theme_manager_register_type(IntPtr loader);
+
+ public static void ThemeManagerRegisterType(PurpleThemeLoader loader)
+ {
+ purple_theme_manager_register_type(loader.Reference);
+ }
+
+ /*
+ * Function Name: purple_theme_manager_unregister_type
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_theme_manager_unregister_type(PurpleThemeLoader * loader)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_theme_manager_unregister_type(IntPtr loader);
+
+ public static void ThemeManagerUnregisterType(PurpleThemeLoader loader)
+ {
+ purple_theme_manager_unregister_type(loader.Reference);
+ }
+
+ /*
+ * Function Name: purple_theme_manager_for_each_theme
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_theme_manager_for_each_theme(PTFunc func)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_theme_manager_for_each_theme(IntPtr func);
+
+ public static void ThemeManagerForEachTheme(ThemeManager.PTFunc func)
+ {
+ /* Unable to process func, a KnownFunctionPointer. */
+ throw new NotImplementedException();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/UnmanagedWrapper.cs 4fdf2c27d12506d6d1eb6e3c33fec97e8166c14e
+++ libpurple/wrapper/UnmanagedWrapper.cs 4fdf2c27d12506d6d1eb6e3c33fec97e8166c14e
@@ -0,0 +1,25 @@
+using System;
+
+namespace PurpleWrapper
+{
+ 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/Upnp.cs 6fa93ff3179f921288ebf8a8227ea8b6ed12eae0
+++ libpurple/wrapper/Upnp.cs 6fa93ff3179f921288ebf8a8227ea8b6ed12eae0
@@ -0,0 +1,140 @@
+/* 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
+{
+
+ /*
+ * File: upnp.h
+ */
+ public class Upnp
+ {
+ public delegate void PurpleUPnPCallback(bool success, IntPtr data);
+
+ /*
+ * Function Name: purple_upnp_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_upnp_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_upnp_init();
+
+ public static void Init()
+ {
+ purple_upnp_init();
+ }
+
+ /*
+ * Function Name: purple_upnp_discover
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_upnp_discover(PurpleUPnPCallback cb, gpointer cb_data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_upnp_discover(IntPtr cb, IntPtr cb_data);
+
+ public static void Discover(Upnp.PurpleUPnPCallback cb, IntPtr cb_data)
+ {
+ /* Unable to process cb, a KnownFunctionPointer. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_upnp_get_control_info
+ * Function Type: PurpleUPnPControlInfo*
+ * Function RawType: PurpleUPnPControlInfo*
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleUPnPControlInfo* purple_upnp_get_control_info()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_upnp_get_control_info();
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleUPnPControlInfo* */ IntPtr GetControlInfo()
+ {
+ /* Unable to process the return value of purple_upnp_get_control_info, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_upnp_get_public_ip
+ * Function Type: gchar*
+ * Function RawType: gchar*
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * gchar* purple_upnp_get_public_ip()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_upnp_get_public_ip();
+
+ public static /* Resolved as PointerToUnknownStruct to gchar* */ IntPtr GetPublicIp()
+ {
+ /* Unable to process the return value of purple_upnp_get_public_ip, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_upnp_cancel_port_mapping
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_upnp_cancel_port_mapping(UPnPMappingAddRemove * mapping_data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_upnp_cancel_port_mapping(IntPtr mapping_data);
+
+ public static void CancelPortMapping(/* Resolved as PointerToUnknownStruct to UPnPMappingAddRemove */ IntPtr mapping_data)
+ {
+ /* Unable to process mapping_data, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Util.cs 6083b1e6fc38b78864a02f630d49d231ae5e0ad2
+++ libpurple/wrapper/Util.cs 6083b1e6fc38b78864a02f630d49d231ae5e0ad2
@@ -0,0 +1,1288 @@
+/* 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
+{
+
+ /*
+ * File: util.h
+ */
+ public class Util
+ {
+ public delegate void PurpleUtilFetchUrlCallback(IntPtr url_data, IntPtr user_data, string url_text, ulong len, string error_message);
+
+ /*
+ * Function Name: purple_menu_action_free
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_menu_action_free(PurpleMenuAction * act)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_menu_action_free(IntPtr act);
+
+ public static void MenuActionFree(PurpleMenuAction act)
+ {
+ purple_menu_action_free(act.Reference);
+ }
+
+ /*
+ * Function Name: purple_util_init
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_util_init()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_util_init();
+
+ public static void Init()
+ {
+ purple_util_init();
+ }
+
+ /*
+ * Function Name: purple_util_uninit
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_util_uninit()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_util_uninit();
+
+ public static void Uninit()
+ {
+ purple_util_uninit();
+ }
+
+ /*
+ * Function Name: purple_base16_encode
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_base16_encode(guchar * data, gsize len)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_base16_encode(IntPtr data, ulong len);
+
+ public static string Base16Encode(/* Resolved as PointerToUnknownStruct to guchar */ IntPtr data, ulong len)
+ {
+ /* Unable to process data, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_base16_decode
+ * Function Type: guchar *
+ * Function RawType: guchar
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * 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 /* Resolved as PointerToUnknownStruct to guchar */ IntPtr Base16Decode(string str, /* Resolved as PointerToUnknownStruct to gsize */ IntPtr ret_len)
+ {
+ /* Unable to process ret_len, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_base16_encode_chunked
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_base16_encode_chunked(guchar * data, gsize len)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_base16_encode_chunked(IntPtr data, ulong len);
+
+ public static string Base16EncodeChunked(/* Resolved as PointerToUnknownStruct to guchar */ IntPtr data, ulong len)
+ {
+ /* Unable to process data, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_base64_encode
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_base64_encode(guchar * data, gsize len)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_base64_encode(IntPtr data, ulong len);
+
+ public static string Base64Encode(/* Resolved as PointerToUnknownStruct to guchar */ IntPtr data, ulong len)
+ {
+ /* Unable to process data, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_base64_decode
+ * Function Type: guchar *
+ * Function RawType: guchar
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * 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 /* Resolved as PointerToUnknownStruct to guchar */ IntPtr Base64Decode(string str, /* Resolved as PointerToUnknownStruct to gsize */ IntPtr ret_len)
+ {
+ /* Unable to process ret_len, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_quotedp_decode
+ * Function Type: guchar *
+ * Function RawType: guchar
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * 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 /* Resolved as PointerToUnknownStruct to guchar */ IntPtr QuotedpDecode(string str, /* Resolved as PointerToUnknownStruct to gsize */ IntPtr ret_len)
+ {
+ /* Unable to process ret_len, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_mime_decode_field
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_mime_decode_field(char * str)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_mime_decode_field(string str);
+
+ public static string MimeDecodeField(string str)
+ {
+ return purple_mime_decode_field(str);
+ }
+
+ /*
+ * Function Name: purple_utf8_strftime
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * 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 inner-union and cannot be automatically wrapped.
+ */
+
+ /*
+ * Function Name: purple_get_tzoff_str
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * 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 inner-union and cannot be automatically wrapped.
+ */
+
+ /*
+ * Function Name: purple_date_format_short
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * 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 inner-union and cannot be automatically wrapped.
+ */
+
+ /*
+ * Function Name: purple_date_format_long
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * 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 inner-union and cannot be automatically wrapped.
+ */
+
+ /*
+ * Function Name: purple_date_format_full
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * 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 inner-union and cannot be automatically wrapped.
+ */
+
+ /*
+ * Function Name: purple_time_format
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * 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 inner-union and cannot be automatically wrapped.
+ */
+
+ /*
+ * Function Name: purple_markup_strip_html
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_markup_strip_html(char * str)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_markup_strip_html(string str);
+
+ public static string MarkupStripHtml(string str)
+ {
+ return purple_markup_strip_html(str);
+ }
+
+ /*
+ * Function Name: purple_markup_linkify
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_markup_linkify(char * str)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_markup_linkify(string str);
+
+ public static string MarkupLinkify(string str)
+ {
+ return purple_markup_linkify(str);
+ }
+
+ /*
+ * Function Name: purple_unescape_html
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_unescape_html(char * html)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_unescape_html(string html);
+
+ public static string UnescapeHtml(string html)
+ {
+ return purple_unescape_html(html);
+ }
+
+ /*
+ * Function Name: purple_markup_slice
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_markup_slice(char * str, guint x, guint y)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_markup_slice(string str, uint x, uint y);
+
+ public static string MarkupSlice(string str, uint x, uint y)
+ {
+ return purple_markup_slice(str, x, y);
+ }
+
+ /*
+ * Function Name: purple_markup_get_tag_name
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_markup_get_tag_name(char * tag)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_markup_get_tag_name(string tag);
+
+ public static string MarkupGetTagName(string tag)
+ {
+ return purple_markup_get_tag_name(tag);
+ }
+
+ /*
+ * Function Name: purple_markup_unescape_entity
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_markup_unescape_entity(char * text, int * length)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_markup_unescape_entity(string text, IntPtr length);
+
+ public static string MarkupUnescapeEntity(string text, /* Resolved as PointerToUnknownStruct to int */ IntPtr length)
+ {
+ /* Unable to process length, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_markup_get_css_property
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * 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);
+ }
+
+ /*
+ * Function Name: purple_markup_is_rtl
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_markup_is_rtl(char * html)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_markup_is_rtl(string html);
+
+ public static bool MarkupIsRtl(string html)
+ {
+ return purple_markup_is_rtl(html);
+ }
+
+ /*
+ * Function Name: purple_home_dir
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_home_dir()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_home_dir();
+
+ public static string HomeDir()
+ {
+ return purple_home_dir();
+ }
+
+ /*
+ * Function Name: purple_user_dir
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_user_dir()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_user_dir();
+
+ public static string UserDir()
+ {
+ return purple_user_dir();
+ }
+
+ /*
+ * Function Name: purple_util_set_user_dir
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_util_set_user_dir(char * dir)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_util_set_user_dir(string dir);
+
+ public static void SetUserDir(string dir)
+ {
+ purple_util_set_user_dir(dir);
+ }
+
+ /*
+ * Function Name: purple_build_dir
+ * Function Type: int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * int purple_build_dir(char * path, int mode)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern int purple_build_dir(string path, int mode);
+
+ public static int BuildDir(string path, int mode)
+ {
+ return purple_build_dir(path, mode);
+ }
+
+ /*
+ * Function Name: purple_util_write_data_to_file_absolute
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * 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, long size);
+
+ public static bool WriteDataToFileAbsolute(string filename_full, string data, long size)
+ {
+ return purple_util_write_data_to_file_absolute(filename_full, data, size);
+ }
+
+ /*
+ * Function Name: purple_mkstemp
+ * Function Type: FILE *
+ * Function RawType: FILE
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * FILE * purple_mkstemp(char ** path, gboolean binary)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_mkstemp(IntPtr path, bool binary);
+
+ public static /* Resolved as PointerToUnknownStruct to FILE */ IntPtr Mkstemp(/* Resolved as PointerToUnknownStruct to char */ IntPtr path, bool binary)
+ {
+ /* Unable to process path, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_util_get_image_extension
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_util_get_image_extension(gconstpointer data, size_t len)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_util_get_image_extension(IntPtr data, ulong len);
+
+ public static string GetImageExtension(IntPtr data, ulong len)
+ {
+ return purple_util_get_image_extension(data, len);
+ }
+
+ /*
+ * Function Name: purple_util_get_image_checksum
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * 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(IntPtr image_data, ulong image_len);
+
+ public static string GetImageChecksum(IntPtr image_data, ulong image_len)
+ {
+ return purple_util_get_image_checksum(image_data, image_len);
+ }
+
+ /*
+ * Function Name: purple_util_get_image_filename
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * 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(IntPtr image_data, ulong image_len);
+
+ public static string GetImageFilename(IntPtr image_data, ulong image_len)
+ {
+ return purple_util_get_image_filename(image_data, image_len);
+ }
+
+ /*
+ * Function Name: purple_program_is_valid
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_program_is_valid(char * program)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_program_is_valid(string program);
+
+ public static bool ProgramIsValid(string program)
+ {
+ return purple_program_is_valid(program);
+ }
+
+ /*
+ * Function Name: purple_running_gnome
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_running_gnome()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_running_gnome();
+
+ public static bool RunningGnome()
+ {
+ return purple_running_gnome();
+ }
+
+ /*
+ * Function Name: purple_running_kde
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_running_kde()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_running_kde();
+
+ public static bool RunningKde()
+ {
+ return purple_running_kde();
+ }
+
+ /*
+ * Function Name: purple_running_osx
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_running_osx()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_running_osx();
+
+ public static bool RunningOsx()
+ {
+ return purple_running_osx();
+ }
+
+ /*
+ * Function Name: purple_fd_get_ip
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_fd_get_ip(int fd)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_fd_get_ip(int fd);
+
+ public static string FdGetIp(int fd)
+ {
+ return purple_fd_get_ip(fd);
+ }
+
+ /*
+ * Function Name: purple_strequal
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_strequal(gchar * left, gchar * right)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_strequal(string left, string right);
+
+ public static bool Strequal(string left, string right)
+ {
+ return purple_strequal(left, right);
+ }
+
+ /*
+ * Function Name: purple_normalize
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_normalize(PurpleAccount * account, char * str)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_normalize(IntPtr account, string str);
+
+ public static string Normalize(PurpleAccount account, string str)
+ {
+ return purple_normalize(account.Reference, str);
+ }
+
+ /*
+ * Function Name: purple_normalize_nocase
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_normalize_nocase(PurpleAccount * account, char * str)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_normalize_nocase(IntPtr account, string str);
+
+ public static string NormalizeNocase(PurpleAccount account, string str)
+ {
+ return purple_normalize_nocase(account.Reference, str);
+ }
+
+ /*
+ * Function Name: purple_str_has_prefix
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_str_has_prefix(char * s, char * p)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_str_has_prefix(string s, string p);
+
+ public static bool StrHasPrefix(string s, string p)
+ {
+ return purple_str_has_prefix(s, p);
+ }
+
+ /*
+ * Function Name: purple_str_has_suffix
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_str_has_suffix(char * s, char * x)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_str_has_suffix(string s, string x);
+
+ public static bool StrHasSuffix(string s, string x)
+ {
+ return purple_str_has_suffix(s, x);
+ }
+
+ /*
+ * Function Name: purple_strdup_withhtml
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_strdup_withhtml(gchar * src)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_strdup_withhtml(string src);
+
+ public static string StrdupWithhtml(string src)
+ {
+ return purple_strdup_withhtml(src);
+ }
+
+ /*
+ * Function Name: purple_str_add_cr
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_str_add_cr(char * str)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_str_add_cr(string str);
+
+ public static string StrAddCr(string str)
+ {
+ return purple_str_add_cr(str);
+ }
+
+ /*
+ * Function Name: purple_str_strip_char
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_str_strip_char(char * str, char thechar)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_str_strip_char(string str, char thechar);
+
+ public static void StrStripChar(string str, char thechar)
+ {
+ purple_str_strip_char(str, thechar);
+ }
+
+ /*
+ * Function Name: purple_utf8_ncr_encode
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_utf8_ncr_encode(char * in)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_utf8_ncr_encode(string in_);
+
+ public static string Utf8NcrEncode(string in_)
+ {
+ return purple_utf8_ncr_encode(in_);
+ }
+
+ /*
+ * Function Name: purple_utf8_ncr_decode
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_utf8_ncr_decode(char * in)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_utf8_ncr_decode(string in_);
+
+ public static string Utf8NcrDecode(string in_)
+ {
+ return purple_utf8_ncr_decode(in_);
+ }
+
+ /*
+ * Function Name: purple_strcasestr
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_strcasestr(char * haystack, char * needle)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_strcasestr(string haystack, string needle);
+
+ public static string Strcasestr(string haystack, string needle)
+ {
+ return purple_strcasestr(haystack, needle);
+ }
+
+ /*
+ * Function Name: purple_str_size_to_units
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_str_size_to_units(size_t size)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_str_size_to_units(ulong size);
+
+ public static string StrSizeToUnits(ulong size)
+ {
+ return purple_str_size_to_units(size);
+ }
+
+ /*
+ * Function Name: purple_str_seconds_to_string
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_str_seconds_to_string(guint sec)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_str_seconds_to_string(uint sec);
+
+ public static string StrSecondsToString(uint sec)
+ {
+ return purple_str_seconds_to_string(sec);
+ }
+
+ /*
+ * Function Name: purple_str_binary_to_ascii
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_str_binary_to_ascii(unsigned char * binary, guint len)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_str_binary_to_ascii(IntPtr binary, uint len);
+
+ public static string StrBinaryToAscii(/* Resolved as PointerToUnknownStruct to char */ IntPtr binary, uint len)
+ {
+ /* Unable to process binary, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_got_protocol_handler_uri
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_got_protocol_handler_uri(char * uri)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_got_protocol_handler_uri(string uri);
+
+ public static void GotProtocolHandlerUri(string uri)
+ {
+ purple_got_protocol_handler_uri(uri);
+ }
+
+ /*
+ * Function Name: purple_util_fetch_url_cancel
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_util_fetch_url_cancel(PurpleUtilFetchUrlData * url_data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_util_fetch_url_cancel(IntPtr url_data);
+
+ public static void FetchUrlCancel(/* Resolved as PointerToUnknownStruct to PurpleUtilFetchUrlData */ IntPtr url_data)
+ {
+ /* Unable to process url_data, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_url_decode
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_url_decode(char * str)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_url_decode(string str);
+
+ public static string UrlDecode(string str)
+ {
+ return purple_url_decode(str);
+ }
+
+ /*
+ * Function Name: purple_url_encode
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_url_encode(char * str)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_url_encode(string str);
+
+ public static string UrlEncode(string str)
+ {
+ return purple_url_encode(str);
+ }
+
+ /*
+ * Function Name: purple_email_is_valid
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_email_is_valid(char * address)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_email_is_valid(string address);
+
+ public static bool EmailIsValid(string address)
+ {
+ return purple_email_is_valid(address);
+ }
+
+ /*
+ * Function Name: purple_ip_address_is_valid
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_ip_address_is_valid(char * ip)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_ip_address_is_valid(string ip);
+
+ public static bool IpAddressIsValid(string ip)
+ {
+ return purple_ip_address_is_valid(ip);
+ }
+
+ /*
+ * Function Name: purple_uri_list_extract_uris
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * 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: Unknown inner-type of argument 0 of purple_uri_list_extract_uris
+ */
+
+ /*
+ * Function Name: purple_uri_list_extract_filenames
+ * Function Type: GList *
+ * Function RawType: GList
+ * Function Category: PointerToGList
+ */
+ /*
+ * 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: Unknown inner-type of argument 0 of purple_uri_list_extract_filenames
+ */
+
+ /*
+ * Function Name: purple_utf8_try_convert
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_utf8_try_convert(char * str)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_utf8_try_convert(string str);
+
+ public static string Utf8TryConvert(string str)
+ {
+ return purple_utf8_try_convert(str);
+ }
+
+ /*
+ * Function Name: purple_utf8_salvage
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_utf8_salvage(char * str)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_utf8_salvage(string str);
+
+ public static string Utf8Salvage(string str)
+ {
+ return purple_utf8_salvage(str);
+ }
+
+ /*
+ * Function Name: purple_utf8_strip_unprintables
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_utf8_strip_unprintables(gchar * str)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_utf8_strip_unprintables(string str);
+
+ public static string Utf8StripUnprintables(string str)
+ {
+ return purple_utf8_strip_unprintables(str);
+ }
+
+ /*
+ * Function Name: purple_gai_strerror
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_gai_strerror(gint errnum)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_gai_strerror(int errnum);
+
+ public static string GaiStrerror(int errnum)
+ {
+ return purple_gai_strerror(errnum);
+ }
+
+ /*
+ * Function Name: purple_utf8_strcasecmp
+ * Function Type: int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * int purple_utf8_strcasecmp(char * a, char * b)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern int purple_utf8_strcasecmp(string a, string b);
+
+ public static int Utf8Strcasecmp(string a, string b)
+ {
+ return purple_utf8_strcasecmp(a, b);
+ }
+
+ /*
+ * Function Name: purple_utf8_has_word
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_utf8_has_word(char * haystack, char * needle)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_utf8_has_word(string haystack, string needle);
+
+ public static bool Utf8HasWord(string haystack, string needle)
+ {
+ return purple_utf8_has_word(haystack, needle);
+ }
+
+ /*
+ * Function Name: purple_print_utf8_to_console
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_print_utf8_to_console(FILE * filestream, char * message)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_print_utf8_to_console(IntPtr filestream, string message);
+
+ public static void PrintUtf8ToConsole(/* Resolved as PointerToUnknownStruct to FILE */ IntPtr filestream, string message)
+ {
+ /* Unable to process filestream, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_message_meify
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_message_meify(char * message, gssize len)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_message_meify(string message, long len);
+
+ public static bool MessageMeify(string message, long len)
+ {
+ return purple_message_meify(message, len);
+ }
+
+ /*
+ * Function Name: purple_text_strip_mnemonic
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_text_strip_mnemonic(char * in)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_text_strip_mnemonic(string in_);
+
+ public static string TextStripMnemonic(string in_)
+ {
+ return purple_text_strip_mnemonic(in_);
+ }
+
+ /*
+ * Function Name: purple_unescape_filename
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_unescape_filename(char * str)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_unescape_filename(string str);
+
+ public static string UnescapeFilename(string str)
+ {
+ return purple_unescape_filename(str);
+ }
+
+ /*
+ * Function Name: purple_escape_filename
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_escape_filename(char * str)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_escape_filename(string str);
+
+ public static string EscapeFilename(string str)
+ {
+ return purple_escape_filename(str);
+ }
+
+ /*
+ * Function Name: purple_oscar_convert
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_oscar_convert(char * act, char * protocol)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_oscar_convert(string act, string protocol);
+
+ public static string OscarConvert(string act, string protocol)
+ {
+ return purple_oscar_convert(act, protocol);
+ }
+
+ /*
+ * Function Name: purple_restore_default_signal_handlers
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_restore_default_signal_handlers()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_restore_default_signal_handlers();
+
+ public static void RestoreDefaultSignalHandlers()
+ {
+ purple_restore_default_signal_handlers();
+ }
+
+ /*
+ * Function Name: purple_get_host_name
+ * Function Type: gchar *
+ * Function RawType: gchar
+ * Function Category: Native
+ */
+ /*
+ * gchar * purple_get_host_name()
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_get_host_name();
+
+ public static string GetHostName()
+ {
+ return purple_get_host_name();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Value.cs 4be921a178a9017520c41e83d8624f3068bb20b0
+++ libpurple/wrapper/Value.cs 4be921a178a9017520c41e83d8624f3068bb20b0
@@ -0,0 +1,780 @@
+/* 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
+{
+
+ /*
+ * File: value.h
+ */
+ public class Value
+ {
+ public enum PurpleType
+ {
+ 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
+ };
+
+ public enum PurpleSubType
+ {
+ 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
+ };
+
+
+ /*
+ * Function Name: purple_value_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_value_destroy(PurpleValue * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_value_destroy(IntPtr value);
+
+ public static void Destroy(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_dup
+ * Function Type: PurpleValue *
+ * Function RawType: PurpleValue
+ * Function Category: PointerToUnknownStruct
+ */
+ /*
+ * PurpleValue * purple_value_dup(PurpleValue * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_value_dup(IntPtr value);
+
+ public static /* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr Dup(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_get_type
+ * Function Type: PurpleType
+ * Function RawType: PurpleType
+ * Function Category: KnownEnum
+ */
+ /*
+ * PurpleType purple_value_get_type(PurpleValue * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern Value.PurpleType purple_value_get_type(IntPtr value);
+
+ public static Value.PurpleType GetType(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_get_subtype
+ * Function Type: unsigned int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * unsigned int purple_value_get_subtype(PurpleValue * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern uint purple_value_get_subtype(IntPtr value);
+
+ public static uint GetSubtype(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_get_specific_type
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_value_get_specific_type(PurpleValue * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_value_get_specific_type(IntPtr value);
+
+ public static string GetSpecificType(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_is_outgoing
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_value_is_outgoing(PurpleValue * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_value_is_outgoing(IntPtr value);
+
+ public static bool IsOutgoing(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_set_char
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_value_set_char(PurpleValue * value, char data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_value_set_char(IntPtr value, char data);
+
+ public static void SetChar(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value, char data)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_set_uchar
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_value_set_uchar(PurpleValue * value, unsigned char data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_value_set_uchar(IntPtr value, byte data);
+
+ public static void SetUchar(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value, byte data)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_set_boolean
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_value_set_boolean(PurpleValue * value, gboolean data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_value_set_boolean(IntPtr value, bool data);
+
+ public static void SetBoolean(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value, bool data)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_set_short
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_value_set_short(PurpleValue * value, short data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_value_set_short(IntPtr value, short data);
+
+ public static void SetShort(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value, short data)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_set_ushort
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_value_set_ushort(PurpleValue * value, unsigned short data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_value_set_ushort(IntPtr value, ushort data);
+
+ public static void SetUshort(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value, ushort data)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_set_int
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_value_set_int(PurpleValue * value, int data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_value_set_int(IntPtr value, int data);
+
+ public static void SetInt(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value, int data)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_set_uint
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_value_set_uint(PurpleValue * value, unsigned int data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_value_set_uint(IntPtr value, uint data);
+
+ public static void SetUint(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value, uint data)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_set_long
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_value_set_long(PurpleValue * value, long data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_value_set_long(IntPtr value, long data);
+
+ public static void SetLong(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value, long data)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_set_ulong
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_value_set_ulong(PurpleValue * value, unsigned long data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_value_set_ulong(IntPtr value, ulong data);
+
+ public static void SetUlong(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value, ulong data)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_set_int64
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_value_set_int64(PurpleValue * value, gint64 data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_value_set_int64(IntPtr value, long data);
+
+ public static void SetInt64(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value, long data)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_set_uint64
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_value_set_uint64(PurpleValue * value, guint64 data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_value_set_uint64(IntPtr value, ulong data);
+
+ public static void SetUint64(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value, ulong data)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_set_string
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_value_set_string(PurpleValue * value, char * data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_value_set_string(IntPtr value, string data);
+
+ public static void SetString(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value, string data)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_set_object
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_value_set_object(PurpleValue * value, void * data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_value_set_object(IntPtr value, IntPtr data);
+
+ public static void SetObject(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value, IntPtr data)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_set_pointer
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_value_set_pointer(PurpleValue * value, void * data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_value_set_pointer(IntPtr value, IntPtr data);
+
+ public static void SetPointer(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value, IntPtr data)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_set_enum
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_value_set_enum(PurpleValue * value, int data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_value_set_enum(IntPtr value, int data);
+
+ public static void SetEnum(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value, int data)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_set_boxed
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_value_set_boxed(PurpleValue * value, void * data)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_value_set_boxed(IntPtr value, IntPtr data);
+
+ public static void SetBoxed(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value, IntPtr data)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_get_char
+ * Function Type: char
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char purple_value_get_char(PurpleValue * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern char purple_value_get_char(IntPtr value);
+
+ public static char GetChar(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_get_uchar
+ * Function Type: unsigned char
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * unsigned char purple_value_get_uchar(PurpleValue * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern byte purple_value_get_uchar(IntPtr value);
+
+ public static byte GetUchar(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_get_boolean
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_value_get_boolean(PurpleValue * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_value_get_boolean(IntPtr value);
+
+ public static bool GetBoolean(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_get_short
+ * Function Type: short
+ * Function RawType: short
+ * Function Category: Native
+ */
+ /*
+ * short purple_value_get_short(PurpleValue * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern short purple_value_get_short(IntPtr value);
+
+ public static short GetShort(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_get_ushort
+ * Function Type: unsigned short
+ * Function RawType: short
+ * Function Category: Native
+ */
+ /*
+ * unsigned short purple_value_get_ushort(PurpleValue * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern ushort purple_value_get_ushort(IntPtr value);
+
+ public static ushort GetUshort(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_get_int
+ * Function Type: int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * int purple_value_get_int(PurpleValue * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern int purple_value_get_int(IntPtr value);
+
+ public static int GetInt(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_get_uint
+ * Function Type: unsigned int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * unsigned int purple_value_get_uint(PurpleValue * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern uint purple_value_get_uint(IntPtr value);
+
+ public static uint GetUint(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_get_long
+ * Function Type: long
+ * Function RawType: long
+ * Function Category: Native
+ */
+ /*
+ * long purple_value_get_long(PurpleValue * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern long purple_value_get_long(IntPtr value);
+
+ public static long GetLong(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_get_ulong
+ * Function Type: unsigned long
+ * Function RawType: long
+ * Function Category: Native
+ */
+ /*
+ * unsigned long purple_value_get_ulong(PurpleValue * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern ulong purple_value_get_ulong(IntPtr value);
+
+ public static ulong GetUlong(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_get_int64
+ * Function Type: gint64
+ * Function RawType: gint64
+ * Function Category: Native
+ */
+ /*
+ * gint64 purple_value_get_int64(PurpleValue * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern long purple_value_get_int64(IntPtr value);
+
+ public static long GetInt64(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_get_uint64
+ * Function Type: guint64
+ * Function RawType: guint64
+ * Function Category: Native
+ */
+ /*
+ * guint64 purple_value_get_uint64(PurpleValue * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern ulong purple_value_get_uint64(IntPtr value);
+
+ public static ulong GetUint64(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_get_string
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_value_get_string(PurpleValue * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_value_get_string(IntPtr value);
+
+ public static string GetString(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_get_object
+ * Function Type: void *
+ * Function RawType: void
+ * Function Category: VoidPointer
+ */
+ /*
+ * void * purple_value_get_object(PurpleValue * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_value_get_object(IntPtr value);
+
+ public static IntPtr GetObject(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_get_pointer
+ * Function Type: void *
+ * Function RawType: void
+ * Function Category: VoidPointer
+ */
+ /*
+ * void * purple_value_get_pointer(PurpleValue * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_value_get_pointer(IntPtr value);
+
+ public static IntPtr GetPointer(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_get_enum
+ * Function Type: int
+ * Function RawType: int
+ * Function Category: Native
+ */
+ /*
+ * int purple_value_get_enum(PurpleValue * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern int purple_value_get_enum(IntPtr value);
+
+ public static int GetEnum(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_value_get_boxed
+ * Function Type: void *
+ * Function RawType: void
+ * Function Category: VoidPointer
+ */
+ /*
+ * void * purple_value_get_boxed(PurpleValue * value)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_value_get_boxed(IntPtr value);
+
+ public static IntPtr GetBoxed(/* Resolved as PointerToUnknownStruct to PurpleValue */ IntPtr value)
+ {
+ /* Unable to process value, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Version.cs 6b3ef012aa51f75aa106e6b6ba8e96ce061c7f0c
+++ libpurple/wrapper/Version.cs 6b3ef012aa51f75aa106e6b6ba8e96ce061c7f0c
@@ -0,0 +1,67 @@
+/* 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
+{
+
+ /*
+ * File: version.h
+ */
+ public class Version
+ {
+
+ /*
+ * Function Name: purple_version_check
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * char * purple_version_check(guint required_major, guint required_minor, guint required_micro)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern string purple_version_check(uint required_major, uint required_minor, uint required_micro);
+
+ public static string Check(uint required_major, uint required_minor, uint required_micro)
+ {
+ return purple_version_check(required_major, required_minor, required_micro);
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/Whiteboard.cs 5ab41c0109733aed046690e7f896291b37aa5126
+++ libpurple/wrapper/Whiteboard.cs 5ab41c0109733aed046690e7f896291b37aa5126
@@ -0,0 +1,335 @@
+/* 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
+{
+
+ /*
+ * File: whiteboard.h
+ */
+ public class Whiteboard
+ {
+
+ /*
+ * Function Name: purple_whiteboard_set_ui_ops
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_whiteboard_set_ui_ops(PurpleWhiteboardUiOps * ops)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_whiteboard_set_ui_ops(IntPtr ops);
+
+ public static void SetUiOps(PurpleWhiteboardUiOps ops)
+ {
+ purple_whiteboard_set_ui_ops(ops.Reference);
+ }
+
+ /*
+ * Function Name: purple_whiteboard_set_prpl_ops
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_whiteboard_set_prpl_ops(PurpleWhiteboard * wb, PurpleWhiteboardPrplOps * ops)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_whiteboard_set_prpl_ops(IntPtr wb, IntPtr ops);
+
+ public static void SetPrplOps(PurpleWhiteboard wb, PurpleWhiteboardPrplOps ops)
+ {
+ purple_whiteboard_set_prpl_ops(wb.Reference, ops.Reference);
+ }
+
+ /*
+ * Function Name: purple_whiteboard_create
+ * Function Type: PurpleWhiteboard *
+ * Function RawType: PurpleWhiteboard
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleWhiteboard * purple_whiteboard_create(PurpleAccount * account, char * who, int state)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_whiteboard_create(IntPtr account, string who, int state);
+
+ public static PurpleWhiteboard Create(PurpleAccount account, string who, int state)
+ {
+ return new PurpleWhiteboard(purple_whiteboard_create(account.Reference, who, state));
+ }
+
+ /*
+ * Function Name: purple_whiteboard_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_whiteboard_destroy(PurpleWhiteboard * wb)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_whiteboard_destroy(IntPtr wb);
+
+ public static void Destroy(PurpleWhiteboard wb)
+ {
+ purple_whiteboard_destroy(wb.Reference);
+ }
+
+ /*
+ * Function Name: purple_whiteboard_start
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_whiteboard_start(PurpleWhiteboard * wb)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_whiteboard_start(IntPtr wb);
+
+ public static void Start(PurpleWhiteboard wb)
+ {
+ purple_whiteboard_start(wb.Reference);
+ }
+
+ /*
+ * Function Name: purple_whiteboard_get_session
+ * Function Type: PurpleWhiteboard *
+ * Function RawType: PurpleWhiteboard
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * PurpleWhiteboard * purple_whiteboard_get_session(PurpleAccount * account, char * who)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern IntPtr purple_whiteboard_get_session(IntPtr account, string who);
+
+ public static PurpleWhiteboard GetSession(PurpleAccount account, string who)
+ {
+ return new PurpleWhiteboard(purple_whiteboard_get_session(account.Reference, who));
+ }
+
+ /*
+ * Function Name: purple_whiteboard_draw_list_destroy
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * 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: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ /*
+ * Function Name: purple_whiteboard_get_dimensions
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_whiteboard_get_dimensions(PurpleWhiteboard * wb, int * width, int * height)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_whiteboard_get_dimensions(IntPtr wb, IntPtr width, IntPtr height);
+
+ public static bool GetDimensions(PurpleWhiteboard wb, /* Resolved as PointerToUnknownStruct to int */ IntPtr width, /* Resolved as PointerToUnknownStruct to int */ IntPtr height)
+ {
+ /* Unable to process width, a PointerToUnknownStruct. */
+ /* Unable to process height, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_whiteboard_set_dimensions
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_whiteboard_set_dimensions(PurpleWhiteboard * wb, int width, int height)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_whiteboard_set_dimensions(IntPtr wb, int width, int height);
+
+ public static void SetDimensions(PurpleWhiteboard wb, int width, int height)
+ {
+ purple_whiteboard_set_dimensions(wb.Reference, width, height);
+ }
+
+ /*
+ * Function Name: purple_whiteboard_draw_point
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_whiteboard_draw_point(PurpleWhiteboard * wb, int x, int y, int color, int size)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_whiteboard_draw_point(IntPtr wb, int x, int y, int color, int size);
+
+ public static void DrawPoint(PurpleWhiteboard wb, int x, int y, int color, int size)
+ {
+ purple_whiteboard_draw_point(wb.Reference, x, y, color, size);
+ }
+
+ /*
+ * Function Name: purple_whiteboard_send_draw_list
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * 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: Unable to provide a type for GList as no function information was provided in code.
+ */
+
+ /*
+ * Function Name: purple_whiteboard_draw_line
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_whiteboard_draw_line(PurpleWhiteboard * wb, int x1, int y1, int x2, int y2, int color, int size)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_whiteboard_draw_line(IntPtr wb, int x1, int y1, int x2, int y2, int color, int size);
+
+ public static void DrawLine(PurpleWhiteboard wb, int x1, int y1, int x2, int y2, int color, int size)
+ {
+ purple_whiteboard_draw_line(wb.Reference, x1, y1, x2, y2, color, size);
+ }
+
+ /*
+ * Function Name: purple_whiteboard_clear
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_whiteboard_clear(PurpleWhiteboard * wb)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_whiteboard_clear(IntPtr wb);
+
+ public static void Clear(PurpleWhiteboard wb)
+ {
+ purple_whiteboard_clear(wb.Reference);
+ }
+
+ /*
+ * Function Name: purple_whiteboard_send_clear
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_whiteboard_send_clear(PurpleWhiteboard * wb)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_whiteboard_send_clear(IntPtr wb);
+
+ public static void SendClear(PurpleWhiteboard wb)
+ {
+ purple_whiteboard_send_clear(wb.Reference);
+ }
+
+ /*
+ * Function Name: purple_whiteboard_send_brush
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_whiteboard_send_brush(PurpleWhiteboard * wb, int size, int color)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_whiteboard_send_brush(IntPtr wb, int size, int color);
+
+ public static void SendBrush(PurpleWhiteboard wb, int size, int color)
+ {
+ purple_whiteboard_send_brush(wb.Reference, size, color);
+ }
+
+ /*
+ * Function Name: purple_whiteboard_get_brush
+ * Function Type: gboolean
+ * Function RawType: gboolean
+ * Function Category: Native
+ */
+ /*
+ * gboolean purple_whiteboard_get_brush(PurpleWhiteboard * wb, int * size, int * color)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern bool purple_whiteboard_get_brush(IntPtr wb, IntPtr size, IntPtr color);
+
+ public static bool GetBrush(PurpleWhiteboard wb, /* Resolved as PointerToUnknownStruct to int */ IntPtr size, /* Resolved as PointerToUnknownStruct to int */ IntPtr color)
+ {
+ /* Unable to process size, a PointerToUnknownStruct. */
+ /* Unable to process color, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: purple_whiteboard_set_brush
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * void purple_whiteboard_set_brush(PurpleWhiteboard * wb, int size, int color)
+ */
+ [DllImport("libpurple.dll")]
+ private static extern void purple_whiteboard_set_brush(IntPtr wb, int size, int color);
+
+ public static void SetBrush(PurpleWhiteboard wb, int size, int color)
+ {
+ purple_whiteboard_set_brush(wb.Reference, size, color);
+ }
+
+ }
+}
+
============================================================
--- libpurple/wrapper/XMLNodeClass.cs 65b2e80beb27012d19de68a542a74c475ce2f29e
+++ libpurple/wrapper/XMLNodeClass.cs 65b2e80beb27012d19de68a542a74c475ce2f29e
@@ -0,0 +1,501 @@
+/* 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
+{
+
+ /*
+ * File: xmlnode.h
+ */
+ public class XMLNodeClass
+ {
+ public enum XMLNodeType
+ {
+ XMLNODE_TYPE_TAG,
+ XMLNODE_TYPE_ATTRIB,
+ XMLNODE_TYPE_DATA
+ };
+
+
+ /*
+ * Function Name: xmlnode_new
+ * Function Type: xmlnode *
+ * Function RawType: xmlnode
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * 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));
+ }
+
+ /*
+ * Function Name: xmlnode_new_child
+ * Function Type: xmlnode *
+ * Function RawType: xmlnode
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * 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));
+ }
+
+ /*
+ * Function Name: xmlnode_insert_child
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * 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);
+ }
+
+ /*
+ * Function Name: xmlnode_get_child
+ * Function Type: xmlnode *
+ * Function RawType: xmlnode
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * 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));
+ }
+
+ /*
+ * Function Name: xmlnode_get_child_with_namespace
+ * Function Type: xmlnode *
+ * Function RawType: xmlnode
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * 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));
+ }
+
+ /*
+ * Function Name: xmlnode_get_next_twin
+ * Function Type: xmlnode *
+ * Function RawType: xmlnode
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * 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));
+ }
+
+ /*
+ * Function Name: xmlnode_insert_data
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * 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);
+ }
+
+ /*
+ * Function Name: xmlnode_get_data
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * 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);
+ }
+
+ /*
+ * Function Name: xmlnode_get_data_unescaped
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * 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);
+ }
+
+ /*
+ * Function Name: xmlnode_set_attrib
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * 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);
+ }
+
+ /*
+ * Function Name: xmlnode_set_attrib_with_prefix
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * 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);
+ }
+
+ /*
+ * Function Name: xmlnode_set_attrib_with_namespace
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * 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);
+ }
+
+ /*
+ * Function Name: xmlnode_get_attrib
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * 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);
+ }
+
+ /*
+ * Function Name: xmlnode_get_attrib_with_namespace
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * 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);
+ }
+
+ /*
+ * Function Name: xmlnode_remove_attrib
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * 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);
+ }
+
+ /*
+ * Function Name: xmlnode_remove_attrib_with_namespace
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * 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);
+ }
+
+ /*
+ * Function Name: xmlnode_set_namespace
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * 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);
+ }
+
+ /*
+ * Function Name: xmlnode_get_namespace
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * 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);
+ }
+
+ /*
+ * Function Name: xmlnode_set_prefix
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * 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);
+ }
+
+ /*
+ * Function Name: xmlnode_get_prefix
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * 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);
+ }
+
+ /*
+ * Function Name: xmlnode_get_parent
+ * Function Type: xmlnode *
+ * Function RawType: xmlnode
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * 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));
+ }
+
+ /*
+ * Function Name: xmlnode_to_str
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * 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 XmlnodeToStr(xmlnode node, /* Resolved as PointerToUnknownStruct to int */ IntPtr len)
+ {
+ /* Unable to process len, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: xmlnode_to_formatted_str
+ * Function Type: char *
+ * Function RawType: char
+ * Function Category: Native
+ */
+ /*
+ * 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 XmlnodeToFormattedStr(xmlnode node, /* Resolved as PointerToUnknownStruct to int */ IntPtr len)
+ {
+ /* Unable to process len, a PointerToUnknownStruct. */
+ throw new NotImplementedException();
+ }
+
+ /*
+ * Function Name: xmlnode_from_str
+ * Function Type: xmlnode *
+ * Function RawType: xmlnode
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * 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));
+ }
+
+ /*
+ * Function Name: xmlnode_copy
+ * Function Type: xmlnode *
+ * Function RawType: xmlnode
+ * Function Category: PointerToKnownStruct
+ */
+ /*
+ * 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));
+ }
+
+ /*
+ * Function Name: xmlnode_free
+ * Function Type: void
+ * Function RawType: void
+ * Function Category: Void
+ */
+ /*
+ * 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/CArgument.cs f75d20003ac081975df76176da384e663b139252
+++ libpurple/wrapper/generator/CArgument.cs f75d20003ac081975df76176da384e663b139252
@@ -0,0 +1,136 @@
+using System;
+using System.Collections.Generic;
+
+namespace Scripts
+{
+ class CArgument : CTyped
+ {
+ private bool isEllipsis = false;
+ private bool isFunctionPointer = false;
+ public List<CArgument> functionPointerArguments = new List<CArgument>();
+ int argumentNumber = -1;
+
+ public CArgument(CFile file)
+ : base(file, "", "")
+ {
+ }
+
+ public CArgument(CFile file, String type, String name, int argumentNumber)
+ : base(file, type, name)
+ {
+ this.ArgumentNumber = argumentNumber;
+ }
+
+ public int ArgumentNumber
+ {
+ get { return argumentNumber; }
+ set { argumentNumber = value; }
+ }
+
+ public bool IsEllipsis
+ {
+ get { return isEllipsis; }
+ set { isEllipsis = value; }
+ }
+
+ public bool IsFunctionPointer
+ {
+ get { return isFunctionPointer; }
+ set { isFunctionPointer = value; }
+ }
+
+ public List<CArgument> FunctionPointerArguments
+ {
+ get { return functionPointerArguments; }
+ }
+
+ public void AddFunctionPointerArgument(CArgument argument)
+ {
+ functionPointerArguments.Add(argument);
+ }
+
+ public override string ToString()
+ {
+ if (this.IsEllipsis)
+ return "...";
+ else if (this.IsFunctionPointer)
+ {
+ String str = this.Type + " (*" + this.Name + ")(";
+
+ for (int i = 0; i < this.FunctionPointerArguments.Count; i++)
+ {
+ if (i != 0)
+ str += ", ";
+
+ str += this.FunctionPointerArguments[i].ToString();
+ }
+ str += ")";
+
+ return str;
+ }
+ else
+ return this.Type + " " + this.Name;
+ }
+
+ public string GetArgumentSafeName()
+ {
+ if (this.SafeName == "")
+ return "_PurpleWrapper_arg" + this.ArgumentNumber;
+ else
+ return this.SafeName;
+ }
+
+ public string GetCSharpPrivateFunction()
+ {
+ return GetCSharpFunction(CSharpFunctionType.Private, null);
+ }
+
+ public string GetCSharpPrivateFunction(String functionName)
+ {
+ return GetCSharpFunction(CSharpFunctionType.Private, functionName);
+ }
+
+ public string GetCSharpPublicFunction()
+ {
+ return GetCSharpFunction(CSharpFunctionType.Public, null);
+ }
+
+ public string GetCSharpPublicFunction(String functionName)
+ {
+ return GetCSharpFunction(CSharpFunctionType.Public, functionName);
+ }
+
+ private enum CSharpFunctionType { Public, Private };
+
+ // NEXT: Function Name
+ private string GetCSharpFunction(CSharpFunctionType functionType, String functionName)
+ {
+ if (this.IsEllipsis)
+ throw new UnableToCreateWrapperException("The function argument contains the ellipsis argument and cannot be automatically wrapped.");
+ else
+ {
+ String result = "";
+
+ if (this.IsFunctionPointer)
+ result = "IntPtr";
+ else
+ {
+ switch (functionType)
+ {
+ case CSharpFunctionType.Private:
+ result = this.CSharpInternalAPIType;
+ break;
+
+ case CSharpFunctionType.Public:
+ result = this.CSharpExternalAPIType;
+ break;
+ }
+ }
+
+ result += " " + this.GetArgumentSafeName();
+ return result;
+ }
+
+ }
+ }
+}
============================================================
--- libpurple/wrapper/generator/CFunction.cs bd46bd897adb4f5e88e8b014756d9508cb08de27
+++ libpurple/wrapper/generator/CFunction.cs bd46bd897adb4f5e88e8b014756d9508cb08de27
@@ -0,0 +1,109 @@
+using System;
+using System.Collections.Generic;
+
+namespace Scripts
+{
+ class CFunction : CTyped
+ {
+ private List<CArgument> arguments = new List<CArgument>();
+ private bool isFunctionPointer = false;
+
+ public CFunction(CFile file, String returnType, String name)
+ : base(file, returnType, name)
+ {
+ }
+
+ public void AddArgument(CArgument argument)
+ {
+ arguments.Add(argument);
+ }
+
+ public List<CArgument> Arguments
+ {
+ get
+ {
+ return arguments;
+ }
+ }
+
+ public bool IsFunctionPointer
+ {
+ get { return isFunctionPointer; }
+ set { isFunctionPointer = true; }
+ }
+
+ public override string ToString()
+ {
+ String str = this.Type + " " + this.Name + "(";
+
+ for (int i = 0; i < this.Arguments.Count; i++)
+ {
+ if (i != 0)
+ str += ", ";
+
+ str += this.Arguments[i].ToString();
+ }
+
+ str += ")";
+ return str;
+ }
+
+ public string GetCSharpPrivateFunction()
+ {
+ String str = "";
+ str += this.CSharpInternalAPIType + " " + this.SafeName + "(";
+
+ for (int i = 0; i < this.Arguments.Count; i++)
+ {
+ if (i != 0)
+ str += ", ";
+
+ str += this.Arguments[i].GetCSharpPrivateFunction();
+ }
+
+ str += ")";
+ return str;
+ }
+
+ public string GetCSharpPublicFunction()
+ {
+ String str = "";
+
+ String modifiedName = this.SafeName.ToLower();
+ if (modifiedName.StartsWith("purple_"))
+ modifiedName = modifiedName.Substring(7);
+ if (modifiedName.StartsWith(this.File.FileNameAsClassName.ToLower() + "_"))
+ modifiedName = modifiedName.Substring(this.File.FileNameAsClassName.Length + 1);
+
+ String finalName = "";
+ finalName += Char.ToUpper(modifiedName[0]);
+ for (int i = 1; i < modifiedName.Length; i++)
+ {
+ if (modifiedName[i] == '_' && i != modifiedName.Length - 1)
+ {
+ finalName += Char.ToUpper(modifiedName[i + 1]);
+ i++;
+ }
+ else
+ {
+ finalName += modifiedName[i];
+ }
+ }
+
+
+
+ str += this.GetCSharpExternalAPIType(this.Name, 0) + " " + finalName + "(";
+
+ for (int i = 0; i < this.Arguments.Count; i++)
+ {
+ if (i != 0)
+ str += ", ";
+
+ str += this.Arguments[i].GetCSharpPublicFunction();
+ }
+
+ str += ")";
+ return str;
+ }
+ }
+}
============================================================
--- libpurple/wrapper/generator/CNamed.cs 55d15ffe0e69d1b424061abcf342a1ec849be4a1
+++ libpurple/wrapper/generator/CNamed.cs 55d15ffe0e69d1b424061abcf342a1ec849be4a1
@@ -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] == '_' && !value.Contains("purple_reserved"))
+ name = value.Substring(1);
+ else
+ name = value;
+ }
+ }
+
+ public String SafeName
+ {
+ get
+ {
+ if (this.Name == "in" || this.Name == "event" || this.Name == "ref")
+ return this.Name + "_";
+ else
+ return this.Name;
+ }
+ }
+
+ public CFile File
+ {
+ get { return file; }
+ set { file = value; }
+ }
+
+ }
+}
============================================================
--- libpurple/wrapper/generator/CTyped.cs cd94d02525abfd845150aa29ac8bc5345e1a2bb3
+++ libpurple/wrapper/generator/CTyped.cs cd94d02525abfd845150aa29ac8bc5345e1a2bb3
@@ -0,0 +1,495 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace Scripts
+{
+ class CTyped : CNamed
+ {
+ private string type;
+ private bool isArray;
+ private int arraySize;
+
+ public enum TypeCategory
+ {
+ Void,
+ DateTime,
+ Native,
+ PointerToKnownStruct,
+ VoidPointer,
+ GObjectObject,
+ InnerStruct,
+ PointerToUnknownStruct,
+ Unknown,
+ KnownEnum,
+ KnownFunctionPointer,
+ KnownFunction,
+ KnownStruct,
+ KnownArgument,
+ PointerToGList,
+ PointerToGHashTable,
+ PointerToGSList
+ };
+
+
+ public CTyped(CFile file, String type, String name)
+ : base(file, name)
+ {
+ this.Type = type;
+
+ if (name.Contains("["))
+ {
+ this.ArraySize = int.Parse(name.Substring(name.IndexOf("[") + 1, name.IndexOf("]") - name.IndexOf("[") - 1));
+ this.IsArray = true;
+ this.Name = name.Substring(0, name.IndexOf("["));
+ }
+
+ if (name.EndsWith("[]"))
+ {
+ name = name.Substring(0, name.Length - 2);
+ this.IsArray = true;
+ this.ArraySize = -1;
+ }
+ }
+
+ public int ArraySize
+ {
+ get { return arraySize; }
+ set { arraySize = value; }
+ }
+
+ public String Type
+ {
+ get { return type; }
+ set { type = value; }
+ }
+
+ public bool IsArray
+ {
+ get { return isArray; }
+ set { isArray = value; }
+ }
+
+ public String RawType
+ {
+ get
+ {
+ 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 fullType;
+ }
+ }
+
+ public bool IsTypePointer
+ {
+ get
+ {
+ if (this.Type != null && (this.Type.EndsWith("*") || this.Type == "gpointer" || this.Type == "gconstpointer"))
+ return true;
+ else
+ return false;
+ }
+ }
+
+ public bool IsTypeString
+ {
+ get
+ {
+ if (this.NativeType == "string")
+ return true;
+ else
+ return false;
+ }
+ }
+
+ public bool IsTypeNative
+ {
+ get
+ {
+ if (this.NativeType == null)
+ return false;
+ else
+ return true;
+ }
+ }
+
+ public bool IsTypeVoid
+ {
+ get
+ {
+ if (this.Type == "void")
+ return true;
+ else
+ return false;
+ }
+ }
+
+ 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 if (this.Type == "GList *")
+ return TypeCategory.PointerToGList;
+ else if (this.Type == "GHashTable *")
+ return TypeCategory.PointerToGHashTable;
+ else if (this.Type == "GSList *")
+ return TypeCategory.PointerToGSList;
+ 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 CSharpInternalAPIType
+ {
+ 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:
+ case TypeCategory.KnownFunctionPointer:
+ case TypeCategory.PointerToGSList:
+ case TypeCategory.PointerToGList:
+ case TypeCategory.PointerToGHashTable:
+ 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 inner-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:
+ str = "/* Unresolved: [Category: " + this.Category.ToString() + "], [Name: " + this.ToString() + "] */ IntPtr";
+ //throw new UnableToCreateWrapperException("The type could not be resolved (" + this.ToString() + ").");
+ break;
+ }
+
+ if (this.IsArray)
+ str += "[]";
+
+ return str;
+ }
+ }
+
+ private enum APIType { External, Internal };
+
+ private string GetCSharpAPIType(APIType apiType, string functionName, int argumentNumber)
+ {
+ if (this.Category == TypeCategory.PointerToGSList ||
+ this.Category == TypeCategory.PointerToGList ||
+ this.Category == TypeCategory.PointerToGHashTable)
+ {
+ string returnStructureInnerValueType = PurpleTranslations.GetListElementType(functionName, argumentNumber);
+
+ // TODO: ManagedWrappers
+
+ if (returnStructureInnerValueType == null)
+ throw new UnableToCreateWrapperException("Unknown inner-type of argument " + argumentNumber + " of " + functionName);
+
+ if (this.Category == TypeCategory.PointerToGSList)
+ {
+ if (apiType == APIType.External)
+ return "IList<" + returnStructureInnerValueType + ">";
+ else
+ return "GSList<" + returnStructureInnerValueType + ">";
+ }
+ else if (this.Category == TypeCategory.PointerToGList)
+ {
+ if (apiType == APIType.External)
+ return "IList<" + returnStructureInnerValueType + ">";
+ else
+ return "GSList<" + returnStructureInnerValueType + ">";
+ }
+ else
+ {
+ if (apiType == APIType.External)
+ return "IDictionary<string, " + returnStructureInnerValueType + ">";
+ else
+ return "GHashTable<" + returnStructureInnerValueType + ">";
+ }
+ }
+ else
+ {
+ if (apiType == APIType.External)
+ return this.CSharpExternalAPIType;
+ else
+ return this.CSharpInternalAPIType;
+ }
+ }
+
+ public string GetCSharpExternalAPIType(string functionName, int argumentNumber)
+ {
+ return GetCSharpAPIType(APIType.External, functionName, argumentNumber);
+ }
+
+
+ public String CSharpExternalAPIType
+ {
+ get
+ {
+ String str;
+
+ switch (this.Category)
+ {
+ case TypeCategory.Native:
+ str = this.NativeType;
+ break;
+
+ case TypeCategory.VoidPointer:
+ str = "IntPtr";
+ break;
+
+ case TypeCategory.Void:
+ str = "void";
+ break;
+
+ case TypeCategory.DateTime:
+ str = "DateTime";
+ break;
+
+ case TypeCategory.GObjectObject:
+ str = "/* libobject */ IntPtr";
+ break;
+
+ case TypeCategory.InnerStruct:
+ throw new UnableToCreateWrapperException("The struct contains an inner-struct or inner-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.PointerToKnownStruct:
+ str = this.ResolvedType.SafeName;
+ break;
+
+ case TypeCategory.PointerToUnknownStruct:
+ str = "/* Resolved as PointerToUnknownStruct to " + this.RawType + " */ IntPtr";
+ break;
+
+ case TypeCategory.KnownEnum:
+ {
+ CEnum resolvedEnum = (CEnum)this.ResolvedType;
+ str = resolvedEnum.File.FileNameAsClassName + "." + resolvedEnum.SafeName;
+ }
+ break;
+
+ case TypeCategory.KnownFunctionPointer:
+ {
+ CFunction resolvedFunctionPointer = (CFunction)this.ResolvedType;
+ str = resolvedFunctionPointer.File.FileNameAsClassName + "." + resolvedFunctionPointer.SafeName;
+ }
+ break;
+
+ case TypeCategory.PointerToGSList:
+ throw new UnableToCreateWrapperException("Unable to provide a type for GSList as no function information was provided in code.");
+ break;
+
+ case TypeCategory.PointerToGList:
+ throw new UnableToCreateWrapperException("Unable to provide a type for GList as no function information was provided in code.");
+ break;
+
+ case TypeCategory.PointerToGHashTable:
+ throw new UnableToCreateWrapperException("Unable to provide a type for HashTable as no function information was provided in code.");
+ break;
+
+ default:
+ str = "/* Unresolved: [Category: " + this.Category.ToString() + "], [Name: " + this.ToString() + "] */ IntPtr";
+ //throw new UnableToCreateWrapperException("The type could not be resolved (" + this.ToString() + ").");
+ break;
+ }
+
+ if (this.IsArray)
+ str += "[]";
+
+ return str;
+ }
+ }
+
+ public String NativeType
+ {
+ get
+ {
+ if (this.Type == "char" && this.IsArray)
+ return "string";
+
+ switch (this.Type)
+ {
+ case "gboolean":
+ return "bool";
+
+ case "gchar":
+ case "char":
+ case "int8":
+ return "char";
+
+ case "uint8":
+ case "unsigned char":
+ case "guchar":
+ return "byte";
+
+ case "gchar *":
+ case "char *":
+ return "string";
+
+ 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":
+ case "short":
+ case "gint16":
+ return "short";
+
+ case "gushort":
+ case "unsigned short":
+ case "guint16":
+ return "ushort";
+
+ 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":
+ case "float":
+ return "float";
+
+ 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/Logger.cs c3f7d617f39136996943f3bf616d94fb0da85871
+++ libpurple/wrapper/generator/Logger.cs c3f7d617f39136996943f3bf616d94fb0da85871
@@ -0,0 +1,39 @@
+using System;
+using System.IO;
+using System.Collections.Generic;
+
+namespace Scripts
+{
+ class Logger
+ {
+ private static StreamWriter writer = new StreamWriter("log.txt");
+ private static Stack<string> prefixList = new Stack<string>();
+
+ public static void Log(String message)
+ {
+ message = message.Replace("\n", "\\n").Replace("\t", "\\t");
+ while (message.Contains(" "))
+ message = message.Replace(" ", " ");
+
+ foreach (String prefix in prefixList)
+ message = prefix + message;
+
+ writer.WriteLine(message);
+ }
+
+ public static void AddPrefix(String prefix)
+ {
+ prefixList.Push(prefix);
+ }
+
+ public static void RemovePrefix()
+ {
+ prefixList.Pop();
+ }
+
+ public static void CloseLog()
+ {
+ writer.Close();
+ }
+ }
+}
============================================================
--- libpurple/wrapper/generator/Program.cs 1caca457292635694d04720b3eac64635a2f4617
+++ libpurple/wrapper/generator/Program.cs 1caca457292635694d04720b3eac64635a2f4617
@@ -0,0 +1,39 @@
+using System;
+
+namespace Scripts
+{
+ class Program
+ {
+ static void Main(string[] args)
+ {
+ WrapperGenerator wrapperGen = new WrapperGenerator();
+
+ Console.WriteLine("Parsing .h files...");
+ wrapperGen.ParseHFilesInDirectory(@"../../../../");
+ //wrapperGen.ParseHFile(@"../../../../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();
+
+ /*
+ Console.WriteLine();
+ Console.WriteLine("Finding \"PurpleAccountRegistrationCb\"...");
+ Console.WriteLine(CFile.LookUpName("PurpleAccountRegistrationCb").ToString());
+ */
+
+ Logger.CloseLog();
+
+ Console.WriteLine("Finished!");
+ Console.ReadLine();
+
+
+ }
+ }
+}
============================================================
--- libpurple/wrapper/generator/Properties/AssemblyInfo.cs c9a9b9fc4f1000a92e7c91463e83d33b5d29e280
+++ libpurple/wrapper/generator/Properties/AssemblyInfo.cs c9a9b9fc4f1000a92e7c91463e83d33b5d29e280
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Scripts")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Microsoft")]
+[assembly: AssemblyProduct("Scripts")]
+[assembly: AssemblyCopyright("Copyright (C) Microsoft 2009")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("7019d3a7-0325-4cf6-83ca-27dd6e0126a9")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
============================================================
--- libpurple/wrapper/generator/PurpleTranslations.cs b179203d85d485108aa8b0c99fb1ad2bc2c30741
+++ libpurple/wrapper/generator/PurpleTranslations.cs b179203d85d485108aa8b0c99fb1ad2bc2c30741
@@ -0,0 +1,24 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace Scripts
+{
+ class PurpleTranslations
+ {
+ public static string GetListElementType(string functionName, int argumentNumber)
+ {
+ if (functionName == "purple_account_set_status_types" && argumentNumber == 2)
+ return "string";
+ else if (functionName == "purple_account_get_status_types" && argumentNumber == 0)
+ return "string";
+ else
+ {
+ Console.WriteLine("Need: " + functionName);
+ return null;
+ }
+
+ }
+ }
+}
============================================================
--- libpurple/wrapper/generator/Scripts.csproj 260515ff31cbf7766720c3755c7b2f5ac5b2e28a
+++ libpurple/wrapper/generator/Scripts.csproj 260515ff31cbf7766720c3755c7b2f5ac5b2e28a
@@ -0,0 +1,70 @@
+<?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="PurpleTranslations.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/Scripts.sln cdbbce6f535e4e49785d5f472355a7e6df6ef3a9
+++ libpurple/wrapper/generator/Scripts.sln cdbbce6f535e4e49785d5f472355a7e6df6ef3a9
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Scripts", "Scripts.csproj", "{43BF057D-B023-463D-B2E0-FDDA18CDE11A}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {43BF057D-B023-463D-B2E0-FDDA18CDE11A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {43BF057D-B023-463D-B2E0-FDDA18CDE11A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {43BF057D-B023-463D-B2E0-FDDA18CDE11A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {43BF057D-B023-463D-B2E0-FDDA18CDE11A}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
============================================================
# libpurple/wrapper/generator/Scripts.suo is binary
============================================================
--- libpurple/wrapper/generator/WrapperGenerator.cs 99351e693a69508e9259eb9a82eda5230ad0a07c
+++ libpurple/wrapper/generator/WrapperGenerator.cs 99351e693a69508e9259eb9a82eda5230ad0a07c
@@ -0,0 +1,774 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Text;
+using System.Text.RegularExpressions;
+
+namespace Scripts
+{
+ class WrapperGenerator
+ {
+ private String path = @"../../../";
+
+ public void ParseHFilesInDirectory(String directory)
+ {
+ DirectoryInfo directionryInfo = new DirectoryInfo(directory);
+ FileInfo[] fileInfos = directionryInfo.GetFiles("*.h");
+
+ 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);
+ }
+ }
+
+
+ public void ParseHFile(String path)
+ {
+ Regex structRegex = new Regex(@"struct \s+ (?<StructName> \w+ ) \s* " +
+ @"\{ " +
+ @" (?<StructInternal>.*?) " +
+ @"\} \s* (\w+ \s*)? ;",
+ RegexOptions.Singleline | RegexOptions.IgnorePatternWhitespace);
+
+ Regex structInternalRegex = new Regex(@"(?<VariableType> " +
+ @" ( const \s+ unsigned \s+ \w+ \s* [\*]+ \s* ) |" +
+ @" ( const \s+ unsigned \s+ \w+ \s+ ) |" +
+ @" ( const \s+ \w+ \s* [\*]+ \s* ) |" +
+ @" ( const \s+ \w+ \s+ ) |" +
+ @" ( unsigned \s+ \w+ \s* [\*]+ \s* ) |" +
+ @" ( unsigned \s+ \w+ \s+ ) |" +
+ @" ( \w+ \s* [\*]+ \s* ) |" +
+ @" ( \w+ \s+ ) " +
+ @")" +
+ @"( ( \(+ \* \s* (?<Name> \w+ ) \) \s* \( (?<FunctionPointerArguments> .*?) \)+ )" +
+ @" | (?<Name> .*? ) ) ;", RegexOptions.Singleline | RegexOptions.IgnorePatternWhitespace);
+
+ Regex functionRegEx =
+ new Regex(@"(?<ReturnType> " +
+ @" ( 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+ ) " +
+ @")" +
+ @"(?<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);
+
+ Regex commentRegex = new Regex(@"(?<Comment> /\* .*? \*/)", RegexOptions.Singleline | RegexOptions.IgnorePatternWhitespace);
+
+ 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);
+
+ 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();
+
+ Logger.Log("Reading " + path + "...");
+ Logger.AddPrefix(" ");
+
+ 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);
+ }
+
+ Logger.Log("Beginning to read all structs in file:");
+ Logger.AddPrefix(" ");
+ foreach (Match match in structRegex.Matches(fullFile))
+ {
+ Logger.Log("Reading struct [" + match.Groups[0].Value + "]...");
+ Logger.AddPrefix(" ");
+ CStruct structObject = new CStruct(currentFile, match.Groups["StructName"].Value);
+
+ String internalStructData = match.Groups["StructInternal"].Value;
+
+ if (internalStructData != null)
+ {
+ int argumentNumber = 0;
+
+ foreach (Match internalStructMatch in structInternalRegex.Matches(internalStructData))
+ {
+ 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(currentFile, elementType, name, argumentNumber);
+ argumentNumber++;
+
+ string functionPointerArguments = internalStructMatch.Groups["FunctionPointerArguments"].Value;
+ if (functionPointerArguments != "")
+ {
+ argument.IsFunctionPointer = true;
+ int innerArgumentNumber = 0;
+
+ 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(currentArgument);
+ functionPointerArgumentObject.Type = parameterMatch.Groups["VariableType"].Value.Trim();
+ functionPointerArgumentObject.Name = parameterMatch.Groups["VariableName"].Value;
+ functionPointerArgumentObject.ArgumentNumber = innerArgumentNumber;
+ innerArgumentNumber++;
+ }
+
+ argument.AddFunctionPointerArgument(functionPointerArgumentObject);
+ }
+ }
+
+ structObject.AddField(argument);
+ }
+
+ Logger.RemovePrefix();
+ }
+
+ //Console.WriteLine(structObject.ToString()); Console.WriteLine();
+ currentFile.addStruct(structObject);
+ }
+ Logger.RemovePrefix();
+
+ Logger.Log("Beginning to read all functions in file:");
+ Logger.AddPrefix(" ");
+ foreach (Match match in functionRegEx.Matches(fullFile))
+ {
+ Logger.Log("Reading function [" + match.Groups[0].Value + "]...");
+ Logger.AddPrefix(" ");
+
+ 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")
+ {
+ if (functionName == "_FUNC_NAME" || functionName == "purple_init_plugin")
+ {
+ Logger.RemovePrefix();
+ continue;
+ }
+
+ if (functionReturnType == "return")
+ {
+ Logger.RemovePrefix();
+ continue;
+ }
+ }
+ else if (currentFile.FileName == "prpl.h")
+ {
+ if (functionReturnType == "unsigned" && functionName == "int")
+ {
+ Logger.RemovePrefix();
+ continue;
+ }
+ }
+
+ if (functionReturnType == "typedef" || functionReturnType == "define")
+ {
+ Logger.Log("Function ignored as it's a typedef'd type (possibly a function pointer?)");
+ Logger.RemovePrefix();
+ continue;
+ }
+
+
+ CFunction function = new CFunction(currentFile, functionReturnType, functionName);
+ int argumentNumber = 0;
+
+ String[] functionParameters = parameterList.Split(',');
+ foreach (String functionParameterInList in functionParameters)
+ {
+ String functionParameter = functionParameterInList.Replace("const ", "").Trim();
+
+ CArgument argument = new CArgument(currentFile);
+ if (functionParameter == "...")
+ {
+ 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;
+ argument.ArgumentNumber = argumentNumber;
+ argumentNumber++;
+ }
+
+ function.AddArgument(argument);
+ }
+
+ currentFile.addFunction(function);
+ //Console.WriteLine(function.ToString());
+ //Console.WriteLine(function.GetCSharpPrivateFunction());
+ //Console.WriteLine(function.GetCSharpPublicFunction());
+ //Console.WriteLine();
+ Logger.RemovePrefix();
+ }
+ Logger.RemovePrefix();
+
+ Logger.Log("Beginning to read all enums in file:");
+ Logger.AddPrefix(" ");
+ foreach (Match match in enumRegex.Matches(fullFile))
+ {
+ Logger.Log("Reading enum [" + match.Groups[0].Value + "]...");
+ Logger.AddPrefix(" ");
+ 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());
+ Logger.RemovePrefix();
+ }
+ Logger.RemovePrefix();
+
+ Logger.Log("Beginning to read all function pointers in file:");
+ Logger.AddPrefix(" ");
+ foreach (Match match in functionPointerRegex.Matches(fullFile))
+ {
+ Logger.Log("Reading function pointer [" + match.Groups[0].Value + "]...");
+ Logger.AddPrefix(" ");
+ CFunction function = new CFunction(currentFile, match.Groups["ReturnType"].Value, match.Groups["Name"].Value);
+ function.IsFunctionPointer = true;
+
+ string functionPointerArguments = match.Groups["FunctionPointerArguments"].Value;
+ if (functionPointerArguments != "")
+ {
+ int argumentNumber = 0;
+
+ 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(currentArgument);
+ functionPointerArgumentObject.Type = parameterMatch.Groups["VariableType"].Value.Trim();
+ functionPointerArgumentObject.Name = parameterMatch.Groups["VariableName"].Value;
+ functionPointerArgumentObject.ArgumentNumber = argumentNumber;
+
+ argumentNumber++;
+ }
+
+ function.AddArgument(functionPointerArgumentObject);
+ }
+ }
+
+ currentFile.addFunctionPointer(function);
+ //Console.WriteLine(function.ToString());
+ Logger.RemovePrefix();
+ }
+ Logger.RemovePrefix();
+
+ CFile.FileCollection.Add(currentFile);
+ Logger.RemovePrefix();
+ }
+
+ public void WriteBaseClasses()
+ {
+ StreamWriter writer = new StreamWriter(path + "UnmanagedWrapper.cs");
+
+ writer.WriteLine("using System;");
+ writer.WriteLine();
+ writer.WriteLine("namespace PurpleWrapper");
+ 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>Library</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 CFile.FileCollection)
+ {
+ foreach (CStruct structure in file.Structs)
+ {
+ StringBuilder structureStringBuilder = new StringBuilder();
+
+ structureStringBuilder.AppendLine(GetCommentHeader());
+
+ 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();
+ structureStringBuilder.AppendLine("\t/*");
+ structureStringBuilder.AppendLine("\t * File: " + file.FileName);
+ structureStringBuilder.AppendLine("\t * Structure: " + structure.Name);
+ structureStringBuilder.AppendLine("\t */");
+ structureStringBuilder.AppendLine("\tpublic class " + structure.Name + " : UnmanagedWrapper<_" + structure.Name + ">");
+ structureStringBuilder.AppendLine("\t{");
+
+
+ StringBuilder sb = new StringBuilder();
+
+ sb.AppendLine("\t\tpublic " + structure.Name + "()");
+ sb.AppendLine("\t\t{");
+ sb.AppendLine("\t\t}");
+ sb.AppendLine();
+
+ sb.AppendLine("\t\tpublic " + structure.Name + "(IntPtr reference)");
+ 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();
+
+ foreach (CArgument argument in structure.Fields)
+ {
+ sb.AppendLine("\t\t/*");
+ sb.AppendLine("\t\t * Argument Name: " + argument.Name);
+ sb.AppendLine("\t\t * Argument Type: " + argument.Type);
+ sb.AppendLine("\t\t * Argument Category: " + argument.Category.ToString());
+ sb.AppendLine("\t\t */");
+
+ try
+ {
+ sb.AppendLine("\t\tpublic " + argument.GetCSharpPublicFunction());
+ sb.AppendLine("\t\t{");
+
+
+ /* get */
+ sb.AppendLine("\t\t\tget");
+ sb.AppendLine("\t\t\t{");
+ if (argument.IsTypeNative)
+ sb.AppendLine("\t\t\t\treturn this.Data." + argument.SafeName + ";");
+ else
+ sb.AppendLine("\t\t\t\tthrow new NotImplementedException(); /* Non-native type. */");
+ sb.AppendLine("\t\t\t}");
+
+
+ /* 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.SafeName + " = value;");
+ else
+ sb.AppendLine("\t\t\t\tthrow new NotImplementedException(); /* Non-native type. */");
+
+ sb.AppendLine("\t\t\t}");
+ sb.AppendLine("\t\t}");
+ sb.AppendLine();
+ }
+ catch (UnableToCreateWrapperException e)
+ {
+ sb.AppendLine("\t\t/*");
+ sb.AppendLine("\t\t * Could not generate a wrapper for " + structure.Name + "." + argument.Name + " in file \"" + structure.File.FileName + "\".");
+ sb.AppendLine("\t\t * Message: " + e.Message);
+ sb.AppendLine("\t\t */");
+ sb.AppendLine();
+ }
+ }
+
+ sb.AppendLine("\t}");
+ sb.AppendLine();
+ sb.AppendLine();
+
+
+ sb.AppendLine("\t[StructLayout(LayoutKind.Sequential)]");
+ sb.AppendLine("\tpublic class _" + structure.Name);
+ sb.AppendLine("\t{");
+
+ foreach (CArgument argument in structure.Fields)
+ {
+ try
+ {
+ sb.AppendLine("\t\t/*");
+ sb.AppendLine("\t\t * " + argument.ToString());
+ sb.AppendLine("\t\t */");
+
+ if (argument.IsFunctionPointer)
+ sb.AppendLine("\t\tpublic IntPtr " + argument.SafeName + ";");
+ else
+ sb.AppendLine("\t\tpublic " + argument.CSharpInternalAPIType + " " + argument.SafeName + ";");
+
+ sb.AppendLine();
+ }
+ catch (UnableToCreateWrapperException e)
+ {
+ sb.AppendLine("\t\t/*");
+ sb.AppendLine("\t\t * Could not generate a wrapper for " + structure.Name + "." + argument.Name + " in file \"" + structure.File.FileName + "\".");
+ sb.AppendLine("\t\t * Message: " + e.Message);
+ sb.AppendLine("\t\t */");
+ sb.AppendLine();
+ }
+ }
+
+ sb.AppendLine("\t}");
+
+ structureStringBuilder.AppendLine(sb.ToString());
+ structureStringBuilder.AppendLine("}");
+
+
+ writer = new StreamWriter(path + structure.Name + ".cs");
+ writer.WriteLine(structureStringBuilder.ToString());
+ writer.Close();
+
+ }
+ }
+ }
+
+ public void GenerateFunctionWrappers()
+ {
+ foreach (CFile file in CFile.FileCollection)
+ {
+ StreamWriter writer = new StreamWriter(path + file.FileNameAsClassName + ".cs");
+ writer.WriteLine(GetCommentHeader());
+
+ 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();
+ writer.WriteLine("\t/*");
+ writer.WriteLine("\t * File: " + file.FileName);
+ writer.WriteLine("\t */");
+ writer.WriteLine("\tpublic class " + file.FileNameAsClassName);
+ writer.WriteLine("\t{");
+
+ foreach (CEnum enumeration in file.Enums)
+ {
+ enumeration.WriteForCSharp(writer, "\t\t");
+ }
+
+
+ /* Write function pointer delegates */
+ foreach (CFunction function in file.FunctionPointers)
+ {
+ String delegateString = "\t\t";
+
+ delegateString += "public delegate " + function.CSharpExternalAPIType + " " + function.SafeName + "(";
+
+ if (function.Arguments.Count > 0)
+ {
+ foreach (CArgument functionArgument in function.Arguments)
+ {
+ // TODO: Split delegate into public/private pair?
+ delegateString += functionArgument.GetCSharpPrivateFunction() + ", ";
+ }
+
+ delegateString = delegateString.Substring(0, delegateString.Length - 2);
+ }
+ delegateString += ");";
+
+ writer.WriteLine(delegateString);
+ }
+ writer.WriteLine();
+
+ foreach (CFunction function in file.Functions)
+ {
+ writer.WriteLine("\t\t/*");
+ writer.WriteLine("\t\t * Function Name: " + function.Name);
+ writer.WriteLine("\t\t * Function Type: " + function.Type);
+ writer.WriteLine("\t\t * Function RawType: " + function.RawType);
+ writer.WriteLine("\t\t * Function Category: " + function.Category);
+ writer.WriteLine("\t\t */");
+
+ 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.GetArgumentSafeName() + ".Reference";
+ break;
+
+ case CTyped.TypeCategory.Native:
+ case CTyped.TypeCategory.VoidPointer:
+ functionArgs[i] = arg.GetArgumentSafeName();
+ break;
+
+ case CTyped.TypeCategory.DateTime:
+ sb.AppendLine("\t\t\tulong _PurpleWrapper_param" + i + " = (ulong)(" + arg.GetArgumentSafeName() + " - new DateTime(1970, 1, 1)).TotalSeconds;");
+ functionArgs[i] = "_PurpleWrapper_param" + i;
+ break;
+
+ default:
+ sb.AppendLine("\t\t\t/* Unable to process " + arg.Name + ", 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 the return value of " + function.SafeName + ", a " + function.Category.ToString() + ". */");
+ allArgsCanBeUsed = false;
+ 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}");
+ writer.WriteLine("}");
+ writer.WriteLine();
+
+ writer.Close();
+ }
+ }
+ }
+}
============================================================
--- libpurple/wrapper/proto_chat_entry.cs a711491136b70eb1efe9c0421a533a546c2465f5
+++ libpurple/wrapper/proto_chat_entry.cs a711491136b70eb1efe9c0421a533a546c2465f5
@@ -0,0 +1,242 @@
+/* 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
+{
+
+ /*
+ * File: prpl.h
+ * Structure: proto_chat_entry
+ */
+ public class proto_chat_entry : UnmanagedWrapper<_proto_chat_entry>
+ {
+ public proto_chat_entry()
+ {
+ }
+
+ public proto_chat_entry(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_proto_chat_entry)Marshal.PtrToStructure(this.Reference, typeof(_proto_chat_entry));
+ }
+
+ /*
+ * Argument Name: label
+ * Argument Type: const char *
+ * Argument Category: PointerToUnknownStruct
+ */
+ public /* Resolved as PointerToUnknownStruct to char */ IntPtr label
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: identifier
+ * Argument Type: const char *
+ * Argument Category: PointerToUnknownStruct
+ */
+ public /* Resolved as PointerToUnknownStruct to char */ IntPtr identifier
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: required
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ public bool required
+ {
+ get
+ {
+ return this.Data.required;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.required = value;
+ }
+ }
+
+ /*
+ * Argument Name: is_int
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ 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;
+ }
+ }
+
+ /*
+ * Argument Name: min
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ public int min
+ {
+ get
+ {
+ return this.Data.min;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.min = value;
+ }
+ }
+
+ /*
+ * Argument Name: max
+ * Argument Type: int
+ * Argument Category: Native
+ */
+ public int max
+ {
+ get
+ {
+ return this.Data.max;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.max = value;
+ }
+ }
+
+ /*
+ * Argument Name: secret
+ * Argument Type: gboolean
+ * Argument Category: Native
+ */
+ 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)]
+ public class _proto_chat_entry
+ {
+ /*
+ * const char * label
+ */
+ public IntPtr label;
+
+ /*
+ * const char * identifier
+ */
+ public IntPtr identifier;
+
+ /*
+ * gboolean required
+ */
+ public bool required;
+
+ /*
+ * gboolean is_int
+ */
+ public bool is_int;
+
+ /*
+ * int min
+ */
+ public int min;
+
+ /*
+ * int max
+ */
+ public int max;
+
+ /*
+ * gboolean secret
+ */
+ public bool secret;
+
+ }
+
+}
+
============================================================
--- libpurple/wrapper/xmlnode.cs 46546bd3c82748fbf812cb8190ed860984b321a8
+++ libpurple/wrapper/xmlnode.cs 46546bd3c82748fbf812cb8190ed860984b321a8
@@ -0,0 +1,304 @@
+/* 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
+{
+
+ /*
+ * File: xmlnode.h
+ * Structure: xmlnode
+ */
+ public class xmlnode : UnmanagedWrapper<_xmlnode>
+ {
+ public xmlnode()
+ {
+ }
+
+ public xmlnode(IntPtr reference)
+ {
+ this.Reference = reference;
+ this.Data = (_xmlnode)Marshal.PtrToStructure(this.Reference, typeof(_xmlnode));
+ }
+
+ /*
+ * Argument Name: name
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string name
+ {
+ get
+ {
+ return this.Data.name;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.name = value;
+ }
+ }
+
+ /*
+ * Argument Name: xmlns
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string xmlns
+ {
+ get
+ {
+ return this.Data.xmlns;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.xmlns = value;
+ }
+ }
+
+ /*
+ * Argument Name: type
+ * Argument Type: XMLNodeType
+ * Argument Category: KnownEnum
+ */
+ public XMLNodeClass.XMLNodeType type
+ {
+ get
+ {
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ throw new NotImplementedException(); /* Non-native type. */
+ }
+ }
+
+ /*
+ * Argument Name: data
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string data
+ {
+ get
+ {
+ return this.Data.data;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.data = value;
+ }
+ }
+
+ /*
+ * Argument Name: data_sz
+ * Argument Type: size_t
+ * Argument Category: Native
+ */
+ public ulong data_sz
+ {
+ get
+ {
+ return this.Data.data_sz;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.data_sz = value;
+ }
+ }
+
+ /*
+ * Argument Name: xmlnode *parent
+ * Argument Type: struct
+ * Argument Category: InnerStruct
+ */
+ /*
+ * Could not generate a wrapper for xmlnode.xmlnode *parent in file "xmlnode.h".
+ * Message: The struct contains an inner-struct or inner-union and cannot be automatically wrapped.
+ */
+
+ /*
+ * Argument Name: xmlnode *child
+ * Argument Type: struct
+ * Argument Category: InnerStruct
+ */
+ /*
+ * Could not generate a wrapper for xmlnode.xmlnode *child in file "xmlnode.h".
+ * Message: The struct contains an inner-struct or inner-union and cannot be automatically wrapped.
+ */
+
+ /*
+ * Argument Name: xmlnode *lastchild
+ * Argument Type: struct
+ * Argument Category: InnerStruct
+ */
+ /*
+ * Could not generate a wrapper for xmlnode.xmlnode *lastchild in file "xmlnode.h".
+ * Message: The struct contains an inner-struct or inner-union and cannot be automatically wrapped.
+ */
+
+ /*
+ * Argument Name: xmlnode *next
+ * Argument Type: struct
+ * Argument Category: InnerStruct
+ */
+ /*
+ * Could not generate a wrapper for xmlnode.xmlnode *next in file "xmlnode.h".
+ * Message: The struct contains an inner-struct or inner-union and cannot be automatically wrapped.
+ */
+
+ /*
+ * Argument Name: prefix
+ * Argument Type: char *
+ * Argument Category: Native
+ */
+ public string prefix
+ {
+ get
+ {
+ return this.Data.prefix;
+ }
+ set
+ {
+ if (this.Reference != IntPtr.Zero)
+ this.Reference = IntPtr.Zero;
+
+ this.Data.prefix = value;
+ }
+ }
+
+ /*
+ * Argument Name: namespace_map
+ * Argument Type: GHashTable *
+ * Argument Category: PointerToGHashTable
+ */
+ /*
+ * Could not generate a wrapper for xmlnode.namespace_map in file "xmlnode.h".
+ * Message: Unable to provide a type for HashTable as no function information was provided in code.
+ */
+
+ }
+
+
+ [StructLayout(LayoutKind.Sequential)]
+ public class _xmlnode
+ {
+ /*
+ * char * name
+ */
+ public string name;
+
+ /*
+ * char * xmlns
+ */
+ public string xmlns;
+
+ /*
+ * XMLNodeType type
+ */
+ public XMLNodeClass.XMLNodeType type;
+
+ /*
+ * char * data
+ */
+ public string data;
+
+ /*
+ * size_t data_sz
+ */
+ public ulong data_sz;
+
+ /*
+ * struct xmlnode *parent
+ */
+ /*
+ * Could not generate a wrapper for xmlnode.xmlnode *parent in file "xmlnode.h".
+ * Message: The struct contains an inner-struct or inner-union and cannot be automatically wrapped.
+ */
+
+ /*
+ * struct xmlnode *child
+ */
+ /*
+ * Could not generate a wrapper for xmlnode.xmlnode *child in file "xmlnode.h".
+ * Message: The struct contains an inner-struct or inner-union and cannot be automatically wrapped.
+ */
+
+ /*
+ * struct xmlnode *lastchild
+ */
+ /*
+ * Could not generate a wrapper for xmlnode.xmlnode *lastchild in file "xmlnode.h".
+ * Message: The struct contains an inner-struct or inner-union and cannot be automatically wrapped.
+ */
+
+ /*
+ * struct xmlnode *next
+ */
+ /*
+ * Could not generate a wrapper for xmlnode.xmlnode *next in file "xmlnode.h".
+ * Message: The struct contains an inner-struct or inner-union and cannot be automatically wrapped.
+ */
+
+ /*
+ * char * prefix
+ */
+ public string prefix;
+
+ /*
+ * GHashTable * namespace_map
+ */
+ public IntPtr namespace_map;
+
+ }
+
+}
+
============================================================
--- penguin/GLib/README.txt 55098d727394681fa1dec582969f7dcda278cc60
+++ penguin/GLib/README.txt 55098d727394681fa1dec582969f7dcda278cc60
@@ -0,0 +1,8 @@
+A C# wrapper for glib has been developed by [ole.andre.ravnas at tandberg.com].
+
+You can acquire the sources needed via the following commands:
+===
+bzr branch http://bazaar.launchpad.net/~oleavr/oabuild/build
+bzr branch http://bazaar.launchpad.net/~oleavr/oabuild/libintl-proxy
+bzr branch http://bazaar.launchpad.net/~oleavr/oabuild/glib
+===
\ No newline at end of file
============================================================
--- penguin/Penguin/Penguin.csproj 40a0501066650f3742f3874722aa5e22fe699788
+++ penguin/Penguin/Penguin.csproj 40a0501066650f3742f3874722aa5e22fe699788
@@ -0,0 +1,93 @@
+<?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>{16F97E97-B16F-49B2-A8E0-049E57963361}</ProjectGuid>
+ <OutputType>WinExe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Penguin</RootNamespace>
+ <AssemblyName>Penguin</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>
+ <PlatformTarget>x86</PlatformTarget>
+ </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>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug %28Win32%29|AnyCPU' ">
+ <OutputPath>bin\Debug %28Win32%29\</OutputPath>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Core">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.Data.DataSetExtensions">
+ <RequiredTargetFramework>3.5</RequiredTargetFramework>
+ </Reference>
+ <Reference Include="System.Data" />
+ <Reference Include="System.Deployment" />
+ <Reference Include="System.Drawing" />
+ <Reference Include="System.Windows.Forms" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="WelcomeForm.cs">
+ <SubType>Form</SubType>
+ </Compile>
+ <Compile Include="WelcomeForm.Designer.cs">
+ <DependentUpon>WelcomeForm.cs</DependentUpon>
+ </Compile>
+ <Compile Include="Program.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <EmbeddedResource Include="Properties\Resources.resx">
+ <Generator>ResXFileCodeGenerator</Generator>
+ <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+ <SubType>Designer</SubType>
+ </EmbeddedResource>
+ <Compile Include="Properties\Resources.Designer.cs">
+ <AutoGen>True</AutoGen>
+ <DependentUpon>Resources.resx</DependentUpon>
+ </Compile>
+ <None Include="Properties\Settings.settings">
+ <Generator>SettingsSingleFileGenerator</Generator>
+ <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+ </None>
+ <Compile Include="Properties\Settings.Designer.cs">
+ <AutoGen>True</AutoGen>
+ <DependentUpon>Settings.settings</DependentUpon>
+ <DesignTimeSharedInput>True</DesignTimeSharedInput>
+ </Compile>
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\libpurple\wrapper\PurpleWrapper.csproj">
+ <Project>{8034DEA9-30CC-DEA0-3903-80210CE809FA}</Project>
+ <Name>PurpleWrapper</Name>
+ </ProjectReference>
+ </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
============================================================
--- penguin/Penguin/Program.cs c903d9539b39f9ffc690fd3f4c85dbe9f705adbb
+++ penguin/Penguin/Program.cs c903d9539b39f9ffc690fd3f4c85dbe9f705adbb
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Windows.Forms;
+
+namespace Penguin
+{
+ static class Program
+ {
+ /// <summary>
+ /// The main entry point for the application.
+ /// </summary>
+ [STAThread]
+ static void Main()
+ {
+ Application.EnableVisualStyles();
+ Application.SetCompatibleTextRenderingDefault(false);
+ Application.Run(new WelcomeForm());
+ }
+ }
+}
============================================================
--- penguin/Penguin/Properties/AssemblyInfo.cs 2d50d6c86cdc5086a260d791e998b659c15d7280
+++ penguin/Penguin/Properties/AssemblyInfo.cs 2d50d6c86cdc5086a260d791e998b659c15d7280
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Penguin")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Penguin")]
+[assembly: AssemblyCopyright("")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("4b1156cc-29ad-49d3-aa12-361c2bf15829")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
============================================================
--- penguin/Penguin/Properties/Resources.Designer.cs b6e9efcefa71f3ac463528cfa14e0088fa8ba4bb
+++ penguin/Penguin/Properties/Resources.Designer.cs b6e9efcefa71f3ac463528cfa14e0088fa8ba4bb
@@ -0,0 +1,71 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.3074
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Penguin.Properties
+{
+
+
+ /// <summary>
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ /// </summary>
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources
+ {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources()
+ {
+ }
+
+ /// <summary>
+ /// Returns the cached ResourceManager instance used by this class.
+ /// </summary>
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager
+ {
+ get
+ {
+ if ((resourceMan == null))
+ {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Penguin.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ /// <summary>
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ /// </summary>
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture
+ {
+ get
+ {
+ return resourceCulture;
+ }
+ set
+ {
+ resourceCulture = value;
+ }
+ }
+ }
+}
============================================================
--- penguin/Penguin/Properties/Resources.resx 47b15748ecc8e952c5935170090db7c269ce4b4f
+++ penguin/Penguin/Properties/Resources.resx 47b15748ecc8e952c5935170090db7c269ce4b4f
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+ <!--
+ Microsoft ResX Schema
+
+ Version 2.0
+
+ The primary goals of this format is to allow a simple XML format
+ that is mostly human readable. The generation and parsing of the
+ various data types are done through the TypeConverter classes
+ associated with the data types.
+
+ Example:
+
+ ... ado.net/XML headers & schema ...
+ <resheader name="resmimetype">text/microsoft-resx</resheader>
+ <resheader name="version">2.0</resheader>
+ <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+ <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+ <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+ <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+ <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+ <value>[base64 mime encoded serialized .NET Framework object]</value>
+ </data>
+ <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+ <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+ <comment>This is a comment</comment>
+ </data>
+
+ There are any number of "resheader" rows that contain simple
+ name/value pairs.
+
+ Each data row contains a name, and value. The row also contains a
+ type or mimetype. Type corresponds to a .NET class that support
+ text/value conversion through the TypeConverter architecture.
+ Classes that don't support this are serialized and stored with the
+ mimetype set.
+
+ The mimetype is used for serialized objects, and tells the
+ ResXResourceReader how to depersist the object. This is currently not
+ extensible. For a given mimetype the value must be set accordingly:
+
+ Note - application/x-microsoft.net.object.binary.base64 is the format
+ that the ResXResourceWriter will generate, however the reader can
+ read any of the formats listed below.
+
+ mimetype: application/x-microsoft.net.object.binary.base64
+ value : The object must be serialized with
+ : System.Serialization.Formatters.Binary.BinaryFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.soap.base64
+ value : The object must be serialized with
+ : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+ : and then encoded with base64 encoding.
+
+ mimetype: application/x-microsoft.net.object.bytearray.base64
+ value : The object must be serialized into a byte array
+ : using a System.ComponentModel.TypeConverter
+ : and then encoded with base64 encoding.
+ -->
+ <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+ <xsd:element name="root" msdata:IsDataSet="true">
+ <xsd:complexType>
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:element name="metadata">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" />
+ <xsd:attribute name="type" type="xsd:string" />
+ <xsd:attribute name="mimetype" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="assembly">
+ <xsd:complexType>
+ <xsd:attribute name="alias" type="xsd:string" />
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="data">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+ <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+ <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="resheader">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required" />
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:schema>
+ <resheader name="resmimetype">
+ <value>text/microsoft-resx</value>
+ </resheader>
+ <resheader name="version">
+ <value>2.0</value>
+ </resheader>
+ <resheader name="reader">
+ <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+ <resheader name="writer">
+ <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+ </resheader>
+</root>
\ No newline at end of file
============================================================
--- penguin/Penguin/Properties/Settings.Designer.cs 6fb66eb235f93d122526b269372bc04014ec97f0
+++ penguin/Penguin/Properties/Settings.Designer.cs 6fb66eb235f93d122526b269372bc04014ec97f0
@@ -0,0 +1,30 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.3074
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Penguin.Properties
+{
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
+ {
+
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+ public static Settings Default
+ {
+ get
+ {
+ return defaultInstance;
+ }
+ }
+ }
+}
============================================================
--- penguin/Penguin/Properties/Settings.settings 5e1d04de66ffcc5dfd813530ab6992e6daaae417
+++ penguin/Penguin/Properties/Settings.settings 5e1d04de66ffcc5dfd813530ab6992e6daaae417
@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
+ <Profiles>
+ <Profile Name="(Default)" />
+ </Profiles>
+ <Settings />
+</SettingsFile>
============================================================
--- penguin/Penguin/WelcomeForm.Designer.cs aec5a69a2b4eec54f275603c65c3128f1cc006c8
+++ penguin/Penguin/WelcomeForm.Designer.cs aec5a69a2b4eec54f275603c65c3128f1cc006c8
@@ -0,0 +1,39 @@
+namespace Penguin
+{
+ partial class WelcomeForm
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ this.components = new System.ComponentModel.Container();
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Text = "Form1";
+ }
+
+ #endregion
+ }
+}
+
============================================================
--- penguin/Penguin/WelcomeForm.cs ca69f47ffbf925b6519b59459318e58eadb27533
+++ penguin/Penguin/WelcomeForm.cs ca69f47ffbf925b6519b59459318e58eadb27533
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace Penguin
+{
+ public partial class WelcomeForm : Form
+ {
+ public WelcomeForm()
+ {
+ InitializeComponent();
+ }
+ }
+}
============================================================
--- penguin/Penguin.sln 48071dd688cea2c873c7ef1379bdd51673a8dd4f
+++ penguin/Penguin.sln 48071dd688cea2c873c7ef1379bdd51673a8dd4f
@@ -0,0 +1,647 @@
+
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PurpleWrapper", "..\libpurple\wrapper\PurpleWrapper.csproj", "{8034DEA9-30CC-DEA0-3903-80210CE809FA}"
+ ProjectSection(ProjectDependencies) = postProject
+ {9F347485-0492-4473-B597-0444687EEE3F} = {9F347485-0492-4473-B597-0444687EEE3F}
+ EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Penguin", "Penguin\Penguin.csproj", "{16F97E97-B16F-49B2-A8E0-049E57963361}"
+ ProjectSection(ProjectDependencies) = postProject
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA} = {8034DEA9-30CC-DEA0-3903-80210CE809FA}
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libpurple", "libpurple", "{F7CE879A-78D1-4738-88F8-6EA6DFDB3172}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "wrapper", "wrapper", "{259F3184-C992-4858-AB00-3147438B280E}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libpurple", "libpurple", "{4A4BF248-A1B7-462A-B9CB-055D7FA49ADC}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "prpls", "prpls", "{EFC2778C-4E9C-4BE1-8F58-C73086B847CF}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glib-generated", "GLib\glib\win32\oa\glib-generated.vcproj", "{85DCFF40-BF5B-459A-BF20-377472BBF846}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glib-genmarshal", "GLib\glib\win32\oa\glib-genmarshal.vcproj", "{BD12E835-5C52-4E5D-8234-1C579F33E27A}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libglib", "GLib\glib\win32\oa\libglib.vcproj", "{12BCA020-EABF-429E-876A-A476BC9C10C0}"
+ ProjectSection(ProjectDependencies) = postProject
+ {85DCFF40-BF5B-459A-BF20-377472BBF846} = {85DCFF40-BF5B-459A-BF20-377472BBF846}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libgmodule", "GLib\glib\win32\oa\libgmodule.vcproj", "{4214047C-F5C1-40B3-8369-5DCED8C32770}"
+ ProjectSection(ProjectDependencies) = postProject
+ {85DCFF40-BF5B-459A-BF20-377472BBF846} = {85DCFF40-BF5B-459A-BF20-377472BBF846}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libgobject", "GLib\glib\win32\oa\libgobject.vcproj", "{F172EFFC-E30F-4593-809E-DB2024B1E753}"
+ ProjectSection(ProjectDependencies) = postProject
+ {4CEE3392-89AC-4367-B219-42360CF91CBB} = {4CEE3392-89AC-4367-B219-42360CF91CBB}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libgthread", "GLib\glib\win32\oa\libgthread.vcproj", "{C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}"
+ ProjectSection(ProjectDependencies) = postProject
+ {85DCFF40-BF5B-459A-BF20-377472BBF846} = {85DCFF40-BF5B-459A-BF20-377472BBF846}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpcre", "GLib\glib\win32\oa\libpcre.vcproj", "{AE3F6497-7880-4C08-B6E2-3AF05BCFB671}"
+ ProjectSection(ProjectDependencies) = postProject
+ {85DCFF40-BF5B-459A-BF20-377472BBF846} = {85DCFF40-BF5B-459A-BF20-377472BBF846}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gobject-generated", "GLib\glib\win32\oa\gobject-generated.vcproj", "{4CEE3392-89AC-4367-B219-42360CF91CBB}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Dependencies", "Dependencies", "{3CC18A8E-B460-47C2-8FB5-B0EE8A3608D0}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "GLib", "GLib", "{3F741360-ECE1-42FF-B8E9-96D4A5DD2A30}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libintl-proxy", "GLib\libintl-proxy\libintl-proxy.vcproj", "{CB7DC8B9-C2B8-4352-908E-9230BA9906EE}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "GLibCore", "GLibCore", "{3FFFE88B-948B-4B8F-B843-264763B1EF37}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{51462126-2E74-41C9-BC24-DF55876732B7}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "GModule", "GModule", "{B8DB17E1-CE45-4354-8B3E-767648F3A2BE}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "GThread", "GThread", "{B3B22C2A-52B9-448F-8E13-8BCCFD6C0020}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "GObject", "GObject", "{2D723AC0-293F-41C8-99A7-2DD8756556C7}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "GIO", "GIO", "{E16DEC4D-DAF0-4415-A601-9B034BBFB630}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libgio", "GLib\glib\win32\oa\libgio.vcproj", "{66757FD0-C29F-4744-9C52-CE79E7E4289F}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79} = {E28A4D3E-E995-499D-A920-D155E5EA4A79}
+ {4CEE3392-89AC-4367-B219-42360CF91CBB} = {4CEE3392-89AC-4367-B219-42360CF91CBB}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gio-generated", "GLib\glib\win32\oa\gio-generated.vcproj", "{E28A4D3E-E995-499D-A920-D155E5EA4A79}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{F0191CA8-AA6A-49D2-9E58-77A8334FB926}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glib-test-checksum", "GLib\glib\win32\oa\glib-test-checksum.vcproj", "{860FFAEE-5D5F-44DA-8ED0-0F6987229545}"
+ ProjectSection(ProjectDependencies) = postProject
+ {85DCFF40-BF5B-459A-BF20-377472BBF846} = {85DCFF40-BF5B-459A-BF20-377472BBF846}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glib-test-array", "GLib\glib\win32\oa\glib-test-array.vcproj", "{5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7}"
+ ProjectSection(ProjectDependencies) = postProject
+ {85DCFF40-BF5B-459A-BF20-377472BBF846} = {85DCFF40-BF5B-459A-BF20-377472BBF846}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glib-test-asyncqueue", "GLib\glib\win32\oa\glib-test-asyncqueue.vcproj", "{9566788F-9AEE-47EB-8FBE-4A1766E805D8}"
+ ProjectSection(ProjectDependencies) = postProject
+ {85DCFF40-BF5B-459A-BF20-377472BBF846} = {85DCFF40-BF5B-459A-BF20-377472BBF846}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpurple", "..\libpurple\win32\vs9\libpurple.vcproj", "{9F347485-0492-4473-B597-0444687EEE3F}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug (Win32)|Any CPU = Debug (Win32)|Any CPU
+ Debug (Win32)|Mixed Platforms = Debug (Win32)|Mixed Platforms
+ Debug (Win32)|Win32 = Debug (Win32)|Win32
+ Debug (Win32)|x64 = Debug (Win32)|x64
+ Debug (Win32)|x86 = Debug (Win32)|x86
+ Debug|Any CPU = Debug|Any CPU
+ Debug|Mixed Platforms = Debug|Mixed Platforms
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|Any CPU = Release|Any CPU
+ Release|Mixed Platforms = Release|Mixed Platforms
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ ReleaseWdkCrt|Any CPU = ReleaseWdkCrt|Any CPU
+ ReleaseWdkCrt|Mixed Platforms = ReleaseWdkCrt|Mixed Platforms
+ ReleaseWdkCrt|Win32 = ReleaseWdkCrt|Win32
+ ReleaseWdkCrt|x64 = ReleaseWdkCrt|x64
+ ReleaseWdkCrt|x86 = ReleaseWdkCrt|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.Debug (Win32)|Any CPU.ActiveCfg = Debug (Win32)|Any CPU
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.Debug (Win32)|Any CPU.Build.0 = Debug (Win32)|Any CPU
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.Debug (Win32)|Mixed Platforms.ActiveCfg = Debug (Win32)|x86
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.Debug (Win32)|Mixed Platforms.Build.0 = Debug (Win32)|x86
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.Debug (Win32)|Win32.ActiveCfg = Debug (Win32)|x86
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.Debug (Win32)|Win32.Build.0 = Debug (Win32)|x86
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.Debug (Win32)|x64.ActiveCfg = Debug (Win32)|x86
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.Debug (Win32)|x86.ActiveCfg = Debug (Win32)|x86
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.Debug (Win32)|x86.Build.0 = Debug (Win32)|x86
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.Debug|Mixed Platforms.Build.0 = Debug|x86
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.Debug|Win32.ActiveCfg = Debug|x86
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.Debug|Win32.Build.0 = Debug|x86
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.Debug|x64.ActiveCfg = Debug|x86
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.Debug|x86.ActiveCfg = Debug|x86
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.Debug|x86.Build.0 = Debug|x86
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.Release|Any CPU.Build.0 = Release|Any CPU
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.Release|Mixed Platforms.ActiveCfg = Release|x86
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.Release|Mixed Platforms.Build.0 = Release|x86
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.Release|Win32.ActiveCfg = Release|x86
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.Release|x64.ActiveCfg = Release|x86
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.Release|x86.ActiveCfg = Release|x86
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.Release|x86.Build.0 = Release|x86
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.ReleaseWdkCrt|Any CPU.ActiveCfg = Release|x86
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.ReleaseWdkCrt|Mixed Platforms.ActiveCfg = Release|x86
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.ReleaseWdkCrt|Win32.ActiveCfg = Release|x86
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.ReleaseWdkCrt|x64.ActiveCfg = Release|x86
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA}.ReleaseWdkCrt|x86.ActiveCfg = Release|x86
+ {16F97E97-B16F-49B2-A8E0-049E57963361}.Debug (Win32)|Any CPU.ActiveCfg = Debug (Win32)|Any CPU
+ {16F97E97-B16F-49B2-A8E0-049E57963361}.Debug (Win32)|Any CPU.Build.0 = Debug (Win32)|Any CPU
+ {16F97E97-B16F-49B2-A8E0-049E57963361}.Debug (Win32)|Mixed Platforms.ActiveCfg = Debug (Win32)|Any CPU
+ {16F97E97-B16F-49B2-A8E0-049E57963361}.Debug (Win32)|Mixed Platforms.Build.0 = Debug (Win32)|Any CPU
+ {16F97E97-B16F-49B2-A8E0-049E57963361}.Debug (Win32)|Win32.ActiveCfg = Debug (Win32)|Any CPU
+ {16F97E97-B16F-49B2-A8E0-049E57963361}.Debug (Win32)|Win32.Build.0 = Debug (Win32)|Any CPU
+ {16F97E97-B16F-49B2-A8E0-049E57963361}.Debug (Win32)|x64.ActiveCfg = Debug (Win32)|Any CPU
+ {16F97E97-B16F-49B2-A8E0-049E57963361}.Debug (Win32)|x86.ActiveCfg = Debug (Win32)|Any CPU
+ {16F97E97-B16F-49B2-A8E0-049E57963361}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {16F97E97-B16F-49B2-A8E0-049E57963361}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {16F97E97-B16F-49B2-A8E0-049E57963361}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {16F97E97-B16F-49B2-A8E0-049E57963361}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {16F97E97-B16F-49B2-A8E0-049E57963361}.Debug|Win32.ActiveCfg = Debug|Any CPU
+ {16F97E97-B16F-49B2-A8E0-049E57963361}.Debug|Win32.Build.0 = Debug|Any CPU
+ {16F97E97-B16F-49B2-A8E0-049E57963361}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {16F97E97-B16F-49B2-A8E0-049E57963361}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {16F97E97-B16F-49B2-A8E0-049E57963361}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {16F97E97-B16F-49B2-A8E0-049E57963361}.Release|Any CPU.Build.0 = Release|Any CPU
+ {16F97E97-B16F-49B2-A8E0-049E57963361}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {16F97E97-B16F-49B2-A8E0-049E57963361}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {16F97E97-B16F-49B2-A8E0-049E57963361}.Release|Win32.ActiveCfg = Release|Any CPU
+ {16F97E97-B16F-49B2-A8E0-049E57963361}.Release|x64.ActiveCfg = Release|Any CPU
+ {16F97E97-B16F-49B2-A8E0-049E57963361}.Release|x86.ActiveCfg = Release|Any CPU
+ {16F97E97-B16F-49B2-A8E0-049E57963361}.ReleaseWdkCrt|Any CPU.ActiveCfg = Release|Any CPU
+ {16F97E97-B16F-49B2-A8E0-049E57963361}.ReleaseWdkCrt|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {16F97E97-B16F-49B2-A8E0-049E57963361}.ReleaseWdkCrt|Win32.ActiveCfg = Release|Any CPU
+ {16F97E97-B16F-49B2-A8E0-049E57963361}.ReleaseWdkCrt|x64.ActiveCfg = Release|Any CPU
+ {16F97E97-B16F-49B2-A8E0-049E57963361}.ReleaseWdkCrt|x86.ActiveCfg = Release|Any CPU
+ {85DCFF40-BF5B-459A-BF20-377472BBF846}.Debug (Win32)|Any CPU.ActiveCfg = Debug (Win32)|x64
+ {85DCFF40-BF5B-459A-BF20-377472BBF846}.Debug (Win32)|Mixed Platforms.ActiveCfg = Debug (Win32)|x64
+ {85DCFF40-BF5B-459A-BF20-377472BBF846}.Debug (Win32)|Mixed Platforms.Build.0 = Debug (Win32)|x64
+ {85DCFF40-BF5B-459A-BF20-377472BBF846}.Debug (Win32)|Win32.ActiveCfg = Debug (Win32)|Win32
+ {85DCFF40-BF5B-459A-BF20-377472BBF846}.Debug (Win32)|Win32.Build.0 = Debug (Win32)|Win32
+ {85DCFF40-BF5B-459A-BF20-377472BBF846}.Debug (Win32)|x64.ActiveCfg = Debug (Win32)|x64
+ {85DCFF40-BF5B-459A-BF20-377472BBF846}.Debug (Win32)|x64.Build.0 = Debug (Win32)|x64
+ {85DCFF40-BF5B-459A-BF20-377472BBF846}.Debug (Win32)|x86.ActiveCfg = Debug (Win32)|x64
+ {85DCFF40-BF5B-459A-BF20-377472BBF846}.Debug|Any CPU.ActiveCfg = Debug|x64
+ {85DCFF40-BF5B-459A-BF20-377472BBF846}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+ {85DCFF40-BF5B-459A-BF20-377472BBF846}.Debug|Win32.ActiveCfg = Debug|Win32
+ {85DCFF40-BF5B-459A-BF20-377472BBF846}.Debug|Win32.Build.0 = Debug|Win32
+ {85DCFF40-BF5B-459A-BF20-377472BBF846}.Debug|x64.ActiveCfg = Debug|x64
+ {85DCFF40-BF5B-459A-BF20-377472BBF846}.Debug|x64.Build.0 = Debug|x64
+ {85DCFF40-BF5B-459A-BF20-377472BBF846}.Debug|x86.ActiveCfg = Debug|x64
+ {85DCFF40-BF5B-459A-BF20-377472BBF846}.Release|Any CPU.ActiveCfg = Release|x64
+ {85DCFF40-BF5B-459A-BF20-377472BBF846}.Release|Mixed Platforms.ActiveCfg = Release|x64
+ {85DCFF40-BF5B-459A-BF20-377472BBF846}.Release|Win32.ActiveCfg = Release|Win32
+ {85DCFF40-BF5B-459A-BF20-377472BBF846}.Release|Win32.Build.0 = Release|Win32
+ {85DCFF40-BF5B-459A-BF20-377472BBF846}.Release|x64.ActiveCfg = Release|x64
+ {85DCFF40-BF5B-459A-BF20-377472BBF846}.Release|x64.Build.0 = Release|x64
+ {85DCFF40-BF5B-459A-BF20-377472BBF846}.Release|x86.ActiveCfg = Release|x64
+ {85DCFF40-BF5B-459A-BF20-377472BBF846}.ReleaseWdkCrt|Any CPU.ActiveCfg = ReleaseWdkCrt|x64
+ {85DCFF40-BF5B-459A-BF20-377472BBF846}.ReleaseWdkCrt|Mixed Platforms.ActiveCfg = ReleaseWdkCrt|x64
+ {85DCFF40-BF5B-459A-BF20-377472BBF846}.ReleaseWdkCrt|Win32.ActiveCfg = ReleaseWdkCrt|Win32
+ {85DCFF40-BF5B-459A-BF20-377472BBF846}.ReleaseWdkCrt|Win32.Build.0 = ReleaseWdkCrt|Win32
+ {85DCFF40-BF5B-459A-BF20-377472BBF846}.ReleaseWdkCrt|x64.ActiveCfg = ReleaseWdkCrt|x64
+ {85DCFF40-BF5B-459A-BF20-377472BBF846}.ReleaseWdkCrt|x64.Build.0 = ReleaseWdkCrt|x64
+ {85DCFF40-BF5B-459A-BF20-377472BBF846}.ReleaseWdkCrt|x86.ActiveCfg = ReleaseWdkCrt|x64
+ {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug (Win32)|Any CPU.ActiveCfg = Debug (Win32)|x64
+ {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug (Win32)|Mixed Platforms.ActiveCfg = Debug (Win32)|x64
+ {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug (Win32)|Mixed Platforms.Build.0 = Debug (Win32)|x64
+ {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug (Win32)|Win32.ActiveCfg = Debug (Win32)|Win32
+ {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug (Win32)|Win32.Build.0 = Debug (Win32)|Win32
+ {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug (Win32)|x64.ActiveCfg = Debug (Win32)|x64
+ {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug (Win32)|x64.Build.0 = Debug (Win32)|x64
+ {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug (Win32)|x86.ActiveCfg = Debug (Win32)|x64
+ {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|Any CPU.ActiveCfg = Debug|x64
+ {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+ {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|Win32.ActiveCfg = Debug|Win32
+ {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|Win32.Build.0 = Debug|Win32
+ {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|x64.ActiveCfg = Debug|x64
+ {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|x64.Build.0 = Debug|x64
+ {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Debug|x86.ActiveCfg = Debug|x64
+ {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|Any CPU.ActiveCfg = Release|x64
+ {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|Mixed Platforms.ActiveCfg = Release|x64
+ {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|Win32.ActiveCfg = Release|Win32
+ {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|Win32.Build.0 = Release|Win32
+ {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|x64.ActiveCfg = Release|x64
+ {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|x64.Build.0 = Release|x64
+ {BD12E835-5C52-4E5D-8234-1C579F33E27A}.Release|x86.ActiveCfg = Release|x64
+ {BD12E835-5C52-4E5D-8234-1C579F33E27A}.ReleaseWdkCrt|Any CPU.ActiveCfg = ReleaseWdkCrt|x64
+ {BD12E835-5C52-4E5D-8234-1C579F33E27A}.ReleaseWdkCrt|Mixed Platforms.ActiveCfg = ReleaseWdkCrt|x64
+ {BD12E835-5C52-4E5D-8234-1C579F33E27A}.ReleaseWdkCrt|Win32.ActiveCfg = ReleaseWdkCrt|Win32
+ {BD12E835-5C52-4E5D-8234-1C579F33E27A}.ReleaseWdkCrt|Win32.Build.0 = ReleaseWdkCrt|Win32
+ {BD12E835-5C52-4E5D-8234-1C579F33E27A}.ReleaseWdkCrt|x64.ActiveCfg = ReleaseWdkCrt|x64
+ {BD12E835-5C52-4E5D-8234-1C579F33E27A}.ReleaseWdkCrt|x64.Build.0 = ReleaseWdkCrt|x64
+ {BD12E835-5C52-4E5D-8234-1C579F33E27A}.ReleaseWdkCrt|x86.ActiveCfg = ReleaseWdkCrt|x64
+ {12BCA020-EABF-429E-876A-A476BC9C10C0}.Debug (Win32)|Any CPU.ActiveCfg = Debug (Win32)|x64
+ {12BCA020-EABF-429E-876A-A476BC9C10C0}.Debug (Win32)|Mixed Platforms.ActiveCfg = Debug (Win32)|x64
+ {12BCA020-EABF-429E-876A-A476BC9C10C0}.Debug (Win32)|Mixed Platforms.Build.0 = Debug (Win32)|x64
+ {12BCA020-EABF-429E-876A-A476BC9C10C0}.Debug (Win32)|Win32.ActiveCfg = Debug (Win32)|Win32
+ {12BCA020-EABF-429E-876A-A476BC9C10C0}.Debug (Win32)|Win32.Build.0 = Debug (Win32)|Win32
+ {12BCA020-EABF-429E-876A-A476BC9C10C0}.Debug (Win32)|x64.ActiveCfg = Debug (Win32)|x64
+ {12BCA020-EABF-429E-876A-A476BC9C10C0}.Debug (Win32)|x64.Build.0 = Debug (Win32)|x64
+ {12BCA020-EABF-429E-876A-A476BC9C10C0}.Debug (Win32)|x86.ActiveCfg = Debug (Win32)|x64
+ {12BCA020-EABF-429E-876A-A476BC9C10C0}.Debug|Any CPU.ActiveCfg = Debug|x64
+ {12BCA020-EABF-429E-876A-A476BC9C10C0}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+ {12BCA020-EABF-429E-876A-A476BC9C10C0}.Debug|Win32.ActiveCfg = Debug|Win32
+ {12BCA020-EABF-429E-876A-A476BC9C10C0}.Debug|Win32.Build.0 = Debug|Win32
+ {12BCA020-EABF-429E-876A-A476BC9C10C0}.Debug|x64.ActiveCfg = Debug|x64
+ {12BCA020-EABF-429E-876A-A476BC9C10C0}.Debug|x64.Build.0 = Debug|x64
+ {12BCA020-EABF-429E-876A-A476BC9C10C0}.Debug|x86.ActiveCfg = Debug|x64
+ {12BCA020-EABF-429E-876A-A476BC9C10C0}.Release|Any CPU.ActiveCfg = Release|x64
+ {12BCA020-EABF-429E-876A-A476BC9C10C0}.Release|Mixed Platforms.ActiveCfg = Release|x64
+ {12BCA020-EABF-429E-876A-A476BC9C10C0}.Release|Win32.ActiveCfg = Release|Win32
+ {12BCA020-EABF-429E-876A-A476BC9C10C0}.Release|Win32.Build.0 = Release|Win32
+ {12BCA020-EABF-429E-876A-A476BC9C10C0}.Release|x64.ActiveCfg = Release|x64
+ {12BCA020-EABF-429E-876A-A476BC9C10C0}.Release|x64.Build.0 = Release|x64
+ {12BCA020-EABF-429E-876A-A476BC9C10C0}.Release|x86.ActiveCfg = Release|x64
+ {12BCA020-EABF-429E-876A-A476BC9C10C0}.ReleaseWdkCrt|Any CPU.ActiveCfg = ReleaseWdkCrt|x64
+ {12BCA020-EABF-429E-876A-A476BC9C10C0}.ReleaseWdkCrt|Mixed Platforms.ActiveCfg = ReleaseWdkCrt|x64
+ {12BCA020-EABF-429E-876A-A476BC9C10C0}.ReleaseWdkCrt|Win32.ActiveCfg = ReleaseWdkCrt|Win32
+ {12BCA020-EABF-429E-876A-A476BC9C10C0}.ReleaseWdkCrt|Win32.Build.0 = ReleaseWdkCrt|Win32
+ {12BCA020-EABF-429E-876A-A476BC9C10C0}.ReleaseWdkCrt|x64.ActiveCfg = ReleaseWdkCrt|x64
+ {12BCA020-EABF-429E-876A-A476BC9C10C0}.ReleaseWdkCrt|x64.Build.0 = ReleaseWdkCrt|x64
+ {12BCA020-EABF-429E-876A-A476BC9C10C0}.ReleaseWdkCrt|x86.ActiveCfg = ReleaseWdkCrt|x64
+ {4214047C-F5C1-40B3-8369-5DCED8C32770}.Debug (Win32)|Any CPU.ActiveCfg = Debug (Win32)|x64
+ {4214047C-F5C1-40B3-8369-5DCED8C32770}.Debug (Win32)|Mixed Platforms.ActiveCfg = Debug (Win32)|x64
+ {4214047C-F5C1-40B3-8369-5DCED8C32770}.Debug (Win32)|Mixed Platforms.Build.0 = Debug (Win32)|x64
+ {4214047C-F5C1-40B3-8369-5DCED8C32770}.Debug (Win32)|Win32.ActiveCfg = Debug (Win32)|Win32
+ {4214047C-F5C1-40B3-8369-5DCED8C32770}.Debug (Win32)|Win32.Build.0 = Debug (Win32)|Win32
+ {4214047C-F5C1-40B3-8369-5DCED8C32770}.Debug (Win32)|x64.ActiveCfg = Debug (Win32)|x64
+ {4214047C-F5C1-40B3-8369-5DCED8C32770}.Debug (Win32)|x64.Build.0 = Debug (Win32)|x64
+ {4214047C-F5C1-40B3-8369-5DCED8C32770}.Debug (Win32)|x86.ActiveCfg = Debug (Win32)|x64
+ {4214047C-F5C1-40B3-8369-5DCED8C32770}.Debug|Any CPU.ActiveCfg = Debug|x64
+ {4214047C-F5C1-40B3-8369-5DCED8C32770}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+ {4214047C-F5C1-40B3-8369-5DCED8C32770}.Debug|Win32.ActiveCfg = Debug|Win32
+ {4214047C-F5C1-40B3-8369-5DCED8C32770}.Debug|Win32.Build.0 = Debug|Win32
+ {4214047C-F5C1-40B3-8369-5DCED8C32770}.Debug|x64.ActiveCfg = Debug|x64
+ {4214047C-F5C1-40B3-8369-5DCED8C32770}.Debug|x64.Build.0 = Debug|x64
+ {4214047C-F5C1-40B3-8369-5DCED8C32770}.Debug|x86.ActiveCfg = Debug|x64
+ {4214047C-F5C1-40B3-8369-5DCED8C32770}.Release|Any CPU.ActiveCfg = Release|x64
+ {4214047C-F5C1-40B3-8369-5DCED8C32770}.Release|Mixed Platforms.ActiveCfg = Release|x64
+ {4214047C-F5C1-40B3-8369-5DCED8C32770}.Release|Win32.ActiveCfg = Release|Win32
+ {4214047C-F5C1-40B3-8369-5DCED8C32770}.Release|Win32.Build.0 = Release|Win32
+ {4214047C-F5C1-40B3-8369-5DCED8C32770}.Release|x64.ActiveCfg = Release|x64
+ {4214047C-F5C1-40B3-8369-5DCED8C32770}.Release|x64.Build.0 = Release|x64
+ {4214047C-F5C1-40B3-8369-5DCED8C32770}.Release|x86.ActiveCfg = Release|x64
+ {4214047C-F5C1-40B3-8369-5DCED8C32770}.ReleaseWdkCrt|Any CPU.ActiveCfg = ReleaseWdkCrt|x64
+ {4214047C-F5C1-40B3-8369-5DCED8C32770}.ReleaseWdkCrt|Mixed Platforms.ActiveCfg = ReleaseWdkCrt|x64
+ {4214047C-F5C1-40B3-8369-5DCED8C32770}.ReleaseWdkCrt|Win32.ActiveCfg = ReleaseWdkCrt|Win32
+ {4214047C-F5C1-40B3-8369-5DCED8C32770}.ReleaseWdkCrt|Win32.Build.0 = ReleaseWdkCrt|Win32
+ {4214047C-F5C1-40B3-8369-5DCED8C32770}.ReleaseWdkCrt|x64.ActiveCfg = ReleaseWdkCrt|x64
+ {4214047C-F5C1-40B3-8369-5DCED8C32770}.ReleaseWdkCrt|x64.Build.0 = ReleaseWdkCrt|x64
+ {4214047C-F5C1-40B3-8369-5DCED8C32770}.ReleaseWdkCrt|x86.ActiveCfg = ReleaseWdkCrt|x64
+ {F172EFFC-E30F-4593-809E-DB2024B1E753}.Debug (Win32)|Any CPU.ActiveCfg = Debug (Win32)|x64
+ {F172EFFC-E30F-4593-809E-DB2024B1E753}.Debug (Win32)|Mixed Platforms.ActiveCfg = Debug (Win32)|x64
+ {F172EFFC-E30F-4593-809E-DB2024B1E753}.Debug (Win32)|Mixed Platforms.Build.0 = Debug (Win32)|x64
+ {F172EFFC-E30F-4593-809E-DB2024B1E753}.Debug (Win32)|Win32.ActiveCfg = Debug (Win32)|Win32
+ {F172EFFC-E30F-4593-809E-DB2024B1E753}.Debug (Win32)|Win32.Build.0 = Debug (Win32)|Win32
+ {F172EFFC-E30F-4593-809E-DB2024B1E753}.Debug (Win32)|x64.ActiveCfg = Debug (Win32)|x64
+ {F172EFFC-E30F-4593-809E-DB2024B1E753}.Debug (Win32)|x64.Build.0 = Debug (Win32)|x64
+ {F172EFFC-E30F-4593-809E-DB2024B1E753}.Debug (Win32)|x86.ActiveCfg = Debug (Win32)|x64
+ {F172EFFC-E30F-4593-809E-DB2024B1E753}.Debug|Any CPU.ActiveCfg = Debug|x64
+ {F172EFFC-E30F-4593-809E-DB2024B1E753}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+ {F172EFFC-E30F-4593-809E-DB2024B1E753}.Debug|Win32.ActiveCfg = Debug|Win32
+ {F172EFFC-E30F-4593-809E-DB2024B1E753}.Debug|Win32.Build.0 = Debug|Win32
+ {F172EFFC-E30F-4593-809E-DB2024B1E753}.Debug|x64.ActiveCfg = Debug|x64
+ {F172EFFC-E30F-4593-809E-DB2024B1E753}.Debug|x64.Build.0 = Debug|x64
+ {F172EFFC-E30F-4593-809E-DB2024B1E753}.Debug|x86.ActiveCfg = Debug|x64
+ {F172EFFC-E30F-4593-809E-DB2024B1E753}.Release|Any CPU.ActiveCfg = Release|x64
+ {F172EFFC-E30F-4593-809E-DB2024B1E753}.Release|Mixed Platforms.ActiveCfg = Release|x64
+ {F172EFFC-E30F-4593-809E-DB2024B1E753}.Release|Win32.ActiveCfg = Release|Win32
+ {F172EFFC-E30F-4593-809E-DB2024B1E753}.Release|Win32.Build.0 = Release|Win32
+ {F172EFFC-E30F-4593-809E-DB2024B1E753}.Release|x64.ActiveCfg = Release|x64
+ {F172EFFC-E30F-4593-809E-DB2024B1E753}.Release|x64.Build.0 = Release|x64
+ {F172EFFC-E30F-4593-809E-DB2024B1E753}.Release|x86.ActiveCfg = Release|x64
+ {F172EFFC-E30F-4593-809E-DB2024B1E753}.ReleaseWdkCrt|Any CPU.ActiveCfg = ReleaseWdkCrt|x64
+ {F172EFFC-E30F-4593-809E-DB2024B1E753}.ReleaseWdkCrt|Mixed Platforms.ActiveCfg = ReleaseWdkCrt|x64
+ {F172EFFC-E30F-4593-809E-DB2024B1E753}.ReleaseWdkCrt|Win32.ActiveCfg = ReleaseWdkCrt|Win32
+ {F172EFFC-E30F-4593-809E-DB2024B1E753}.ReleaseWdkCrt|Win32.Build.0 = ReleaseWdkCrt|Win32
+ {F172EFFC-E30F-4593-809E-DB2024B1E753}.ReleaseWdkCrt|x64.ActiveCfg = ReleaseWdkCrt|x64
+ {F172EFFC-E30F-4593-809E-DB2024B1E753}.ReleaseWdkCrt|x64.Build.0 = ReleaseWdkCrt|x64
+ {F172EFFC-E30F-4593-809E-DB2024B1E753}.ReleaseWdkCrt|x86.ActiveCfg = ReleaseWdkCrt|x64
+ {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Debug (Win32)|Any CPU.ActiveCfg = Debug (Win32)|x64
+ {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Debug (Win32)|Mixed Platforms.ActiveCfg = Debug (Win32)|x64
+ {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Debug (Win32)|Mixed Platforms.Build.0 = Debug (Win32)|x64
+ {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Debug (Win32)|Win32.ActiveCfg = Debug (Win32)|Win32
+ {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Debug (Win32)|Win32.Build.0 = Debug (Win32)|Win32
+ {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Debug (Win32)|x64.ActiveCfg = Debug (Win32)|x64
+ {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Debug (Win32)|x64.Build.0 = Debug (Win32)|x64
+ {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Debug (Win32)|x86.ActiveCfg = Debug (Win32)|x64
+ {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Debug|Any CPU.ActiveCfg = Debug|x64
+ {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+ {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Debug|Win32.Build.0 = Debug|Win32
+ {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Debug|x64.ActiveCfg = Debug|x64
+ {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Debug|x64.Build.0 = Debug|x64
+ {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Debug|x86.ActiveCfg = Debug|x64
+ {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Release|Any CPU.ActiveCfg = Release|x64
+ {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Release|Mixed Platforms.ActiveCfg = Release|x64
+ {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Release|Win32.ActiveCfg = Release|Win32
+ {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Release|Win32.Build.0 = Release|Win32
+ {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Release|x64.ActiveCfg = Release|x64
+ {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Release|x64.Build.0 = Release|x64
+ {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.Release|x86.ActiveCfg = Release|x64
+ {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.ReleaseWdkCrt|Any CPU.ActiveCfg = ReleaseWdkCrt|x64
+ {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.ReleaseWdkCrt|Mixed Platforms.ActiveCfg = ReleaseWdkCrt|x64
+ {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.ReleaseWdkCrt|Win32.ActiveCfg = ReleaseWdkCrt|Win32
+ {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.ReleaseWdkCrt|Win32.Build.0 = ReleaseWdkCrt|Win32
+ {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.ReleaseWdkCrt|x64.ActiveCfg = ReleaseWdkCrt|x64
+ {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.ReleaseWdkCrt|x64.Build.0 = ReleaseWdkCrt|x64
+ {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C}.ReleaseWdkCrt|x86.ActiveCfg = ReleaseWdkCrt|x64
+ {AE3F6497-7880-4C08-B6E2-3AF05BCFB671}.Debug (Win32)|Any CPU.ActiveCfg = Debug (Win32)|x64
+ {AE3F6497-7880-4C08-B6E2-3AF05BCFB671}.Debug (Win32)|Mixed Platforms.ActiveCfg = Debug (Win32)|x64
+ {AE3F6497-7880-4C08-B6E2-3AF05BCFB671}.Debug (Win32)|Mixed Platforms.Build.0 = Debug (Win32)|x64
+ {AE3F6497-7880-4C08-B6E2-3AF05BCFB671}.Debug (Win32)|Win32.ActiveCfg = Debug (Win32)|Win32
+ {AE3F6497-7880-4C08-B6E2-3AF05BCFB671}.Debug (Win32)|Win32.Build.0 = Debug (Win32)|Win32
+ {AE3F6497-7880-4C08-B6E2-3AF05BCFB671}.Debug (Win32)|x64.ActiveCfg = Debug (Win32)|x64
+ {AE3F6497-7880-4C08-B6E2-3AF05BCFB671}.Debug (Win32)|x64.Build.0 = Debug (Win32)|x64
+ {AE3F6497-7880-4C08-B6E2-3AF05BCFB671}.Debug (Win32)|x86.ActiveCfg = Debug (Win32)|x64
+ {AE3F6497-7880-4C08-B6E2-3AF05BCFB671}.Debug|Any CPU.ActiveCfg = Debug|x64
+ {AE3F6497-7880-4C08-B6E2-3AF05BCFB671}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+ {AE3F6497-7880-4C08-B6E2-3AF05BCFB671}.Debug|Win32.ActiveCfg = Debug|Win32
+ {AE3F6497-7880-4C08-B6E2-3AF05BCFB671}.Debug|Win32.Build.0 = Debug|Win32
+ {AE3F6497-7880-4C08-B6E2-3AF05BCFB671}.Debug|x64.ActiveCfg = Debug|x64
+ {AE3F6497-7880-4C08-B6E2-3AF05BCFB671}.Debug|x64.Build.0 = Debug|x64
+ {AE3F6497-7880-4C08-B6E2-3AF05BCFB671}.Debug|x86.ActiveCfg = Debug|x64
+ {AE3F6497-7880-4C08-B6E2-3AF05BCFB671}.Release|Any CPU.ActiveCfg = Release|x64
+ {AE3F6497-7880-4C08-B6E2-3AF05BCFB671}.Release|Mixed Platforms.ActiveCfg = Release|x64
+ {AE3F6497-7880-4C08-B6E2-3AF05BCFB671}.Release|Win32.ActiveCfg = Release|Win32
+ {AE3F6497-7880-4C08-B6E2-3AF05BCFB671}.Release|Win32.Build.0 = Release|Win32
+ {AE3F6497-7880-4C08-B6E2-3AF05BCFB671}.Release|x64.ActiveCfg = Release|x64
+ {AE3F6497-7880-4C08-B6E2-3AF05BCFB671}.Release|x64.Build.0 = Release|x64
+ {AE3F6497-7880-4C08-B6E2-3AF05BCFB671}.Release|x86.ActiveCfg = Release|x64
+ {AE3F6497-7880-4C08-B6E2-3AF05BCFB671}.ReleaseWdkCrt|Any CPU.ActiveCfg = ReleaseWdkCrt|x64
+ {AE3F6497-7880-4C08-B6E2-3AF05BCFB671}.ReleaseWdkCrt|Mixed Platforms.ActiveCfg = ReleaseWdkCrt|x64
+ {AE3F6497-7880-4C08-B6E2-3AF05BCFB671}.ReleaseWdkCrt|Win32.ActiveCfg = ReleaseWdkCrt|Win32
+ {AE3F6497-7880-4C08-B6E2-3AF05BCFB671}.ReleaseWdkCrt|Win32.Build.0 = ReleaseWdkCrt|Win32
+ {AE3F6497-7880-4C08-B6E2-3AF05BCFB671}.ReleaseWdkCrt|x64.ActiveCfg = ReleaseWdkCrt|x64
+ {AE3F6497-7880-4C08-B6E2-3AF05BCFB671}.ReleaseWdkCrt|x64.Build.0 = ReleaseWdkCrt|x64
+ {AE3F6497-7880-4C08-B6E2-3AF05BCFB671}.ReleaseWdkCrt|x86.ActiveCfg = ReleaseWdkCrt|x64
+ {4CEE3392-89AC-4367-B219-42360CF91CBB}.Debug (Win32)|Any CPU.ActiveCfg = Debug (Win32)|x64
+ {4CEE3392-89AC-4367-B219-42360CF91CBB}.Debug (Win32)|Mixed Platforms.ActiveCfg = Debug (Win32)|x64
+ {4CEE3392-89AC-4367-B219-42360CF91CBB}.Debug (Win32)|Mixed Platforms.Build.0 = Debug (Win32)|x64
+ {4CEE3392-89AC-4367-B219-42360CF91CBB}.Debug (Win32)|Win32.ActiveCfg = Debug (Win32)|Win32
+ {4CEE3392-89AC-4367-B219-42360CF91CBB}.Debug (Win32)|Win32.Build.0 = Debug (Win32)|Win32
+ {4CEE3392-89AC-4367-B219-42360CF91CBB}.Debug (Win32)|x64.ActiveCfg = Debug (Win32)|x64
+ {4CEE3392-89AC-4367-B219-42360CF91CBB}.Debug (Win32)|x64.Build.0 = Debug (Win32)|x64
+ {4CEE3392-89AC-4367-B219-42360CF91CBB}.Debug (Win32)|x86.ActiveCfg = Debug (Win32)|x64
+ {4CEE3392-89AC-4367-B219-42360CF91CBB}.Debug|Any CPU.ActiveCfg = Debug|x64
+ {4CEE3392-89AC-4367-B219-42360CF91CBB}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+ {4CEE3392-89AC-4367-B219-42360CF91CBB}.Debug|Win32.ActiveCfg = Debug|Win32
+ {4CEE3392-89AC-4367-B219-42360CF91CBB}.Debug|Win32.Build.0 = Debug|Win32
+ {4CEE3392-89AC-4367-B219-42360CF91CBB}.Debug|x64.ActiveCfg = Debug|x64
+ {4CEE3392-89AC-4367-B219-42360CF91CBB}.Debug|x64.Build.0 = Debug|x64
+ {4CEE3392-89AC-4367-B219-42360CF91CBB}.Debug|x86.ActiveCfg = Debug|x64
+ {4CEE3392-89AC-4367-B219-42360CF91CBB}.Release|Any CPU.ActiveCfg = Release|x64
+ {4CEE3392-89AC-4367-B219-42360CF91CBB}.Release|Mixed Platforms.ActiveCfg = Release|x64
+ {4CEE3392-89AC-4367-B219-42360CF91CBB}.Release|Win32.ActiveCfg = Release|Win32
+ {4CEE3392-89AC-4367-B219-42360CF91CBB}.Release|Win32.Build.0 = Release|Win32
+ {4CEE3392-89AC-4367-B219-42360CF91CBB}.Release|x64.ActiveCfg = Release|x64
+ {4CEE3392-89AC-4367-B219-42360CF91CBB}.Release|x64.Build.0 = Release|x64
+ {4CEE3392-89AC-4367-B219-42360CF91CBB}.Release|x86.ActiveCfg = Release|x64
+ {4CEE3392-89AC-4367-B219-42360CF91CBB}.ReleaseWdkCrt|Any CPU.ActiveCfg = ReleaseWdkCrt|x64
+ {4CEE3392-89AC-4367-B219-42360CF91CBB}.ReleaseWdkCrt|Mixed Platforms.ActiveCfg = ReleaseWdkCrt|x64
+ {4CEE3392-89AC-4367-B219-42360CF91CBB}.ReleaseWdkCrt|Win32.ActiveCfg = ReleaseWdkCrt|Win32
+ {4CEE3392-89AC-4367-B219-42360CF91CBB}.ReleaseWdkCrt|Win32.Build.0 = ReleaseWdkCrt|Win32
+ {4CEE3392-89AC-4367-B219-42360CF91CBB}.ReleaseWdkCrt|x64.ActiveCfg = ReleaseWdkCrt|x64
+ {4CEE3392-89AC-4367-B219-42360CF91CBB}.ReleaseWdkCrt|x64.Build.0 = ReleaseWdkCrt|x64
+ {4CEE3392-89AC-4367-B219-42360CF91CBB}.ReleaseWdkCrt|x86.ActiveCfg = ReleaseWdkCrt|x64
+ {CB7DC8B9-C2B8-4352-908E-9230BA9906EE}.Debug (Win32)|Any CPU.ActiveCfg = Debug (Win32)|x64
+ {CB7DC8B9-C2B8-4352-908E-9230BA9906EE}.Debug (Win32)|Mixed Platforms.ActiveCfg = Debug (Win32)|x64
+ {CB7DC8B9-C2B8-4352-908E-9230BA9906EE}.Debug (Win32)|Mixed Platforms.Build.0 = Debug (Win32)|x64
+ {CB7DC8B9-C2B8-4352-908E-9230BA9906EE}.Debug (Win32)|Win32.ActiveCfg = Debug (Win32)|Win32
+ {CB7DC8B9-C2B8-4352-908E-9230BA9906EE}.Debug (Win32)|Win32.Build.0 = Debug (Win32)|Win32
+ {CB7DC8B9-C2B8-4352-908E-9230BA9906EE}.Debug (Win32)|x64.ActiveCfg = Debug (Win32)|x64
+ {CB7DC8B9-C2B8-4352-908E-9230BA9906EE}.Debug (Win32)|x64.Build.0 = Debug (Win32)|x64
+ {CB7DC8B9-C2B8-4352-908E-9230BA9906EE}.Debug (Win32)|x86.ActiveCfg = Debug (Win32)|x64
+ {CB7DC8B9-C2B8-4352-908E-9230BA9906EE}.Debug|Any CPU.ActiveCfg = Debug|x64
+ {CB7DC8B9-C2B8-4352-908E-9230BA9906EE}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+ {CB7DC8B9-C2B8-4352-908E-9230BA9906EE}.Debug|Win32.ActiveCfg = Debug|Win32
+ {CB7DC8B9-C2B8-4352-908E-9230BA9906EE}.Debug|Win32.Build.0 = Debug|Win32
+ {CB7DC8B9-C2B8-4352-908E-9230BA9906EE}.Debug|x64.ActiveCfg = Debug|x64
+ {CB7DC8B9-C2B8-4352-908E-9230BA9906EE}.Debug|x64.Build.0 = Debug|x64
+ {CB7DC8B9-C2B8-4352-908E-9230BA9906EE}.Debug|x86.ActiveCfg = Debug|x64
+ {CB7DC8B9-C2B8-4352-908E-9230BA9906EE}.Release|Any CPU.ActiveCfg = Release|x64
+ {CB7DC8B9-C2B8-4352-908E-9230BA9906EE}.Release|Mixed Platforms.ActiveCfg = Release|x64
+ {CB7DC8B9-C2B8-4352-908E-9230BA9906EE}.Release|Win32.ActiveCfg = Release|Win32
+ {CB7DC8B9-C2B8-4352-908E-9230BA9906EE}.Release|Win32.Build.0 = Release|Win32
+ {CB7DC8B9-C2B8-4352-908E-9230BA9906EE}.Release|x64.ActiveCfg = Release|x64
+ {CB7DC8B9-C2B8-4352-908E-9230BA9906EE}.Release|x64.Build.0 = Release|x64
+ {CB7DC8B9-C2B8-4352-908E-9230BA9906EE}.Release|x86.ActiveCfg = Release|x64
+ {CB7DC8B9-C2B8-4352-908E-9230BA9906EE}.ReleaseWdkCrt|Any CPU.ActiveCfg = ReleaseWdkCrt|x64
+ {CB7DC8B9-C2B8-4352-908E-9230BA9906EE}.ReleaseWdkCrt|Mixed Platforms.ActiveCfg = ReleaseWdkCrt|x64
+ {CB7DC8B9-C2B8-4352-908E-9230BA9906EE}.ReleaseWdkCrt|Win32.ActiveCfg = ReleaseWdkCrt|Win32
+ {CB7DC8B9-C2B8-4352-908E-9230BA9906EE}.ReleaseWdkCrt|Win32.Build.0 = ReleaseWdkCrt|Win32
+ {CB7DC8B9-C2B8-4352-908E-9230BA9906EE}.ReleaseWdkCrt|x64.ActiveCfg = ReleaseWdkCrt|x64
+ {CB7DC8B9-C2B8-4352-908E-9230BA9906EE}.ReleaseWdkCrt|x64.Build.0 = ReleaseWdkCrt|x64
+ {CB7DC8B9-C2B8-4352-908E-9230BA9906EE}.ReleaseWdkCrt|x86.ActiveCfg = ReleaseWdkCrt|x64
+ {66757FD0-C29F-4744-9C52-CE79E7E4289F}.Debug (Win32)|Any CPU.ActiveCfg = Debug (Win32)|x64
+ {66757FD0-C29F-4744-9C52-CE79E7E4289F}.Debug (Win32)|Mixed Platforms.ActiveCfg = Debug (Win32)|x64
+ {66757FD0-C29F-4744-9C52-CE79E7E4289F}.Debug (Win32)|Mixed Platforms.Build.0 = Debug (Win32)|x64
+ {66757FD0-C29F-4744-9C52-CE79E7E4289F}.Debug (Win32)|Win32.ActiveCfg = Debug (Win32)|Win32
+ {66757FD0-C29F-4744-9C52-CE79E7E4289F}.Debug (Win32)|Win32.Build.0 = Debug (Win32)|Win32
+ {66757FD0-C29F-4744-9C52-CE79E7E4289F}.Debug (Win32)|x64.ActiveCfg = Debug (Win32)|x64
+ {66757FD0-C29F-4744-9C52-CE79E7E4289F}.Debug (Win32)|x64.Build.0 = Debug (Win32)|x64
+ {66757FD0-C29F-4744-9C52-CE79E7E4289F}.Debug (Win32)|x86.ActiveCfg = Debug (Win32)|x64
+ {66757FD0-C29F-4744-9C52-CE79E7E4289F}.Debug|Any CPU.ActiveCfg = Debug|x64
+ {66757FD0-C29F-4744-9C52-CE79E7E4289F}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+ {66757FD0-C29F-4744-9C52-CE79E7E4289F}.Debug|Win32.ActiveCfg = Debug|Win32
+ {66757FD0-C29F-4744-9C52-CE79E7E4289F}.Debug|Win32.Build.0 = Debug|Win32
+ {66757FD0-C29F-4744-9C52-CE79E7E4289F}.Debug|x64.ActiveCfg = Debug|x64
+ {66757FD0-C29F-4744-9C52-CE79E7E4289F}.Debug|x64.Build.0 = Debug|x64
+ {66757FD0-C29F-4744-9C52-CE79E7E4289F}.Debug|x86.ActiveCfg = Debug|x64
+ {66757FD0-C29F-4744-9C52-CE79E7E4289F}.Release|Any CPU.ActiveCfg = Release|x64
+ {66757FD0-C29F-4744-9C52-CE79E7E4289F}.Release|Mixed Platforms.ActiveCfg = Release|x64
+ {66757FD0-C29F-4744-9C52-CE79E7E4289F}.Release|Win32.ActiveCfg = Release|Win32
+ {66757FD0-C29F-4744-9C52-CE79E7E4289F}.Release|Win32.Build.0 = Release|Win32
+ {66757FD0-C29F-4744-9C52-CE79E7E4289F}.Release|x64.ActiveCfg = Release|x64
+ {66757FD0-C29F-4744-9C52-CE79E7E4289F}.Release|x64.Build.0 = Release|x64
+ {66757FD0-C29F-4744-9C52-CE79E7E4289F}.Release|x86.ActiveCfg = Release|x64
+ {66757FD0-C29F-4744-9C52-CE79E7E4289F}.ReleaseWdkCrt|Any CPU.ActiveCfg = ReleaseWdkCrt|x64
+ {66757FD0-C29F-4744-9C52-CE79E7E4289F}.ReleaseWdkCrt|Mixed Platforms.ActiveCfg = ReleaseWdkCrt|x64
+ {66757FD0-C29F-4744-9C52-CE79E7E4289F}.ReleaseWdkCrt|Win32.ActiveCfg = ReleaseWdkCrt|Win32
+ {66757FD0-C29F-4744-9C52-CE79E7E4289F}.ReleaseWdkCrt|Win32.Build.0 = ReleaseWdkCrt|Win32
+ {66757FD0-C29F-4744-9C52-CE79E7E4289F}.ReleaseWdkCrt|x64.ActiveCfg = ReleaseWdkCrt|x64
+ {66757FD0-C29F-4744-9C52-CE79E7E4289F}.ReleaseWdkCrt|x64.Build.0 = ReleaseWdkCrt|x64
+ {66757FD0-C29F-4744-9C52-CE79E7E4289F}.ReleaseWdkCrt|x86.ActiveCfg = ReleaseWdkCrt|x64
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79}.Debug (Win32)|Any CPU.ActiveCfg = Debug (Win32)|x64
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79}.Debug (Win32)|Mixed Platforms.ActiveCfg = Debug (Win32)|x64
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79}.Debug (Win32)|Mixed Platforms.Build.0 = Debug (Win32)|x64
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79}.Debug (Win32)|Win32.ActiveCfg = Debug (Win32)|Win32
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79}.Debug (Win32)|Win32.Build.0 = Debug (Win32)|Win32
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79}.Debug (Win32)|x64.ActiveCfg = Debug (Win32)|x64
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79}.Debug (Win32)|x64.Build.0 = Debug (Win32)|x64
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79}.Debug (Win32)|x86.ActiveCfg = Debug (Win32)|x64
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79}.Debug|Any CPU.ActiveCfg = Debug|x64
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79}.Debug|Win32.ActiveCfg = Debug|Win32
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79}.Debug|Win32.Build.0 = Debug|Win32
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79}.Debug|x64.ActiveCfg = Debug|x64
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79}.Debug|x64.Build.0 = Debug|x64
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79}.Debug|x86.ActiveCfg = Debug|x64
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79}.Release|Any CPU.ActiveCfg = Release|x64
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79}.Release|Mixed Platforms.ActiveCfg = Release|x64
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79}.Release|Win32.ActiveCfg = Release|Win32
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79}.Release|Win32.Build.0 = Release|Win32
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79}.Release|x64.ActiveCfg = Release|x64
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79}.Release|x64.Build.0 = Release|x64
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79}.Release|x86.ActiveCfg = Release|x64
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79}.ReleaseWdkCrt|Any CPU.ActiveCfg = ReleaseWdkCrt|x64
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79}.ReleaseWdkCrt|Mixed Platforms.ActiveCfg = ReleaseWdkCrt|x64
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79}.ReleaseWdkCrt|Win32.ActiveCfg = ReleaseWdkCrt|Win32
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79}.ReleaseWdkCrt|Win32.Build.0 = ReleaseWdkCrt|Win32
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79}.ReleaseWdkCrt|x64.ActiveCfg = ReleaseWdkCrt|x64
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79}.ReleaseWdkCrt|x64.Build.0 = ReleaseWdkCrt|x64
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79}.ReleaseWdkCrt|x86.ActiveCfg = ReleaseWdkCrt|x64
+ {860FFAEE-5D5F-44DA-8ED0-0F6987229545}.Debug (Win32)|Any CPU.ActiveCfg = Debug (Win32)|x64
+ {860FFAEE-5D5F-44DA-8ED0-0F6987229545}.Debug (Win32)|Mixed Platforms.ActiveCfg = Debug (Win32)|x64
+ {860FFAEE-5D5F-44DA-8ED0-0F6987229545}.Debug (Win32)|Mixed Platforms.Build.0 = Debug (Win32)|x64
+ {860FFAEE-5D5F-44DA-8ED0-0F6987229545}.Debug (Win32)|Win32.ActiveCfg = Debug (Win32)|Win32
+ {860FFAEE-5D5F-44DA-8ED0-0F6987229545}.Debug (Win32)|Win32.Build.0 = Debug (Win32)|Win32
+ {860FFAEE-5D5F-44DA-8ED0-0F6987229545}.Debug (Win32)|x64.ActiveCfg = Debug (Win32)|x64
+ {860FFAEE-5D5F-44DA-8ED0-0F6987229545}.Debug (Win32)|x64.Build.0 = Debug (Win32)|x64
+ {860FFAEE-5D5F-44DA-8ED0-0F6987229545}.Debug (Win32)|x86.ActiveCfg = Debug (Win32)|x64
+ {860FFAEE-5D5F-44DA-8ED0-0F6987229545}.Debug|Any CPU.ActiveCfg = Debug|x64
+ {860FFAEE-5D5F-44DA-8ED0-0F6987229545}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+ {860FFAEE-5D5F-44DA-8ED0-0F6987229545}.Debug|Win32.ActiveCfg = Debug|Win32
+ {860FFAEE-5D5F-44DA-8ED0-0F6987229545}.Debug|Win32.Build.0 = Debug|Win32
+ {860FFAEE-5D5F-44DA-8ED0-0F6987229545}.Debug|x64.ActiveCfg = Debug|x64
+ {860FFAEE-5D5F-44DA-8ED0-0F6987229545}.Debug|x64.Build.0 = Debug|x64
+ {860FFAEE-5D5F-44DA-8ED0-0F6987229545}.Debug|x86.ActiveCfg = Debug|x64
+ {860FFAEE-5D5F-44DA-8ED0-0F6987229545}.Release|Any CPU.ActiveCfg = Release|x64
+ {860FFAEE-5D5F-44DA-8ED0-0F6987229545}.Release|Mixed Platforms.ActiveCfg = Release|x64
+ {860FFAEE-5D5F-44DA-8ED0-0F6987229545}.Release|Win32.ActiveCfg = Release|Win32
+ {860FFAEE-5D5F-44DA-8ED0-0F6987229545}.Release|Win32.Build.0 = Release|Win32
+ {860FFAEE-5D5F-44DA-8ED0-0F6987229545}.Release|x64.ActiveCfg = Release|x64
+ {860FFAEE-5D5F-44DA-8ED0-0F6987229545}.Release|x64.Build.0 = Release|x64
+ {860FFAEE-5D5F-44DA-8ED0-0F6987229545}.Release|x86.ActiveCfg = Release|x64
+ {860FFAEE-5D5F-44DA-8ED0-0F6987229545}.ReleaseWdkCrt|Any CPU.ActiveCfg = ReleaseWdkCrt|x64
+ {860FFAEE-5D5F-44DA-8ED0-0F6987229545}.ReleaseWdkCrt|Mixed Platforms.ActiveCfg = ReleaseWdkCrt|x64
+ {860FFAEE-5D5F-44DA-8ED0-0F6987229545}.ReleaseWdkCrt|Win32.ActiveCfg = ReleaseWdkCrt|Win32
+ {860FFAEE-5D5F-44DA-8ED0-0F6987229545}.ReleaseWdkCrt|Win32.Build.0 = ReleaseWdkCrt|Win32
+ {860FFAEE-5D5F-44DA-8ED0-0F6987229545}.ReleaseWdkCrt|x64.ActiveCfg = ReleaseWdkCrt|x64
+ {860FFAEE-5D5F-44DA-8ED0-0F6987229545}.ReleaseWdkCrt|x64.Build.0 = ReleaseWdkCrt|x64
+ {860FFAEE-5D5F-44DA-8ED0-0F6987229545}.ReleaseWdkCrt|x86.ActiveCfg = ReleaseWdkCrt|x64
+ {5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7}.Debug (Win32)|Any CPU.ActiveCfg = Debug (Win32)|x64
+ {5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7}.Debug (Win32)|Mixed Platforms.ActiveCfg = Debug (Win32)|x64
+ {5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7}.Debug (Win32)|Mixed Platforms.Build.0 = Debug (Win32)|x64
+ {5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7}.Debug (Win32)|Win32.ActiveCfg = Debug (Win32)|Win32
+ {5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7}.Debug (Win32)|Win32.Build.0 = Debug (Win32)|Win32
+ {5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7}.Debug (Win32)|x64.ActiveCfg = Debug (Win32)|x64
+ {5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7}.Debug (Win32)|x64.Build.0 = Debug (Win32)|x64
+ {5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7}.Debug (Win32)|x86.ActiveCfg = Debug (Win32)|x64
+ {5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7}.Debug|Any CPU.ActiveCfg = Debug|x64
+ {5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+ {5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7}.Debug|Win32.ActiveCfg = Debug|Win32
+ {5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7}.Debug|Win32.Build.0 = Debug|Win32
+ {5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7}.Debug|x64.ActiveCfg = Debug|x64
+ {5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7}.Debug|x64.Build.0 = Debug|x64
+ {5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7}.Debug|x86.ActiveCfg = Debug|x64
+ {5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7}.Release|Any CPU.ActiveCfg = Release|x64
+ {5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7}.Release|Mixed Platforms.ActiveCfg = Release|x64
+ {5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7}.Release|Win32.ActiveCfg = Release|Win32
+ {5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7}.Release|Win32.Build.0 = Release|Win32
+ {5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7}.Release|x64.ActiveCfg = Release|x64
+ {5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7}.Release|x64.Build.0 = Release|x64
+ {5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7}.Release|x86.ActiveCfg = Release|x64
+ {5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7}.ReleaseWdkCrt|Any CPU.ActiveCfg = ReleaseWdkCrt|x64
+ {5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7}.ReleaseWdkCrt|Mixed Platforms.ActiveCfg = ReleaseWdkCrt|x64
+ {5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7}.ReleaseWdkCrt|Win32.ActiveCfg = ReleaseWdkCrt|Win32
+ {5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7}.ReleaseWdkCrt|Win32.Build.0 = ReleaseWdkCrt|Win32
+ {5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7}.ReleaseWdkCrt|x64.ActiveCfg = ReleaseWdkCrt|x64
+ {5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7}.ReleaseWdkCrt|x64.Build.0 = ReleaseWdkCrt|x64
+ {5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7}.ReleaseWdkCrt|x86.ActiveCfg = ReleaseWdkCrt|x64
+ {9566788F-9AEE-47EB-8FBE-4A1766E805D8}.Debug (Win32)|Any CPU.ActiveCfg = Debug (Win32)|x64
+ {9566788F-9AEE-47EB-8FBE-4A1766E805D8}.Debug (Win32)|Mixed Platforms.ActiveCfg = Debug (Win32)|x64
+ {9566788F-9AEE-47EB-8FBE-4A1766E805D8}.Debug (Win32)|Mixed Platforms.Build.0 = Debug (Win32)|x64
+ {9566788F-9AEE-47EB-8FBE-4A1766E805D8}.Debug (Win32)|Win32.ActiveCfg = Debug (Win32)|Win32
+ {9566788F-9AEE-47EB-8FBE-4A1766E805D8}.Debug (Win32)|Win32.Build.0 = Debug (Win32)|Win32
+ {9566788F-9AEE-47EB-8FBE-4A1766E805D8}.Debug (Win32)|x64.ActiveCfg = Debug (Win32)|x64
+ {9566788F-9AEE-47EB-8FBE-4A1766E805D8}.Debug (Win32)|x64.Build.0 = Debug (Win32)|x64
+ {9566788F-9AEE-47EB-8FBE-4A1766E805D8}.Debug (Win32)|x86.ActiveCfg = Debug (Win32)|x64
+ {9566788F-9AEE-47EB-8FBE-4A1766E805D8}.Debug|Any CPU.ActiveCfg = Debug|x64
+ {9566788F-9AEE-47EB-8FBE-4A1766E805D8}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+ {9566788F-9AEE-47EB-8FBE-4A1766E805D8}.Debug|Win32.ActiveCfg = Debug|Win32
+ {9566788F-9AEE-47EB-8FBE-4A1766E805D8}.Debug|Win32.Build.0 = Debug|Win32
+ {9566788F-9AEE-47EB-8FBE-4A1766E805D8}.Debug|x64.ActiveCfg = Debug|x64
+ {9566788F-9AEE-47EB-8FBE-4A1766E805D8}.Debug|x64.Build.0 = Debug|x64
+ {9566788F-9AEE-47EB-8FBE-4A1766E805D8}.Debug|x86.ActiveCfg = Debug|x64
+ {9566788F-9AEE-47EB-8FBE-4A1766E805D8}.Release|Any CPU.ActiveCfg = Release|x64
+ {9566788F-9AEE-47EB-8FBE-4A1766E805D8}.Release|Mixed Platforms.ActiveCfg = Release|x64
+ {9566788F-9AEE-47EB-8FBE-4A1766E805D8}.Release|Win32.ActiveCfg = Release|Win32
+ {9566788F-9AEE-47EB-8FBE-4A1766E805D8}.Release|Win32.Build.0 = Release|Win32
+ {9566788F-9AEE-47EB-8FBE-4A1766E805D8}.Release|x64.ActiveCfg = Release|x64
+ {9566788F-9AEE-47EB-8FBE-4A1766E805D8}.Release|x64.Build.0 = Release|x64
+ {9566788F-9AEE-47EB-8FBE-4A1766E805D8}.Release|x86.ActiveCfg = Release|x64
+ {9566788F-9AEE-47EB-8FBE-4A1766E805D8}.ReleaseWdkCrt|Any CPU.ActiveCfg = ReleaseWdkCrt|x64
+ {9566788F-9AEE-47EB-8FBE-4A1766E805D8}.ReleaseWdkCrt|Mixed Platforms.ActiveCfg = ReleaseWdkCrt|x64
+ {9566788F-9AEE-47EB-8FBE-4A1766E805D8}.ReleaseWdkCrt|Win32.ActiveCfg = ReleaseWdkCrt|Win32
+ {9566788F-9AEE-47EB-8FBE-4A1766E805D8}.ReleaseWdkCrt|Win32.Build.0 = ReleaseWdkCrt|Win32
+ {9566788F-9AEE-47EB-8FBE-4A1766E805D8}.ReleaseWdkCrt|x64.ActiveCfg = ReleaseWdkCrt|x64
+ {9566788F-9AEE-47EB-8FBE-4A1766E805D8}.ReleaseWdkCrt|x64.Build.0 = ReleaseWdkCrt|x64
+ {9566788F-9AEE-47EB-8FBE-4A1766E805D8}.ReleaseWdkCrt|x86.ActiveCfg = ReleaseWdkCrt|x64
+ {9F347485-0492-4473-B597-0444687EEE3F}.Debug (Win32)|Any CPU.ActiveCfg = Debug|Win32
+ {9F347485-0492-4473-B597-0444687EEE3F}.Debug (Win32)|Mixed Platforms.ActiveCfg = Debug|Win32
+ {9F347485-0492-4473-B597-0444687EEE3F}.Debug (Win32)|Mixed Platforms.Build.0 = Debug|Win32
+ {9F347485-0492-4473-B597-0444687EEE3F}.Debug (Win32)|Win32.ActiveCfg = Debug|Win32
+ {9F347485-0492-4473-B597-0444687EEE3F}.Debug (Win32)|Win32.Build.0 = Debug|Win32
+ {9F347485-0492-4473-B597-0444687EEE3F}.Debug (Win32)|x64.ActiveCfg = Debug|Win32
+ {9F347485-0492-4473-B597-0444687EEE3F}.Debug (Win32)|x86.ActiveCfg = Debug|Win32
+ {9F347485-0492-4473-B597-0444687EEE3F}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {9F347485-0492-4473-B597-0444687EEE3F}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
+ {9F347485-0492-4473-B597-0444687EEE3F}.Debug|Mixed Platforms.Build.0 = Debug|Win32
+ {9F347485-0492-4473-B597-0444687EEE3F}.Debug|Win32.ActiveCfg = Debug|Win32
+ {9F347485-0492-4473-B597-0444687EEE3F}.Debug|Win32.Build.0 = Debug|Win32
+ {9F347485-0492-4473-B597-0444687EEE3F}.Debug|x64.ActiveCfg = Debug|Win32
+ {9F347485-0492-4473-B597-0444687EEE3F}.Debug|x86.ActiveCfg = Debug|Win32
+ {9F347485-0492-4473-B597-0444687EEE3F}.Release|Any CPU.ActiveCfg = Release|Win32
+ {9F347485-0492-4473-B597-0444687EEE3F}.Release|Mixed Platforms.ActiveCfg = Release|Win32
+ {9F347485-0492-4473-B597-0444687EEE3F}.Release|Mixed Platforms.Build.0 = Release|Win32
+ {9F347485-0492-4473-B597-0444687EEE3F}.Release|Win32.ActiveCfg = Release|Win32
+ {9F347485-0492-4473-B597-0444687EEE3F}.Release|Win32.Build.0 = Release|Win32
+ {9F347485-0492-4473-B597-0444687EEE3F}.Release|x64.ActiveCfg = Release|Win32
+ {9F347485-0492-4473-B597-0444687EEE3F}.Release|x86.ActiveCfg = Release|Win32
+ {9F347485-0492-4473-B597-0444687EEE3F}.ReleaseWdkCrt|Any CPU.ActiveCfg = Release|Win32
+ {9F347485-0492-4473-B597-0444687EEE3F}.ReleaseWdkCrt|Mixed Platforms.ActiveCfg = Release|Win32
+ {9F347485-0492-4473-B597-0444687EEE3F}.ReleaseWdkCrt|Mixed Platforms.Build.0 = Release|Win32
+ {9F347485-0492-4473-B597-0444687EEE3F}.ReleaseWdkCrt|Win32.ActiveCfg = Release|Win32
+ {9F347485-0492-4473-B597-0444687EEE3F}.ReleaseWdkCrt|Win32.Build.0 = Release|Win32
+ {9F347485-0492-4473-B597-0444687EEE3F}.ReleaseWdkCrt|x64.ActiveCfg = Release|Win32
+ {9F347485-0492-4473-B597-0444687EEE3F}.ReleaseWdkCrt|x86.ActiveCfg = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {259F3184-C992-4858-AB00-3147438B280E} = {F7CE879A-78D1-4738-88F8-6EA6DFDB3172}
+ {4A4BF248-A1B7-462A-B9CB-055D7FA49ADC} = {F7CE879A-78D1-4738-88F8-6EA6DFDB3172}
+ {EFC2778C-4E9C-4BE1-8F58-C73086B847CF} = {F7CE879A-78D1-4738-88F8-6EA6DFDB3172}
+ {8034DEA9-30CC-DEA0-3903-80210CE809FA} = {259F3184-C992-4858-AB00-3147438B280E}
+ {9F347485-0492-4473-B597-0444687EEE3F} = {4A4BF248-A1B7-462A-B9CB-055D7FA49ADC}
+ {51462126-2E74-41C9-BC24-DF55876732B7} = {3F741360-ECE1-42FF-B8E9-96D4A5DD2A30}
+ {3FFFE88B-948B-4B8F-B843-264763B1EF37} = {3F741360-ECE1-42FF-B8E9-96D4A5DD2A30}
+ {B8DB17E1-CE45-4354-8B3E-767648F3A2BE} = {3F741360-ECE1-42FF-B8E9-96D4A5DD2A30}
+ {2D723AC0-293F-41C8-99A7-2DD8756556C7} = {3F741360-ECE1-42FF-B8E9-96D4A5DD2A30}
+ {B3B22C2A-52B9-448F-8E13-8BCCFD6C0020} = {3F741360-ECE1-42FF-B8E9-96D4A5DD2A30}
+ {E16DEC4D-DAF0-4415-A601-9B034BBFB630} = {3F741360-ECE1-42FF-B8E9-96D4A5DD2A30}
+ {F0191CA8-AA6A-49D2-9E58-77A8334FB926} = {3F741360-ECE1-42FF-B8E9-96D4A5DD2A30}
+ {BD12E835-5C52-4E5D-8234-1C579F33E27A} = {51462126-2E74-41C9-BC24-DF55876732B7}
+ {AE3F6497-7880-4C08-B6E2-3AF05BCFB671} = {3FFFE88B-948B-4B8F-B843-264763B1EF37}
+ {85DCFF40-BF5B-459A-BF20-377472BBF846} = {3FFFE88B-948B-4B8F-B843-264763B1EF37}
+ {12BCA020-EABF-429E-876A-A476BC9C10C0} = {3FFFE88B-948B-4B8F-B843-264763B1EF37}
+ {4214047C-F5C1-40B3-8369-5DCED8C32770} = {B8DB17E1-CE45-4354-8B3E-767648F3A2BE}
+ {4CEE3392-89AC-4367-B219-42360CF91CBB} = {2D723AC0-293F-41C8-99A7-2DD8756556C7}
+ {F172EFFC-E30F-4593-809E-DB2024B1E753} = {2D723AC0-293F-41C8-99A7-2DD8756556C7}
+ {C8AFB8C3-FFFD-460F-BC13-9AC25D7B117C} = {B3B22C2A-52B9-448F-8E13-8BCCFD6C0020}
+ {CB7DC8B9-C2B8-4352-908E-9230BA9906EE} = {3CC18A8E-B460-47C2-8FB5-B0EE8A3608D0}
+ {66757FD0-C29F-4744-9C52-CE79E7E4289F} = {E16DEC4D-DAF0-4415-A601-9B034BBFB630}
+ {E28A4D3E-E995-499D-A920-D155E5EA4A79} = {E16DEC4D-DAF0-4415-A601-9B034BBFB630}
+ {860FFAEE-5D5F-44DA-8ED0-0F6987229545} = {F0191CA8-AA6A-49D2-9E58-77A8334FB926}
+ {5E7C37E6-65DC-43EA-8C14-B325A8B3B2A7} = {F0191CA8-AA6A-49D2-9E58-77A8334FB926}
+ {9566788F-9AEE-47EB-8FBE-4A1766E805D8} = {F0191CA8-AA6A-49D2-9E58-77A8334FB926}
+ EndGlobalSection
+EndGlobal
============================================================
--- penguin/README.txt 163f33ca824fe8f0c675f25ce7467e1ce6100ed5
+++ penguin/README.txt 163f33ca824fe8f0c675f25ce7467e1ce6100ed5
@@ -0,0 +1,24 @@
+To sucessfully build this project, you must download some external sources.
+
+[Step 1]
+ You must have a full checkout of the /penguin/ directory and the /libpurple/ directory.
+ These are the only sources needed within pidgin that are required.
+
+[Step 2]:
+ Follow instructions in GLib/README.txt
+
+[Step 3]:
+ Copy the following folders and files into this directory from GLib/build:
+ /builddeps/
+ /scripts/
+ /tools/
+ /vsprops/
+ msvc-pragmas.h
+ OABuild.rules
+
+[Step 4]:
+ (TBA): Getting libxml2.dll to link correctly.
+
+[Step 5]:
+ Open Penguin.sln inside Visual Studio and compile/run.
+
============================================================
--- libpurple/config.h ba11202ca5e27e7c2481ef8f3818c27ed2a08a88
+++ libpurple/config.h 5538cdba7a07c8e51b293134cebc454c5271dec2
@@ -11,7 +11,7 @@
/* #undef ENABLE_MONO */
/* always defined to indicate that i18n is enabled */
-#define ENABLE_NLS 1
+/* #define ENABLE_NLS 1 */
/* Define if you have the external 'altzone' variable. */
/* #undef HAVE_ALTZONE */
More information about the Commits
mailing list