mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
- Expose command line parsing support with a new CefCommandLine class (issue #422).
- cefclient: Add the ability to specify CefSettings and CefBrowserSettings values on the command line. git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@378 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
116
include/cef.h
116
include/cef.h
@@ -3751,4 +3751,120 @@ public:
|
||||
virtual bool GetFileNames(std::vector<CefString>& names) =0;
|
||||
};
|
||||
|
||||
|
||||
///
|
||||
// Class used to create and/or parse command line arguments. Arguments with
|
||||
// '--', '-' and, on Windows, '/' prefixes are considered switches. Switches
|
||||
// will always precede any arguments without switch prefixes. Switches can
|
||||
// optionally have a value specified using the '=' delimiter (e.g.
|
||||
// "-switch=value"). An argument of "--" will terminate switch parsing with all
|
||||
// subsequent tokens, regardless of prefix, being interpreted as non-switch
|
||||
// arguments. Switch names are considered case-insensitive. This class can be
|
||||
// used before CefInitialize() is called.
|
||||
///
|
||||
/*--cef(source=library)--*/
|
||||
class CefCommandLine : public virtual CefBase
|
||||
{
|
||||
public:
|
||||
typedef std::vector<CefString> ArgumentList;
|
||||
typedef std::map<CefString,CefString> SwitchMap;
|
||||
///
|
||||
// Create a new CefCommandLine instance.
|
||||
///
|
||||
/*--cef()--*/
|
||||
static CefRefPtr<CefCommandLine> CreateCommandLine();
|
||||
|
||||
///
|
||||
// Initialize the command line with the specified |argc| and |argv| values.
|
||||
// The first argument must be the name of the program. This method is only
|
||||
// supported on non-Windows platforms.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual void InitFromArgv(int argc, const char* const* argv) =0;
|
||||
|
||||
///
|
||||
// Initialize the command line with the string returned by calling
|
||||
// GetCommandLineW(). This method is only supported on Windows.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual void InitFromString(const CefString& command_line) =0;
|
||||
|
||||
///
|
||||
// Constructs and returns the represented command line string. Use this method
|
||||
// cautiously because quoting behavior is unclear.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual CefString GetCommandLineString() =0;
|
||||
|
||||
///
|
||||
// Get the program part of the command line string (the first item).
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual CefString GetProgram() =0;
|
||||
|
||||
///
|
||||
// Set the program part of the command line string (the first item).
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual void SetProgram(const CefString& program) =0;
|
||||
|
||||
///
|
||||
// Returns true if the command line has switches.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual bool HasSwitches() =0;
|
||||
|
||||
///
|
||||
// Returns true if the command line contains the given switch.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual bool HasSwitch(const CefString& name) =0;
|
||||
|
||||
///
|
||||
// Returns the value associated with the given switch. If the switch has no
|
||||
// value or isn't present this method returns the empty string.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual CefString GetSwitchValue(const CefString& name) =0;
|
||||
|
||||
///
|
||||
// Returns the map of switch names and values. If a switch has no value an
|
||||
// empty string is returned.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual void GetSwitches(SwitchMap& switches) =0;
|
||||
|
||||
///
|
||||
// Add a switch to the end of the command line. If the switch has no value
|
||||
// pass an empty value string.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual void AppendSwitch(const CefString& name) =0;
|
||||
|
||||
///
|
||||
// Add a switch with the specified value to the end of the command line.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual void AppendSwitchWithValue(const CefString& name,
|
||||
const CefString& value) =0;
|
||||
|
||||
///
|
||||
// True if there are remaining command line arguments.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual bool HasArguments() =0;
|
||||
|
||||
///
|
||||
// Get the remaining command line arguments.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual void GetArguments(ArgumentList& arguments) =0;
|
||||
|
||||
///
|
||||
// Add an argument to the end of the command line.
|
||||
///
|
||||
/*--cef()--*/
|
||||
virtual void AppendArgument(const CefString& argument) =0;
|
||||
};
|
||||
|
||||
#endif // _CEF_H
|
||||
|
@@ -3541,6 +3541,123 @@ typedef struct _cef_drag_data_t
|
||||
} cef_drag_data_t;
|
||||
|
||||
|
||||
///
|
||||
// Structure used to create and/or parse command line arguments. Arguments with
|
||||
// '--', '-' and, on Windows, '/' prefixes are considered switches. Switches
|
||||
// will always precede any arguments without switch prefixes. Switches can
|
||||
// optionally have a value specified using the '=' delimiter (e.g.
|
||||
// "-switch=value"). An argument of "--" will terminate switch parsing with all
|
||||
// subsequent tokens, regardless of prefix, being interpreted as non-switch
|
||||
// arguments. Switch names are considered case-insensitive. This structure can
|
||||
// be used before cef_initialize() is called.
|
||||
///
|
||||
typedef struct _cef_command_line_t
|
||||
{
|
||||
// Base structure.
|
||||
cef_base_t base;
|
||||
|
||||
///
|
||||
// Initialize the command line with the specified |argc| and |argv| values.
|
||||
// The first argument must be the name of the program. This function is only
|
||||
// supported on non-Windows platforms.
|
||||
///
|
||||
void (CEF_CALLBACK *init_from_argv)(struct _cef_command_line_t* self,
|
||||
int argc, const char* const* argv);
|
||||
|
||||
///
|
||||
// Initialize the command line with the string returned by calling
|
||||
// GetCommandLineW(). This function is only supported on Windows.
|
||||
///
|
||||
void (CEF_CALLBACK *init_from_string)(struct _cef_command_line_t* self,
|
||||
const cef_string_t* command_line);
|
||||
|
||||
///
|
||||
// Constructs and returns the represented command line string. Use this
|
||||
// function cautiously because quoting behavior is unclear.
|
||||
///
|
||||
// The resulting string must be freed by calling cef_string_userfree_free().
|
||||
cef_string_userfree_t (CEF_CALLBACK *get_command_line_string)(
|
||||
struct _cef_command_line_t* self);
|
||||
|
||||
///
|
||||
// Get the program part of the command line string (the first item).
|
||||
///
|
||||
// The resulting string must be freed by calling cef_string_userfree_free().
|
||||
cef_string_userfree_t (CEF_CALLBACK *get_program)(
|
||||
struct _cef_command_line_t* self);
|
||||
|
||||
///
|
||||
// Set the program part of the command line string (the first item).
|
||||
///
|
||||
void (CEF_CALLBACK *set_program)(struct _cef_command_line_t* self,
|
||||
const cef_string_t* program);
|
||||
|
||||
///
|
||||
// Returns true (1) if the command line has switches.
|
||||
///
|
||||
int (CEF_CALLBACK *has_switches)(struct _cef_command_line_t* self);
|
||||
|
||||
///
|
||||
// Returns true (1) if the command line contains the given switch.
|
||||
///
|
||||
int (CEF_CALLBACK *has_switch)(struct _cef_command_line_t* self,
|
||||
const cef_string_t* name);
|
||||
|
||||
///
|
||||
// Returns the value associated with the given switch. If the switch has no
|
||||
// value or isn't present this function returns the NULL string.
|
||||
///
|
||||
// The resulting string must be freed by calling cef_string_userfree_free().
|
||||
cef_string_userfree_t (CEF_CALLBACK *get_switch_value)(
|
||||
struct _cef_command_line_t* self, const cef_string_t* name);
|
||||
|
||||
///
|
||||
// Returns the map of switch names and values. If a switch has no value an
|
||||
// NULL string is returned.
|
||||
///
|
||||
void (CEF_CALLBACK *get_switches)(struct _cef_command_line_t* self,
|
||||
cef_string_map_t switches);
|
||||
|
||||
///
|
||||
// Add a switch to the end of the command line. If the switch has no value
|
||||
// pass an NULL value string.
|
||||
///
|
||||
void (CEF_CALLBACK *append_switch)(struct _cef_command_line_t* self,
|
||||
const cef_string_t* name);
|
||||
|
||||
///
|
||||
// Add a switch with the specified value to the end of the command line.
|
||||
///
|
||||
void (CEF_CALLBACK *append_switch_with_value)(
|
||||
struct _cef_command_line_t* self, const cef_string_t* name,
|
||||
const cef_string_t* value);
|
||||
|
||||
///
|
||||
// True if there are remaining command line arguments.
|
||||
///
|
||||
int (CEF_CALLBACK *has_arguments)(struct _cef_command_line_t* self);
|
||||
|
||||
///
|
||||
// Get the remaining command line arguments.
|
||||
///
|
||||
void (CEF_CALLBACK *get_arguments)(struct _cef_command_line_t* self,
|
||||
cef_string_list_t arguments);
|
||||
|
||||
///
|
||||
// Add an argument to the end of the command line.
|
||||
///
|
||||
void (CEF_CALLBACK *append_argument)(struct _cef_command_line_t* self,
|
||||
const cef_string_t* argument);
|
||||
|
||||
} cef_command_line_t;
|
||||
|
||||
|
||||
///
|
||||
// Create a new cef_command_line_t instance.
|
||||
///
|
||||
CEF_EXPORT cef_command_line_t* cef_command_line_create();
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user