chromium/components/drive/service/drive_api_service.h

// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_DRIVE_SERVICE_DRIVE_API_SERVICE_H_
#define COMPONENTS_DRIVE_SERVICE_DRIVE_API_SERVICE_H_

#include <stdint.h>

#include <memory>
#include <string>

#include "base/memory/raw_ptr.h"
#include "base/memory/ref_counted.h"
#include "base/memory/weak_ptr.h"
#include "base/observer_list.h"
#include "base/sequence_checker.h"
#include "base/threading/thread_checker.h"
#include "components/drive/service/drive_service_interface.h"
#include "google_apis/common/auth_service_interface.h"
#include "google_apis/common/auth_service_observer.h"
#include "google_apis/drive/drive_api_url_generator.h"
#include "net/traffic_annotation/network_traffic_annotation.h"

class GURL;

namespace base {
class FilePath;
class SequencedTaskRunner;
}  // namespace base

namespace google_apis {
class FilesListRequestRunner;
class RequestSender;
namespace drive {
class BatchUploadRequest;
}  // namespace drive
}  // namespace google_apis

namespace signin {
class IdentityManager;
}

namespace network {
class SharedURLLoaderFactory;
}

namespace drive {

// Builder for batch request returned by |DriveAPIService|.
class BatchRequestConfigurator : public BatchRequestConfiguratorInterface {};

// This class provides Drive request calls using Drive V2 API.
// Details of API call are abstracted in each request class and this class
// works as a thin wrapper for the API.
class DriveAPIService : public DriveServiceInterface,
                        public google_apis::AuthServiceObserver {};

}  // namespace drive

#endif  // COMPONENTS_DRIVE_SERVICE_DRIVE_API_SERVICE_H_