// Copyright (c) 2008 Ole Weidner // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #include #include #include "saga-file.hpp" /////////////////////////////////////////////////////////////////////////////// static int argc_; void printUsage() { std::cout << "Usage: saga-file " << std::endl; std::cout << "" << std::endl; std::cout << " Commands: Options:\n" << std::endl; std::cout << " copy " << std::endl; std::cout << " move " << std::endl; std::cout << " remove " << std::endl; std::cout << "" << std::endl; std::cout << " cat " << std::endl; std::cout << "" << std::endl; std::cout << " list_dir " << std::endl; std::cout << "" << std::endl; std::cout << " (url: scheme://host:port/path/to/file) " << std::endl; std::cout << "" << std::endl; std::cout << "This is a SAGA-based tool for file management." << std::endl; std::cout << "For additional information, see http://saga.cct.lsu.edu."<< std::endl; } void ExitIfArgcLessThan(int n) { if (argc_ < n) { printUsage(); exit(-1); } } /////////////////////////////////////////////////////////////////////////////// int main (int argc, char* argv[]) { argc_ = argc; ExitIfArgcLessThan(2); if(!strcmp(argv[1], "cat")) { ExitIfArgcLessThan(3); file_cat(std::string(argv[2])); } else if(!strcmp(argv[1], "run_test")) { ExitIfArgcLessThan(3); run_test(std::string(argv[2])); } else if(!strcmp(argv[1], "copy")) { ExitIfArgcLessThan(4); file_copy(std::string(argv[2]), std::string(argv[3])); } else if(!strcmp(argv[1], "move")) { ExitIfArgcLessThan(4); file_move(std::string(argv[2]), std::string(argv[3])); } else if(!strcmp(argv[1], "remove")) { ExitIfArgcLessThan(3); file_remove(std::string(argv[2])); } else if(!strcmp(argv[1], "list_dir")) { ExitIfArgcLessThan(3); list_dir(std::string(argv[2])); } else { std::cout << "Unknown command: " << std::string(argv[1]) << std::endl; printUsage(); exit(-1); } return 0; }