Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
shell
platform
fuchsia
flutter
unique_fdio_ns.h
Go to the documentation of this file.
1
// Copyright 2013 The Flutter Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
#ifndef FLUTTER_SHELL_PLATFORM_FUCHSIA_FLUTTER_UNIQUE_FDIO_NS_H_
6
#define FLUTTER_SHELL_PLATFORM_FUCHSIA_FLUTTER_UNIQUE_FDIO_NS_H_
7
8
#include "flutter/fml/logging.h"
9
#include "flutter/fml/unique_object.h"
10
#include "lib/fdio/namespace.h"
11
12
namespace
flutter_runner
{
13
14
struct
UniqueFDIONSTraits
{
15
static
fdio_ns_t*
InvalidValue
() {
return
nullptr
; }
16
17
static
bool
IsValid
(fdio_ns_t* ns) {
return
ns !=
InvalidValue
(); }
18
19
static
void
Free
(fdio_ns_t* ns) {
20
auto
status = fdio_ns_destroy(ns);
21
FML_DCHECK
(status == ZX_OK);
22
}
23
};
24
25
using
UniqueFDIONS
=
fml::UniqueObject<fdio_ns_t*, UniqueFDIONSTraits>
;
26
27
inline
UniqueFDIONS
UniqueFDIONSCreate
() {
28
fdio_ns_t* ns =
nullptr
;
29
if
(fdio_ns_create(&ns) == ZX_OK) {
30
return
UniqueFDIONS
{ns};
31
}
32
return
UniqueFDIONS
{
nullptr
};
33
}
34
35
}
// namespace flutter_runner
36
37
#endif
// FLUTTER_SHELL_PLATFORM_FUCHSIA_FLUTTER_UNIQUE_FDIO_NS_H_
fml::UniqueObject< fdio_ns_t *, UniqueFDIONSTraits >
FML_DCHECK
#define FML_DCHECK(condition)
Definition
logging.h:103
flutter_runner
Definition
accessibility_bridge.cc:20
flutter_runner::UniqueFDIONSCreate
UniqueFDIONS UniqueFDIONSCreate()
Definition
unique_fdio_ns.h:27
flutter_runner::UniqueFDIONSTraits
Definition
unique_fdio_ns.h:14
flutter_runner::UniqueFDIONSTraits::Free
static void Free(fdio_ns_t *ns)
Definition
unique_fdio_ns.h:19
flutter_runner::UniqueFDIONSTraits::InvalidValue
static fdio_ns_t * InvalidValue()
Definition
unique_fdio_ns.h:15
flutter_runner::UniqueFDIONSTraits::IsValid
static bool IsValid(fdio_ns_t *ns)
Definition
unique_fdio_ns.h:17
Generated on Fri Apr 26 2024 06:14:29 for Flutter Engine by
1.9.8