Extended .NET SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
OdNonCopyable.cs
Go to the documentation of this file.
1//------------------------------------------------------------------------------
2// <auto-generated />
3//
4// This file was automatically generated by SWIG (http://www.swig.org).
5// Version 4.0.2
6//
7// Do not make changes to this file unless you know what you are doing--modify
8// the SWIG interface file instead.
9//------------------------------------------------------------------------------
10
11namespace Teigha.Core {
12
13using System;
14using System.Runtime.InteropServices;
15
16public class OdNonCopyable : global::System.IDisposable {
17 private Object locker = new Object();
18 private HandleRef swigCPtr;
19 protected bool swigCMemOwn;
20 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
21 public OdNonCopyable(IntPtr cPtr, bool cMemoryOwn) {
22 swigCMemOwn = cMemoryOwn;
23 swigCPtr = new HandleRef(this, cPtr);
24 }
25 [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
26 public static HandleRef getCPtr(OdNonCopyable obj) {
27 return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
28 }
29
31 Dispose(false);
32 }
33
34 public void Dispose() {
35 Dispose(true);
36 global::System.GC.SuppressFinalize(this);
37 }
38
39 protected virtual void Dispose(bool disposing) {
40 if (swigCPtr.Handle != IntPtr.Zero)
41 {
42 if (swigCMemOwn)
43 {
44 lock (locker)//(this)
45 {
46 if ((swigCPtr.Handle != IntPtr.Zero) && (swigCMemOwn))
47 {
48 swigCMemOwn = false;
49 throw new MethodAccessException("C++ destructor does not have public access");
50 }
51 }
52 swigCMemOwn = false;
53 }
54 swigCPtr = new HandleRef(null, IntPtr.Zero);
55 }
56 GC.SuppressFinalize(this);
57 }
58
59}
60
61}
OdNonCopyable(IntPtr cPtr, bool cMemoryOwn)
static HandleRef getCPtr(OdNonCopyable obj)
virtual void Dispose(bool disposing)