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