# Copyright (c) 1999 David Schooley. All rights reserved. This program is # free software; you can redistribute it and/or modify it under the same # terms as Perl itself. package Mac::AETE::Format::Converter; @req = qw(OPT REQ); @list = qw(SINGLE LIST); @enum = qw(NOENUM ENUM); @rdonly = qw(RDONLY RDWR); @change = qw(NOCHANGE CHANGE); @suite_list = (); sub new { my $type = shift; my $target = shift; my $self = {}; return bless $self, $type; } sub write_title { my ($self, $title) = @_; print "\@TITLE \"Events for $title\"\n"; } sub write_version { my ($self, $version) = @_; print "\@VERSION $version\n"; } sub start_suite { my ($self, $name, $desc, $id) = @_; print "\@SUITE \"$name\", \"$desc\", \'$id\'\n\n"; } sub end_suite { print "\n"; } sub start_event { my ($self, $name, $desc, $class, $id) = @_; print "\@EVENT \"$name\", \"$desc\", \'$class\', \'$id\'\n"; } sub end_event { print "\n"; } sub write_reply { my ($self, $type, $desc, $req, $list, $enum) = @_; print "\@REPLY \'$type\', \"$desc\", $req[$req], $list[$list], $enum[$enum]\n"; } sub write_dobj { my ($self, $type, $desc, $req, $list, $enum, $change) = @_; print "\@DIRECT \'$type\', \"$desc\", $req[$req], $list[$list], $enum[$enum], $change[$change]\n"; } sub write_param { my ($self, $name, $id, $type, $desc, $req, $list, $enum) = @_; print "\@PARAM \"$name\", \'$id\', \'$type\', \"$desc\", $req[$req], $list[$list], $enum[$enum]\n"; } sub begin_class { my ($self, $name, $id, $desc) = @_; print "\@CLASS \"$name\", \'$id\', \"$desc\"\n"; } sub end_class { print "\n" } sub write_property { my ($self, $name, $id, $class, $desc, $list, $enum, $rdonly) = @_; print "\@PROPERTY \"$name\", \'$id\', \'$class\', \"$desc\", $list[$list], $enum[$enum], $rdonly[$rdonly]\n"; } sub write_element { my ($self, $name, @keys) = @_; print "\@ELEMENT \'$name\'"; foreach (@keys) { print "\, \'$_\'"; } print "\n"; } sub begin_enumeration { my ($self, $id) = @_; print "\n\@ENUMERATION \'$id\'\n"; } sub end_enumeration { print "\n"; } sub write_enum { my ($self, $name, $id, $comment) = @_; print "\@ENUM \"$name\", \'$id\', \"$comment\"\n"; } 1;