309624991bcc6bc99a86b3e97355a64c583c3ae8
[GitHub/WoltLab/WCF.git] / wcfsetup / install / files / lib / system / file / processor / IFileProcessor.class.php
1 <?php
2
3 namespace wcf\system\file\processor;
4
5 use wcf\data\file\File;
6
7 /**
8 * @author Alexander Ebert
9 * @copyright 2001-2024 WoltLab GmbH
10 * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
11 * @since 6.1
12 */
13 interface IFileProcessor
14 {
15 public function acceptUpload(string $filename, int $fileSize, array $context): FileProcessorPreflightResult;
16
17 public function adopt(File $file, array $context): void;
18
19 public function canDownload(File $file): bool;
20
21 public function getAllowedFileExtensions(array $context): array;
22
23 public function getTypeName(): string;
24
25 public function getUploadResponse(File $file): array;
26
27 /**
28 * @return ThumbnailFormat[]
29 */
30 public function getThumbnailFormats(): array;
31 }