sapling/ctreemanifest/manifest_fetcher.h
Adam Simpkins 5afbd505ef clib: clean up include guards in the C/C++ header files
Summary:
Clean up the include guards to be more consistent and unique.

Some files used include guards like "KEY_H" and "STORE_H" which were not very
unique, and are more likely to collide with definitions provided by header
files from other projects.  Some of the py-*.h files were missing include
guards altogether.

This corresponds to Facebook diff D5588670.

Test Plan: Confirmed the code still builds and passes tests.

Reviewers: #fbhgext, quark

Reviewed By: #fbhgext, quark

Differential Revision: https://phab.mercurial-scm.org/D508
2017-08-25 16:46:07 -07:00

38 lines
1016 B
C++

// Copyright (c) 2004-present, Facebook, Inc.
// All Rights Reserved.
//
// This software may be used and distributed according to the terms of the
// GNU General Public License version 2 or any later version.
// manifest_fetcher.h - c++ declarations for a fetcher for manifests
// no-check-code
#ifndef FBHGEXT_CTREEMANIFEST_MANIFEST_FETCHER_H
#define FBHGEXT_CTREEMANIFEST_MANIFEST_FETCHER_H
#include <memory>
#include <string>
#include "cstore/store.h"
#include "ctreemanifest/manifest_ptr.h"
/**
* Class used to obtain Manifests, given a path and node.
*/
class ManifestFetcher {
private:
std::shared_ptr<Store> _store;
public:
ManifestFetcher(std::shared_ptr<Store> store);
/**
* Fetches the Manifest from the store for the provided manifest key.
* Returns the manifest if found, or throws an exception if not found.
*/
ManifestPtr get(
const char *path, size_t pathlen,
std::string &node) const;
};
#endif // FBHGEXT_CTREEMANIFEST_MANIFEST_FETCHER_H