// Copyright 2017 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.

// Interface(s) used by AppClient's unittest.

library test.peridot.lib.fidl.appclient;

[Discoverable]
protocol TerminateService {
    Terminate();
};
