fuchsia_scenic/
view_token_pair.rs

1// Copyright 2019 The Fuchsia 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
5use anyhow::Error;
6use fidl_fuchsia_ui_views::{ViewHolderToken, ViewToken};
7use zx::EventPair;
8
9pub struct ViewTokenPair {
10    pub view_token: ViewToken,
11    pub view_holder_token: ViewHolderToken,
12}
13
14impl ViewTokenPair {
15    pub fn new() -> Result<ViewTokenPair, Error> {
16        let (raw_view_token, raw_view_holder_token) = EventPair::create();
17        let token_pair = ViewTokenPair {
18            view_token: ViewToken { value: raw_view_token },
19            view_holder_token: ViewHolderToken { value: raw_view_holder_token },
20        };
21
22        Ok(token_pair)
23    }
24}