Skip to content

deqing/download-agent

Repository files navigation

Introduction

This download agent was part of download-provider in Tizen framework. It provides basic download functionalities based on libsoup.

It is now separated and can be built into an independent library for external use.

Example

#include <pthread.h>
#include "download-agent-interface.h"

static GMainLoop* loop = NULL;
static void update_download_info_cb(user_download_info_t *download_info, void *user_param) { }
static void progress_info_cb(user_progress_info_t *progress_info, void *user_param) { }
static void paused_info_cb(user_paused_info_t *paused_info, void *user_param) { }
static void finished_info_cb(user_finished_info_t *finished_info, void *user_param) {
  da_deinit();
  if (g_main_loop_is_running(loop)) {
    g_main_loop_quit(loop);
  }
}

static void* thread_func(void *arg) {
  da_client_cb_t da_cb;
  da_cb.update_dl_info_cb = &update_download_info_cb;
  da_cb.update_progress_info_cb = &progress_info_cb;
  da_cb.finished_info_cb = &finished_info_cb;
  da_cb.paused_info_cb = &paused_info_cb;
  da_init(&da_cb);

  int id;
  da_start_download("http://test.com/sample.mp3", &id);
  loop = g_main_loop_new(NULL, 0);
  g_main_loop_run(loop);
}

int main()
{
  g_type_init();

  pthread_t pt;
  pthread_create(&pt, NULL, &thread_func, NULL);
}

For details of usage, please refer to include/download-agent-interface.h

About

Basic download functionalities based on libsoup

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published