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

Unified Diff: goopdate/app_bundle_state_init.cc

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 | « goopdate/app_bundle_state_init.h ('k') | goopdate/app_bundle_state_initialized.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: goopdate/app_bundle_state_init.cc
diff --git a/goopdate/app_bundle_state_init.cc b/goopdate/app_bundle_state_init.cc
deleted file mode 100644
index 7314cda1e8992cd5b0ed9a4a72a4e7f0a87784d7..0000000000000000000000000000000000000000
--- a/goopdate/app_bundle_state_init.cc
+++ /dev/null
@@ -1,133 +0,0 @@
-// Copyright 2010 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.
-// ========================================================================
-
-#include "omaha/goopdate/app_bundle_state_init.h"
-#include "omaha/base/debug.h"
-#include "omaha/base/error.h"
-#include "omaha/base/logging.h"
-#include "omaha/base/user_rights.h"
-#include "omaha/base/utils.h"
-#include "omaha/common/config_manager.h"
-#include "omaha/common/web_services_client.h"
-#include "omaha/goopdate/app_bundle_state_initialized.h"
-#include "omaha/goopdate/model.h"
-
-namespace omaha {
-
-namespace fsm {
-
-HRESULT AppBundleStateInit::put_altTokens(AppBundle* app_bundle,
- ULONG_PTR impersonation_token,
- ULONG_PTR primary_token,
- DWORD caller_proc_id) {
- CORE_LOG(L3, (_T("[AppBundleStateInit::put_altTokens][0x%p]"), app_bundle));
- ASSERT1(app_bundle);
- ASSERT1(impersonation_token);
- ASSERT1(primary_token);
- ASSERT1(caller_proc_id);
- ASSERT1(app_bundle->model()->IsLockedByCaller());
-
- scoped_handle caller_proc_handle(::OpenProcess(PROCESS_DUP_HANDLE,
- false,
- caller_proc_id));
- if (!get(caller_proc_handle)) {
- return HRESULTFromLastError();
- }
-
- if (app_bundle->alt_impersonation_token_.GetHandle() ||
- app_bundle->alt_primary_token_.GetHandle()) {
- return E_UNEXPECTED;
- }
-
- HRESULT hr = DuplicateTokenIntoCurrentProcess(
- get(caller_proc_handle),
- reinterpret_cast<HANDLE>(impersonation_token),
- &app_bundle->alt_impersonation_token_);
- if (FAILED(hr)) {
- return hr;
- }
-
- return DuplicateTokenIntoCurrentProcess(
- get(caller_proc_handle),
- reinterpret_cast<HANDLE>(primary_token),
- &app_bundle->alt_primary_token_);
-}
-
-HRESULT AppBundleStateInit::put_sessionId(AppBundle* app_bundle,
- BSTR session_id) {
- CORE_LOG(L3, (_T("[AppBundleStateInit::put_sessionId][0x%p]"), app_bundle));
- ASSERT1(app_bundle);
- ASSERT1(app_bundle->model()->IsLockedByCaller());
-
- if (!session_id) {
- return E_POINTER;
- }
-
- ASSERT1(IsGuid(session_id));
-
- app_bundle->session_id_ = session_id;
- return S_OK;
-}
-
-// Captures the caller's imperonation token and uses it to initialize the ping
-// and WebServicesClient objects.
-// It is possible that one user could call this function and another admin user
-// could call subsequent methods with this impersonation token. Since it is only
-// used for network access, this is okay. The primary token, which is used for
-// installation, is only captured by install().
-// The WebServicesClient objects are created here instead of in the constructor
-// because the Initialize() function is not part of WebServicesClientInterface.
-// TODO(omaha): Enforce ordering - initialize must be called before any other
-// non-property functions. This code must move to AppBundleStateInit.
-HRESULT AppBundleStateInit::Initialize(AppBundle* app_bundle) {
- CORE_LOG(L3, (_T("[AppBundleStateInit::Initialize][0x%p]"), app_bundle));
- ASSERT1(app_bundle);
- ASSERT1(app_bundle->model()->IsLockedByCaller());
-
- // Clients should have set these properties before calling this function.
- ASSERT1(!app_bundle->display_name_.IsEmpty());
- ASSERT1(!app_bundle->display_language().IsEmpty());
-
- // If the client hasn't set a session ID before calling this function,
- // generate a random one for them.
- if (app_bundle->session_id_.IsEmpty()) {
- GetGuid(&app_bundle->session_id_);
- }
-
- HRESULT hr = app_bundle->CaptureCallerImpersonationToken();
- if (FAILED(hr)) {
- return hr;
- }
-
- ASSERT1(!app_bundle->update_check_client_.get());
- CString update_check_url;
- VERIFY1(SUCCEEDED(
- ConfigManager::Instance()->GetUpdateCheckUrl(&update_check_url)));
- scoped_ptr<WebServicesClient> web_service_client;
- web_service_client.reset(new WebServicesClient(app_bundle->is_machine()));
- hr = web_service_client->Initialize(update_check_url, HeadersVector(), true);
- if (FAILED(hr)) {
- CORE_LOG(LE, (_T("[Update check client init failed][0x%08x]"), hr));
- return hr;
- }
- app_bundle->update_check_client_.reset(web_service_client.release());
-
- ChangeState(app_bundle, new AppBundleStateInitialized);
- return S_OK;
-}
-
-} // namespace fsm
-
-} // namespace omaha
« no previous file with comments | « goopdate/app_bundle_state_init.h ('k') | goopdate/app_bundle_state_initialized.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698