provider.php 1.04 KB
Newer Older
Georg Ehrke's avatar
Georg Ehrke committed
1
<?php
Georg Ehrke's avatar
Georg Ehrke committed
2
3
namespace OC\Preview;

Georg Ehrke's avatar
Georg Ehrke committed
4
abstract class Provider {
Georg Ehrke's avatar
Georg Ehrke committed
5
6
7
	private $options;

	public function __construct($options) {
8
		$this->options = $options;
Georg Ehrke's avatar
Georg Ehrke committed
9
	}
Georg Ehrke's avatar
Georg Ehrke committed
10

11
12
13
	/**
	 * @return string Regex with the mimetypes that are supported by this provider
	 */
Georg Ehrke's avatar
Georg Ehrke committed
14
15
	abstract public function getMimeType();

16
17
18
	/**
	 * Check if a preview can be generated for $path
	 *
19
	 * @param \OC\Files\FileInfo $file
20
21
	 * @return bool
	 */
22
	public function isAvailable($file) {
23
24
25
		return true;
	}

Georg Ehrke's avatar
Georg Ehrke committed
26
	/**
27
28
29
30
	 * get thumbnail for file at path $path
	 * @param string $path Path of file
	 * @param int $maxX The maximum X size of the thumbnail. It can be smaller depending on the shape of the image
	 * @param int $maxY The maximum Y size of the thumbnail. It can be smaller depending on the shape of the image
31
	 * @param bool $scalingup Disable/Enable upscaling of previews
32
33
34
35
	 * @param object $fileview fileview object of user folder
	 * @return mixed
	 * 		false if no preview was generated
	 *		OC_Image object of the preview
Georg Ehrke's avatar
Georg Ehrke committed
36
	 */
Georg Ehrke's avatar
Georg Ehrke committed
37
	abstract public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview);
Georg Ehrke's avatar
Georg Ehrke committed
38
}