sandboxed-api/oss-internship-2020/sapi_libarchive/examples/helpers.h

32 lines
1.2 KiB
C
Raw Normal View History

2020-09-09 20:02:40 +08:00
#ifndef SAPI_LIBARCHIVE_HELPERS_H
#define SAPI_LIBARCHIVE_HELPERS_H
2020-09-14 22:39:16 +08:00
#include <glog/logging.h>
2020-09-09 20:02:40 +08:00
#include "sandboxed_api/sandbox2/util.h"
2020-09-14 22:39:16 +08:00
#include "sandboxed_api/sandbox2/util/fileops.h"
#include "sandboxed_api/sandbox2/util/path.h"
#include "libarchive_sapi.sapi.h"
2020-09-09 20:02:40 +08:00
// Used to convert the paths provided as arguments for the program
// (the paths used) to an array of absolute paths. This allows the user
// to use either relative or absolute paths
2020-09-14 22:39:16 +08:00
std::vector<std::string> MakeAbsolutePathsVec(char *argv[]);
// Converts only one string to an absolute path by prepending the current working
// directory to the relative path
std::string MakeAbsolutePathAtCWD(std::string path);
// Calls the archive_error_string and returns the mesage after it was transferred
// to the client process.
// std::string GetErrorString(sapi::v::Ptr *archive, LibarchiveSandbox &sandbox, LibarchiveApi &api);
std::string CheckStatusAndGetString(const sapi::StatusOr<char *> &status, LibarchiveSandbox &sandbox);
// std::string CallFunctionAndGetString(sapi::v::Ptr *archive, LibarchiveSandbox &sandbox,
// LibarchiveApi *api, sapi::StatusOr<char *> (LibarchiveApi::*func)(sapi::v::Ptr *));
2020-09-09 20:02:40 +08:00
#endif // SAPI_LIBARCHIVE_HELPERS_H