| 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 CHROME_BROWSER_FEEDBACK_FEEDBACK_DATA_H_ | 5 #ifndef CHROME_BROWSER_FEEDBACK_FEEDBACK_DATA_H_ |
| 6 #define CHROME_BROWSER_FEEDBACK_FEEDBACK_DATA_H_ | 6 #define CHROME_BROWSER_FEEDBACK_FEEDBACK_DATA_H_ |
| 7 | 7 |
| 8 #include <map> | 8 #include <map> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| 11 | 11 |
| 12 #include "base/memory/ref_counted.h" | 12 #include "base/memory/ref_counted.h" |
| 13 #include "base/memory/scoped_ptr.h" | 13 #include "base/memory/scoped_ptr.h" |
| 14 #include "url/gurl.h" | 14 #include "url/gurl.h" |
| 15 | 15 |
| 16 namespace base { | 16 namespace base { |
| 17 class FilePath; | 17 class FilePath; |
| 18 } | 18 } |
| 19 class Profile; | 19 class Profile; |
| 20 | 20 |
| 21 class FeedbackData : public base::RefCountedThreadSafe<FeedbackData> { | 21 class FeedbackData : public base::RefCountedThreadSafe<FeedbackData> { |
| 22 public: | 22 public: |
| 23 typedef std::map<std::string, std::string> SystemLogsMap; | 23 typedef std::map<std::string, std::string> SystemLogsMap; |
| 24 | 24 |
| 25 static const char kScreensizeHeightKey[]; | 25 static const char kScreensizeHeightKey[]; |
| 26 static const char kScreensizeWidthKey[]; | 26 static const char kScreensizeWidthKey[]; |
| 27 | 27 |
| 28 FeedbackData(); | 28 FeedbackData(); |
| 29 | 29 |
| 30 // Called once we've update all the data from the feedback page. | 30 // Called once we've updated all the data from the feedback page. |
| 31 void OnFeedbackPageDataComplete(); | 31 void OnFeedbackPageDataComplete(); |
| 32 | 32 |
| 33 // Called once we have read our system logs. | 33 // Sets the system information for this instance and kicks off its |
| 34 void CompressSyslogs(scoped_ptr<SystemLogsMap> sys_info); | 34 // compression. |
| 35 void SetAndCompressSystemInfo(scoped_ptr<SystemLogsMap> sys_info); |
| 35 | 36 |
| 36 // Called once we have read and compressed our system logs. | 37 // Called once we have compressed our system logs. |
| 37 void OnCompressLogsComplete(scoped_ptr<SystemLogsMap> sys_info, | 38 void OnCompressLogsComplete(scoped_ptr<std::string> compressed_logs); |
| 38 scoped_ptr<std::string> compressed_logs); | |
| 39 | 39 |
| 40 // Returns true if we've completed all the tasks needed before we can send | 40 // Returns true if we've completed all the tasks needed before we can send |
| 41 // feedback - at this time this is includes getting the feedback page data | 41 // feedback - at this time this is includes getting the feedback page data |
| 42 // and compressing the system logs. | 42 // and compressing the system logs. |
| 43 bool IsDataComplete(); | 43 bool IsDataComplete(); |
| 44 | 44 |
| 45 // Sends the feedback report if we have all our data complete. | 45 // Sends the feedback report if we have all our data complete. |
| 46 void SendReport(); | 46 void SendReport(); |
| 47 | 47 |
| 48 // Starts reading the file to attach to this report into the string | |
| 49 // file_data. ReadFileComplete is called once this is done. | |
| 50 void StartReadFile(const std::string filename, const std::string* file_data); | |
| 51 | |
| 52 // Getters | 48 // Getters |
| 53 Profile* profile() const { return profile_; } | 49 Profile* profile() const { return profile_; } |
| 54 const std::string& category_tag() const { return category_tag_; } | 50 const std::string& category_tag() const { return category_tag_; } |
| 55 const std::string& page_url() const { return page_url_; } | 51 const std::string& page_url() const { return page_url_; } |
| 56 const std::string& description() const { return description_; } | 52 const std::string& description() const { return description_; } |
| 57 const std::string& user_email() const { return user_email_; } | 53 const std::string& user_email() const { return user_email_; } |
| 58 std::string* image() const { return image_.get(); } | 54 std::string* image() const { return image_.get(); } |
| 59 const std::string attached_filename() const { return attached_filename_; } | 55 const std::string attached_filename() const { return attached_filename_; } |
| 60 const GURL attached_file_url() const { return attached_file_url_; } | 56 const GURL attached_file_url() const { return attached_file_url_; } |
| 61 std::string* attached_filedata() const { return attached_filedata_.get(); } | 57 std::string* attached_filedata() const { return attached_filedata_.get(); } |
| (...skipping 15 matching lines...) Expand all Loading... |
| 77 } | 73 } |
| 78 void set_image(scoped_ptr<std::string> image) { image_ = image.Pass(); } | 74 void set_image(scoped_ptr<std::string> image) { image_ = image.Pass(); } |
| 79 void set_attached_filename(const std::string& attached_filename) { | 75 void set_attached_filename(const std::string& attached_filename) { |
| 80 attached_filename_ = attached_filename; | 76 attached_filename_ = attached_filename; |
| 81 } | 77 } |
| 82 void set_attached_filedata(scoped_ptr<std::string> attached_filedata) { | 78 void set_attached_filedata(scoped_ptr<std::string> attached_filedata) { |
| 83 attached_filedata_ = attached_filedata.Pass(); | 79 attached_filedata_ = attached_filedata.Pass(); |
| 84 } | 80 } |
| 85 void set_attached_file_url(const GURL& url) { attached_file_url_ = url; } | 81 void set_attached_file_url(const GURL& url) { attached_file_url_ = url; } |
| 86 void set_screenshot_url(const GURL& url) { screenshot_url_ = url; } | 82 void set_screenshot_url(const GURL& url) { screenshot_url_ = url; } |
| 87 void set_sys_info(scoped_ptr<SystemLogsMap> sys_info); | |
| 88 | 83 |
| 89 private: | 84 private: |
| 90 friend class base::RefCountedThreadSafe<FeedbackData>; | 85 friend class base::RefCountedThreadSafe<FeedbackData>; |
| 91 | 86 |
| 92 virtual ~FeedbackData(); | 87 virtual ~FeedbackData(); |
| 93 | 88 |
| 94 Profile* profile_; | 89 Profile* profile_; |
| 95 | 90 |
| 96 std::string category_tag_; | 91 std::string category_tag_; |
| 97 std::string page_url_; | 92 std::string page_url_; |
| (...skipping 11 matching lines...) Expand all Loading... |
| 109 | 104 |
| 110 bool feedback_page_data_complete_; | 105 bool feedback_page_data_complete_; |
| 111 bool syslogs_compression_complete_; | 106 bool syslogs_compression_complete_; |
| 112 | 107 |
| 113 bool report_sent_; | 108 bool report_sent_; |
| 114 | 109 |
| 115 DISALLOW_COPY_AND_ASSIGN(FeedbackData); | 110 DISALLOW_COPY_AND_ASSIGN(FeedbackData); |
| 116 }; | 111 }; |
| 117 | 112 |
| 118 #endif // CHROME_BROWSER_FEEDBACK_FEEDBACK_DATA_H_ | 113 #endif // CHROME_BROWSER_FEEDBACK_FEEDBACK_DATA_H_ |
| OLD | NEW |