blob: c6452cafaaa7e2092fa758ab1345c1e53515dfb6 [file] [log] [blame]
#pragma once
//-------------------------------------------------------------------------------------------------
// <copyright file="balretry.h" company="Outercurve Foundation">
// Copyright (c) 2004, Outercurve Foundation.
// This software is released under Microsoft Reciprocal License (MS-RL).
// The license and further copyright text can be found in the file
// LICENSE.TXT at the root directory of the distribution.
// </copyright>
//
// <summary>
// Bootstrapper Application Layer retry utility.
// </summary>
//-------------------------------------------------------------------------------------------------
#ifdef __cplusplus
extern "C" {
#endif
enum BALRETRY_TYPE
{
BALRETRY_TYPE_CACHE,
BALRETRY_TYPE_EXECUTE,
};
/*******************************************************************
BalRetryInitialize - initialize the retry count and timeout between
retries (in milliseconds).
********************************************************************/
DAPI_(void) BalRetryInitialize(
__in DWORD dwMaxRetries,
__in DWORD dwTimeout
);
/*******************************************************************
BalRetryUninitialize - call to cleanup any memory allocated during
use of the retry utility.
********************************************************************/
DAPI_(void) BalRetryUninitialize();
/*******************************************************************
BalRetryStartPackage - call when a package begins to be modified. If
the package is being retried, the function will
wait the specified timeout.
********************************************************************/
DAPI_(void) BalRetryStartPackage(
__in BALRETRY_TYPE type,
__in_z_opt LPCWSTR wzPackageId,
__in_z_opt LPCWSTR wzPayloadId
);
/*******************************************************************
BalRetryErrorOccured - call when an error occurs for the retry utility
to consider.
********************************************************************/
DAPI_(void) BalRetryErrorOccurred(
__in_z_opt LPCWSTR wzPackageId,
__in DWORD dwError
);
/*******************************************************************
BalRetryEndPackage - returns IDRETRY is a retry is recommended or
IDNOACTION if a retry is not recommended.
********************************************************************/
DAPI_(int) BalRetryEndPackage(
__in BALRETRY_TYPE type,
__in_z_opt LPCWSTR wzPackageId,
__in_z_opt LPCWSTR wzPayloadId,
__in HRESULT hrError
);
#ifdef __cplusplus
}
#endif