2016-11-04 06:33:33 -04:00
|
|
|
<?php
|
|
|
|
|
/**
|
2024-05-23 03:26:56 -04:00
|
|
|
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
|
|
|
|
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
2016-11-04 06:33:33 -04:00
|
|
|
*/
|
|
|
|
|
namespace OCP\Activity;
|
|
|
|
|
|
2024-04-17 08:16:33 -04:00
|
|
|
use OCP\Activity\Exceptions\UnknownActivityException;
|
|
|
|
|
|
2016-11-04 06:33:33 -04:00
|
|
|
/**
|
|
|
|
|
* Interface IProvider
|
|
|
|
|
*
|
2016-11-16 03:29:27 -05:00
|
|
|
* @since 11.0.0
|
2016-11-04 06:33:33 -04:00
|
|
|
*/
|
|
|
|
|
interface IProvider {
|
|
|
|
|
/**
|
2016-12-01 05:34:56 -05:00
|
|
|
* @param string $language The language which should be used for translating, e.g. "en"
|
|
|
|
|
* @param IEvent $event The current event which should be parsed
|
|
|
|
|
* @param IEvent|null $previousEvent A potential previous event which you can combine with the current one.
|
|
|
|
|
* To do so, simply use setChildEvent($previousEvent) after setting the
|
|
|
|
|
* combined subject on the current event.
|
2016-11-04 06:33:33 -04:00
|
|
|
* @return IEvent
|
2024-04-17 08:16:33 -04:00
|
|
|
* @throws UnknownActivityException Should be thrown if your provider does not know this event
|
2016-11-16 03:29:27 -05:00
|
|
|
* @since 11.0.0
|
2024-04-17 08:16:33 -04:00
|
|
|
* @since 30.0.0 Providers should throw {@see UnknownActivityException} instead of \InvalidArgumentException
|
|
|
|
|
* when they did not handle the event. Throwing \InvalidArgumentException directly is deprecated and will
|
|
|
|
|
* be logged as an error in Nextcloud 39.
|
2016-11-04 06:33:33 -04:00
|
|
|
*/
|
2024-03-28 11:13:19 -04:00
|
|
|
public function parse($language, IEvent $event, ?IEvent $previousEvent = null);
|
2016-11-04 06:33:33 -04:00
|
|
|
}
|