//************************************** // IDL Spec for ACE CORBA interface // See acelib.h for comments //************************************** module AceView { enum AceType { _Int, _Text, _Float, _DateType, _Key, _Tag }; //****************************** // NOTE: These typedefs may be wrong!! //****************************** typedef sequence AceStringList; typedef long AceKeyxxx; typedef long AceTag; typedef long AceHandle; typedef long Pointer; typedef long AceDateType; typedef long AceTable; typedef sequence AceKeySet; exception aceException{ string message; }; interface AceInstance { //* tree manipulation */ boolean aceTestInstance(in string predicate, in boolean moveCurrent) raises( aceException ); //* mark/goto */ Pointer aceMark( in AceHandle h ) raises( aceException ); //* create the AceMark for the caller */ boolean aceGotoMark( in Pointer target ) raises( aceException ); //* search object */ boolean aceGotoTag( in AceKeyxxx target ) raises( aceException ); boolean aceHasTag( in AceKeyxxx target ) raises( aceException ); //* navigate object */ boolean aceNextChild( ) raises( aceException ); boolean aceGotoChild( ) raises( aceException ); //* verify the current type */ boolean aceCheckType( in AceType currType ) raises( aceException ); AceType aceGetType( ) raises( aceException ); //* verify the presence of a type in the current follow set */ boolean aceFollowedBy( in AceType currType ) raises( aceException ); AceDateType aceGetDateType( ) raises( aceException ); string aceGetText( in AceHandle h ) raises( aceException ); long aceGetInteger( ) raises( aceException ); float aceGetFloat( ) raises( aceException ); AceKeyxxx aceGetKey( ) raises( aceException ); AceTag aceGetTag( ) raises( aceException ); //* in place modifications of the object */ boolean aceReplaceKey( in AceKeyxxx newKey ) raises( aceException ); boolean aceReplAceTag( in AceTag newTag ) raises( aceException ); boolean aceReplaceInteger( in long newInt ) raises( aceException ); boolean aceReplaceText( in string newText) raises( aceException ); boolean aceReplaceFloat( in float newFloat ) raises( aceException ); //* modify the position immediately to the right */ boolean aceAddKey( in AceKeyxxx newKey ) raises( aceException ); boolean aceAddTag( in AceTag newTag ) raises( aceException ); boolean aceAddInteger( in long newInt ) raises( aceException ); boolean aceAddText( in string newText ) raises( aceException ); boolean aceAddFloat( in float newFloat ) raises( aceException ); //* attach comments to the current position */ //* comments will no longer be inserted into the structure of the // * object itself, but will be added along a third dimension. //*/ boolean aceAddComment( in string newComment ) raises( aceException ); string aceGetComment( in AceHandle h ) raises( aceException ); //* remove everything to the right of the current position, // * as well as the current node. // */ boolean acePrune( ) raises( aceException ); }; typedef sequence AceInstanceSet; interface AceDB { //***************** //Session management //***************** boolean aceInit( in string path ) raises( aceException ); boolean aceGetWriteAccess( in boolean get ) raises( aceException ); boolean aceForbidWriteAccess() raises( aceException ); boolean aceQuit( in boolean autoCommit ) raises( aceException ); //****************** //Context Management //****************** boolean aceOpen( in string client_signature ) raises( aceException ) ; boolean aceClose( in boolean autoCommit ) raises( aceException ); //****************** //Memory Management //****************** AceHandle aceHandleCreate( in AceHandle h ) raises ( aceException ); boolean aceFree( in Pointer p ) raises ( aceException ); //****************** //Naming //****************** string aceComposeName( in string classname, in string instancename ) raises( aceException ); string aceName( in AceKeyxxx anyKey ) raises( aceException ); string aceClassName( in AceKeyxxx anyKey ) raises( aceException ); AceTag aceTag( in string name, in boolean create) raises( aceException ); AceKeyxxx aceKey( in string fullname, in boolean create ) raises( aceException ); //****************** //Data Access //****************** boolean aceReadLockKey( in AceInstance k ) raises( aceException ); boolean aceReadLockKeySet( in AceKeySet ks ) raises( aceException ); boolean aceReadLockHandle( in AceHandle h ) raises( aceException ); boolean aceReadLockInstance( in AceInstance a ) raises( aceException ); boolean aceReadLockInstanceSet( in AceInstanceSet as ) raises( aceException ); boolean aceWriteLockKey( in AceInstance k ) raises( aceException ); boolean aceWriteLockKeySet( in AceKeySet ks ) raises( aceException ); boolean aceWriteLockHandle( in AceHandle h ) raises( aceException ); boolean aceWriteLockInstance( in AceInstance a ) raises( aceException ); boolean aceWriteLockInstanceSet( in AceInstanceSet as ) raises( aceException ); AceInstance aceOpenKey( in AceInstance k ) raises( aceException ); AceInstanceSet aceOpenKeySet( in AceKeySet ks ) raises( aceException ); boolean aceRefreshHandle( in AceHandle h ) raises( aceException ); boolean aceRefreshInstance( in AceInstance a ) raises( aceException ); boolean aceRefreshInstanceSet( in AceInstanceSet as ) raises( aceException ); boolean aceCommitHandle( in AceHandle h ) raises( aceException ); boolean aceCommitInstance( in AceInstance a ) raises( aceException ); boolean aceCommitInstanceSet( in AceInstanceSet as ) raises( aceException ); //****************** // General Data //****************** AceStringList aceClasses( in AceHandle h ) raises( aceException ); long aceClassSize( in string classname ) raises( aceException ); AceInstance aceModel( in string classname, in AceHandle h ) raises( aceException ); //****************** // Editions //****************** AceKeyxxx aceMakeKeyFromFormat( in string classname, in string format ) raises( aceException ); void aceKillName( in string instanceName ) raises( aceException ); void aceKillKey( in AceKeyxxx keyName ) raises( aceException ); void aceKillKeySet( in AceKeySet keySetName ) raises( aceException ); //****************** // Grep and Queries //****************** AceKeySet aceGrep( in string pattern, in boolean doLong, in AceHandle h ) raises ( aceException ); AceKeySet aceGrepFrom( in AceKeySet keys, in string pattern, in boolean doLong, in AceHandle h ) raises( aceException ); AceKeySet aceQuery( in string queryString, in AceHandle h ) raises( aceException ); AceKeySet aceFilterKeys( in AceKeySet src, in string predicate, in AceHandle h ) raises( aceException ); boolean aceQueryInstance( in AceInstance instancename, in string queryString ) raises( aceException ); AceInstanceSet aceFilterInstances( in string predicate, in AceInstanceSet src, in AceHandle h) raises( aceException ); AceTable aceAql( in string aql ) raises( aceException ); //****************** // Table Methods //****************** boolean aceTableCell( in AceTable table, in long i, in long j ) raises( aceException ); AceTable aceTableByName( in string tableName, in AceHandle h ) raises( aceException ); }; };