blob: d94b8fb5a3988dac5294ab53a66d5e97ed650d46 [file] [log] [blame]
// Copyright 2018 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 "chromeos/components/drivefs/drivefs_mojom_traits.h"
namespace mojo {
drivefs::mojom::FileError
EnumTraits<drivefs::mojom::FileError, drive::FileError>::ToMojom(
drive::FileError input) {
switch (input) {
case drive::FILE_ERROR_OK:
return drivefs::mojom::FileError::kOk;
case drive::FILE_ERROR_FAILED:
return drivefs::mojom::FileError::kFailed;
case drive::FILE_ERROR_IN_USE:
return drivefs::mojom::FileError::kInUse;
case drive::FILE_ERROR_EXISTS:
return drivefs::mojom::FileError::kExists;
case drive::FILE_ERROR_NOT_FOUND:
return drivefs::mojom::FileError::kNotFound;
case drive::FILE_ERROR_ACCESS_DENIED:
return drivefs::mojom::FileError::kAccessDenied;
case drive::FILE_ERROR_TOO_MANY_OPENED:
return drivefs::mojom::FileError::kTooManyOpened;
case drive::FILE_ERROR_NO_MEMORY:
return drivefs::mojom::FileError::kNoMemory;
case drive::FILE_ERROR_NO_SERVER_SPACE:
return drivefs::mojom::FileError::kNoServerSpace;
case drive::FILE_ERROR_NOT_A_DIRECTORY:
return drivefs::mojom::FileError::kNotADirectory;
case drive::FILE_ERROR_INVALID_OPERATION:
return drivefs::mojom::FileError::kInvalidOperation;
case drive::FILE_ERROR_SECURITY:
return drivefs::mojom::FileError::kSecurity;
case drive::FILE_ERROR_ABORT:
return drivefs::mojom::FileError::kAbort;
case drive::FILE_ERROR_NOT_A_FILE:
return drivefs::mojom::FileError::kNotAFile;
case drive::FILE_ERROR_NOT_EMPTY:
return drivefs::mojom::FileError::kNotEmpty;
case drive::FILE_ERROR_INVALID_URL:
return drivefs::mojom::FileError::kInvalidUrl;
case drive::FILE_ERROR_NO_CONNECTION:
return drivefs::mojom::FileError::kNoConnection;
case drive::FILE_ERROR_NO_LOCAL_SPACE:
return drivefs::mojom::FileError::kNoLocalSpace;
case drive::FILE_ERROR_SERVICE_UNAVAILABLE:
return drivefs::mojom::FileError::kServiceUnavailable;
}
return drivefs::mojom::FileError::kFailed;
}
bool EnumTraits<drivefs::mojom::FileError, drive::FileError>::FromMojom(
drivefs::mojom::FileError input,
drive::FileError* output) {
switch (input) {
case drivefs::mojom::FileError::kOk:
*output = drive::FILE_ERROR_OK;
return true;
case drivefs::mojom::FileError::kFailed:
*output = drive::FILE_ERROR_FAILED;
return true;
case drivefs::mojom::FileError::kInUse:
*output = drive::FILE_ERROR_IN_USE;
return true;
case drivefs::mojom::FileError::kExists:
*output = drive::FILE_ERROR_EXISTS;
return true;
case drivefs::mojom::FileError::kNotFound:
*output = drive::FILE_ERROR_NOT_FOUND;
return true;
case drivefs::mojom::FileError::kAccessDenied:
*output = drive::FILE_ERROR_ACCESS_DENIED;
return true;
case drivefs::mojom::FileError::kTooManyOpened:
*output = drive::FILE_ERROR_TOO_MANY_OPENED;
return true;
case drivefs::mojom::FileError::kNoMemory:
*output = drive::FILE_ERROR_NO_MEMORY;
return true;
case drivefs::mojom::FileError::kNoServerSpace:
*output = drive::FILE_ERROR_NO_SERVER_SPACE;
return true;
case drivefs::mojom::FileError::kNotADirectory:
*output = drive::FILE_ERROR_NOT_A_DIRECTORY;
return true;
case drivefs::mojom::FileError::kInvalidOperation:
*output = drive::FILE_ERROR_INVALID_OPERATION;
return true;
case drivefs::mojom::FileError::kSecurity:
*output = drive::FILE_ERROR_SECURITY;
return true;
case drivefs::mojom::FileError::kAbort:
*output = drive::FILE_ERROR_ABORT;
return true;
case drivefs::mojom::FileError::kNotAFile:
*output = drive::FILE_ERROR_NOT_A_FILE;
return true;
case drivefs::mojom::FileError::kNotEmpty:
*output = drive::FILE_ERROR_NOT_EMPTY;
return true;
case drivefs::mojom::FileError::kInvalidUrl:
*output = drive::FILE_ERROR_INVALID_URL;
return true;
case drivefs::mojom::FileError::kNoConnection:
*output = drive::FILE_ERROR_NO_CONNECTION;
return true;
case drivefs::mojom::FileError::kNoLocalSpace:
*output = drive::FILE_ERROR_NO_LOCAL_SPACE;
return true;
case drivefs::mojom::FileError::kServiceUnavailable:
*output = drive::FILE_ERROR_SERVICE_UNAVAILABLE;
return true;
}
return false;
}
} // namespace mojo