Hi,

You could try:

class DaemonPlugin

{
  [DllExport("add",CallingConvention = CallingConvention.Cdecl)]
  public static int add(int left, int right)
  {
     return left + right;
  } 
}

Then write a C++ wrapper around the exported classes.  I don't think C# will be able to handle the pointers from the MySQL plugin API (or to do so would be tremendously cumbersome) so a wrapper around the .NET exported .NET code which handles the C memory management, etc, needed for a plugin will work best.  

I don't know much about this.  I learned the above from a few google searches, but hopefully it will get you going in the right direction.

Regards,

--Justin




On Mon, Sep 14, 2015 at 4:15 AM, Roberto Spadim <roberto@spadim.com.br> wrote:
Hi guys!
Nice :) +1 for this job, i will try 

Em segunda-feira, 14 de setembro de 2015, Sergei Golubchik <serg@mariadb.org> escreveu:
Hi, Roberto!

On Sep 13, Roberto Spadim wrote:
> Hi guys,
> I have a program wrote in c#, it process some code and the result is a
> struct (an array of string/double/int)
> I want to include this program inside mariadb server as a daemon plugin (to
> process data) + a storage engine (to read struct data)
>
> is that possible? considering that i can write dll with .net?
> what about write this to linux (.so files) ?

I think it's possible, why not? You might need a thin layer of the
interface code in C (seeing your code, I believe you can do that easily :),
and the main logic in C#. On Linux you can, perhaps, use Mono.

But I haven't heard of anyone doing that, so I don't know of any
specific pitfalls that you might face on this way.

Regards,
Sergei


--
Roberto Spadim
SPAEmpresarial - Software ERP
Eng. Automação e Controle


_______________________________________________
Mailing list: https://launchpad.net/~maria-discuss
Post to     : maria-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-discuss
More help   : https://help.launchpad.net/ListHelp