예제 #1
0
extern "C" void
Java_org_vudroid_djvudroid_codec_DjvuContext_handleMessage(JNIEnv *env,
                                    jobject thiz,
                                    jlong contextHandle)
{
	const ddjvu_message_t *msg;
	ddjvu_context_t* ctx = (ddjvu_context_t*)(contextHandle);
	DEBUG_PRINT("handleMessage for ctx: %x",ctx);
	if(msg = ddjvu_message_peek(ctx))
    {
        switch (msg->m_any.tag)
        {
            case DDJVU_ERROR:
            	ThrowDjvuError(env, msg);
                break;
            case DDJVU_INFO:
                break;
            case DDJVU_DOCINFO:
            	CallDocInfoCallback(env, thiz, msg);
            	break;
            default:
                break;
        }
        ddjvu_message_pop(ctx);
	}
}
void handleMessages(JNIEnv *env, ddjvu_context_t* ctx)
{
    const ddjvu_message_t *msg;
    while((msg = ddjvu_message_peek(ctx)))
    {
        switch (msg->m_any.tag)
        {
        case DDJVU_ERROR:
            ThrowDjvuError(env, msg);
            break;
        case DDJVU_INFO:
            break;
        case DDJVU_DOCINFO:
            break;
        default:
            break;
        }
        ddjvu_message_pop(ctx);
    }
}