<div>hi all,</div>
<div>&nbsp;</div>
<div>I am trying out Dumbarton, to see whether C# class function can call into ObjC class method. What I did is make a standard wrapper class (MonoObjectRepresentaion) around the MonoObject, and register the C# member function in ObjC, when the C# function is invoked,&nbsp; in ObjC, the static function MyClass_MyFunction() will be called with a MonoObject parameter which the C# function belongs to. What I need is to retrieve the ObjC MyClass object which contains the MonoObject itself, and send the -(void)myFunction: method to it.
</div>
<div>&nbsp;</div>
<div>Symbolically, it basically mean calling from C# object into ObjC wrapper object:</div>
<div>&nbsp;&nbsp;&nbsp; MyClass::MyFunction (in C#)&nbsp;&nbsp; call into&nbsp;&nbsp;&nbsp; [MyClass myFunction] (in ObjC)</div>
<div>&nbsp;</div>
<div>how to do this?</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>In C#:</div>
<div>namespace ABC</div>
<div>{</div>
<div>&nbsp;&nbsp;&nbsp; public class MyClass</div>
<div>&nbsp;&nbsp;&nbsp; {</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[MethodImplAttribute(MethodImplOptions.InternalCall)]</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; extern public bool MyFunction();</div>
<div>&nbsp;</div>
<div>&nbsp;&nbsp;&nbsp; }</div>
<div>}</div>
<div>&nbsp;</div>
<div>In ObjC:</div>
<div>&nbsp;</div>
<div>static void MyClass_MyFunction(MonoObject* thisObject)</div>
<div>{</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //??? my problem here is how to use thisObject to retrieve the MonoObjectRepresentation object which contains it and make a call into the object&#39;s method -(void)myFunction: ????</div>
<div>}</div>
<div>&nbsp;</div>
<div>@interface MyClass: DBMonoObjectRepresentation</div>
<div>{</div>
<div>&nbsp; -(void)myFunction;</div>
<div>}</div>
<div>&nbsp;</div>
<div>@implementation MyClass</div>
<div>{</div>
<div>+ (MonoClass*)monoClass</div>
<div>&nbsp;&nbsp;&nbsp; {</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MonoClass* monoClass = [DBMonoEnvironment monoClassWithName:&quot;ABC.MyClass&quot; fromAssembly:[MainController myClassAssembly]];</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return monoClass;</div>
<div>&nbsp;&nbsp;&nbsp; }</div>
<div>&nbsp;</div>
<div>-(id) init</div>
<div>&nbsp;&nbsp;&nbsp; {</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DBMonoEnvironment *monoEnvironment = [DBMonoEnvironment defaultEnvironment];</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [monoEnvironment registerInternalCall:&quot;ABC.MyClass::MyFunction()&quot; callPointer:MyClass_MyFunction];</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return self;</div>
<div>&nbsp;&nbsp; }</div>
<div>&nbsp;</div>
<div>-(void) myFunction</div>
<div>&nbsp;&nbsp; {</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //do something</div>
<div>&nbsp;</div>
<div>&nbsp;&nbsp; }</div>
<div>&nbsp;&nbsp;&nbsp; </div>
<div>&nbsp;</div>
<div>}<br><br>&nbsp;</div>
<div><span class="gmail_quote">On 4/16/07, <b class="gmail_sendername">Punk Programmer</b> &lt;<a href="mailto:punkpro@gmail.com">punkpro@gmail.com</a>&gt; wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Hello,<br><br>I am trying to compile and install Gendarme on OS X. Unfortunately, I&#39;m very much a beginner (my background is on Windows). My problem is that compilation of Gendarme halts with 
<span>the error message &quot;./configure: line 1989: syntax error near unexpected token `MONO_CECIL,&#39;&quot;. (What, in general, causes this kind of problem?)</span><br><br>I have received some kind assistance by posting the same question on the regular mono-list, but I still have the same problem, and am stumped about what to do next... I apologize for double posting this way, but I am hoping that some kind OS X soul might be able help me through. 
<br><br>Facts: I&#39;ve installed Mono 1.2.3 from the universal binary download on my iBook running Tiger, to <span>/Library/Frameworks. I&#39;ve downloaded the source code for cecil and Gendarme, and with the assistance I got previously, it appears that I&#39;ve successfully compiled and installed cecil. 
<br><br>Any suggestions would be greatly appreciated.<br><br>Kind regards,<br>Einar<br></span><br>_______________________________________________<br>Mono-osx mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:Mono-osx@lists.ximian.com">
Mono-osx@lists.ximian.com</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://lists.ximian.com/mailman/listinfo/mono-osx" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-osx</a><br>
<br></blockquote></div><br>