1: <?php
 2: /**
 3:  * LICENSE (BSD)
 4:  *
 5:  * Copyright (c) 2012, Gerd Christian Kunze
 6:  * All rights reserved.
 7:  *
 8:  * Redistribution and use in source and binary forms, with or without
 9:  * modification, are permitted provided that the following conditions are
10:  * met:
11:  *
12:  *  * Redistributions of source code must retain the above copyright
13:  *    notice, this list of conditions and the following disclaimer.
14:  *
15:  *  * Redistributions in binary form must reproduce the above copyright
16:  *    notice, this list of conditions and the following disclaimer in the
17:  *    documentation and/or other materials provided with the distribution.
18:  *
19:  *  * Neither the name of Gerd Christian Kunze nor the names of the
20:  *    contributors may be used to endorse or promote products derived from
21:  *    this software without specific prior written permission.
22:  *
23:  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
24:  * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
25:  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
26:  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
27:  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
28:  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
29:  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
30:  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
31:  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
32:  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
33:  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34:  *
35:  * Journal
36:  * 30.08.2012 18:26
37:  */
38: namespace MOC\Core;
39: use MOC\Api;
40: use MOC\Generic\Device\Core;
41: 
42: /**
43:  *
44:  */
45: class Journal implements Core {
46:     /** @var Journal $Singleton */
47:     private static $Singleton = null;
48: 
49:     /**
50:      * Get Singleton/Instance
51:      *
52:      * @static
53:      * @return Journal
54:      */
55:     public static function InterfaceInstance() {
56:         if( self::$Singleton === null ) {
57:             self::$Singleton = new Journal();
58:         } return self::$Singleton;
59:     }
60: 
61:     /**
62:      * Get Changelog
63:      *
64:      * @static
65:      * @return \MOC\Core\Changelog
66:      */
67:     public static function InterfaceChangelog() {
68:         return Api::Core()->Changelog()->Create( __CLASS__ );
69:     }
70: 
71:     /**
72:      * Get Dependencies
73:      *
74:      * @static
75:      * @return \MOC\Core\Depending
76:      */
77:     public static function InterfaceDepending() {
78:         return Api::Core()->Depending();
79:     }
80: 
81:     /**
82:      * @return Journal\Write
83:      */
84:     public function Write() {
85:         return Journal\Write::InterfaceInstance();
86:     }
87: }
88: