Merge "Fix for "Add explicit GENDER support to a few pages" Issue"
[mediawiki.git] / includes / libs / filebackend / fileophandle / FileBackendStoreOpHandle.php
blobef1079a6c244c9a7a3d81893ef8acf0a5b52442b
1 <?php
2 /**
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation; either version 2 of the License, or
6 * (at your option) any later version.
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
13 * You should have received a copy of the GNU General Public License along
14 * with this program; if not, write to the Free Software Foundation, Inc.,
15 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
16 * http://www.gnu.org/copyleft/gpl.html
18 * @file
19 * @ingroup FileBackend
22 namespace Wikimedia\FileBackend\FileOpHandle;
24 use Wikimedia\FileBackend\FileBackendStore;
26 /**
27 * FileBackendStore helper class for performing asynchronous file operations.
29 * For example, calling FileBackendStore::createInternal() with the "async"
30 * param flag may result in a StatusValue that contains this object as a value.
31 * This class is largely backend-specific and is mostly just "magic" to be
32 * passed to FileBackendStore::executeOpHandlesInternal().
34 * @stable to extend
36 abstract class FileBackendStoreOpHandle {
37 /** @var array */
38 public $params = []; // params to caller functions
39 /** @var FileBackendStore */
40 public $backend;
41 /** @var array */
42 public $resourcesToClose = [];
43 /** @var callable name that identifies the function called */
44 public $call;
46 /**
47 * Close all open file handles
49 public function closeResources() {
50 // @phan-suppress-next-line PhanPluginUseReturnValueInternalKnown
51 array_map( 'fclose', $this->resourcesToClose );
55 /** @deprecated class alias since 1.43 */
56 class_alias( FileBackendStoreOpHandle::class, 'FileBackendStoreOpHandle' );