You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.0 KiB
38 lines
1.0 KiB
// Copyright (c) 2015 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 "ipc/ipc_platform_file_attachment_posix.h" |
|
|
|
#include <utility> |
|
|
|
namespace IPC { |
|
namespace internal { |
|
|
|
PlatformFileAttachment::PlatformFileAttachment(base::PlatformFile file) |
|
: file_(file) { |
|
} |
|
|
|
PlatformFileAttachment::PlatformFileAttachment(base::ScopedFD file) |
|
: file_(file.get()), owning_(std::move(file)) {} |
|
|
|
PlatformFileAttachment::~PlatformFileAttachment() { |
|
} |
|
|
|
MessageAttachment::Type PlatformFileAttachment::GetType() const { |
|
return TYPE_PLATFORM_FILE; |
|
} |
|
|
|
base::PlatformFile PlatformFileAttachment::TakePlatformFile() { |
|
ignore_result(owning_.release()); |
|
return file_; |
|
} |
|
|
|
base::PlatformFile GetPlatformFile( |
|
scoped_refptr<MessageAttachment> attachment) { |
|
DCHECK_EQ(attachment->GetType(), MessageAttachment::TYPE_PLATFORM_FILE); |
|
return static_cast<PlatformFileAttachment*>(attachment.get())->file(); |
|
} |
|
|
|
} // namespace internal |
|
} // namespace IPC
|
|
|