Add missing VOID_INT_PTR director typemaps
This commit is contained in:
parent
d3ac729f78
commit
e9e6a99f0f
5 changed files with 136 additions and 1 deletions
83
Examples/test-suite/csharp/director_void_runme.cs
Normal file
83
Examples/test-suite/csharp/director_void_runme.cs
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
using System;
|
||||
using director_voidNamespace;
|
||||
|
||||
public class runme
|
||||
{
|
||||
private static void WaitForGC()
|
||||
{
|
||||
System.GC.Collect();
|
||||
System.GC.WaitForPendingFinalizers();
|
||||
System.Threading.Thread.Sleep(10);
|
||||
}
|
||||
|
||||
static void Main()
|
||||
{
|
||||
runme r = new runme();
|
||||
r.run();
|
||||
}
|
||||
|
||||
void run()
|
||||
{
|
||||
Caller caller = new Caller();
|
||||
{
|
||||
DirectorVoidPointer dvp = new DirectorVoidPointer(5);
|
||||
int x = caller.callVirtualIn(dvp, 6);
|
||||
if (x != 106)
|
||||
throw new Exception("Fail1 should be 106, got " + x);
|
||||
global::System.IntPtr ptr = dvp.nonVirtualVoidPtrOut();
|
||||
x = Caller.VoidToInt(ptr);
|
||||
if (x != 106)
|
||||
throw new Exception("Fail2 should be 106, got " + x);
|
||||
x = Caller.VoidToInt(dvp.voidPtrOut());
|
||||
if (x != 106)
|
||||
throw new Exception("Fail3 should be 106, got " + x);
|
||||
}
|
||||
|
||||
{
|
||||
DirectorVoidPointer dvp = new director_void_VoidPointer(5);
|
||||
int x = caller.callVirtualIn(dvp, 6);
|
||||
if (x != 12)
|
||||
throw new Exception("Fail1 should be 12, got " + x);
|
||||
global::System.IntPtr ptr = dvp.nonVirtualVoidPtrOut();
|
||||
x = Caller.VoidToInt(ptr);
|
||||
if (x != 25)
|
||||
throw new Exception("Fail2 should be 25, got " + x);
|
||||
x = Caller.VoidToInt(dvp.voidPtrOut());
|
||||
if (x != 1234)
|
||||
throw new Exception("Fail3 should be 1234, got " + x);
|
||||
}
|
||||
|
||||
{
|
||||
DirectorVoidPointer dvp = new DirectorVoidPointer(10);
|
||||
int x = caller.callVirtualOut(dvp);
|
||||
if (x != 10)
|
||||
throw new Exception("Bad1 should be 10, got " + x);
|
||||
global::System.IntPtr ptr = dvp.nonVirtualVoidPtrOut();
|
||||
x = dvp.nonVirtualVoidPtrIn(ptr);
|
||||
if (x != 110)
|
||||
throw new Exception("Bad2 should be 110, got " + x);
|
||||
}
|
||||
{
|
||||
DirectorVoidPointer dvp = new director_void_VoidPointer(10);
|
||||
int x = caller.callVirtualOut(dvp);
|
||||
if (x != 1234)
|
||||
throw new Exception("Bad3 should be 1234, got " + x);
|
||||
global::System.IntPtr ptr = dvp.nonVirtualVoidPtrOut();
|
||||
x = dvp.nonVirtualVoidPtrIn(ptr);
|
||||
if (x != 1334)
|
||||
throw new Exception("Bad4 should be 1334, got " + x);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class director_void_VoidPointer : DirectorVoidPointer {
|
||||
public director_void_VoidPointer(int num) : base(num*num) {
|
||||
}
|
||||
public override int voidPtrIn(global::System.IntPtr p) {
|
||||
return Caller.VoidToInt(p) * 2;
|
||||
}
|
||||
public override global::System.IntPtr voidPtrOut() {
|
||||
setNewValue(1234);
|
||||
return nonVirtualVoidPtrOut();
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue