// Copyright 2016 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

library fuchsia.ui.viewsv1;

// A view tree token is an opaque transferable reference to a view tree.
//
// The ViewManager provides each view tree with a unique view tree token when
// it is registered.  The token can subsequently be passed to other
// applications and used as a way to refer to the tree.
//
// View tree tokens should be kept secret and should only be shared with
// trusted services.
//
// TODO(jeffbrown): This implementation is a temporary placeholder until
// we provide a way to create tokens which cannot be forged.
struct ViewTreeToken {
  uint32 value;
};
