diff options
author | Bjoern Schiessle <bjoern@schiessle.org> | 2018-04-18 16:05:11 +0200 |
---|---|---|
committer | Bjoern Schiessle <bjoern@schiessle.org> | 2018-07-02 11:29:27 +0200 |
commit | 5cfe20675dfa1f895af47b4a8c93cf479d53b200 (patch) | |
tree | 66e0631e2f8791168797a4a7957a420e4ac429cf /apps/federatedfilesharing/lib/ocm | |
parent | 22bb834c48ad31add1d4bebc17de98d6e7d5d226 (diff) | |
download | nextcloud-server-5cfe20675dfa1f895af47b4a8c93cf479d53b200.tar.gz nextcloud-server-5cfe20675dfa1f895af47b4a8c93cf479d53b200.zip |
start implementing federated sharing 2.0
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
Diffstat (limited to 'apps/federatedfilesharing/lib/ocm')
-rw-r--r-- | apps/federatedfilesharing/lib/ocm/CloudFederationProvider.php | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/apps/federatedfilesharing/lib/ocm/CloudFederationProvider.php b/apps/federatedfilesharing/lib/ocm/CloudFederationProvider.php new file mode 100644 index 00000000000..36b2d282b9e --- /dev/null +++ b/apps/federatedfilesharing/lib/ocm/CloudFederationProvider.php @@ -0,0 +1,83 @@ +<?php +/** + * @copyright Copyright (c) 2018 Bjoern Schiessle <bjoern@schiessle.org> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OCA\FederatedFileSharing\OCM; + +use OCP\Federation\ICloudFederationFactory; +use OCP\Federation\ICloudFederationProvider; +use OCP\Federation\ICloudFederationShare; + +class CloudFederationProvider implements ICloudFederationProvider { + + /** @var string */ + private $shareType; + + /** + * CloudFederationProvider constructor. + * + * @param string $shareType + */ + public function __construct($shareType) { + $this->shareType = $shareType; + } + + /** + * @return string + */ + public function getShareType() { + return $this->shareType; + } + + /** + * send new share to another server + * + * @since 14.0.0 + */ + public function sendShare() { + // TODO: Implement sendShare() method. + } + + /** + * share received from another server + * + * @param ICloudFederationShare $share + * @return string provider specific unique ID of the share + * + * @since 14.0.0 + */ + public function shareReceived(ICloudFederationShare $share) { + // TODO: Implement shareReceived() method. + } + + /** + * notification received from another server + * + * @param string $id unique ID of a already existing share + * @param array $notification provider specific notification + * + * @throws \OCP\Federation\Exceptions\ShareNotFoundException + * + * @since 14.0.0 + */ + public function notificationReceived($id, $notification) { + // TODO: Implement notificationReceived() method. + } +} |