forked from osmocom/wireshark
ui: move filesystem code to wsutil/filesystem.c
This function can be used by code outside ui (eg. extcap). Ping-Bug: 13218 Change-Id: Ic11f7acebefeaf777692df044ebff9b1bc387aa3 Reviewed-on: https://code.wireshark.org/review/19178 Petri-Dish: Dario Lombardo <lomato@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
This commit is contained in:
parent
8dca05f188
commit
43000acd74
|
@ -114,6 +114,8 @@
|
|||
|
||||
#include "ui/gtk/webbrowser.h"
|
||||
|
||||
#include <wsutil/filesystem.h>
|
||||
|
||||
#if defined(G_OS_WIN32)
|
||||
/* Win32 - use Windows shell services to start a browser */
|
||||
#include <windows.h>
|
||||
|
|
|
@ -36,33 +36,6 @@
|
|||
#include <wsutil/unicode-utils.h>
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Given a filename return a filesystem URL. Relative paths are prefixed with
|
||||
* the datafile directory path.
|
||||
*/
|
||||
gchar *
|
||||
data_file_url(const gchar *filename)
|
||||
{
|
||||
gchar *file_path;
|
||||
gchar *uri;
|
||||
|
||||
/* Absolute path? */
|
||||
if(g_path_is_absolute(filename)) {
|
||||
file_path = g_strdup(filename);
|
||||
} else if(running_in_build_directory()) {
|
||||
file_path = g_strdup_printf("%s/doc/%s", get_datafile_dir(), filename);
|
||||
} else {
|
||||
file_path = g_strdup_printf("%s/%s", get_datafile_dir(), filename);
|
||||
}
|
||||
|
||||
/* XXX - check, if the file is really existing, otherwise display a simple_dialog about the problem */
|
||||
|
||||
/* convert filename to uri */
|
||||
uri = g_filename_to_uri(file_path, NULL, NULL);
|
||||
g_free(file_path);
|
||||
return uri;
|
||||
}
|
||||
|
||||
const char *
|
||||
topic_online_url(topic_action_e action)
|
||||
{
|
||||
|
|
|
@ -124,16 +124,6 @@ typedef enum {
|
|||
HELP_TELEPHONY_RTP_PLAYER_DIALOG
|
||||
} topic_action_e;
|
||||
|
||||
/** Given a filename return a filesystem URL. Relative paths are prefixed with
|
||||
* the datafile directory path.
|
||||
*
|
||||
* @param filename A file name or path. Relative paths will be prefixed with
|
||||
* the data file directory path.
|
||||
* @return A filesystem URL for the file or NULL on failure. A non-NULL return
|
||||
* value must be freed with g_free().
|
||||
*/
|
||||
gchar *data_file_url(const gchar *filename);
|
||||
|
||||
/** Given a topic action return its online (www.wireshark.org) URL or NULL.
|
||||
*
|
||||
* @param action Topic action, e.g. ONLINEPAGE_HOME or ONLINEPAGE_ASK.
|
||||
|
|
|
@ -2121,6 +2121,29 @@ done:
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
gchar *
|
||||
data_file_url(const gchar *filename)
|
||||
{
|
||||
gchar *file_path;
|
||||
gchar *uri;
|
||||
|
||||
/* Absolute path? */
|
||||
if(g_path_is_absolute(filename)) {
|
||||
file_path = g_strdup(filename);
|
||||
} else if(running_in_build_directory()) {
|
||||
file_path = g_strdup_printf("%s/doc/%s", get_datafile_dir(), filename);
|
||||
} else {
|
||||
file_path = g_strdup_printf("%s/%s", get_datafile_dir(), filename);
|
||||
}
|
||||
|
||||
/* XXX - check, if the file is really existing, otherwise display a simple_dialog about the problem */
|
||||
|
||||
/* convert filename to uri */
|
||||
uri = g_filename_to_uri(file_path, NULL, NULL);
|
||||
g_free(file_path);
|
||||
return uri;
|
||||
}
|
||||
|
||||
/*
|
||||
* Editor modelines
|
||||
*
|
||||
|
|
|
@ -292,6 +292,18 @@ WS_DLL_PUBLIC gboolean files_identical(const char *fname1, const char *fname2);
|
|||
WS_DLL_PUBLIC gboolean copy_file_binary_mode(const char *from_filename,
|
||||
const char *to_filename);
|
||||
|
||||
|
||||
/*
|
||||
* Given a filename return a filesystem URL. Relative paths are prefixed with
|
||||
* the datafile directory path.
|
||||
*
|
||||
* @param filename A file name or path. Relative paths will be prefixed with
|
||||
* the data file directory path.
|
||||
* @return A filesystem URL for the file or NULL on failure. A non-NULL return
|
||||
* value must be freed with g_free().
|
||||
*/
|
||||
WS_DLL_PUBLIC gchar* data_file_url(const gchar *filename);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
|
Loading…
Reference in New Issue