//-----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation.
//
//-----------------------------------------------------------------------
namespace Microsoft.Isam.Esent.Interop
{
using System;
///
/// Type of progress being reported.
///
[Flags]
public enum JET_cbtyp
{
///
/// This callback is reserved and always considered invalid.
///
Null = 0,
///
/// A finalizable column has gone to zero.
///
Finalize = 0x1,
///
/// This callback will occur just before a new record is inserted into
/// a table by a call to JetUpdate.
///
BeforeInsert = 0x2,
///
/// This callback will occur just after a new record has been inserted
/// into a table by a call to JetUpdate but before JetUpdate returns.
///
AfterInsert = 0x4,
///
/// This callback will occur just prior to an existing record in a table
/// being changed by a call to JetUpdate.
///
BeforeReplace = 0x8,
///
/// This callback will occur just after an existing record in a table
/// has been changed by a call to JetUpdate but prior to JetUpdate returning.
///
AfterReplace = 0x10,
///
/// This callback will occur just before an existing record in a table
/// is deleted by a call to JetDelete.
///
BeforeDelete = 0x20,
///
/// This callback will occur just after an existing record in a table
/// is deleted by a call to JetDelete.
///
AfterDelete = 0x40,
///
/// This callback will occur when the engine needs to retrieve the
/// user defined default value of a column from the application.
/// This callback is essentially a limited implementation of
/// JetRetrieveColumn that is evaluated by the application. A maximum
/// of one column value can be returned for a user defined default value.
///
UserDefinedDefaultValue = 0x80,
///
/// This callback will occur when the online defragmentation of a
/// database as initiated by JetDefragment has stopped due to either the
/// process being completed or the time limit being reached.
///
OnlineDefragCompleted = 0x100,
///
/// This callback will occur when the application needs to clean up
/// the context handle for the Local Storage associated with a cursor
/// that is being released by the database engine. For more information,
/// see JetSetLS. The delegate for this callback reason is
/// configured by means of JetSetSystemParameter with JET_paramRuntimeCallback.
///
FreeCursorLS = 0x200,
///
/// This callback will occur as the result of the need for the application
/// to cleanup the context handle for the Local Storage associated with
/// a table that is being released by the database engine. For more information,
/// see JetSetLS. The delegate for this callback reason is configured
/// by means of JetSetSystemParameter with JET_paramRuntimeCallback.
///
FreeTableLS = 0x400,
}
}