link api from web interface, make single note fetching work, redo note storage username
[grauphel.git] / lib / dependencies.php
1 <?php
2 /**
3  * Part of grauphel
4  *
5  * PHP version 5
6  *
7  * @category  Tools
8  * @package   Grauphel
9  * @author    Christian Weiske <cweiske@cweiske.de>
10  * @copyright 2014 Christian Weiske
11  * @license   http://www.gnu.org/licenses/agpl.html GNU AGPL v3
12  * @link      http://cweiske.de/grauphel.htm
13  */
14 namespace OCA\Grauphel\Lib;
15
16 /**
17  * Object container
18  *
19  * @category  Tools
20  * @package   Grauphel
21  * @author    Christian Weiske <cweiske@cweiske.de>
22  * @copyright 2014 Christian Weiske
23  * @license   http://www.gnu.org/licenses/agpl.html GNU AGPL v3
24  * @version   Release: @package_version@
25  * @link      http://cweiske.de/grauphel.htm
26  */
27 class Dependencies
28 {
29     /**
30      * @var Frontend\Default
31      */
32     public $frontend;
33
34     /**
35      * @var Note\Storage
36      */
37     public $noteStorage;
38
39     /**
40      * @var OAuth\Storage
41      */
42     public $oauthStorage;
43
44     /**
45      * @var IURLGenerator
46      */
47     public $urlGen;
48
49     protected static $instance;
50
51     public static function get()
52     {
53         if (self::$instance !== null) {
54             return self::$instance;
55         }
56         $deps = new self();
57         /*
58         $deps->notes = new Note_Storage_Flatfile();
59         $deps->notes->setDataDir($dataDir);
60         $deps->notes->setDeps($deps);
61
62         $deps->urlGen = new UrlGen_Pretty();
63         $deps->urlGen->setDeps($deps);
64         /*
65         $deps->frontend = new Frontend_Default();
66         $deps->frontend->setDeps($deps);
67         */
68
69         $deps->tokens = new TokenStorage();
70
71         self::$instance = $deps;
72         return self::$instance;
73     }
74 }
75 ?>