// Copyright 2017 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 CHROME_ELF_THIRD_PARTY_DLLS_PACKED_LIST_FILE_H_
#define CHROME_ELF_THIRD_PARTY_DLLS_PACKED_LIST_FILE_H_

#include <string>

#include "chrome_elf/third_party_dlls/status_codes.h"

namespace third_party_dlls {

// Look up a binary based on the required data points.
// - Returns true if match found in the list.
bool IsModuleListed(const std::string& basename_hash,
                    const std::string& fingerprint_hash);

// Get the full path of the blacklist file used.
std::wstring GetBlFilePathUsed();

// Initialize internal module list from file.
// - NOTE: Caller should use IsStatusCodeSuccessful() on return value.
ThirdPartyStatus InitFromFile();

// Centralized utility to determine if a status code from this module should be
// treated as non-fatal.
bool IsStatusCodeSuccessful(ThirdPartyStatus code);

// Removes initialization for use by tests, or cleanup on failure.
void DeinitFromFile();

// Overrides the blacklist path for use by tests.
void OverrideFilePathForTesting(const std::wstring& new_bl_path);

}  // namespace third_party_dlls

#endif  // CHROME_ELF_THIRD_PARTY_DLLS_PACKED_LIST_FILE_H_
