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 #include "chrome/browser/google_apis/drive_api_operations.h" | 5 #include "chrome/browser/google_apis/drive_api_operations.h" |
6 | 6 |
7 #include "base/string_number_conversions.h" | |
8 #include "base/stringprintf.h" | |
9 #include "chrome/common/net/url_util.h" | |
10 | |
11 namespace google_apis { | 7 namespace google_apis { |
12 | 8 |
13 namespace { | |
14 | |
15 const char kDriveV2AboutURL[] = "https://www.googleapis.com/drive/v2/about"; | |
16 const char kDriveV2ApplistURL[] = "https://www.googleapis.com/drive/v2/apps"; | |
17 const char kDriveV2ChangelistURL[] = | |
18 "https://www.googleapis.com/drive/v2/changes"; | |
19 | |
20 const char kDriveV2FilelistURL[] = "https://www.googleapis.com/drive/v2/files"; | |
21 const char kDriveV2FileURLFormat[] = | |
22 "https://www.googleapis.com/drive/v2/files/%s"; | |
23 | |
24 } // namespace | |
25 | |
26 //============================== GetAboutOperation ============================= | 9 //============================== GetAboutOperation ============================= |
27 | 10 |
28 GetAboutOperation::GetAboutOperation( | 11 GetAboutOperation::GetAboutOperation( |
29 OperationRegistry* registry, | 12 OperationRegistry* registry, |
30 net::URLRequestContextGetter* url_request_context_getter, | 13 net::URLRequestContextGetter* url_request_context_getter, |
| 14 const DriveApiUrlGenerator& url_generator, |
31 const GetDataCallback& callback) | 15 const GetDataCallback& callback) |
32 : GetDataOperation(registry, url_request_context_getter, callback) { | 16 : GetDataOperation(registry, url_request_context_getter, callback), |
| 17 url_generator_(url_generator) { |
33 DCHECK(!callback.is_null()); | 18 DCHECK(!callback.is_null()); |
34 } | 19 } |
35 | 20 |
36 GetAboutOperation::~GetAboutOperation() {} | 21 GetAboutOperation::~GetAboutOperation() {} |
37 | 22 |
38 GURL GetAboutOperation::GetURL() const { | 23 GURL GetAboutOperation::GetURL() const { |
39 return GURL(kDriveV2AboutURL); | 24 return url_generator_.GetAboutUrl(); |
40 } | 25 } |
41 | 26 |
42 //============================== GetApplistOperation =========================== | 27 //============================== GetApplistOperation =========================== |
43 | 28 |
44 GetApplistOperation::GetApplistOperation( | 29 GetApplistOperation::GetApplistOperation( |
45 OperationRegistry* registry, | 30 OperationRegistry* registry, |
46 net::URLRequestContextGetter* url_request_context_getter, | 31 net::URLRequestContextGetter* url_request_context_getter, |
| 32 const DriveApiUrlGenerator& url_generator, |
47 const GetDataCallback& callback) | 33 const GetDataCallback& callback) |
48 : GetDataOperation(registry, url_request_context_getter, callback) { | 34 : GetDataOperation(registry, url_request_context_getter, callback), |
| 35 url_generator_(url_generator) { |
49 DCHECK(!callback.is_null()); | 36 DCHECK(!callback.is_null()); |
50 } | 37 } |
51 | 38 |
52 GetApplistOperation::~GetApplistOperation() {} | 39 GetApplistOperation::~GetApplistOperation() {} |
53 | 40 |
54 GURL GetApplistOperation::GetURL() const { | 41 GURL GetApplistOperation::GetURL() const { |
55 return GURL(kDriveV2ApplistURL); | 42 return url_generator_.GetApplistUrl(); |
56 } | 43 } |
57 | 44 |
58 //============================ GetChangelistOperation ========================== | 45 //============================ GetChangelistOperation ========================== |
59 | 46 |
60 GetChangelistOperation::GetChangelistOperation( | 47 GetChangelistOperation::GetChangelistOperation( |
61 OperationRegistry* registry, | 48 OperationRegistry* registry, |
62 net::URLRequestContextGetter* url_request_context_getter, | 49 net::URLRequestContextGetter* url_request_context_getter, |
| 50 const DriveApiUrlGenerator& url_generator, |
63 const GURL& url, | 51 const GURL& url, |
64 int64 start_changestamp, | 52 int64 start_changestamp, |
65 const GetDataCallback& callback) | 53 const GetDataCallback& callback) |
66 : GetDataOperation(registry, url_request_context_getter, callback), | 54 : GetDataOperation(registry, url_request_context_getter, callback), |
67 url_(kDriveV2ChangelistURL), | 55 url_generator_(url_generator), |
| 56 url_(url), |
68 start_changestamp_(start_changestamp) { | 57 start_changestamp_(start_changestamp) { |
69 DCHECK(!callback.is_null()); | 58 DCHECK(!callback.is_null()); |
70 if (!url.is_empty()) | |
71 url_ = url; | |
72 } | 59 } |
73 | 60 |
74 GetChangelistOperation::~GetChangelistOperation() {} | 61 GetChangelistOperation::~GetChangelistOperation() {} |
75 | 62 |
76 GURL GetChangelistOperation::GetURL() const { | 63 GURL GetChangelistOperation::GetURL() const { |
77 if (start_changestamp_) | 64 return url_generator_.GetChangelistUrl(url_, start_changestamp_); |
78 return chrome_common_net::AppendOrReplaceQueryParameter( | |
79 url_, "startChangeId", base::Int64ToString(start_changestamp_)); | |
80 return url_; | |
81 } | 65 } |
82 | 66 |
83 //============================= GetFlielistOperation =========================== | 67 //============================= GetFlielistOperation =========================== |
84 | 68 |
85 GetFilelistOperation::GetFilelistOperation( | 69 GetFilelistOperation::GetFilelistOperation( |
86 OperationRegistry* registry, | 70 OperationRegistry* registry, |
87 net::URLRequestContextGetter* url_request_context_getter, | 71 net::URLRequestContextGetter* url_request_context_getter, |
| 72 const DriveApiUrlGenerator& url_generator, |
88 const GURL& url, | 73 const GURL& url, |
89 const std::string& search_string, | 74 const std::string& search_string, |
90 const GetDataCallback& callback) | 75 const GetDataCallback& callback) |
91 : GetDataOperation(registry, url_request_context_getter, callback), | 76 : GetDataOperation(registry, url_request_context_getter, callback), |
92 url_(kDriveV2FilelistURL), | 77 url_generator_(url_generator), |
| 78 url_(url), |
93 search_string_(search_string) { | 79 search_string_(search_string) { |
94 DCHECK(!callback.is_null()); | 80 DCHECK(!callback.is_null()); |
95 if (!url.is_empty()) | |
96 url_ = url; | |
97 } | 81 } |
98 | 82 |
99 GetFilelistOperation::~GetFilelistOperation() {} | 83 GetFilelistOperation::~GetFilelistOperation() {} |
100 | 84 |
101 GURL GetFilelistOperation::GetURL() const { | 85 GURL GetFilelistOperation::GetURL() const { |
102 if (!search_string_.empty()) { | 86 return url_generator_.GetFilelistUrl(url_, search_string_); |
103 return chrome_common_net::AppendOrReplaceQueryParameter( | |
104 url_, "q", search_string_); | |
105 } | |
106 return url_; | |
107 } | 87 } |
108 | 88 |
109 //=============================== GetFlieOperation ============================= | 89 //=============================== GetFlieOperation ============================= |
110 | 90 |
111 GetFileOperation::GetFileOperation( | 91 GetFileOperation::GetFileOperation( |
112 OperationRegistry* registry, | 92 OperationRegistry* registry, |
113 net::URLRequestContextGetter* url_request_context_getter, | 93 net::URLRequestContextGetter* url_request_context_getter, |
| 94 const DriveApiUrlGenerator& url_generator, |
114 const std::string& file_id, | 95 const std::string& file_id, |
115 const GetDataCallback& callback) | 96 const GetDataCallback& callback) |
116 : GetDataOperation(registry, url_request_context_getter, callback), | 97 : GetDataOperation(registry, url_request_context_getter, callback), |
| 98 url_generator_(url_generator), |
117 file_id_(file_id) { | 99 file_id_(file_id) { |
118 DCHECK(!callback.is_null()); | 100 DCHECK(!callback.is_null()); |
119 } | 101 } |
120 | 102 |
121 GetFileOperation::~GetFileOperation() {} | 103 GetFileOperation::~GetFileOperation() {} |
122 | 104 |
123 GURL GetFileOperation::GetURL() const { | 105 GURL GetFileOperation::GetURL() const { |
124 return GURL(base::StringPrintf(kDriveV2FileURLFormat, file_id_.c_str())); | 106 return url_generator_.GetFileUrl(file_id_); |
125 } | 107 } |
126 | 108 |
127 } // namespace google_apis | 109 } // namespace google_apis |
OLD | NEW |