1bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanagi/* 2bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanagi * Copyright (C) 2014 The Android Open Source Project 3bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanagi * 4bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanagi * Licensed under the Apache License, Version 2.0 (the "License"); 5bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanagi * you may not use this file except in compliance with the License. 6bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanagi * You may obtain a copy of the License at 7bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanagi * 8bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanagi * http://www.apache.org/licenses/LICENSE-2.0 9bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanagi * 10bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanagi * Unless required by applicable law or agreed to in writing, software 11bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanagi * distributed under the License is distributed on an "AS IS" BASIS, 12bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanagi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanagi * See the License for the specific language governing permissions and 14bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanagi * limitations under the License. 15bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanagi */ 16bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanagi 17bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanagi#include "command_executors/diff_executor.h" 18bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanagi 19bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanagi#include <cstdio> 20bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanagi 21bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanaginamespace latinime { 22bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanaginamespace dicttoolkit { 23bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanagi 24bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanagiconst char *const DiffExecutor::COMMAND_NAME = "diff"; 25bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanagi 26bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanagi/* static */ int DiffExecutor::run(const int argc, char **argv) { 27bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanagi fprintf(stderr, "Command '%s' has not been implemented yet.\n", COMMAND_NAME); 28bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanagi return 0; 29bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanagi} 30bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanagi 31395f6e702066b65f05c45d2b92cd4baab3dd62cbKeisuke Kuroyanagi/* static */ void DiffExecutor::printUsage() { 32395f6e702066b65f05c45d2b92cd4baab3dd62cbKeisuke Kuroyanagi printf("*** %s\n", COMMAND_NAME); 3379273b04772824a8c547e1a8d33900040a03264bKeisuke Kuroyanagi getArgumentsParser().printUsage(COMMAND_NAME, "Shows differences between two dictionaries."); 3479273b04772824a8c547e1a8d33900040a03264bKeisuke Kuroyanagi} 3579273b04772824a8c547e1a8d33900040a03264bKeisuke Kuroyanagi 3679273b04772824a8c547e1a8d33900040a03264bKeisuke Kuroyanagi/* static */ const ArgumentsParser DiffExecutor::getArgumentsParser() { 3779273b04772824a8c547e1a8d33900040a03264bKeisuke Kuroyanagi std::unordered_map<std::string, OptionSpec> optionSpecs; 3879273b04772824a8c547e1a8d33900040a03264bKeisuke Kuroyanagi optionSpecs["p"] = OptionSpec::switchOption("(plumbing) produce output suitable for a script"); 3979273b04772824a8c547e1a8d33900040a03264bKeisuke Kuroyanagi 4079273b04772824a8c547e1a8d33900040a03264bKeisuke Kuroyanagi const std::vector<ArgumentSpec> argumentSpecs = { 4179273b04772824a8c547e1a8d33900040a03264bKeisuke Kuroyanagi ArgumentSpec::singleArgument("dict1", "dictionary file"), 4279273b04772824a8c547e1a8d33900040a03264bKeisuke Kuroyanagi ArgumentSpec::singleArgument("dict2", "dictionary file") 4379273b04772824a8c547e1a8d33900040a03264bKeisuke Kuroyanagi }; 4479273b04772824a8c547e1a8d33900040a03264bKeisuke Kuroyanagi 4579273b04772824a8c547e1a8d33900040a03264bKeisuke Kuroyanagi return ArgumentsParser(std::move(optionSpecs), std::move(argumentSpecs)); 46395f6e702066b65f05c45d2b92cd4baab3dd62cbKeisuke Kuroyanagi} 47395f6e702066b65f05c45d2b92cd4baab3dd62cbKeisuke Kuroyanagi 48bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanagi} // namespace dicttoolkit 49bd48963bdf20aa58b2f4d0cca762aba0f2917858Keisuke Kuroyanagi} // namespace latinime 50