Ecore_Con_Url *ecore_url = NULL;
초기화
ecore_init();
ecore_con_init();
ecore_con_url_init();
ECore_Con_Url 객체 생성
ecore_url = ecore_con_url_new( const char *url );
// type을 지정해서 생성
const char *type = "POST"; // "GET"
ecore_url = ecore_con_url_custom_new( const char *url, type );
객체의 url 변경
ecore_con_url_url_set( ecore_url , const char *new_url );
헤더추가
ecore_con_url_additional_header_add( ecore_url, "Name", "Value" );
핸들러
// 핸들러정의 (이벤트 핸들러)
ecore_event_handler_add( ECORE_CON_EVENT_URL_PROGRESS, progress_callback, NULL );
ecore_event_handler_add( ECORE_CON_EVENT_URL_COMPLETE, complete_callback, NULL );
ecore_event_handler_add( ECORE_CON_EVENT_URL_DATA, data_callback, NULL );
연결
Eina_Bool ecore_con_url_get( Ecore_Con_Url *ecore_url );
Eina_Bool ecore_con_url_post( Ecore_Con_Url *ecore_url,
const void *data,
long data_length,
const char *content_type);
객체해제
ecore_con_url_free( ecore_url );
해제
ecore_con_url_shutdown();
ecore_con_shutdown();
ecore_shutdown();
콜백 메쏘드( 이벤트 콜백 )
// event_info에 전달되는 이벤트 객체에 따라 필요한 처리를 하면 된다.
// 예를 들어 Ecore_Con_Event_Url_Data 의 경우 size와 data를 가지고 있어 아래와 같은 처리가 가능하다.
Eina_Binbuf *buffer = eina_binbuf_new();
Ecore_Con_Event_Url_Data *url_data = event_info;
eina_binbuf_append_length( buffer, url_data->data, url_data->size);
eina_binbuf_free( buffer );
static Eina_Bool progress_callback( void *data, int type, void *event_info )
{
Ecore_Con_Event_Url_Progress *progress = event_info;
progress->down.now;
progress->down.total;
return EINA_TRUE;
}
static Eina_Bool complete_callback( void *data, int type, void *event_info )
{
Ecore_Con_Event_Url_Complete *complete = event_info;
ecore_main_loop_quit();
return EINA_TRUE;
}
응답헤더 얻기
char *str;
Eina_List *item;
Eina_List *headers = ecore_con_url_response_headers_get( ecore_url );
EINA_LIST_FOREACH( headers, item, str )
{
}
응답 데이터를 파일로 저장
// 요청이 파일인 경우 다운로드를 위해 파일 디스크립터를 설정한다.
ecore_con_url_fd_set( Ecore_Con_Url *ecore_url, int fd );
기타
// 버전 설정
ecore_con_url_http_version_set( Ecore_Con_Url *ecore_url, Ecore_Con_Url_Http_Version version );
// 타임아웃 설정
ecore_con_url_timeout_set( Ecore_Con_Url *ecore_url , double second );
// 응답코드 얻기
int ecore_con_url_status_code_get( Ecore_Con_Url *ecore_url );
'프로그래밍 > Tizen' 카테고리의 다른 글
[Tizen] 패키징 및 signing (0) | 2014.07.31 |
---|---|
[EFL] Ecore_Exe 프로세스간 통신 (0) | 2014.07.19 |
[EFL] Elementary (3) | 2014.07.17 |
[EFL] Elementary 위젯 (0) | 2014.07.17 |
[EFL] EDC 스크립트 (0) | 2014.07.17 |
[EFL] Evas 오브젝트 (0) | 2014.07.16 |
[EFL] Ecore 이벤트 핸들러 (0) | 2014.07.13 |
[EFL] 기본 윈도우 (0) | 2014.07.13 |