1<?php
2
3/* Copyright (c) 1998-2018 ILIAS open source, Extended GPL, see docs/LICENSE */
4
5/**
6 * Tile image object
7 *
8 * @author killing@leifos.de
9 * @ingroup ServicesObject
10 */
11interface ilObjectTileImageInterface
12{
13    /**
14     * Get extenstion
15     *
16     * @return string
17     */
18    public function getExtension() : string;
19
20    /**
21     * Copy tile image to repository object
22     * @param int $target_obj_id
23     */
24    public function copy(int $target_obj_id);
25
26    /**
27     * Delete tile image
28     */
29    public function delete();
30
31    /**
32     * Save image from request
33     *
34     * @throws \ILIAS\FileUpload\Exception\IllegalStateException
35     * @throws \ILIAS\Filesystem\Exception\FileNotFoundException
36     * @throws \ILIAS\Filesystem\Exception\IOException
37     */
38    public function saveFromHttpRequest(string $tmpname);
39
40    /**
41     * Does tile image file exist?
42     *
43     * @return bool
44     */
45    public function exists() : bool;
46
47    /**
48     * Get full path of the tile image file
49     *
50     * @return string
51     */
52    public function getFullPath() : string;
53}
54