<?php

/*
 * Copyright 2014 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
namespace SimpleCalendar\plugin_deps\Google\Service\Drive\Resource;

/**
 * The "operation" collection of methods.
 * Typical usage is:
 *  <code>
 *   $driveService = new Google\Service\Drive(...);
 *   $operation = $driveService->operation;
 *  </code>
 */
class Operation extends \SimpleCalendar\plugin_deps\Google\Service\Resource
{
    /**
     * Starts asynchronous cancellation on a long-running operation. The server
     * makes a best effort to cancel the operation, but success is not guaranteed.
     * If the server doesn't support this method, it returns
     * `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
     * other methods to check whether the cancellation succeeded or whether the
     * operation completed despite cancellation. On successful cancellation, the
     * operation is not deleted; instead, it becomes an operation with an
     * Operation.error value with a google.rpc.Status.code of `1`, corresponding to
     * `Code.CANCELLED`. (operation.cancel)
     *
     * @param string $name The name of the operation resource to be cancelled.
     * @param array $optParams Optional parameters.
     * @throws \Google\Service\Exception
     */
    public function cancel($name, $optParams = [])
    {
        $params = ['name' => $name];
        $params = array_merge($params, $optParams);
        return $this->call('cancel', [$params]);
    }
    /**
     * Deletes a long-running operation. This method indicates that the client is no
     * longer interested in the operation result. It does not cancel the operation.
     * If the server doesn't support this method, it returns
     * `google.rpc.Code.UNIMPLEMENTED`. (operation.delete)
     *
     * @param string $name The name of the operation resource to be deleted.
     * @param array $optParams Optional parameters.
     * @throws \Google\Service\Exception
     */
    public function delete($name, $optParams = [])
    {
        $params = ['name' => $name];
        $params = array_merge($params, $optParams);
        return $this->call('delete', [$params]);
    }
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(Operation::class, 'SimpleCalendar\plugin_deps\Google_Service_Drive_Resource_Operation');
