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

library test.peridot.tests.componentcontext;

// An interface implemented by component_context_test_one_agent.cc which the
// root module uses.
//
// Cf. README.md for what this test does and how.
[Discoverable]
protocol ComponentContextTestService {
    // Send |message_to_send| to the message queue backed by
    // |message_queue_token|.
    SendToMessageQueue(string message_queue_token, string message_to_send);
};
