/usr/include/pbcopper/cli/CLI.h is in libpbcopper-dev 0.0.1+20161202-2.
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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | #ifndef PBCOPPER_CLI_CLI_H
#define PBCOPPER_CLI_CLI_H
#include "pbcopper/Config.h"
#include "pbcopper/cli/Interface.h"
#include "pbcopper/cli/Results.h"
#include <functional>
#include <iosfwd>
#include <string>
#include <vector>
/// So applications's main.cpp contains something like:
///
/// #include "BlasrSettings.h" // for settings struct
/// #include "BlasrEntry.h" // app entry point that takes the settings & starts working
///
/// static PacBio::CLI::Interface makeBlasrInterface(void)
/// {
/// // sets up interface object with options
/// }
///
/// static int blasrRunner(const PacBio::CLI::Results& args)
/// {
/// // extract options from args -> settings
/// //
/// // if interface was configured w/ tool contract support, args may be from
/// // cmd-line OR resolved tool contract, but the application shouldn't actually
/// // care or be concerned with that
/// //
///
/// BlasrSettings s;
/// s.foo = args["foo"];
/// // ...
///
/// // start the application's real work & return success/fail, a la main()
/// return blasrEntry(s);
/// }
///
/// int main(int argc, char* argv[])
/// {
/// return PacBio::CLI::Run(argc, argv,
/// makeBlasrInterface(),
/// &blasrRunner);
/// }
///
namespace PacBio {
namespace CLI {
///
/// \brief ResultsHandler
///
typedef std::function<int(const PacBio::CLI::Results&)> ResultsHandler;
///
/// \brief PrintHelp
/// \param interface
/// \param out
///
void PrintHelp(const Interface& interface, std::ostream& out);
///
/// \brief PrintVersion
/// \param interface
/// \param out
///
void PrintVersion(const Interface& interface, std::ostream& out);
// TODO: add logging input here
///
/// \brief Run
/// \param argc
/// \param argv
/// \param interface
/// \param handler
/// \return
///
int Run(int argc, char* argv[],
const Interface& interface,
const ResultsHandler& handler);
///
/// \brief Run
/// \param args
/// \param interface
/// \param handler
/// \return
///
int Run(const std::vector<std::string>& args,
const Interface& interface,
const ResultsHandler& handler);
} // namespace CLI
} // namespace PacBio
#endif // PBCOPPER_CLI_CLI_H
|