command line processing for thin_restore
This commit is contained in:
		@@ -2,16 +2,62 @@
 | 
			
		||||
 | 
			
		||||
#include "metadata.h"
 | 
			
		||||
 | 
			
		||||
#include <boost/program_options.hpp>
 | 
			
		||||
 | 
			
		||||
using namespace persistent_data;
 | 
			
		||||
using namespace std;
 | 
			
		||||
using namespace thin_provisioning;
 | 
			
		||||
 | 
			
		||||
namespace po = boost::program_options;
 | 
			
		||||
 | 
			
		||||
//----------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
namespace {
 | 
			
		||||
	void restore(string const &backup_file, string const &dev) {
 | 
			
		||||
		cerr << "not implemented" << endl;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	void usage(po::options_description const &desc) {
 | 
			
		||||
		cerr << "Usage: thin_restore [options]" << endl << endl;
 | 
			
		||||
		cerr << desc;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int main(int argc, char **argv)
 | 
			
		||||
{
 | 
			
		||||
	cerr << "not implemented yet" << endl;
 | 
			
		||||
	po::options_description desc("Options");
 | 
			
		||||
	desc.add_options()
 | 
			
		||||
		("help", "Produce help message")
 | 
			
		||||
		("input,i", po::value<string>(), "Input file")
 | 
			
		||||
		("output,o", po::value<string>(), "Output file")
 | 
			
		||||
		;
 | 
			
		||||
 | 
			
		||||
	po::variables_map vm;
 | 
			
		||||
	po::store(po::command_line_parser(argc, argv).options(desc).run(), vm);
 | 
			
		||||
	po::notify(vm);
 | 
			
		||||
 | 
			
		||||
	if (vm.count("help")) {
 | 
			
		||||
		usage(desc);
 | 
			
		||||
		return 0;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (vm.count("input") != 1) {
 | 
			
		||||
		cerr << "No input file provided." << endl;
 | 
			
		||||
		usage(desc);
 | 
			
		||||
		return 1;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (vm.count("output") != 1) {
 | 
			
		||||
		cerr << "No output file provided." << endl;
 | 
			
		||||
		usage(desc);
 | 
			
		||||
		return 1;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	restore(vm["input"].as<string>(),
 | 
			
		||||
		vm["output"].as<string>());
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//----------------------------------------------------------------
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user