Home | History | Annotate | Download | only in tests
      1 // Copyright 2015 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 module mojo.test.versioning;
      6 
      7 // versioning_test_service.mojom and versioning_test_client.mojom contain
      8 // different versions of Mojom definitions for a fictitious human resource
      9 // management system. They are used to test the versioning mechanism.
     10 
     11 enum Department {
     12   SALES,
     13   DEV
     14 };
     15 
     16 struct Employee {
     17   uint64 employee_id;
     18   string name;
     19   Department department;
     20 };
     21 
     22 interface HumanResourceDatabase {
     23   AddEmployee(Employee employee) => (bool success);
     24 
     25   QueryEmployee(uint64 id, [MinVersion=1] bool retrieve_finger_print)
     26       => (Employee? employee, [MinVersion=1] array<uint8>? finger_print);
     27 
     28   [MinVersion=1]
     29   AttachFingerPrint(uint64 id, array<uint8> finger_print)
     30       => (bool success);
     31 
     32   [MinVersion=2]
     33   ListEmployeeIds() => (array<uint64>? ids);
     34 };
     35