/* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). * Version 1.3.40 * * Do not make changes to this file unless you know what you are doing--modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ namespace OSGeo.GDAL { using System; using System.Runtime.InteropServices; public class MajorObject : IDisposable { private HandleRef swigCPtr; protected bool swigCMemOwn; protected object swigParentRef; protected static object ThisOwn_true() { return null; } protected object ThisOwn_false() { return this; } public MajorObject(IntPtr cPtr, bool cMemoryOwn, object parent) { swigCMemOwn = cMemoryOwn; swigParentRef = parent; swigCPtr = new HandleRef(this, cPtr); } public static HandleRef getCPtr(MajorObject obj) { return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; } public static HandleRef getCPtrAndDisown(MajorObject obj, object parent) { if (obj != null) { obj.swigCMemOwn = false; obj.swigParentRef = parent; return obj.swigCPtr; } else { return new HandleRef(null, IntPtr.Zero); } } public static HandleRef getCPtrAndSetReference(MajorObject obj, object parent) { if (obj != null) { obj.swigParentRef = parent; return obj.swigCPtr; } else { return new HandleRef(null, IntPtr.Zero); } } public virtual void Dispose() { lock(this) { if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) { swigCMemOwn = false; throw new MethodAccessException("C++ destructor does not have public access"); } swigCPtr = new HandleRef(null, IntPtr.Zero); swigParentRef = null; GC.SuppressFinalize(this); } } public string GetDescription() { string ret = GdalPINVOKE.MajorObject_GetDescription(swigCPtr); if (GdalPINVOKE.SWIGPendingException.Pending) throw GdalPINVOKE.SWIGPendingException.Retrieve(); return ret; } public void SetDescription(string pszNewDesc) { GdalPINVOKE.MajorObject_SetDescription(swigCPtr, pszNewDesc); if (GdalPINVOKE.SWIGPendingException.Pending) throw GdalPINVOKE.SWIGPendingException.Retrieve(); } public string[] GetMetadata(string pszDomain) { /* %typemap(csout) char**options */ IntPtr cPtr = GdalPINVOKE.MajorObject_GetMetadata(swigCPtr, pszDomain); IntPtr objPtr; int count = 0; if (cPtr != IntPtr.Zero) { while (Marshal.ReadIntPtr(cPtr, count*IntPtr.Size) != IntPtr.Zero) ++count; } string[] ret = new string[count]; if (count > 0) { for(int cx = 0; cx < count; cx++) { objPtr = System.Runtime.InteropServices.Marshal.ReadIntPtr(cPtr, cx * System.Runtime.InteropServices.Marshal.SizeOf(typeof(IntPtr))); ret[cx]= (objPtr == IntPtr.Zero) ? null : System.Runtime.InteropServices.Marshal.PtrToStringAnsi(objPtr); } } if (GdalPINVOKE.SWIGPendingException.Pending) throw GdalPINVOKE.SWIGPendingException.Retrieve(); return ret; } public CPLErr SetMetadata(string[] papszMetadata, string pszDomain) { CPLErr ret = (CPLErr)GdalPINVOKE.MajorObject_SetMetadata__SWIG_0(swigCPtr, (papszMetadata != null)? new GdalPINVOKE.StringListMarshal(papszMetadata)._ar : null, pszDomain); if (GdalPINVOKE.SWIGPendingException.Pending) throw GdalPINVOKE.SWIGPendingException.Retrieve(); return ret; } public CPLErr SetMetadata(string pszMetadataString, string pszDomain) { CPLErr ret = (CPLErr)GdalPINVOKE.MajorObject_SetMetadata__SWIG_1(swigCPtr, pszMetadataString, pszDomain); if (GdalPINVOKE.SWIGPendingException.Pending) throw GdalPINVOKE.SWIGPendingException.Retrieve(); return ret; } public string GetMetadataItem(string pszName, string pszDomain) { string ret = GdalPINVOKE.MajorObject_GetMetadataItem(swigCPtr, pszName, pszDomain); if (GdalPINVOKE.SWIGPendingException.Pending) throw GdalPINVOKE.SWIGPendingException.Retrieve(); return ret; } public CPLErr SetMetadataItem(string pszName, string pszValue, string pszDomain) { CPLErr ret = (CPLErr)GdalPINVOKE.MajorObject_SetMetadataItem(swigCPtr, pszName, pszValue, pszDomain); if (GdalPINVOKE.SWIGPendingException.Pending) throw GdalPINVOKE.SWIGPendingException.Retrieve(); return ret; } } }