C++程序  |  58行  |  2.05 KB

// Copyright 2013 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.
//
// This file contains callback types used for communicating with the Drive
// server via WAPI (Documents List API) and Drive API.

#ifndef GOOGLE_APIS_DRIVE_DRIVE_COMMON_CALLBACKS_H_
#define GOOGLE_APIS_DRIVE_DRIVE_COMMON_CALLBACKS_H_

#include "google_apis/drive/base_requests.h"

namespace google_apis {

class AboutResource;
class AppList;
class ResourceEntry;
class ResourceList;

// Callback used for getting ResourceList.
typedef base::Callback<void(GDataErrorCode error,
                            scoped_ptr<ResourceList> resource_list)>
    GetResourceListCallback;

// Callback used for getting ResourceEntry.
typedef base::Callback<void(GDataErrorCode error,
                            scoped_ptr<ResourceEntry> entry)>
    GetResourceEntryCallback;

// Callback used for getting AboutResource.
typedef base::Callback<void(GDataErrorCode error,
                            scoped_ptr<AboutResource> about_resource)>
    AboutResourceCallback;

// Callback used for getting ShareUrl.
typedef base::Callback<void(GDataErrorCode error,
                            const GURL& share_url)> GetShareUrlCallback;

// Callback used for getting AppList.
typedef base::Callback<void(GDataErrorCode error,
                            scoped_ptr<AppList> app_list)> AppListCallback;

// Callback used for authorizing an app. |open_url| is used to open the target
// file with the authorized app.
typedef base::Callback<void(GDataErrorCode error,
                            const GURL& open_url)>
    AuthorizeAppCallback;

// Closure for canceling a certain request. Each request-issuing method returns
// this type of closure. If it is called during the request is in-flight, the
// callback passed with the request is invoked with GDATA_CANCELLED. If the
// request is already finished, nothing happens.
typedef base::Closure CancelCallback;

}  // namespace google_apis

#endif  // GOOGLE_APIS_DRIVE_DRIVE_COMMON_CALLBACKS_H_