summaryrefslogtreecommitdiffstats
path: root/lib/private/migration/provider.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/private/migration/provider.php')
-rw-r--r--lib/private/migration/provider.php52
1 files changed, 52 insertions, 0 deletions
diff --git a/lib/private/migration/provider.php b/lib/private/migration/provider.php
new file mode 100644
index 00000000000..234ab3351f3
--- /dev/null
+++ b/lib/private/migration/provider.php
@@ -0,0 +1,52 @@
+<?php
+/**
+ * provides search functionalty
+ */
+abstract class OC_Migration_Provider{
+
+ protected $id=false;
+ protected $content=false;
+ protected $uid=false;
+ protected $olduid=false;
+ protected $appinfo=false;
+
+ public function __construct( $appid ) {
+ // Set the id
+ $this->id = $appid;
+ OC_Migrate::registerProvider( $this );
+ }
+
+ /**
+ * @brief exports data for apps
+ * @return array appdata to be exported
+ */
+ abstract function export( );
+
+ /**
+ * @brief imports data for the app
+ * @return void
+ */
+ abstract function import( );
+
+ /**
+ * @brief sets the OC_Migration_Content object to $this->content
+ * @param $content a OC_Migration_Content object
+ */
+ public function setData( $uid, $content, $info=null ) {
+ $this->content = $content;
+ $this->uid = $uid;
+ $id = $this->id;
+ if( !is_null( $info ) ) {
+ $this->olduid = $info->exporteduser;
+ $this->appinfo = $info->apps->$id;
+ }
+ }
+
+ /**
+ * @brief returns the appid of the provider
+ * @return string
+ */
+ public function getID() {
+ return $this->id;
+ }
+}