| import 'dart:io'; |
| |
| import 'dart_tutorial/addressbook.pb.dart'; |
| import 'dart_tutorial/addressbook.pbenum.dart'; |
| |
| /// Iterates though all people in the AddressBook and prints info about them. |
| void printAddressBook(AddressBook addressBook) { |
| for (var person in addressBook.people) { |
| print('Person ID: ${person.id}'); |
| print(' Name: ${person.name}'); |
| if (person.hasEmail()) { |
| print(' E-mail address:${person.email}'); |
| } |
| |
| for (var phoneNumber in person.phones) { |
| switch (phoneNumber.type) { |
| case Person_PhoneType.MOBILE: |
| print(' Mobile phone #: '); |
| break; |
| case Person_PhoneType.HOME: |
| print(' Home phone #: '); |
| break; |
| case Person_PhoneType.WORK: |
| print(' Work phone #: '); |
| break; |
| default: |
| print(' Unknown phone #: '); |
| break; |
| } |
| print(phoneNumber.number); |
| } |
| } |
| } |
| |
| /// Reads the entire address book from a file and prints all |
| /// the information inside. |
| void main(List<String> arguments) { |
| if (arguments.length != 1) { |
| print('Usage: list_person ADDRESS_BOOK_FILE'); |
| exit(-1); |
| } |
| |
| // Read the existing address book. |
| final file = new File(arguments.first); |
| final addressBook = new AddressBook.fromBuffer(file.readAsBytesSync()); |
| printAddressBook(addressBook); |
| } |