WebDAV client service (stubbed for WebDav.Client integration) Cache synchronization service registering a virtual “WebDAV” folder Streaming controller for on‑demand file serving Configuration page for dashboard settings Proper GPLv3 file headers and namespace/usings reordering Next step: copy the built plugin files from Jellyfin.Plugin.Webdav/bin/Debug/net8.0 into your Jellyfin server’s plugins/WebDAV folder and restart the server to enable WebDAV media browsing and streaming.
38 lines
1.1 KiB
C#
38 lines
1.1 KiB
C#
/*
|
|
* Jellyfin.Plugin.Webdav
|
|
* Copyright (C) 2025 Jellyfin contributors
|
|
* Licensed under GPLv3
|
|
*/
|
|
namespace Jellyfin.Plugin.Webdav
|
|
{
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Threading.Tasks;
|
|
using Jellyfin.Plugin.Webdav.Configuration;
|
|
|
|
/// <summary>
|
|
/// Service for interacting with WebDAV endpoints.
|
|
/// </summary>
|
|
public sealed class WebDavClientService
|
|
{
|
|
private readonly PluginConfiguration _configuration;
|
|
|
|
public WebDavClientService(PluginConfiguration configuration)
|
|
{
|
|
_configuration = configuration;
|
|
}
|
|
|
|
/// <summary>List resources at the specified WebDAV path.</summary>
|
|
public Task<IEnumerable<object>> ListAsync(string path)
|
|
{
|
|
return Task.FromResult<IEnumerable<object>>(Array.Empty<object>());
|
|
}
|
|
|
|
/// <summary>Get a raw file stream from the WebDAV endpoint.</summary>
|
|
public Task<Stream> GetStreamAsync(string path)
|
|
{
|
|
return Task.FromResult<Stream>(Stream.Null);
|
|
}
|
|
}
|
|
} |