Skip to content
Snippets Groups Projects
1 Introduction

  Newport is a download manager capable of downloading files from the internet for local storage.
  Currently the download manager does not specify the type of files that could be downloaded for the automotive system.
  The files could be, audio, video, applications, map data, system images etc.
  It uses sqlite db to store and retrieve the download links.


2 Features
•   It supports upto 5 parallel downloads.(configurable to download further as well)
•   Additional downloads would be queued and started once the current download finishes.
•   Supports automatic restart of downloads on next startup in case download was incomplete in the previous ignition cycle.
•   Supports moving the downloaded item to the desired location.
•   Notification update to the clients with download progress.
•   Mechanisms to pause,cancel and resume downloads.

3 Functionality
  Startup - The download manager when started, retrieves all the files whose download is still in progress.
            It checks for connectivity from the connection manager and starts to automatically download the pending urls.
            It also initializes its dbus service and exposes the required interfaces.
            Applications interested for download progress can request dnl mgr for the same.

  Download Mechanism - The download manager uses curl to download files from the net.
                       It also maintains the list of current downloads in progress in an sqlite db for persistance handling
                       It exposes dbus interfaces to start, pause, resume and cancel downloads.
                       On recieving a download request, the dnl-mgr creates a new thread to start the download.
                       It stores the state of the current download progress which is retrieved at startup.

  Shutdown -  At graceful shutdown, the download manager stores all the pending downloads into db and stops all the threads.


4 Compilation - ./autogen.sh --prefix=/usr
                make
                sudo make install

5 Running Download mgr
        You can directly launch the executable from the terminal
        ./download_manager

        If you need to enable traces just export DOWNLOAD_MANAGER_DEBUG=dnl-mgr

6 Running the client
      The client can also be launched via a terminal
      If the service is running the client would ask you to enter the following details
      Enter Application Name : abc
      Enter Url to Download : http://xyz.mp3
      Enter the Name for Downloaded file :xyz.mp3
      Enter Path to store the file or Press (y) to store file in Home directory :y

      you should start seeing some download traces shoing the dnl progress

      You could pause the download by pressing 'p'
      You could resume the download by pressing 'r'
      You could cancel the download by pressing 'c'