• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef CHROME_BROWSER_DOWNLOAD_SAVE_TYPES_H_
6 #define CHROME_BROWSER_DOWNLOAD_SAVE_TYPES_H_
7 #pragma once
8 
9 #include <string>
10 #include <utility>
11 #include <vector>
12 
13 #include "base/basictypes.h"
14 #include "base/file_path.h"
15 #include "googleurl/src/gurl.h"
16 
17 typedef std::vector<std::pair<int, FilePath> > FinalNameList;
18 typedef std::vector<int> SaveIDList;
19 
20 // This structure is used to handle and deliver some info
21 // when processing each save item job.
22 struct SaveFileCreateInfo {
23   enum SaveFileSource {
24     // This type indicates the source is not set.
25     SAVE_FILE_FROM_UNKNOWN = -1,
26     // This type indicates the save item needs to be retrieved from the network.
27     SAVE_FILE_FROM_NET = 0,
28     // This type indicates the save item needs to be retrieved from serializing
29     // DOM.
30     SAVE_FILE_FROM_DOM,
31     // This type indicates the save item needs to be retrieved from local file
32     // system.
33     SAVE_FILE_FROM_FILE
34   };
35 
36   SaveFileCreateInfo(const FilePath& path,
37                      const GURL& url,
38                      SaveFileSource save_source,
39                      int32 save_id);
40 
41   SaveFileCreateInfo();
42 
43   ~SaveFileCreateInfo();
44 
45   // SaveItem fields.
46   // The local file path of saved file.
47   FilePath path;
48   // Original URL of the saved resource.
49   GURL url;
50   // Final URL of the saved resource since some URL might be redirected.
51   GURL final_url;
52   // The unique identifier for saving job, assigned at creation by
53   // the SaveFileManager for its internal record keeping.
54   int save_id;
55   // IDs for looking up the tab we are associated with.
56   int render_process_id;
57   int render_view_id;
58   // Handle for informing the ResourceDispatcherHost of a UI based cancel.
59   int request_id;
60   // Disposition info from HTTP response.
61   std::string content_disposition;
62   // Total bytes of saved file.
63   int64 total_bytes;
64   // Source type of saved file.
65   SaveFileSource save_source;
66 };
67 
68 #endif  // CHROME_BROWSER_DOWNLOAD_SAVE_TYPES_H_
69