// Copyright (c) 2012 The Chromium Embedded Framework Authors. All rights // reserved. Use of this source code is governed by a BSD-style license that // can be found in the LICENSE file. #ifndef CEF_LIBCEF_COMMON_COMMAND_LINE_IMPL_H_ #define CEF_LIBCEF_COMMON_COMMAND_LINE_IMPL_H_ #pragma once #include "include/cef_command_line.h" #include "libcef/common/value_base.h" #include "base/command_line.h" // CefCommandLine implementation class CefCommandLineImpl : public CefValueBase { public: CefCommandLineImpl(base::CommandLine* value, bool will_delete, bool read_only); CefCommandLineImpl(const CefCommandLineImpl&) = delete; CefCommandLineImpl& operator=(const CefCommandLineImpl&) = delete; // CefCommandLine methods. bool IsValid() override; bool IsReadOnly() override; CefRefPtr Copy() override; void InitFromArgv(int argc, const char* const* argv) override; void InitFromString(const CefString& command_line) override; void Reset() override; void GetArgv(std::vector& argv) override; CefString GetCommandLineString() override; CefString GetProgram() override; void SetProgram(const CefString& program) override; bool HasSwitches() override; bool HasSwitch(const CefString& name) override; CefString GetSwitchValue(const CefString& name) override; void GetSwitches(SwitchMap& switches) override; void AppendSwitch(const CefString& name) override; void AppendSwitchWithValue(const CefString& name, const CefString& value) override; bool HasArguments() override; void GetArguments(ArgumentList& arguments) override; void AppendArgument(const CefString& argument) override; void PrependWrapper(const CefString& wrapper) override; // Must hold the controller lock while using this value. const base::CommandLine& command_line() { return const_value(); } }; #endif // CEF_LIBCEF_COMMON_COMMAND_LINE_IMPL_H_