IJavaClassFileLoadHookEventObserver Interface Reference

Observer interface for receiving Java Class File Load Hook events (Java 5.0+ only). More...

#include <MpiAPI.h>

Inheritance diagram for IJavaClassFileLoadHookEventObserver:

IEventObserver

List of all members.

Public Member Functions

virtual TEventType Type ()
 Returns the event type supported by the observer.
virtual BitSet EventDataTypes ()
 Returns the data items to provide with the event when it occurs.
virtual void HandleEvent (SClassFileLoadHookEventData &data, TMemoryAllocatorFunc memAllocFunc, unsigned char **newClassData, S32 *newClassDataLength)=0
 Event Handler.


Detailed Description

The Java Class File Load Hook event is sent when the JVM obtains a class file data, but before it constructs the in-memory representation of that class. An MPI Client can instrument the existing class file buffer to include profiling/debugging hooks. The client can use the IMpi::GetInstrumentor function to obtain a handle to the Martini Instrumentation Engine interface.

Member Function Documentation

virtual TEventType Type (  )  [inline, virtual]

Returns the MPI event type requested by the observer. Implemented for each observer interface class. MPI clients that implement event-specific observer classes must not override this method.

Returns:
the MPI event type

Implements IEventObserver.

virtual BitSet EventDataTypes (  )  [inline, virtual]

Specifies the data items to provide with the event when it occurs. Data items are specified as a combination of TDataRequestType constants OR'ed together. By default, an event-specific observer interface returns the maximum possible data items that can be returned with that event. MPI clients can override this method to specify a subset of those data items to be returned with the event.

Returns:
a combination of bits, each represents a data item to provide when the event occurs.

Implements IEventObserver.

virtual void HandleEvent ( SClassFileLoadHookEventData data,
TMemoryAllocatorFunc  memAllocFunc,
unsigned char **  newClassData,
S32 *  newClassDataLength 
) [pure virtual]

Java (raw) Class File Load Hook event handler

Parameters:
[in] data Event data. Contains the raw bytes of the class to instrument
[in] memAllocFunc A memory allocation function for allocating memory for the instrumented class file
[out] newClassData Pointer to the instrumented class file buffer. Memory for this buffer must be allocated using the memAllocFunc function supplied in this event handler. If the MPI Client does not wish to instrument the class it should not set this argument.
[out] newClassDataLength Pointer to the instrumented class buffer length. If the MPI Client modifies the class buffer, it must set this argument to the length of the new (instrumented) class buffer.


The documentation for this interface was generated from the following file:


Generated on Thu Mar 6 15:08:06 2008 for Martini by doxygen 1.5.5