Method (operation) declarations define the interface of each method introduced
by the class. A method declaration is similar to a C/C++ function definition:
[oneway] type-spec identifier ( parameter-list)
[raises-expr] [context-expr] ;
where "identifier" is the name of the method and "type-spec" is any valid
IDL type (or the keyword void, indicating that the method
returns no value). Unlike C and C++ procedures, methods that do not return
a result must specify void as their return type. The remaining syntax
of a method declaration is elaborated in the following subtopics.
Note: Although IDL does not allow methods to receive and return values whose type is a pointer to a function, it does allow methods to receive and return method names (as string values). Thus, rather than defining methods that pass pointers to functions (and that subsequently invoke those functions), programmers should instead define methods that pass method names (and subsequently invoke those methods using one of the SOM-supplied method-dispatching or method-resolution methods or functions, such as somDispatch).