/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ #ifndef INCLUDED_CODEMAKER_OPTIONS_HXX #define INCLUDED_CODEMAKER_OPTIONS_HXX #include #include typedef std::unordered_map < ::rtl::OString, ::rtl::OString, OStringHash > OptionMap; class IllegalArgument { public: IllegalArgument(const ::rtl::OString& msg) : m_message(msg) {} ::rtl::OString m_message; }; class Options { public: Options(); virtual ~Options(); virtual bool initOptions(int ac, char* av[], bool bCmdFile=false) throw( IllegalArgument ) = 0; virtual ::rtl::OString prepareHelp() = 0; const ::rtl::OString& getProgramName() const { return m_program;} bool isValid(const ::rtl::OString& option) const; const ::rtl::OString getOption(const ::rtl::OString& option) const throw( IllegalArgument ); const StringVector& getInputFiles() { return m_inputFiles;} inline const StringVector& getExtraInputFiles() const { return m_extra_input_files; } protected: ::rtl::OString m_program; StringVector m_inputFiles; StringVector m_extra_input_files; OptionMap m_options; }; #endif // INCLUDED_CODEMAKER_OPTIONS_HXX /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ lue='distro/collabora/cd-5.3-3.1'>distro/collabora/cd-5.3-3.1 LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2013-06-03re-base on ALv2 code. Includes:Michael Meeks
2013-04-24gbuild: drop uses of removed packagesDavid Tardon
2013-04-05new module i18nlangtagEike Rathke
2013-01-26gbuild: do not copy boost headers aroundMichael Stahl
2012-12-27convert icu to gbuild and add to tail_buildPeter Foley
2012-09-28gbuild: invert handling of standard system libraries:Michael Stahl
2012-09-28gbuild: replace direct gb_STDLIBS use with ...Michael Stahl
2012-09-28gbuild: split uwinapi out of gb_STDLIBSMichael Stahl
2012-07-11Resolves: rhbz#836937 insanely slow with Zemberek installedCaolán McNamara
2012-07-02targetted improvement of UNO API includes / usageMichael Meeks
2012-04-08LinkTarget.mk: remove gb_LinkTarget_add_package_headersMichael Stahl
2012-04-08gbuild: "use" vs. "add":Michael Stahl
2012-03-10gbuild: get rid of realpath in gb_Foo_set_includeMatúš Kukan
2011-11-27remove pch from the include listNorbert Thiebaud
2011-11-27remove pre-compiled header support in gbuild and gbuildified moduleNorbert Thiebaud
2011-09-22callcatcher: remove unused codeCaolán McNamara
2011-08-10prefer makefile-gmake-mode to plain makefile-modeTakeshi Abe
2011-08-04add realpaths for windowsCaolán McNamara
2011-07-30Add consistent Emacs and vim mode linesTor Lillqvist
2011-07-23keep gbuild calls consistent at now, even if it is a bit longerBjoern Michaelsen
2011-07-22postmerge fixes for gnumake4Bjoern Michaelsen
2011-06-20gnumake4: fix buildbreakers from mergeBjoern Michaelsen
2011-06-17gnumake4: #i116959#: kill gb_LinkTarget_set_{defs,cflags,cxxflags,objcxxflags...Michael Stahl
2011-06-17gnumake4: #i117610#: add RepositoryExternal.mk, and use it. [hg:62e2f8dc95a7]Michael Stahl
2011-06-16CWS gnumake4: convert linguistic to new build systemMathias Bauer