2011-08-18 8 views
2

나는 mojo 하이브리드 응용 프로그램에서 pdk 플러그인을 호출하려고 시도했으며 enyo 응용 프로그램에서도 동일한 방법을 시도했습니다. 두 경우 모두 나의 pdk 플러그인은 흥미로운 것은 enyo의 경우이고, 나는 플러그인 등록이 완료된 후 보내지는 plugin_ready 응답을 받았다.hp webos, 하이브리드 응용 프로그램에서 pdk 플러그인이 없습니다.

web-os 사이트에서 pdk 플러그인에 문제가있어 보이지 않는다고 언급했습니다.

그러나 해결 방법을 찾을 수 없습니다.

이 내 플러그인 모습입니다,

PDL_bool powerCall(PDL_JSParameters *params) { 
    runsine(); 
    char *reply = "Done"; 
    PDL_JSReply(params, reply); 
return PDL_TRUE; 


} 

int main(){ 
    int result = SDL_Init(SDL_INIT_VIDEO); 


    PDL_Init(0); 

    PDL_RegisterJSHandler("pawar", powerCall); 

    PDL_JSRegistrationComplete(); 

    PDL_CallJS("ready", NULL, 0); // this is for enyo 
    PDL_Quit(); 
    SDL_Quit(); 
return 0; 
} 

방법이 문제를 해결하는 날을 제안 해주십시오. 나는 그것의 아주 간단한 업무를 알고 있고 그것 오랫동안 가지고 간 좌절시킨다.

감사 샨 플러그인 당신이 "준비"함수를 호출 한 후 이벤트 루프를 입력하고 PDL_Quit()와 SDL_Quit를 호출하기 전에()한다에서

답변

2

. 이벤트 루프가 없으면 플러그인 프로세스가 바로 종료됩니다. 여기

는 "간단한"응용 프로그램을 기반으로 한 예입니다 그 PDK와 함께 제공 :

int main(){ 
    int result = SDL_Init(SDL_INIT_VIDEO); 
    PDL_Init(0); 
    PDL_RegisterJSHandler("pawar", powerCall); 
    PDL_JSRegistrationComplete(); 
    PDL_CallJS("ready", NULL, 0); // this is for enyo 

    atexit(SDL_Quit); 
    atexit(PDL_Quit); 

    SDL_Event Event; 
    bool paused = false; 

    while (1) { 
     bool gotEvent; 
     if (paused) { 
      SDL_WaitEvent(&Event); 
      gotEvent = true; 
     } 
     else { 
      gotEvent = SDL_PollEvent(&Event); 
     } 

     while (gotEvent) { 
      switch (Event.type) { 
       case SDL_ACTIVEEVENT: 
        if (Event.active.state == SDL_APPACTIVE) { 
         paused = !Event.active.gain; 
        } 
        break; 

       case SDL_QUIT: 
        // We exit anytime we get a request to quit the app 
        // all shutdown code is registered via atexit() so this is clean. 
        exit(0); 
        break; 

       // handle any other events interesting to your plugin here 

       default: 
        break; 
      } 
      gotEvent = SDL_PollEvent(&Event); 
     } 
    } 
    return 0; 
}