Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2790)

Unified Diff: base/commands.h

Issue 624713003: Keep only base/extractor.[cc|h]. (Closed) Base URL: https://chromium.googlesource.com/external/omaha.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/command_line_validator_unittest.cc ('k') | base/commands.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/commands.h
diff --git a/base/commands.h b/base/commands.h
deleted file mode 100644
index c2a857bd70784a5e8df0ef886661507d3fd43b87..0000000000000000000000000000000000000000
--- a/base/commands.h
+++ /dev/null
@@ -1,159 +0,0 @@
-// Copyright 2005-2009 Google Inc.
-//
-// Licensed 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
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-// ========================================================================
-//
-// Parse command-line options
-//
-// Class CommandParsing supports two kinds of command line options:
-// 1) Traditional option, like "-b -v 100"
-// 2) Name-value-pairs, like "b=&v=100"
-
-#ifndef OMAHA_COMMON_COMMANDS_H_
-#define OMAHA_COMMON_COMMANDS_H_
-
-#include <atlstr.h>
-#include <vector>
-#include "base/basictypes.h"
-
-namespace omaha {
-
-enum ThreeValue {
- VALUE_NOT_SET = 0,
- TRUE_VALUE = 1,
- FALSE_VALUE = 2
-};
-
-enum CommandOptionType {
- COMMAND_OPTION_BOOL = 0x1,
- COMMAND_OPTION_INT = 0x2,
- COMMAND_OPTION_UINT = 0x3,
- COMMAND_OPTION_STRING = 0x4,
- COMMAND_OPTION_THREE = 0x5,
- COMMAND_OPTION_UNESCAPE = 0x1000,
- COMMAND_OPTION_MULTIPLE = 0x2000
-};
-
-#define COMMAND_OPTION_FLAGS_MASK 0x0FFF
-
-struct CommandOption {
- void Init(const TCHAR* name, CommandOptionType type,
- void* value, int max_value_len);
- void Copy(const CommandOption& option);
-
- CString name;
- CommandOptionType type;
- void* value;
- int max_value_len;
-};
-
-class CommandParsingSimple {
- public:
- // Static Helper function that splits a command line
- // string into executable and any arguments
- static HRESULT SplitExeAndArgs(const TCHAR* cmd_line,
- CString* exe,
- CString* args);
-
- // Static Helper function that splits a command line
- // string into executable and any arguments. Tries to
- // guess the positioning of the EXE argument in cases
- // where the EXE argument has spaces and is not enclosed
- // in quotes. For instance, earlier versions of Google Desktop
- // used to have an "Uninstall" string of the form:
- // C:\Program Files\Google\Google Toolbar\GoogleToolbarSetup.exe -uninstall
- // This function is meant to accomodate such cases.
- static HRESULT SplitExeAndArgsGuess(const TCHAR* cmd_line,
- CString* exe,
- CString* args);
-
- // Static Helper function that returns the number of arguments
- // in the passed in cmd_line
- static HRESULT GetNumberOfArgs(const TCHAR* cmd_line, uint32* number_of_args);
-
- // Converted to a string
- HRESULT ToString(CString* cmd_line);
-
- protected:
- // Constructor
- CommandParsingSimple();
-
- // Constructor
- explicit CommandParsingSimple(TCHAR separator);
-
- // Parse a command line string into args
- HRESULT ParseSimple(const TCHAR* cmd_line);
-
- // Get the arg at specified position from the command line
- HRESULT GetAt(uint32 position, CString* arg);
-
- // Remove the arg at specified position from the command line
- HRESULT RemoveAt(uint32 position);
-
- TCHAR separator_; // Separator
- std::vector<CString> args_; // Splitted args
-
-
- private:
- DISALLOW_EVIL_CONSTRUCTORS(CommandParsingSimple);
-};
-
-
-class CommandParsing : public CommandParsingSimple {
- public:
- // Constructor
- CommandParsing(CommandOption* options, int options_count);
-
- CommandParsing(CommandOption* options, int options_count,
- TCHAR separator, bool as_name_value_pair);
-
- // Parse a command line string
- HRESULT Parse(const TCHAR* cmd_line, bool ignore_unknown_args);
-
- // Parse a list of command line arguments
- HRESULT ParseArguments(int argc, TCHAR* argv[]);
-
- // Remove an option from the command line
- HRESULT Remove(const TCHAR* option_name);
-
- private:
- // Internal parsing
- HRESULT InternalParse(bool ignore_unknown_args);
-
- // Extract the name
- HRESULT ExtractName(CString* name, std::vector<CString>::const_iterator* it);
-
- // Extract the value
- // Also validate the value length if necessary
- HRESULT ExtractValue(const CommandOption& option,
- CString* value,
- std::vector<CString>::const_iterator* it,
- const std::vector<CString>::const_iterator& end);
-
- // Set the parsed value
- template<class T>
- static void SetParsedValue(const CommandOption& option, const T& value);
-
- // Helper function to find an option in the CommandOption list
- int FindOption(const TCHAR* option_name);
-
- CommandOption* options_; // Command-line option list
- int options_count_; // Count of command-line options
- bool as_name_value_pair_; // Parse as name-value-pair
-
- DISALLOW_EVIL_CONSTRUCTORS(CommandParsing);
-};
-
-} // namespace omaha
-
-#endif // OMAHA_COMMON_COMMANDS_H_
« no previous file with comments | « base/command_line_validator_unittest.cc ('k') | base/commands.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698