diff --git a/lib/public/activity/iconsumer.php b/lib/public/activity/iconsumer.php new file mode 100644 index 00000000000..4b82bc01b05 --- /dev/null +++ b/lib/public/activity/iconsumer.php @@ -0,0 +1,29 @@ +. + * + */ + + +namespace OCP\Activity; + +interface IConsumer { + function receive($app, $subject, $message, $file, $link); +} + diff --git a/lib/public/activity/imanager.php b/lib/public/activity/imanager.php new file mode 100644 index 00000000000..da7e9d4b662 --- /dev/null +++ b/lib/public/activity/imanager.php @@ -0,0 +1,41 @@ +. + * + */ + + +namespace OCP\Activity; + +interface IManager { + + function publishActivity($app, $subject, $message, $file, $link); + + /** + * In order to improve lazy loading a closure can be registered which will be called in case + * activity consumers are actually requested + * + * $callable has to return an instance of OCA\Activity\IConsumer + * + * @param string $key + * @param \Closure $callable + */ + function registerConsumer(\Closure $callable); + +} diff --git a/lib/public/iservercontainer.php b/lib/public/iservercontainer.php index 1725b7c74e0..41def099691 100644 --- a/lib/public/iservercontainer.php +++ b/lib/public/iservercontainer.php @@ -76,4 +76,11 @@ interface IServerContainer { */ function getSession(); + /** + * Returns the activity manager + * + * @return \OCP\Activity\IManager + */ + function getActivityManager(); + }