Re: Application IDL

Pedro Szekely ([email protected])
Fri, 06 Jan 1995 11:48:33 PST

JK,

I looked at the phone IDL and translated it into the ascii syntax. The IDL
looks good. I think we need to quible about names, and next week we need to
integrate all the IDLs, or at least discuss how to do it.

In the syntax I assumed that the name of each object served as a tag as long
as it is unique. When more than one object inside a top level form has the
same name, then it is necessary to use a tag.

Comments?

// Translation of JK phone.idl to Mastermind MTF syntax.
//
// Pedro Szekely, 1/6/95
//

{module
name pbx
{interface
name phone
exceptions
{exception
name invalid_number
fields
{field
name number
type string
}
}
{exception
name error
fields
{field
name number
type string
}
{field
name message_string
type string
}
}
{exception
name busy
fields
{field
name number
type string
}
{field
name caller_id
type string
}
}
{exception
name call_in_progress
fields
{field
name number
type string
}
{field
name caller_id
type string
}
{field
name outgoing
type boolean
}
}
{exception
name call_connected
fields
{field
name number
type string
}
{field
name caller_id
type string
}
}
{exception
name incoming_call
fields
{field
name number
type string
}
{field
name caller_id
type string
}
}
{exception
name call_forwarded
fields
{field
name from_number
type string
}
{field
name from_caller_id
type string
}
{field
name to_number
type string
}
{field
name to_caller_id
type string
}
}
enumerations
{enumeration
name line_mode
enum_ids "local" "long_distance" "internal"
}
{enumeration
name line_status
enum_ids "free" "to_be_used" "dialing" "in_use"
}
structures
{structure
name line_attributes
fields
{field
name mode
type @line_mode
}
{field
name status
type @line_status
}
}
attributes
{attribute
name line
type @line_attributes
}
methods
{method
name ok_to_switch
type boolean
parameters
{parameter
name switch_to
mode mode_in
type @line_mode
}
}
{method
name switch_to
type boolean
parameters
{parameter
name switch_to
mode mode_in
type @line_mode
}
exceptions @error
}
{method
name dial_digit
type boolean
parameters
{parameter
name digit
mode mode_in
type string
}
exceptions @invalid_number @call_in_progress @error @busy
}
{method
name get_status
type boolean
exceptions @invalid_number @busy @call_in_progress @error
@call_connected @incoming_call
}
{method
name lift_handset
type boolean
exceptions @call_connected
}
{method
name hangup
type boolean
exceptions @call_connected @call_forwarded
}
}

Pedro Szekely
USC/ISI, 4676 Admiralty Way, Marina del Rey, CA 90292
Phone: 310/822-1511, Fax: 310/823-6714
URL: http://www.isi.edu/isd/HUMANOID-HOME.html