electron/shell/common/asar/asar_util.h

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

40 lines
1.1 KiB
C
Raw Normal View History

// Copyright (c) 2015 GitHub, Inc.
// Use of this source code is governed by the MIT license that can be
// found in the LICENSE file.
#ifndef ELECTRON_SHELL_COMMON_ASAR_ASAR_UTIL_H_
#define ELECTRON_SHELL_COMMON_ASAR_ASAR_UTIL_H_
#include <memory>
2015-02-12 11:50:28 +00:00
#include <string>
#include "base/containers/span.h"
namespace base {
class FilePath;
}
namespace asar {
class Archive;
struct IntegrityPayload;
// Gets or creates and caches a new Archive from the path.
std::shared_ptr<Archive> GetOrCreateAsarArchive(const base::FilePath& path);
2015-02-12 09:31:14 +00:00
// Separates the path to Archive out.
bool GetAsarArchivePath(const base::FilePath& full_path,
base::FilePath* asar_path,
base::FilePath* relative_path,
bool allow_root = false);
2015-02-12 09:31:14 +00:00
// Same with base::ReadFileToString but supports asar Archive.
bool ReadFileToString(const base::FilePath& path, std::string* contents);
void ValidateIntegrityOrDie(base::span<const uint8_t> input,
const IntegrityPayload& integrity);
} // namespace asar
#endif // ELECTRON_SHELL_COMMON_ASAR_ASAR_UTIL_H_