summaryrefslogtreecommitdiffstats
path: root/chrome/browser/google_apis/drive_api_operations.cc
blob: 7e92fe492b69c2169fdd938d53653b77c8a30a9a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "chrome/browser/google_apis/drive_api_operations.h"

#include "base/string_number_conversions.h"
#include "base/stringprintf.h"
#include "chrome/common/net/url_util.h"

namespace {

const char kDriveV2AboutURL[] = "https://www.googleapis.com/drive/v2/about";
const char kDriveV2ApplistURL[] = "https://www.googleapis.com/drive/v2/apps";
const char kDriveV2ChangelistURL[] =
    "https://www.googleapis.com/drive/v2/changes";

const char kDriveV2FilelistURL[] = "https://www.googleapis.com/drive/v2/files";
const char kDriveV2FileURLFormat[] =
    "https://www.googleapis.com/drive/v2/files/%s";

}  // namespace

// TODO(kochi): Rename to namespace drive. http://crbug.com/136371
namespace google_apis {

//============================== GetAboutOperation =============================

GetAboutOperation::GetAboutOperation(OperationRegistry* registry,
                                     const GetDataCallback& callback)
    : GetDataOperation(registry, callback) {}

GetAboutOperation::~GetAboutOperation() {}

GURL GetAboutOperation::GetURL() const {
  return GURL(kDriveV2AboutURL);
}

//============================== GetApplistOperation ===========================

GetApplistOperation::GetApplistOperation(OperationRegistry* registry,
                                         const GetDataCallback& callback)
    : GetDataOperation(registry, callback) {}

GetApplistOperation::~GetApplistOperation() {}

GURL GetApplistOperation::GetURL() const {
  return GURL(kDriveV2ApplistURL);
}

//============================ GetChangelistOperation ==========================

GetChangelistOperation::GetChangelistOperation(
    OperationRegistry* registry,
    const GURL& url,
    int64 start_changestamp,
    const GetDataCallback& callback)
    : GetDataOperation(registry, callback),
      url_(kDriveV2ChangelistURL),
      start_changestamp_(start_changestamp) {
  if (!url.is_empty())
    url_ = url;
}

GetChangelistOperation::~GetChangelistOperation() {}

GURL GetChangelistOperation::GetURL() const {
  if (start_changestamp_)
    return chrome_common_net::AppendOrReplaceQueryParameter(
        url_, "startChangeId", base::Int64ToString(start_changestamp_));
  return url_;
}

//============================= GetFlielistOperation ===========================

GetFilelistOperation::GetFilelistOperation(
    OperationRegistry* registry,
    const GURL& url,
    const std::string& search_string,
    const GetDataCallback& callback)
    : GetDataOperation(registry, callback),
      url_(kDriveV2FilelistURL),
      search_string_(search_string) {
  if (!url.is_empty())
    url_ = url;
}

GetFilelistOperation::~GetFilelistOperation() {}

GURL GetFilelistOperation::GetURL() const {
  if (!search_string_.empty()) {
    return chrome_common_net::AppendOrReplaceQueryParameter(
        url_, "q", search_string_);
  }
  return url_;
}

//=============================== GetFlieOperation =============================

GetFileOperation::GetFileOperation(
    OperationRegistry* registry,
    const std::string& file_id,
    const GetDataCallback& callback)
    : GetDataOperation(registry, callback),
      file_id_(file_id) {}

GetFileOperation::~GetFileOperation() {}

GURL GetFileOperation::GetURL() const {
  return GURL(base::StringPrintf(kDriveV2FileURLFormat, file_id_.c_str()));
}

}  // namespace google_apis