1116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved.
2116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Use of this source code is governed by a BSD-style license that can be
3116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// found in the LICENSE file.
4116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
5116680a4aac90f2aa7413d9095a592090648e557Ben Murdochpackage org.chromium.mojo.bindings;
6116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
7116680a4aac90f2aa7413d9095a592090648e557Ben Murdochimport org.chromium.mojo.system.Handle;
8116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
9116680a4aac90f2aa7413d9095a592090648e557Ben Murdochimport java.io.Closeable;
10116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
11116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch/**
12116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch * Describes a class that owns a handle.
13116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch *
14116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch * @param <H> The type of the owned handle.
15116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch */
16116680a4aac90f2aa7413d9095a592090648e557Ben Murdochpublic interface HandleOwner<H extends Handle> extends Closeable {
17116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch
18116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    /**
19116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch     * Pass the handle owned by this class.
20116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch     */
21116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    public H passHandle();
221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    /**
241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci     * @see java.io.Closeable#close()
251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci     */
261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    @Override
271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci    public void close();
281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
29116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}
30