PrevNextUpHome SophiaFramework UNIVERSE 5.3
SFXEventBypass
Class which manages the highest priority event handler.
#include <SFXEventBypass.h.hpp>
class SFXEventBypass;
SFMTYPEDEFCLASS(SFXEventBypass)

Description

The SFXEventBypass class manages the highest priority event handler.

[Note] Highest priority event handler

Some BREW interfaces require to handle BREW-defined events from BREW AEE before the distributer and responders.

The function which handles events from BREW AEE at the first is called the "highest priority event handler".

While the highest priority event handler is being registered, the BREW interface which handles events preemptively sometimes occupies the fullscreen. And then when the handler is unregistered, redrawing of the fullscreen is required in many cases (this codes of redrawing must be described by developers).

The highest priority event handler is registered by calling SFXEventBypass::Register function, and unregistered by calling SFXEventBypass::Unregister function.

* You can register up to one highest priority event handler per BREW applet.

Reference

SFXEventBypass::Register | SFXEventBypass::Unregister | SFCApplication::RegisterBypass | SFCApplication::UnregisterBypass

Member

Public Functions
static
SFCError
Register( SFCApplication::CallbackSPP spp , VoidPtr reference )
Register the highest priority event handler.
static
Void
Unregister( SFCApplication::CallbackSPP spp , VoidPtr reference )
Unregister the highest priority event handler.

SFXEventBypass::Register
Register the highest priority event handler.
[ public, static ]
SFCError Register(
    SFCApplication::CallbackSPP spp   // highest priority event handler
    VoidPtr reference                 // reference data for handler
);

Description

This function registers the highest priority event handler.

[Note] Note

This function internally calls SFCApplication::RegisterBypass function.

[Note] Highest priority event handler

See the reference of SFXEventBypass.

Internal implementation

Internal implementation codes of this function is the below.

/*public static*/SFCError SFXEventBypass::Register(SFCApplication::CallbackSPP spp, VoidPtr reference)
{
    SFCApplicationPtr application;
    SFCError          error;

    if ((application = SFCApplication::GetInstance()) != null) {
        error = application->RegisterBypass(spp, reference);
    }
    else {
        error = SFERR_INVALID_STATE;
    }
    return error;
}// SFXEventBypass::Register //

Reference

SFXEventBypass::Unregister | SFCApplication::RegisterBypass | SFCApplication::GetInstance


SFXEventBypass::Unregister
Unregister the highest priority event handler.
[ public, static ]
Void Unregister(
    SFCApplication::CallbackSPP spp   // highest priority event handler
    VoidPtr reference                 // reference data for handler
);

Reference

This function unregisters the highest priority event handler.

[Note] Note

This function internally calls SFCApplication::UnregisterBypass function.

[Note] Highest priority event handler

See the reference of SFXEventBypass.

Internal implementation

Internal implementation codes of this function is the below.

/*public static*/Void SFXEventBypass::Unregister(SFCApplication::CallbackSPP spp, VoidPtr reference)
{
    SFCApplicationPtr application;

    if ((application = SFCApplication::GetInstance()) != null) {
        application->UnregisterBypass(spp, reference);
    }
    return;
}// SFXEventBypass::Unregister //

Reference

SFXEventBypass::Register | SFCApplication::UnregisterBypass | SFCApplication::GetInstance