1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-06-16 21:35:24 +00:00

Add stubs

This commit is contained in:
William Wennerström 2020-07-21 11:36:09 +02:00
parent ab83afe21b
commit be62b446f7
No known key found for this signature in database
GPG Key ID: E1382990BEDD319B
5 changed files with 55 additions and 10 deletions

View File

@ -126,8 +126,10 @@ unittest_sources = \
tests/unittests/log/stub_log.c \
tests/unittests/database/stub_database.c \
tests/unittests/config/stub_accounts.c \
tests/unittests/tools/stub_http_common.c \
tests/unittests/tools/stub_http_upload.c \
tests/unittests/tools/stub_http_download.c \
tests/unittests/tools/stub_aesgcm_download.c \
tests/unittests/helpers.c tests/unittests/helpers.h \
tests/unittests/test_form.c tests/unittests/test_form.h \
tests/unittests/test_common.c tests/unittests/test_common.h \

View File

@ -69,7 +69,6 @@
#include "event/client_events.h"
#include "tools/http_upload.h"
#include "tools/http_download.h"
#include "tools/aesgcm_download.h"
#include "tools/autocomplete.h"
#include "tools/parser.h"
#include "tools/bookmark_ignore.h"
@ -97,6 +96,7 @@
#ifdef HAVE_OMEMO
#include "omemo/omemo.h"
#include "xmpp/omemo.h"
#include "tools/aesgcm_download.h"
#endif
#ifdef HAVE_GTK
@ -9168,6 +9168,7 @@ _url_save_fallback_method(ProfWin* window, const char* url, const char* filename
{
gchar* scheme = g_uri_parse_scheme(url);
#ifdef HAVE_OMEMO
if (g_strcmp0(scheme, "aesgcm") == 0) {
AESGCMDownload* download = malloc(sizeof(AESGCMDownload));
download->window = window;
@ -9176,15 +9177,20 @@ _url_save_fallback_method(ProfWin* window, const char* url, const char* filename
pthread_create(&(download->worker), NULL, &aesgcm_file_get, download);
aesgcm_download_add_download(download);
} else {
HTTPDownload* download = malloc(sizeof(HTTPDownload));
download->window = window;
download->url = strdup(url);
download->filename = strdup(filename);
pthread_create(&(download->worker), NULL, &http_file_get, download);
http_download_add_download(download);
free(scheme);
return;
}
#endif
HTTPDownload* download = malloc(sizeof(HTTPDownload));
download->window = window;
download->url = strdup(url);
download->filename = strdup(filename);
pthread_create(&(download->worker), NULL, &http_file_get, download);
http_download_add_download(download);
free(scheme);
}

View File

@ -0,0 +1,23 @@
#ifndef TOOLS_AESGCM_DOWNLOAD_H
#define TOOLS_AESGCM_DOWNLOAD_H
#include <pthread.h>
typedef struct prof_win_t ProfWin;
typedef struct http_download_t HTTPDownload;
typedef struct aesgcm_download_t
{
char* url;
char* filename;
ProfWin* window;
pthread_t worker;
HTTPDownload* http_dl;
} AESGCMDownload;
void* aesgcm_file_get(void* userdata);
void aesgcm_download_cancel_processes(ProfWin* window);
void aesgcm_download_add_download(AESGCMDownload* download);
#endif

View File

@ -0,0 +1,16 @@
#ifndef TOOLS_HTTP_COMMON_H
#define TOOLS_HTTP_COMMON_H
typedef struct prof_win_t ProfWin;
char*
http_basename_from_url(const char* url)
{
return "";
}
void http_print_transfer(ProfWin* window, char* url, const char* fmt, ...);
void http_print_transfer_update(ProfWin* window, char* url,
const char* fmt, ...);
#endif

View File

@ -23,6 +23,4 @@ void* http_file_get(void* userdata);
void http_download_cancel_processes(ProfWin* window);
void http_download_add_download(HTTPDownload* download);
char* http_filename_from_url(const char* url);
#endif