blob: 457b7adffbab2dd4a67841ecbc26dc6fc5dee89d [file] [log] [blame]
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef RLZ_LIB_RLZ_LIB_CLEAR_H_
#define RLZ_LIB_RLZ_LIB_CLEAR_H_
#include "rlz/lib/rlz_api.h"
#include "rlz/lib/rlz_enums.h"
namespace rlz_lib {
// Clears all product-specifc state from the RLZ registry.
// Should be called during product uninstallation.
// This removes outstanding product events, product financial ping times,
// the product RLS argument (if any), and any RLZ's for access points being
// uninstalled with the product.
// access_points is an array terminated with NO_ACCESS_POINT.
// IMPORTANT: These are the access_points the product is removing as part
// of the uninstallation, not necessarily all the access points passed to
// SendFinancialPing() and GetPingParams().
// access_points can be null if no points are being uninstalled.
// No return value - this is best effort. Will assert in debug mode on
// failed attempts.
// Access: HKCU write.
void RLZ_LIB_API ClearProductState(Product product,
const AccessPoint* access_points);
} // namespace rlz_lib
#endif // RLZ_LIB_RLZ_LIB_CLEAR_H_