comp.lang.ada
 help / color / mirror / Atom feed
From: Maciej Sobczak <see.my.homepage@gmail.com>
Subject: Re: Dispatching callback handed over to C
Date: Tue, 3 Apr 2012 02:37:31 -0700 (PDT)
Date: 2012-04-03T02:37:31-07:00	[thread overview]
Message-ID: <6fb83c74-b2a4-4ae8-9c89-d755b737198f@v22g2000vby.googlegroups.com> (raw)
In-Reply-To: slrnjnl944.1lme.lithiumcat@sigil.instinctive.eu

On 3 Kwi, 09:19, Natasha Kerensikova <lithium...@gmail.com> wrote:

> The problem I'm facing currently is binding to a very common idiom for
> callback in C.

[...]

I had to solve this poblem in the context of the YAMI4 poject and I
managed to get the essential parts of the solution here:

http://inspirel.com/articles/Polymorphic_Callbacks_Ada_Cpp.html

The callback, as seen by Ada, is polymorphic (the user sees it as a
dipatching call). The solution does not involve any compiler-specific
magic any more than what could be expected, so should be quite
portable.

Note that this article presents complete solution for Ada/C++ binding,
but since there is a C intermediary layer involved anyway, you might
consider it to be a Ada/C solution as well and use that part only if
this is what you need.

--
Maciej Sobczak * http://www.inspirel.com



  parent reply	other threads:[~2012-04-03  9:37 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-03  7:19 Dispatching callback handed over to C Natasha Kerensikova
2012-04-03  9:04 ` Brian Drummond
2012-04-03  9:21   ` Thomas Locke
2012-04-03  9:37 ` Maciej Sobczak [this message]
2012-04-03 12:02   ` Natasha Kerensikova
2012-04-03 14:42     ` Maciej Sobczak
2012-04-03 20:20       ` Randy Brukardt
2012-04-04  7:26         ` Georg Bauhaus
2012-04-04  7:56         ` Natasha Kerensikova
2012-04-04 19:28           ` Randy Brukardt
2012-04-05  8:59             ` Natasha Kerensikova
2012-04-05 21:04               ` Randy Brukardt
2012-04-04 19:55           ` Simon Wright
2012-04-04 11:34         ` Maciej Sobczak
2012-04-04 19:16           ` Randy Brukardt
2012-04-05  7:28             ` Maciej Sobczak
2012-04-05 21:32               ` Randy Brukardt
2012-04-07  8:55                 ` Natasha Kerensikova
2012-04-07 11:32                   ` Simon Wright
2012-04-07 13:28                     ` Robert A Duff
2012-04-05  9:13             ` Natasha Kerensikova
2012-04-05 21:06               ` Randy Brukardt
2012-04-06  7:30               ` Maciej Sobczak
2012-04-06 11:41                 ` Simon Wright
2012-04-10  7:15                   ` Maciej Sobczak
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox