Skip to content

Commit

Permalink
Remove implicit HANDLE conversions from cloud_print.
Browse files Browse the repository at this point in the history
BUG=416722
R=gene@chromium.org

Review URL: https://codereview.chromium.org/606443003

Cr-Commit-Position: refs/heads/master@{#296582}
  • Loading branch information
rvargas authored and Commit bot committed Sep 25, 2014
1 parent a902305 commit 2ca0f9c
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 25 deletions.
8 changes: 4 additions & 4 deletions cloud_print/service/win/chrome_launcher.cc
Original file line number Diff line number Diff line change
Expand Up @@ -224,15 +224,15 @@ void ChromeLauncher::Run() {
DWORD thread_id = 0;
LaunchProcess(cmd, &chrome_handle, &thread_id);

HANDLE handles[] = {stop_event_.handle(), chrome_handle};
HANDLE handles[] = { stop_event_.handle(), chrome_handle.Get() };
DWORD wait_result = WAIT_TIMEOUT;
while (wait_result == WAIT_TIMEOUT) {
cloud_print::SetGoogleUpdateUsage(kGoogleUpdateId);
wait_result = ::WaitForMultipleObjects(arraysize(handles), handles,
FALSE, kUsageUpdateTimeoutMs);
}
if (wait_result == WAIT_OBJECT_0) {
ShutdownChrome(chrome_handle, thread_id);
ShutdownChrome(chrome_handle.Get(), thread_id);
break;
} else if (wait_result == WAIT_OBJECT_0 + 1) {
LOG(ERROR) << "Chrome process exited.";
Expand Down Expand Up @@ -302,7 +302,7 @@ std::string ChromeLauncher::CreateServiceStateFile(
}

for (;;) {
DWORD wait_result = ::WaitForSingleObject(chrome_handle, 500);
DWORD wait_result = ::WaitForSingleObject(chrome_handle.Get(), 500);
std::string json = ReadAndUpdateServiceState(temp_user_data.path(),
proxy_id);
if (wait_result == WAIT_OBJECT_0) {
Expand All @@ -315,7 +315,7 @@ std::string ChromeLauncher::CreateServiceStateFile(
}
if (!json.empty()) {
// Close chrome because Service State is ready.
CloseChrome(chrome_handle, thread_id);
CloseChrome(chrome_handle.Get(), thread_id);
return json;
}
}
Expand Down
32 changes: 17 additions & 15 deletions cloud_print/service/win/service_controller.cc
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ HRESULT OpenService(const base::string16& name, DWORD access,
if (FAILED(hr))
return hr;

service->Set(::OpenService(scm, name.c_str(), access));
service->Set(::OpenService(scm.Get(), name.c_str(), access));

if (!service->IsValid())
return cloud_print::GetLastHResult();
Expand All @@ -95,10 +95,10 @@ HRESULT ServiceController::StartService() {
&service);
if (FAILED(hr))
return hr;
if (!::StartService(service, 0, NULL))
if (!::StartService(service.Get(), 0, NULL))
return cloud_print::GetLastHResult();
SERVICE_STATUS status = {0};
while (::QueryServiceStatus(service, &status) &&
while (::QueryServiceStatus(service.Get(), &status) &&
status.dwCurrentState == SERVICE_START_PENDING) {
Sleep(100);
}
Expand All @@ -112,12 +112,12 @@ HRESULT ServiceController::StopService() {
if (FAILED(hr))
return hr;
SERVICE_STATUS status = {0};
if (!::ControlService(service, SERVICE_CONTROL_STOP, &status))
if (!::ControlService(service.Get(), SERVICE_CONTROL_STOP, &status))
return cloud_print::GetLastHResult();
while (::QueryServiceStatus(service, &status) &&
while (::QueryServiceStatus(service.Get(), &status) &&
status.dwCurrentState > SERVICE_STOPPED) {
Sleep(500);
::ControlService(service, SERVICE_CONTROL_STOP, &status);
::ControlService(service.Get(), SERVICE_CONTROL_STOP, &status);
}
return S_OK;
}
Expand Down Expand Up @@ -197,7 +197,7 @@ HRESULT ServiceController::InstallService(const base::string16& user,
cloud_print::LoadLocalString(IDS_SERVICE_DISPLAY_NAME);
ServiceHandle service(
::CreateService(
scm, name_.c_str(), display_name.c_str(), SERVICE_ALL_ACCESS,
scm.Get(), name_.c_str(), display_name.c_str(), SERVICE_ALL_ACCESS,
SERVICE_WIN32_OWN_PROCESS,
auto_start ? SERVICE_AUTO_START : SERVICE_DEMAND_START,
SERVICE_ERROR_NORMAL, command_line.GetCommandLineString().c_str(),
Expand All @@ -213,7 +213,8 @@ HRESULT ServiceController::InstallService(const base::string16& user,
cloud_print::LoadLocalString(IDS_SERVICE_DESCRIPTION);
SERVICE_DESCRIPTION description = {0};
description.lpDescription = const_cast<wchar_t*>(description_string.c_str());
::ChangeServiceConfig2(service, SERVICE_CONFIG_DESCRIPTION, &description);
::ChangeServiceConfig2(service.Get(), SERVICE_CONFIG_DESCRIPTION,
&description);

return S_OK;
}
Expand All @@ -224,8 +225,8 @@ HRESULT ServiceController::UninstallService() {
ServiceHandle service;
OpenService(name_, SERVICE_STOP | DELETE, &service);
HRESULT hr = S_FALSE;
if (service) {
if (!::DeleteService(service)) {
if (service.IsValid()) {
if (!::DeleteService(service.Get())) {
LOG(ERROR) << "Failed to uninstall service";
hr = cloud_print::GetLastHResult();
}
Expand All @@ -250,8 +251,8 @@ HRESULT ServiceController::UpdateBinaryPath() {
return HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND);

command_line_.SetProgram(service_path);
if (!::ChangeServiceConfig(service, SERVICE_NO_CHANGE, SERVICE_NO_CHANGE,
SERVICE_NO_CHANGE,
if (!::ChangeServiceConfig(service.Get(), SERVICE_NO_CHANGE,
SERVICE_NO_CHANGE, SERVICE_NO_CHANGE,
command_line_.GetCommandLineString().c_str(), NULL,
NULL, NULL, NULL, NULL, NULL)) {
return cloud_print::GetLastHResult();
Expand Down Expand Up @@ -284,20 +285,21 @@ void ServiceController::UpdateState() {

state_ = STATE_STOPPED;
SERVICE_STATUS status = {0};
if (::QueryServiceStatus(service, &status) &&
if (::QueryServiceStatus(service.Get(), &status) &&
status.dwCurrentState == SERVICE_RUNNING) {
state_ = STATE_RUNNING;
}

DWORD config_size = 0;
::QueryServiceConfig(service, NULL, 0, &config_size);
::QueryServiceConfig(service.Get(), NULL, 0, &config_size);
if (!config_size)
return;

std::vector<uint8> buffer(config_size, 0);
QUERY_SERVICE_CONFIG* config =
reinterpret_cast<QUERY_SERVICE_CONFIG*>(&buffer[0]);
if (!::QueryServiceConfig(service, config, buffer.size(), &config_size) ||
if (!::QueryServiceConfig(service.Get(), config, buffer.size(),
&config_size) ||
config_size != buffer.size()) {
return;
}
Expand Down
2 changes: 1 addition & 1 deletion cloud_print/service/win/service_listener.cc
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ void ServiceListener::Connect() {
SECURITY_SQOS_PRESENT | SECURITY_IDENTIFICATION |
FILE_FLAG_OVERLAPPED, NULL));
if (handle.IsValid()) {
channel_ = IPC::Channel::CreateClient(IPC::ChannelHandle(handle),
channel_ = IPC::Channel::CreateClient(IPC::ChannelHandle(handle.Get()),
this);
channel_->Connect();
} else {
Expand Down
2 changes: 1 addition & 1 deletion cloud_print/service/win/setup_listener.cc
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ void SetupListener::Connect(const base::string16& user) {
IPC::Channel::kReadBufferSize,
IPC::Channel::kReadBufferSize, 5000, &attribs));
if (pipe.IsValid()) {
channel_ = IPC::Channel::CreateServer(IPC::ChannelHandle(pipe),
channel_ = IPC::Channel::CreateServer(IPC::ChannelHandle(pipe.Get()),
this);
channel_->Connect();
}
Expand Down
2 changes: 1 addition & 1 deletion cloud_print/virtual_driver/win/install/setup.cc
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ HRESULT RegisterPortMonitor(bool install, const base::FilePath& install_path) {

DWORD exit_code = S_OK;
if (install) {
if (!GetExitCodeProcess(regsvr32_handle, &exit_code)) {
if (!GetExitCodeProcess(regsvr32_handle.Get(), &exit_code)) {
LOG(ERROR) << "Unable to get regsvr32.exe exit code.";
return GetLastHResult();
}
Expand Down
6 changes: 3 additions & 3 deletions cloud_print/virtual_driver/win/port_monitor/port_monitor.cc
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ bool LaunchPrintDialog(const base::FilePath& xps_path,
command_line.AppendSwitchNative(switches::kCloudPrintFileType, kXpsMimeType);
command_line.AppendSwitchNative(switches::kCloudPrintJobTitle, job_title);
base::LaunchOptions options;
options.as_user = primary_token_scoped;
options.as_user = primary_token_scoped.Get();
base::LaunchProcess(command_line, options, NULL);
return true;
}
Expand All @@ -246,7 +246,7 @@ void LaunchChromeDownloadPage() {
command_line.AppendArg(kChromeInstallUrl);

base::LaunchOptions options;
options.as_user = token_scoped;
options.as_user = token_scoped.Get();
base::LaunchProcess(command_line, options, NULL);
}

Expand All @@ -264,7 +264,7 @@ bool ValidateCurrentUser() {
if (base::win::GetVersion() >= base::win::VERSION_VISTA) {
DWORD session_id = 0;
DWORD dummy;
if (!GetTokenInformation(token_scoped,
if (!GetTokenInformation(token_scoped.Get(),
TokenSessionId,
reinterpret_cast<void *>(&session_id),
sizeof(DWORD),
Expand Down

0 comments on commit 2ca0f9c

Please sign in to comment.