Using pidgin to connect to secondlife

Daniel Atallah daniel.atallah at
Thu Sep 6 09:48:50 EDT 2007

On 9/6/07, Joanna Chopard (jchopard) <jchopard at> wrote:
> There is an open source library, libsecondlife written in C# (mono in linux)
> that one could use for interfacing with Secondlife, such as logging into the
> grid.  I'm wondering if it would be possible to hook this up to pidgin or
> libpurple, wherever it would be necessary.

It should be theoretically possible one way or another as long as the
license for libsecondlife is GPL compatible.

> - First, how to hook up pidgin written in C and libsecondlife written in C#?

This isn't really a Pidgin specific question, there is quite a bit of
documentation on how to interface native code with C# code. A quick
Google search turned this up: -
there are probably also other ways.

>   Currently, pidgin is built on windows using Mingw makefiles.  In order to
> make C# calls from pidgin, would one have to build it in .NET?  Has anyone
> attempted this yet?

This isn't accurate, it isn't necessary to build libpurple with Visual
Studio in order to do what you want to do.  You *may* need to make a
wrapper library that exposes the necessary libsecondlife API as C
functions, but that would be the only thing that needs to be compiled
in in vs.NET (and I'm not even sure that can't be done with MinGW).

>   Since pidgin would be using libsecondlife (not libpurple) to connect to
> the server, would this be considered a plugin?

All the various protocols are plugins.  There are a number of plugins
that use external libraries to do the communication (e.g. sametime and
silc).  Pidgin would still be using libpurple, it would just be that
your protocol (which would be a libpurple plugin) would use

> - It looks that libpurple connects to a server via http proxy calls, and
> libsecondlife connects to the secondlife server via xmlrpc methods.
>   Is it possible to write a protocol for libpurple, in C, and connect to a
> server using xmlrpc calls?  In this case, it would be an addition to the
> libpurple.

I'm not sure where you got this idea, libpurple doesn't restrict you
to any specific protocols.   A protocol plugin can do whatever it
wants to communicate with the server.


More information about the Devel mailing list