OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 CHROME_BROWSER_MEDIA_GALLERIES_FILEAPI_SAFE_PICASA_ALBUM_TABLE_READER_H_ | 5 #ifndef CHROME_BROWSER_MEDIA_GALLERIES_FILEAPI_SAFE_PICASA_ALBUM_TABLE_READER_H_ |
6 #define CHROME_BROWSER_MEDIA_GALLERIES_FILEAPI_SAFE_PICASA_ALBUM_TABLE_READER_H_ | 6 #define CHROME_BROWSER_MEDIA_GALLERIES_FILEAPI_SAFE_PICASA_ALBUM_TABLE_READER_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/callback.h" | 10 #include "base/callback.h" |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
43 | 43 |
44 private: | 44 private: |
45 enum ParserState { | 45 enum ParserState { |
46 INITIAL_STATE, | 46 INITIAL_STATE, |
47 PINGED_UTILITY_PROCESS_STATE, | 47 PINGED_UTILITY_PROCESS_STATE, |
48 STARTED_PARSING_STATE, | 48 STARTED_PARSING_STATE, |
49 FINISHED_PARSING_STATE, | 49 FINISHED_PARSING_STATE, |
50 }; | 50 }; |
51 | 51 |
52 // Private because content::UtilityProcessHostClient is ref-counted. | 52 // Private because content::UtilityProcessHostClient is ref-counted. |
53 virtual ~SafePicasaAlbumTableReader(); | 53 ~SafePicasaAlbumTableReader() override; |
54 | 54 |
55 // Launches the utility process. Must run on the IO thread. | 55 // Launches the utility process. Must run on the IO thread. |
56 void StartWorkOnIOThread(); | 56 void StartWorkOnIOThread(); |
57 | 57 |
58 // Notification that the utility process is running, and we can now get its | 58 // Notification that the utility process is running, and we can now get its |
59 // process handle. | 59 // process handle. |
60 // Runs on the IO thread. | 60 // Runs on the IO thread. |
61 void OnProcessStarted(); | 61 void OnProcessStarted(); |
62 | 62 |
63 // Notification from the utility process when it finshes parsing the PMP | 63 // Notification from the utility process when it finshes parsing the PMP |
64 // database. This is received even if PMP parsing fails. | 64 // database. This is received even if PMP parsing fails. |
65 // Runs on the IO thread. | 65 // Runs on the IO thread. |
66 void OnParsePicasaPMPDatabaseFinished(bool parse_success, | 66 void OnParsePicasaPMPDatabaseFinished(bool parse_success, |
67 const std::vector<AlbumInfo>& albums, | 67 const std::vector<AlbumInfo>& albums, |
68 const std::vector<AlbumInfo>& folders); | 68 const std::vector<AlbumInfo>& folders); |
69 | 69 |
70 // UtilityProcessHostClient implementation. | 70 // UtilityProcessHostClient implementation. |
71 // Runs on the IO thread. | 71 // Runs on the IO thread. |
72 virtual void OnProcessCrashed(int exit_code) override; | 72 void OnProcessCrashed(int exit_code) override; |
73 virtual bool OnMessageReceived(const IPC::Message& message) override; | 73 bool OnMessageReceived(const IPC::Message& message) override; |
74 | 74 |
75 AlbumTableFiles album_table_files_; | 75 AlbumTableFiles album_table_files_; |
76 | 76 |
77 // Only accessed on the IO thread. | 77 // Only accessed on the IO thread. |
78 base::WeakPtr<content::UtilityProcessHost> utility_process_host_; | 78 base::WeakPtr<content::UtilityProcessHost> utility_process_host_; |
79 | 79 |
80 // Only accessed on the Media Task Runner. | 80 // Only accessed on the Media Task Runner. |
81 ParserCallback callback_; | 81 ParserCallback callback_; |
82 | 82 |
83 // Verifies the messages from the utility process came at the right time. | 83 // Verifies the messages from the utility process came at the right time. |
84 // Initialized on the Media Task Runner, but only accessed on the IO thread. | 84 // Initialized on the Media Task Runner, but only accessed on the IO thread. |
85 ParserState parser_state_; | 85 ParserState parser_state_; |
86 | 86 |
87 DISALLOW_COPY_AND_ASSIGN(SafePicasaAlbumTableReader); | 87 DISALLOW_COPY_AND_ASSIGN(SafePicasaAlbumTableReader); |
88 }; | 88 }; |
89 | 89 |
90 } // namespace picasa | 90 } // namespace picasa |
91 | 91 |
92 #endif // CHROME_BROWSER_MEDIA_GALLERIES_FILEAPI_SAFE_PICASA_ALBUM_TABLE_READER
_H_ | 92 #endif // CHROME_BROWSER_MEDIA_GALLERIES_FILEAPI_SAFE_PICASA_ALBUM_TABLE_READER
_H_ |
OLD | NEW |