
The various nmessage types are represented as subclasses:
To create a new message, you call the constructor of the corresponding class.
To check if a message is of a certain type, use the & operator on the type method:
if ($message -> type & "error") {
# ...
}
elsif ($message -> type & "eos") {
# ...
}
To get to the content of a message, call the corresponding accessor:
if ($message -> type & "state-changed") {
my $old_state = $message -> old_state;
my $new_state = $message -> new_state;
my $pending = $message -> pending;
# ...
}
elsif ($message -> type & "segment-done") {
my $format = $message -> format;
my $position = $message -> position;
# ...
}