summaryrefslogtreecommitdiffstats
path: root/lib/migration/provider.php
blob: 259b1fe7ae69235850f6c6059df8dd4d51e3f44c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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;
	}
}