2020-06-28 13:51:34 +00:00
|
|
|
#include "webfuse/impl/mountpoint.h"
|
2020-02-15 14:11:35 +00:00
|
|
|
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <string.h>
|
|
|
|
|
|
|
|
struct wf_mountpoint
|
|
|
|
{
|
|
|
|
char * path;
|
2020-02-16 03:02:23 +00:00
|
|
|
void * user_data;
|
|
|
|
wf_mountpoint_userdata_dispose_fn * dispose;
|
2020-02-15 14:11:35 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
struct wf_mountpoint *
|
|
|
|
wf_impl_mountpoint_create(
|
|
|
|
char const * path)
|
|
|
|
{
|
|
|
|
struct wf_mountpoint * mountpoint = malloc(sizeof(struct wf_mountpoint));
|
|
|
|
mountpoint->path = strdup(path);
|
2020-02-16 03:02:23 +00:00
|
|
|
mountpoint->user_data = NULL;
|
|
|
|
mountpoint->dispose = NULL;
|
2020-02-15 14:11:35 +00:00
|
|
|
|
|
|
|
return mountpoint;
|
|
|
|
}
|
|
|
|
|
|
|
|
void
|
|
|
|
wf_impl_mountpoint_dispose(
|
|
|
|
struct wf_mountpoint * mountpoint)
|
|
|
|
{
|
2020-02-16 03:02:23 +00:00
|
|
|
if (NULL != mountpoint->dispose)
|
|
|
|
{
|
|
|
|
mountpoint->dispose(mountpoint->user_data);
|
|
|
|
}
|
2020-02-15 14:50:32 +00:00
|
|
|
|
2020-02-15 14:11:35 +00:00
|
|
|
free(mountpoint->path);
|
|
|
|
free(mountpoint);
|
|
|
|
}
|
|
|
|
|
|
|
|
char const *
|
|
|
|
wf_impl_mountpoint_get_path(
|
|
|
|
struct wf_mountpoint const * mountpoint)
|
|
|
|
{
|
|
|
|
return mountpoint->path;
|
|
|
|
}
|
2020-02-15 14:50:32 +00:00
|
|
|
|
2020-02-16 03:02:23 +00:00
|
|
|
extern void
|
|
|
|
wf_impl_mountpoint_set_userdata(
|
2020-02-15 14:50:32 +00:00
|
|
|
struct wf_mountpoint * mountpoint,
|
2020-02-16 03:02:23 +00:00
|
|
|
void * user_data,
|
|
|
|
wf_mountpoint_userdata_dispose_fn * dispose)
|
2020-02-15 14:50:32 +00:00
|
|
|
{
|
2020-02-16 03:02:23 +00:00
|
|
|
mountpoint->user_data = user_data;
|
|
|
|
mountpoint->dispose = dispose;
|
2020-02-15 14:50:32 +00:00
|
|
|
}
|