public static CPtr ReportNullReference(CPtr cPtr) { if (cPtr.IsNull) { throw new NullReferenceException(); } return(cPtr); }
static CPtr() { // http://support.teamdev.com/thread/405 InternalTryLoadLibrary(); NULL = new CPtr(); SIZE = initIDs(NULL); }
/// <summary> /// warning: jni must be placed under java path /// any other shall be placed on system32 path /// </summary> /// <param name="lib"></param> /// <param name="fname"></param> public CFunc(string lib, string fname) { // X:\jsc.svn\examples\java\hybrid\JVMCLRMSVCRTRand\JVMCLRMSVCRTRand\Program.cs // how to make sure its a CDecl method? // .A and .W are WINAPI suffixes? //System.Console.WriteLine("enter CFunc " + new { lib, fname }); string r = null; r = InternalTryLoadLibrary(lib, fname); if (r == null) { return; } { var xlib = Path.Combine(CPtr.InternalGetHintPath(), lib); var xr = InternalTryLoadLibrary(xlib, fname); if (xr == null) { return; } } var path = java.lang.JavaSystem.getProperty("java.library.path").Split(';'); foreach (var item in path) { var xlib = Path.Combine(item, lib); var xr = InternalTryLoadLibrary(xlib, fname); if (xr == null) { r = null; break; } } if (r == null) { return; } System.Console.WriteLine("crash CFunc " + new { lib, fname }); throw new System.InvalidOperationException(r); }
public static bool IsNullReferenceOrPointer(CPtr e) { if (e == null) { return(true); } if (e.IsNull) { return(true); } return(false); }
static CPtr() { // https://sites.google.com/a/jsc-solutions.net/work/knowledge-base/15-dualvr/20150630/jvmclrudpreceiveasync //System.Console.WriteLine("CPtr cctor"); // https://sites.google.com/a/jsc-solutions.net/backlog/knowledge-base/2015/201505/20150503/udp // http://support.teamdev.com/thread/405 InternalTryLoadLibrary(); NULL = new CPtr(); SIZE = initIDs(NULL); }
public override void setCPtr(int offset, CPtr value) { boundsCheck(offset, SIZE); base.setCPtr(offset, value); }
public static bool IsNullReferenceOrPointer(CPtr e) { if (e == null) return true; if (e.IsNull) return true; return false; }
public static CPtr ReportNullReference(CPtr cPtr) { if (cPtr.IsNull) throw new NullReferenceException(); return cPtr; }
private static int initIDs(CPtr p) { return default(int); }
virtual public void setCPtr(int offset, CPtr value) { }
private static int initIDs(CPtr p) { return(default(int)); }