diff options
Diffstat (limited to 'bpkg/rep-info-options.hxx')
-rw-r--r-- | bpkg/rep-info-options.hxx | 183 |
1 files changed, 183 insertions, 0 deletions
diff --git a/bpkg/rep-info-options.hxx b/bpkg/rep-info-options.hxx new file mode 100644 index 0000000..8e040da --- /dev/null +++ b/bpkg/rep-info-options.hxx @@ -0,0 +1,183 @@ +// -*- C++ -*- +// +// This file was generated by CLI, a command line interface +// compiler for C++. +// + +#ifndef BPKG_REP_INFO_OPTIONS_HXX +#define BPKG_REP_INFO_OPTIONS_HXX + +// Begin prologue. +// +// +// End prologue. + +#include <libbpkg/manifest.hxx> + +#include <bpkg/common-options.hxx> + +namespace bpkg +{ + class rep_info_options: public ::bpkg::common_options + { + public: + rep_info_options (); + + // Return true if anything has been parsed. + // + bool + parse (int& argc, + char** argv, + bool erase = false, + ::bpkg::cli::unknown_mode option = ::bpkg::cli::unknown_mode::fail, + ::bpkg::cli::unknown_mode argument = ::bpkg::cli::unknown_mode::stop); + + bool + parse (int start, + int& argc, + char** argv, + bool erase = false, + ::bpkg::cli::unknown_mode option = ::bpkg::cli::unknown_mode::fail, + ::bpkg::cli::unknown_mode argument = ::bpkg::cli::unknown_mode::stop); + + bool + parse (int& argc, + char** argv, + int& end, + bool erase = false, + ::bpkg::cli::unknown_mode option = ::bpkg::cli::unknown_mode::fail, + ::bpkg::cli::unknown_mode argument = ::bpkg::cli::unknown_mode::stop); + + bool + parse (int start, + int& argc, + char** argv, + int& end, + bool erase = false, + ::bpkg::cli::unknown_mode option = ::bpkg::cli::unknown_mode::fail, + ::bpkg::cli::unknown_mode argument = ::bpkg::cli::unknown_mode::stop); + + bool + parse (::bpkg::cli::scanner&, + ::bpkg::cli::unknown_mode option = ::bpkg::cli::unknown_mode::fail, + ::bpkg::cli::unknown_mode argument = ::bpkg::cli::unknown_mode::stop); + + // Merge options from the specified instance appending/overriding + // them as if they appeared after options in this instance. + // + void + merge (const rep_info_options&); + + // Option accessors. + // + const bool& + name () const; + + const bool& + cert_fingerprint () const; + + const bool& + cert_name () const; + + const bool& + cert_organization () const; + + const bool& + cert_email () const; + + const bool& + repositories () const; + + const bool& + packages () const; + + const bool& + manifest () const; + + const bool& + ignore_unknown () const; + + const bool& + deep () const; + + const path& + repositories_file () const; + + bool + repositories_file_specified () const; + + const path& + packages_file () const; + + bool + packages_file_specified () const; + + const repository_type& + type () const; + + bool + type_specified () const; + + const string& + directory () const; + + bool + directory_specified () const; + + // Print usage information. + // + static ::bpkg::cli::usage_para + print_usage (::std::ostream&, + ::bpkg::cli::usage_para = ::bpkg::cli::usage_para::none); + + // Implementation details. + // + protected: + bool + _parse (const char*, ::bpkg::cli::scanner&); + + private: + bool + _parse (::bpkg::cli::scanner&, + ::bpkg::cli::unknown_mode option, + ::bpkg::cli::unknown_mode argument); + + public: + bool name_; + bool cert_fingerprint_; + bool cert_name_; + bool cert_organization_; + bool cert_email_; + bool repositories_; + bool packages_; + bool manifest_; + bool ignore_unknown_; + bool deep_; + path repositories_file_; + bool repositories_file_specified_; + path packages_file_; + bool packages_file_specified_; + repository_type type_; + bool type_specified_; + string directory_; + bool directory_specified_; + }; +} + +// Print page usage information. +// +namespace bpkg +{ + ::bpkg::cli::usage_para + print_bpkg_rep_info_usage (::std::ostream&, + ::bpkg::cli::usage_para = ::bpkg::cli::usage_para::none); +} + +#include <bpkg/rep-info-options.ixx> + +// Begin epilogue. +// +// +// End epilogue. + +#endif // BPKG_REP_INFO_OPTIONS_HXX |