a575963da9
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
57 lines
1.2 KiB
C#
57 lines
1.2 KiB
C#
//
|
|
// OciDescriptorHandle.cs
|
|
//
|
|
// Part of managed C#/.NET library System.Data.OracleClient.dll
|
|
//
|
|
// Part of the Mono class libraries at
|
|
// mcs/class/System.Data.OracleClient/System.Data.OracleClient.Oci
|
|
//
|
|
// Assembly: System.Data.OracleClient.dll
|
|
// Namespace: System.Data.OracleClient.Oci
|
|
//
|
|
// Author:
|
|
// Tim Coleman <tim@timcoleman.com>
|
|
//
|
|
// Copyright (C) Tim Coleman, 2003
|
|
//
|
|
|
|
using System;
|
|
using System.Runtime.InteropServices;
|
|
|
|
namespace System.Data.OracleClient.Oci {
|
|
internal abstract class OciDescriptorHandle : OciHandle
|
|
{
|
|
#region Constructors
|
|
|
|
internal OciDescriptorHandle (OciHandleType type, OciHandle parent, IntPtr newHandle)
|
|
: base (type, parent, newHandle)
|
|
{
|
|
}
|
|
|
|
#endregion // Constructors
|
|
|
|
#region Methods
|
|
|
|
protected override void FreeHandle ()
|
|
{
|
|
// Parameter handles are disposed implicitely
|
|
if (HandleType >= OciHandleType.LobLocator) {
|
|
switch(HandleType) {
|
|
case OciHandleType.Parameter:
|
|
case OciHandleType.TimeStamp:
|
|
break;
|
|
default:
|
|
if (Handle != IntPtr.Zero) {
|
|
OciCalls.OCIDescriptorFree (this, HandleType);
|
|
SetHandle (IntPtr.Zero);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
#endregion // Methods
|
|
}
|
|
}
|
|
|