/// <summary> /// Releases unmanaged and - optionally - managed resources. /// </summary> /// <param name="disposing">True to release both managed and unmanaged resources; False to release only unmanaged resources.</param> protected virtual void Dispose(bool disposing) { if (!m_isDisposed) { if (m_logstreamPtr != IntPtr.Zero) { MemoryHelper.FreeMemory(m_logstreamPtr); m_logstreamPtr = IntPtr.Zero; } if (disposing) { m_assimpCallback = null; } m_isDisposed = true; } }
private void Initialize(LoggingCallback callback, String userData) { if (userData == null) { userData = String.Empty; } m_assimpCallback = OnAiLogStreamCallback; m_logCallback = callback; m_userData = userData; AiLogStream logStream; logStream.Callback = Marshal.GetFunctionPointerForDelegate(m_assimpCallback); logStream.UserData = IntPtr.Zero; m_logstreamPtr = MemoryHelper.AllocateMemory(MemoryHelper.SizeOf <AiLogStream>()); Marshal.StructureToPtr(logStream, m_logstreamPtr, false); }
private void Initialize(LoggingCallback callback, String userData) { if(userData == null) userData = String.Empty; m_assimpCallback = OnAiLogStreamCallback; m_logCallback = callback; m_userData = userData; AiLogStream logStream; logStream.Callback = Marshal.GetFunctionPointerForDelegate(m_assimpCallback); logStream.UserData = IntPtr.Zero; m_logstreamPtr = MemoryHelper.AllocateMemory(MemoryHelper.SizeOf<AiLogStream>()); Marshal.StructureToPtr(logStream, m_logstreamPtr, false); }
/// <summary> /// Releases unmanaged and - optionally - managed resources. /// </summary> /// <param name="disposing">True to release both managed and unmanaged resources; False to release only unmanaged resources.</param> protected virtual void Dispose(bool disposing) { if(!m_isDisposed) { if(m_logstreamPtr != IntPtr.Zero) { MemoryHelper.FreeMemory(m_logstreamPtr); m_logstreamPtr = IntPtr.Zero; } if(disposing) { m_assimpCallback = null; } m_isDisposed = true; } }