blob: 4c0160022017ce28b23c277539876b0509a61c45 [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "tools/win/chromeexts/chrome_exts_command.h"
#include "base/logging.h"
namespace tools {
namespace win {
namespace chromeexts {
ChromeExtsCommand::~ChromeExtsCommand() = default;
ChromeExtsCommand::ChromeExtsCommand() = default;
HRESULT ChromeExtsCommand::Initialize(IDebugClient* debug_client,
const char* args) {
DCHECK(debug_client);
DCHECK(args);
args_ = args;
debug_client_ = debug_client;
HRESULT hr = debug_client_->QueryInterface(IID_PPV_ARGS(&debug_control_));
if (FAILED(hr)) {
return hr;
}
return S_OK;
}
HRESULT ChromeExtsCommand::Printf(const char* format, ...) {
va_list ap;
va_start(ap, format);
HRESULT hr = PrintV(format, ap);
va_end(ap);
return hr;
}
HRESULT ChromeExtsCommand::PrintV(const char* format, va_list ap) {
return debug_control_->OutputVaList(DEBUG_OUTPUT_NORMAL, format, ap);
}
HRESULT ChromeExtsCommand::PrintErrorf(const char* format, ...) {
va_list ap;
va_start(ap, format);
HRESULT hr = PrintErrorV(format, ap);
va_end(ap);
return hr;
}
HRESULT ChromeExtsCommand::PrintErrorV(const char* format, va_list ap) {
return debug_control_->OutputVaList(DEBUG_OUTPUT_ERROR, format, ap);
}
} // namespace chromeexts
} // namespace win
} // namespace tools