summaryrefslogtreecommitdiffstats
path: root/apps/federatedfilesharing/lib/ocm
diff options
context:
space:
mode:
authorBjoern Schiessle <bjoern@schiessle.org>2018-04-18 16:05:11 +0200
committerBjoern Schiessle <bjoern@schiessle.org>2018-07-02 11:29:27 +0200
commit5cfe20675dfa1f895af47b4a8c93cf479d53b200 (patch)
tree66e0631e2f8791168797a4a7957a420e4ac429cf /apps/federatedfilesharing/lib/ocm
parent22bb834c48ad31add1d4bebc17de98d6e7d5d226 (diff)
downloadnextcloud-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.php83
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.
+ }
+}