1 #ifndef IPFS_RESOLUTION_STATE_H_
2 #define IPFS_RESOLUTION_STATE_H_
4 #include <ipfs_client/ipld/dag_headers.h>
5 #include <ipfs_client/response_semantic.h>
7 #include <vocab/slash_delimited.h>
16 namespace ipfs::ipld {
18 using NodePtr = std::shared_ptr<DagNode>;
19 using BlockLookup = std::function<NodePtr(std::string
const&)>;
22 std::string resolved_path_components;
24 ResponseSemantic semantic_;
25 BlockLookup get_available_block;
39 bool IsFinalComponent()
const;
40 std::string NextComponent(
Client*)
const;
41 NodePtr GetBlock(std::string
const& block_key)
const;
45 ResponseSemantic Semantic()
const;
Interface that provides functionality from whatever environment you're using this library in.
Definition: client.h:42
Definition: resolution_state.h:21
ResolutionState(SlashDelimited path_to_resolve, ResponseSemantic semantic, BlockLookup lookup)
Definition: slash_delimited.h:15