[질문] 함수 포인터..
글쓴이: bosub / 작성시간: 수, 2006/01/11 - 6:11오후
dillo 소스 중에 일 부분입니다.
Html_callback 함수는 어떻게 돌아가나요?
함수의 동작 원리와 파라미터가 어떻게 들어가는지 가르쳐 주세요
typedef void (*__IOCallback_t)(int,void*, __CacheFile_t*);
Dw *a_Html_text(const char *Type, void *P, __IOCallback_t *Call, void **Data)
{
DilloWeb *web = (DilloWeb *) P;
DilloHtml *html = Html_new(web->bw);
*Data = (void *) html;
/******* This function *****************/
*Call = (__IOCallback_t) Html_callback;
/***********************************/
/* todo: this should probably be a function of dw_page */
web->child_linkblock = &html->linkblock->linkblock;
html->linkblock->linkblock.bw = web->bw;
return html->dw;
}
static void Html_callback(int Op, void *B, __CacheFile_t *FPtr)
{
if (Op)
Html_close(B);
else
Html_write(B, FPtr);
}
Forums:


자세히 안 봐서(소스가 너무 복잡해요.)정확할지는 모르겠지만대
자세히 안 봐서(소스가 너무 복잡해요.)
정확할지는 모르겠지만
대충 봤을 때 P 에 web 객체를 넣어 a_Html_text 함수를 호출하면 web으로 부터 html 객체를 생성한 후, Data에 그 객체를, Call에 그것을 처리할 Html_callback 함수를 설정하여 리턴해 주는 것 같습니다.
a_Html_text를 호출한 부분에서 다음과 같이 사용될 것 같은데요.
a_Html_text("DummyType", web, &Call, &Data); Call(OP_WRITE, Data, FPtr); Call(OP_CLOSE, Data, NULL);아마 web 에 대해 html 말고 다른 객체(image 등)를 처리하기 위해
a_Html_text, a_Jpeg_Image 등과 그에 연결된 Html_callback, Jpeg_callback 등의 함수군들이 있을 것 같네요.
Re: [질문] 함수 포인터..
이 코드는 콜백을 등록하는 부분 밖에 없는 듯 합니다. 여기에서 의문 점이 있으신 것인가요?
- 죠커's blog / HanIRC:#CN
콜백은 어떻게 동작을 하나요?
콜백은 어떻게 동작을 하나요?
5초 앞이라도 내다 볼 수 있다면..
어딘가에서 Call(para...);**->Call(para
어딘가에서
Call(para...);
**->Call(para...);
로 부르게 될겁니다.
콜백 매카니즘은 어떻게 사용을 합니까?간단한 심플 예제라도 있으시면
콜백 매카니즘은 어떻게 사용을 합니까?
간단한 심플 예제라도 있으시면 가르쳐 주세요 *^^*
5초 앞이라도 내다 볼 수 있다면..
댓글 달기