Difference between revisions of "Framework/Article/Asynchronous Callback Service"

From Apache OpenOffice Wiki
Jump to: navigation, search
 
Line 24: Line 24:
 
</code>
 
</code>
  
 +
<code>[cpp]
 +
#ifndef __com_sun_star_awt_XCallback_idl__
 +
#define __com_sun_star_awt_XCallback_idl__
 +
 +
#ifndef __com_sun_star_uno_XInterface_idl__
 +
#include <com/sun/star/uno/XInterface.idl>
 +
#endif
 +
 +
//=============================================================================
 +
 +
module com { module sun { module star { module awt {
 +
   
 +
//=============================================================================
 +
 +
/** specifices an interface which can be used to call back
 +
    an implementation
 +
*/
 +
interface XCallback
 +
{
 +
//-------------------------------------------------------------------------
 +
   
 +
/** notifies the callback implementation
 +
 +
        @param aData
 +
private data which was provided when the callback was requested.
 +
*/
 +
    void notify( [in] any aData );
 +
};
 +
 +
//=============================================================================
 +
 +
}; }; }; };
 +
 +
#endif
 +
</code>
  
 
<code>[cpp]
 
<code>[cpp]

Revision as of 10:29, 2 November 2007

Asynchronous callback service

[cpp]

  1. ifndef __com_sun_star_awt_AsyncCallback_idl__
  2. define __com_sun_star_awt_AsyncCallback_idl__
  1. ifndef __com_sun_star_awt_XRequestCallback_idl__
  2. include <com/sun/star/awt/XRequestCallback.idl>
  3. endif

module com { module sun { module star { module awt {

//============================================================================ /** An implementation which uses the message queue to call the

   callback implementation asynchronously.
   @see XRequestCallback
*/

service AsyncCallback: XRequestCallback;

}; }; }; };

  1. endif

[cpp]

  1. ifndef __com_sun_star_awt_XCallback_idl__
  2. define __com_sun_star_awt_XCallback_idl__
  1. ifndef __com_sun_star_uno_XInterface_idl__
  2. include <com/sun/star/uno/XInterface.idl>
  3. endif

//=============================================================================

module com { module sun { module star { module awt {

//=============================================================================

/** specifices an interface which can be used to call back

   an implementation
*/

interface XCallback { //-------------------------------------------------------------------------

/** notifies the callback implementation

       @param aData

private data which was provided when the callback was requested. */

   void notify( [in] any aData );

};

//=============================================================================

}; }; }; };

  1. endif

[cpp]

  1. ifndef __com_sun_star_awt_XRequestCallback_idl__
  2. define __com_sun_star_awt_XRequestCallback_idl__
  1. ifndef __com_sun_star_awt_XCallback_idl__
  2. include <com/sun/star/awt/XCallback.idl>
  3. endif

//=============================================================================

module com { module sun { module star { module awt {

//=============================================================================

/** specifices an interface which can be used to call back

   an implementation
*/

interface XRequestCallback { //-------------------------------------------------------------------------

/** adds a callback request to the implementation

       @param aData

any private data which will be provided to the callback implementation.

       @param xCallback

a reference to the callback which should be called by the implementation

       of this interface.
   */
   void addCallback( [in] XCallback xCallback, [in] any aData );

};

//=============================================================================

}; }; }; };

  1. endif

Personal tools