예제 #1
0
s3eResult s3eMapViewRegister(s3eMapViewCallback cbid, s3eCallback fn, void* userData)
{
    IwTrace(MAPVIEW_VERBOSE, ("calling s3eMapView[0] func: s3eMapViewRegister"));

    if (!_extLoad())
        return S3E_RESULT_ERROR;

#ifdef LOADER_CALL_LOCK
    s3eDeviceLoaderCallStart(S3E_TRUE, NULL);
#endif

    s3eResult ret = g_Ext.m_s3eMapViewRegister(cbid, fn, userData);

#ifdef LOADER_CALL_LOCK
    s3eDeviceLoaderCallDone(S3E_TRUE, NULL);
#endif

    return ret;
}
s3eResult s3eMapViewRegister(s3eMapViewCallback cbid, s3eCallback fn, void* userData)
{
    IwTrace(MAPVIEW_VERBOSE, ("calling s3eMapView[0] func: s3eMapViewRegister"));

    if (!_extLoad())
        return S3E_RESULT_ERROR;

#ifdef __mips
    // For MIPs platform we do not have asm code for stack switching 
    // implemented. So we make LoaderCallStart call manually to set GlobalLock
    s3eDeviceLoaderCallStart(S3E_TRUE, NULL);
#endif

    s3eResult ret = g_Ext.m_s3eMapViewRegister(cbid, fn, userData);

#ifdef __mips
    s3eDeviceLoaderCallDone(S3E_TRUE, NULL);
#endif

    return ret;
}