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

Unified Diff: goopdate/download_manager.h

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/download_complete_ping_event_test.cc ('k') | goopdate/download_manager.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: goopdate/download_manager.h
diff --git a/goopdate/download_manager.h b/goopdate/download_manager.h
deleted file mode 100644
index aa842326cb534021a171bba2059b6a63bb6ab3dd..0000000000000000000000000000000000000000
--- a/goopdate/download_manager.h
+++ /dev/null
@@ -1,162 +0,0 @@
-// Copyright 2007-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.
-// ========================================================================
-
-#ifndef OMAHA_GOOPDATE_DOWNLOAD_MANAGER_H_
-#define OMAHA_GOOPDATE_DOWNLOAD_MANAGER_H_
-
-#include <windows.h>
-#include <atlstr.h>
-#include <vector>
-#include "base/basictypes.h"
-#include "base/scoped_ptr.h"
-
-namespace omaha {
-
-class App;
-struct ErrorContext;
-class HttpClient;
-struct Lockable; // TODO(omaha): make Lockable a class.
-class NetworkRequest;
-class Package;
-class PackageCache;
-
-// Public interface for the DownloadManager.
-class DownloadManagerInterface {
- public:
- virtual ~DownloadManagerInterface() {}
- virtual HRESULT Initialize() = 0;
- virtual HRESULT PurgeAppLowerVersions(const CString& app_id,
- const CString& version) = 0;
- virtual HRESULT CachePackage(const Package* package,
- const CString* filename_path) = 0;
- virtual HRESULT DownloadApp(App* app) = 0;
- virtual HRESULT DownloadPackage(Package* package) = 0;
- virtual HRESULT GetPackage(const Package* package,
- const CString& dir) const = 0;
- virtual bool IsPackageAvailable(const Package* package) const = 0;
- virtual void Cancel(App* app) = 0;
- virtual void CancelAll() = 0;
- virtual bool IsBusy() const = 0;
-};
-
-class DownloadManager : public DownloadManagerInterface {
- public:
- explicit DownloadManager(bool is_machine);
- virtual ~DownloadManager();
-
- virtual HRESULT Initialize();
-
- virtual HRESULT PurgeAppLowerVersions(const CString& app_id,
- const CString& version);
-
- virtual HRESULT CachePackage(const Package* package,
- const CString* filename_path);
-
- // Downloads the specified app and stores its packages in the package cache.
- //
- // This is a blocking call. All errors are reported through the return value.
- // Callers may use GetMessageForError() to convert this error value to an
- // error message. Progress is reported via the NetworkRequestCallback
- // method on the Package objects.
- virtual HRESULT DownloadApp(App* app);
-
- // Downloads the specified package and stores it in the package cache.
- virtual HRESULT DownloadPackage(Package* package);
-
- // Retrieves a package from the cache, if the package is locally available.
- virtual HRESULT GetPackage(const Package* package, const CString& dir) const;
-
- // Returns true if the specified package is in the package cache.
- virtual bool IsPackageAvailable(const Package* package) const;
-
- // Cancels the download of specified app and makes DownloadApp return to the
- // caller at some point in the future. Cancel can be called multiple times
- // until the DownloadApp returns.
- virtual void Cancel(App* app);
-
- // Cancels download of all apps currently downloading.
- virtual void CancelAll();
-
- // Returns true if applications are downloading.
- virtual bool IsBusy() const;
-
- // Returns a formatted message for the specified error in given language.
- static CString GetMessageForError(const ErrorContext& error_context,
- const CString& language);
-
- private:
- // Maintains per-app download state.
- class State {
- public:
- State(App* app, NetworkRequest* network_request);
- ~State();
-
- App* app() const { return app_; }
-
- NetworkRequest* network_request() const;
-
- HRESULT CancelNetworkRequest();
-
- private:
- // Not owned by this object.
- App* app_;
-
- scoped_ptr<NetworkRequest> network_request_;
-
- DISALLOW_EVIL_CONSTRUCTORS(State);
- };
-
- // Creates a download state corresponding to the app. The state object is
- // owned by the download manager. A pointer to the state object is returned
- // to the caller.
- HRESULT CreateStateForApp(App* app, State** state);
-
- HRESULT DeleteStateForApp(App* app);
-
- HRESULT DoDownloadPackage(Package* package, State* state);
-
- bool is_machine() const;
-
- CString package_cache_root() const;
-
- PackageCache* package_cache();
- const PackageCache* package_cache() const;
-
- const Lockable& lock() const;
-
- // Returns the full path to a unique filename.
- static HRESULT BuildUniqueFileName(const CString& filename,
- CString* unique_filename);
-
- // Locks shared instance state for concurrent downloads. This lock is
- // owned by this class.
- mutable Lockable* volatile lock_;
-
- bool is_machine_;
-
- // The root of the package_cache.
- CString package_cache_root_;
-
- std::vector<State*> download_state_;
-
- scoped_ptr<PackageCache> package_cache_;
-
- friend class DownloadManagerTest;
- DISALLOW_EVIL_CONSTRUCTORS(DownloadManager);
-};
-
-} // namespace omaha
-
-#endif // OMAHA_GOOPDATE_DOWNLOAD_MANAGER_H_
« no previous file with comments | « goopdate/download_complete_ping_event_test.cc ('k') | goopdate/download_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698