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

module mojo.test {

interface TestService {
  Ping() => ();
  // Connect to a TestTimeService at |app_url| and ferry the data back
  // in |response|.
  ConnectToAppAndGetTime(string app_url) => (int64 time_usec);
  StartTrackingRequests() => ();
};

interface TestTimeService {
  // Provides a constant time value.
  GetPartyTime() => (int64 time_usec);
  StartTrackingRequests() => ();
};

}  // module mojo.test
