// ***************************************************************************** // Main int main(int argc, char* const argv[]) { #ifdef EXV_ENABLE_NLS setlocale(LC_ALL, ""); bindtextdomain(EXV_PACKAGE, EXV_LOCALEDIR); textdomain(EXV_PACKAGE); #endif // Handle command line arguments Params& params = Params::instance(); if (params.getopt(argc, argv)) { params.usage(); return 1; } if (params.help_) { params.help(); return 0; } if (params.version_) { params.version(params.verbose_); return 0; } // Create the required action class Action::TaskFactory& taskFactory = Action::TaskFactory::instance(); Action::Task::AutoPtr task = taskFactory.create(Action::TaskType(params.action_)); assert(task.get()); // Process all files int rc = 0; int n = 1; int s = static_cast<int>(params.files_.size()); int w = s > 9 ? s > 99 ? 3 : 2 : 1; for (Params::Files::const_iterator i = params.files_.begin(); i != params.files_.end(); ++i) { if (params.verbose_) { std::cout << _("File") << " " << std::setw(w) << std::right << n++ << "/" << s << ": " << *i << std::endl; } int ret = task->run(*i); if (rc == 0) rc = ret; } taskFactory.cleanup(); params.cleanup(); Exiv2::XmpParser::terminate(); // Return a positive one byte code for better consistency across platforms return static_cast<unsigned int>(rc) % 256; } // main
// ***************************************************************************** // Main int main(int argc, char* const argv[]) { #ifdef EXV_ENABLE_NLS setlocale(LC_ALL, ""); bindtextdomain(EXV_PACKAGE, EXV_LOCALEDIR); textdomain(EXV_PACKAGE); #endif // Handle command line arguments Params& params = Params::instance(); if (params.getopt(argc, argv)) { params.usage(); return 1; } if (params.help_) { params.help(); return 0; } if (params.version_) { params.version(); return 0; } // Create the required action class Action::TaskFactory& taskFactory = Action::TaskFactory::instance(); Action::Task::AutoPtr task = taskFactory.create(Action::TaskType(params.action_)); assert(task.get()); // Process all files int n = 1; int s = static_cast<int>(params.files_.size()); int w = s > 9 ? s > 99 ? 3 : 2 : 1; Params::Files::const_iterator e = params.files_.end(); for (Params::Files::const_iterator i = params.files_.begin(); i != e; ++i) { if (params.verbose_) { std::cout << _("File") << " " << std::setw(w) << n++ << "/" << s << ": " << *i << std::endl; } task->run(*i); } taskFactory.cleanup(); params.cleanup(); return 0; } // main
// ***************************************************************************** // Main int main(int argc, char* const argv[]) { // Handle command line arguments Params& params = Params::instance(); if (params.getopt(argc, argv)) { params.usage(); return 1; } if (params.help_) { params.help(); return 0; } if (params.version_) { params.version(); return 0; } // Create the required action class Action::TaskFactory& taskFactory = Action::TaskFactory::instance(); Action::Task::AutoPtr task = taskFactory.create(Action::TaskType(params.action_)); assert(task.get()); // Process all files int n = 1; int s = static_cast<int>(params.files_.size()); int w = s > 9 ? s > 99 ? 3 : 2 : 1; Params::Files::const_iterator e = params.files_.end(); for (Params::Files::const_iterator i = params.files_.begin(); i != e; ++i) { if (params.verbose_) { std::cout << "File " << std::setw(w) << n++ << "/" << s << ": " << *i << std::endl; } task->run(*i); } return 0; } // main