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 Date {
     17   uint16 year;
     18   uint8 month;
     19   uint8 day;
     20 };
     21 
     22 struct Employee {
     23   uint64 employee_id;
     24   string name;
     25   Department department;
     26   [MinVersion=1] Date? birthday;
     27 };
     28 
     29 interface HumanResourceDatabase {
     30   AddEmployee(Employee employee) => (bool success);
     31 
     32   QueryEmployee(uint64 id, [MinVersion=1] bool retrieve_finger_print)
     33       => (Employee? employee, [MinVersion=1] array<uint8>? finger_print);
     34 
     35   [MinVersion=1]
     36   AttachFingerPrint(uint64 id, array<uint8> finger_print)
     37       => (bool success);
     38 };
     39