summaryrefslogtreecommitdiffstats
path: root/apps/files_external/lib
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2016-05-19 18:08:17 +0200
committerVincent Petry <pvince81@owncloud.com>2016-05-19 18:08:17 +0200
commit4728308a9ec79fe41b137b9d401c3c2f56f27f4d (patch)
tree1051f55912306f4b535a7479c4e1134bcd1d7a88 /apps/files_external/lib
parent65eae43ab122bf1d04a5d6f8bee8e8b5ec439276 (diff)
parent8f58b89c3f01c31cc7b6c59830741af048559e2e (diff)
downloadnextcloud-server-4728308a9ec79fe41b137b9d401c3c2f56f27f4d.tar.gz
nextcloud-server-4728308a9ec79fe41b137b9d401c3c2f56f27f4d.zip
Merge pull request #24585 from owncloud/files_external_lazy
Load external storage backends/auth mechanisms lazily
Diffstat (limited to 'apps/files_external/lib')
-rw-r--r--apps/files_external/lib/config/iauthmechanismprovider.php38
-rw-r--r--apps/files_external/lib/config/ibackendprovider.php38
2 files changed, 76 insertions, 0 deletions
diff --git a/apps/files_external/lib/config/iauthmechanismprovider.php b/apps/files_external/lib/config/iauthmechanismprovider.php
new file mode 100644
index 00000000000..035b8e891f5
--- /dev/null
+++ b/apps/files_external/lib/config/iauthmechanismprovider.php
@@ -0,0 +1,38 @@
+<?php
+/**
+ * @author Robin McCorkell <robin@mccorkell.me.uk>
+ *
+ * @copyright Copyright (c) 2016, ownCloud, Inc.
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * 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, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+namespace OCA\Files_External\Lib\Config;
+
+use \OCA\Files_External\Lib\Auth\AuthMechanism;
+
+/**
+ * Provider of external storage auth mechanisms
+ * @since 9.1.0
+ */
+interface IAuthMechanismProvider {
+
+ /**
+ * @since 9.1.0
+ * @return AuthMechanism[]
+ */
+ public function getAuthMechanisms();
+
+}
diff --git a/apps/files_external/lib/config/ibackendprovider.php b/apps/files_external/lib/config/ibackendprovider.php
new file mode 100644
index 00000000000..2335e7133a6
--- /dev/null
+++ b/apps/files_external/lib/config/ibackendprovider.php
@@ -0,0 +1,38 @@
+<?php
+/**
+ * @author Robin McCorkell <robin@mccorkell.me.uk>
+ *
+ * @copyright Copyright (c) 2016, ownCloud, Inc.
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * 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, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+namespace OCA\Files_External\Lib\Config;
+
+use \OCA\Files_External\Lib\Backend\Backend;
+
+/**
+ * Provider of external storage backends
+ * @since 9.1.0
+ */
+interface IBackendProvider {
+
+ /**
+ * @since 9.1.0
+ * @return Backend[]
+ */
+ public function getBackends();
+
+}