/usr/include/hocon/config_include_context.hpp is in libcpp-hocon-dev 0.1.6-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | #pragma once
#include "types.hpp"
#include "config_parse_options.hpp"
#include "export.h"
namespace hocon {
/**
* Context provided to a {@link config_includer}; this interface is only useful
* inside a {@code config_includer} implementation, and is not intended for apps
* to implement.
*
* <p>
* <em>Do not implement this interface</em>; it should only be implemented by
* the config library. Arbitrary implementations will not work because the
* library internals assume a specific concrete implementation. Also, this
* interface is likely to grow new methods over time, so third-party
* implementations will break.
*/
class LIBCPP_HOCON_EXPORT config_include_context {
public:
/**
* Tries to find a name relative to whatever is doing the including, for
* example in the same directory as the file doing the including. Returns
* null if it can't meaningfully create a relative name. The returned
* parseable may not exist; this function is not required to do any IO, just
* compute what the name would be.
*
* The passed-in filename has to be a complete name (with extension), not
* just a basename. (Include statements in config files are allowed to give
* just a basename.)
*
* @param filename
* the name to make relative to the resource doing the including
* @return parseable item relative to the resource doing the including, or
* null
*/
virtual shared_parseable relative_to(std::string file_name) const = 0;
/**
* Parse options to use (if you use another method to get a
* {@link config_parseable} then use {@link config_parseable#options()}
* instead though).
*
* @return the parse options
*/
virtual config_parse_options parse_options() const = 0;
};
} // namespace hocon
|