OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef PRINTING_PRINTED_DOCUMENT_H_ | 5 #ifndef PRINTING_PRINTED_DOCUMENT_H_ |
6 #define PRINTING_PRINTED_DOCUMENT_H_ | 6 #define PRINTING_PRINTED_DOCUMENT_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 | 9 |
10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
11 #include "base/string16.h" | 11 #include "base/string16.h" |
12 #include "base/synchronization/lock.h" | 12 #include "base/synchronization/lock.h" |
13 #include "printing/print_settings.h" | 13 #include "printing/print_settings.h" |
14 #include "ui/gfx/native_widget_types.h" | 14 #include "ui/gfx/native_widget_types.h" |
15 | 15 |
| 16 class MessageLoop; |
| 17 |
| 18 namespace base { |
16 class FilePath; | 19 class FilePath; |
17 class MessageLoop; | 20 } |
18 | 21 |
19 namespace printing { | 22 namespace printing { |
20 | 23 |
21 class Metafile; | 24 class Metafile; |
22 class PrintedPage; | 25 class PrintedPage; |
23 class PrintedPagesSource; | 26 class PrintedPagesSource; |
24 class PrintingContext; | 27 class PrintingContext; |
25 | 28 |
26 // A collection of rendered pages. The settings are immutable. If the print | 29 // A collection of rendered pages. The settings are immutable. If the print |
27 // settings are changed, a new PrintedDocument must be created. | 30 // settings are changed, a new PrintedDocument must be created. |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
86 // Note: locks for a short amount of time. | 89 // Note: locks for a short amount of time. |
87 int expected_page_count() const; | 90 int expected_page_count() const; |
88 | 91 |
89 // Getters. All these items are immutable hence thread-safe. | 92 // Getters. All these items are immutable hence thread-safe. |
90 const PrintSettings& settings() const { return immutable_.settings_; } | 93 const PrintSettings& settings() const { return immutable_.settings_; } |
91 const string16& name() const { return immutable_.name_; } | 94 const string16& name() const { return immutable_.name_; } |
92 int cookie() const { return immutable_.cookie_; } | 95 int cookie() const { return immutable_.cookie_; } |
93 | 96 |
94 // Sets a path where to dump printing output files for debugging. If never set | 97 // Sets a path where to dump printing output files for debugging. If never set |
95 // no files are generated. | 98 // no files are generated. |
96 static void set_debug_dump_path(const FilePath& debug_dump_path); | 99 static void set_debug_dump_path(const base::FilePath& debug_dump_path); |
97 | 100 |
98 static const FilePath& debug_dump_path(); | 101 static const base::FilePath& debug_dump_path(); |
99 | 102 |
100 private: | 103 private: |
101 friend class base::RefCountedThreadSafe<PrintedDocument>; | 104 friend class base::RefCountedThreadSafe<PrintedDocument>; |
102 | 105 |
103 virtual ~PrintedDocument(); | 106 virtual ~PrintedDocument(); |
104 | 107 |
105 // Array of data for each print previewed page. | 108 // Array of data for each print previewed page. |
106 typedef std::map<int, scoped_refptr<PrintedPage> > PrintedPages; | 109 typedef std::map<int, scoped_refptr<PrintedPage> > PrintedPages; |
107 | 110 |
108 // Contains all the mutable stuff. All this stuff MUST be accessed with the | 111 // Contains all the mutable stuff. All this stuff MUST be accessed with the |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
169 | 172 |
170 // All the immutable members. | 173 // All the immutable members. |
171 const Immutable immutable_; | 174 const Immutable immutable_; |
172 | 175 |
173 DISALLOW_COPY_AND_ASSIGN(PrintedDocument); | 176 DISALLOW_COPY_AND_ASSIGN(PrintedDocument); |
174 }; | 177 }; |
175 | 178 |
176 } // namespace printing | 179 } // namespace printing |
177 | 180 |
178 #endif // PRINTING_PRINTED_DOCUMENT_H_ | 181 #endif // PRINTING_PRINTED_DOCUMENT_H_ |
OLD | NEW |