Ignore:
Timestamp:
Apr 5, 2013, 10:38:21 PM (7 years ago)
Author:
nit
Message:

[titan] add bg download to tithek

File:
1 edited

Legend:

Unmodified
Added
Removed
  • titan/plugins/tithek/tithek.h

    r20840 r20861  
    432432}
    433433
    434 void tithekbackgrounddownloadthread(struct stimerthread* timernode, struct download* node, int flag)
    435 {
    436         tithekdownloadcount++;
    437 
    438         if(node != NULL)
    439         {
    440                 m_lock(&status.tithekmutex, 20);
    441                 if(file_exist(node->filename))
    442                 {
    443                         m_unlock(&status.tithekmutex, 20);
    444                         goto end;
    445                 }
    446 
    447                 FILE *fd; fd = fopen(node->filename, "w");
    448                 if(fd != NULL) fclose(fd);
    449                 m_unlock(&status.tithekmutex, 20);
    450 
    451                 gethttpreal(node->host, node->page, node->port, node->filename, node->auth, NULL, 0, NULL, NULL, node->timeout, 0);
    452 
    453                 char* tmpstr = ostrcat(_("Download successful !"), "\n\n", 0, 0);
    454                 tmpstr = ostrcat(tmpstr, node->filename, 1, 0);         
    455                 tmpstr = ostrcat(tmpstr, "\n\n", 1, 0);
    456                 tmpstr = ostrcat(tmpstr, _("Start playback"), 1, 0);           
    457                 if(textbox(_("Message"), tmpstr, _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 1100, 300, 0, 0) == 1)
    458                 {
    459                         if(status.mcaktiv == 0)
    460                         {
    461                                 int rcret = servicestop(status.aktservice, 1, 1);
    462                                 if(rcret == 1) return;
    463                         }
    464                         screenplay(node->filename, node->filename, 2, flag);
    465                         if(status.mcaktiv == 0)
    466                                 servicecheckret(servicestart(status.lastservice->channel, NULL, NULL, 0), 0);
    467                 }               
    468                 free(tmpstr); tmpstr = NULL;
    469 
    470 end:
    471                 free(node->host); node->host = NULL;
    472                 free(node->page); node->page = NULL;
    473                 free(node->filename); node->filename = NULL;
    474                 free(node->auth); node->auth = NULL;
    475         }
    476 
    477         free(node); node = NULL;
    478 
    479         tithekdownloadcount--;
    480         tithekdownloadrun = 1;
    481 }
    482 
    483434char* tithekdownload(char* link, char* localname, char* pw, int pic, int flag)
    484435{
     
    1018969}
    1019970
    1020 void backgroundplay(char* link, char* filename)
     971void backgrounddl(char* link, char* filename)
    1021972{
    1022         int port = 80;
     973        int port = 80, ret = 0;
    1023974        char* host = NULL, *pos = NULL, *path = NULL, *file = NULL, *tmpstr = NULL;
    1024975        host = string_replace("http://", "", (char*)link, 0);
     
    10501001        debug(99, "---------------------------------------");
    10511002       
    1052         //dnode is freed in thread
    1053         struct download* dnode = calloc(1, sizeof(struct download));
    1054         if(dnode != NULL)
    1055         {
    1056                 dnode->host = ostrcat(host, NULL, 0, 0);
    1057                 dnode->page = ostrcat(path, NULL, 0, 0);
    1058                 dnode->port = port;
    1059                 dnode->filename = ostrcat(file, NULL, 0, 0);
    1060                 dnode->auth = NULL;
    1061                 dnode->connfd = -1;
    1062                 dnode->ret = -1;
    1063                 dnode->timeout = 50000;
    1064                 addtimer(&tithekbackgrounddownloadthread, START, 100, 1, (void*)dnode, NULL, NULL);
    1065         }
     1003        ret = startbgdownload(host, path, port, file, NULL, 1);
     1004        if(ret == 1)
     1005                textbox(_("Message"), _("Can't start download.\nPlease try later."), _("OK"), getrcconfigint("rcok", NULL), _("EXIT"), getrcconfigint("rcexit", NULL), NULL, 0, NULL, 0, 600, 200, 0, 0);
    10661006                                       
    10671007        free(tmpstr), tmpstr = NULL;
     
    12981238                                char* search = textinput("Search", filename);
    12991239                                if(search != NULL)
    1300                                         backgroundplay(tmpstr1, search);
     1240                                        backgrounddl(tmpstr1, search);
    13011241                                free(search), search = NULL;
    13021242                        }
Note: See TracChangeset for help on using the changeset viewer.