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 ();
};