| Previous | Table of Contents | Next |
A hierarchy of Automation interfaces is mapped to an identical hierarchy of CORBA View Interfaces.
For example, given the interface “account? and its derived interface “checkingAccount? defined next,
// ODL[odl, dual, uuid(...)]interface DIMyModule_account: IDispatch {
[propput] HRESULT balance)[in] float balance);
[propget] HRESULT balance([retval,out] float * ret);[propget] HRESULT owner([retval,out] BSTR * ret);HRESULT makeLodgement([in] float amount,
[out] float * balance);HRESULT makeWithdrawal([in] float amount,
[out] float * balance);};interface DIMyModule_checkingAccount: DIMyModule_account {
[propget] HRESULT overdraftLimit ([retval,out] short * ret);HRESULT orderChequeBook([retval,out] short * ret);};
the corresponding CORBA View Interfaces are:
// OMG IDL
interface MyModule_account { attribute float balance; readonly attribute string owner;
| long | makeLodgement (in float amount, out float | ||||
| balance); | |||||
| long | makeWithdrawal (in float amount, out float | ||||
| theBalance); | |||||
| }; |
interface MyModule_checkingAccount: MyModule_account { readonly attributeshort overdraftLimit; short orderChequeBook ();
};