Continued:
authorRoland Haeder <roland@mxchange.org>
Sun, 26 Feb 2017 20:47:30 +0000 (21:47 +0100)
committerRoland Haeder <roland@mxchange.org>
Tue, 28 Feb 2017 21:11:02 +0000 (22:11 +0100)
- added basic interface Poolable (seems to be lost?)
- added "import" for it as well
- added "import" of ListenerVisitor and DecoratorVisitor
- added "import" of Listenable
- added "import" of BaseDecorator

Signed-off-by: Roland H├Ąder <roland@mxchange.org>
18 files changed:
framework/main/classes/class_BaseFrameworkSystem.php
framework/main/classes/container/socket/class_SocketContainer.php
framework/main/classes/decorator/template/class_XmlRewriterTemplateDecorator.php
framework/main/classes/decorator/xml/class_XmlCompactorDecorator.php
framework/main/classes/listener/class_
framework/main/classes/listener/class_BaseListener.php
framework/main/classes/listener/class_BaseListenerDecorator.php
framework/main/classes/listener/socket/class_SocketFileListener.php
framework/main/classes/listener/socket/decorator/class_SocketFileListenerDecorator.php
framework/main/classes/visitor/tasks/class_ActiveTaskVisitor.php
framework/main/classes/visitor/tasks/class_ShutdownTaskVisitor.php
framework/main/interfaces/class_
framework/main/interfaces/pool/.htaccess [new file with mode: 0644]
framework/main/interfaces/pool/class_Poolable.php [new file with mode: 0644]
framework/main/interfaces/registry/socket/class_RegisterableSocket.php
framework/main/interfaces/visitor/decorator/class_DecoratorVisitor.php
framework/main/interfaces/visitor/listener/class_ListenerVisitor.php
framework/main/interfaces/visitor/pool/class_PoolVisitor.php

index 2482239..45645cf 100644 (file)
@@ -18,6 +18,7 @@ use CoreFramework\Filesystem\FrameworkDirectory;
 use CoreFramework\Generic\FrameworkInterface;
 use CoreFramework\Generic\NullPointerException;
 use CoreFramework\Handler\Stream\IoHandler;
+use CoreFramework\Listener\Listenable;
 use CoreFramework\Lists\Listable;
 use CoreFramework\Loader\ClassLoader;
 use CoreFramework\Manager\ManageableApplication;
index 0118996..fa1d2aa 100644 (file)
@@ -3,6 +3,7 @@
 namespace CoreFramework\Container\Socket;
 
 // Import framework stuff
+use CoreFramework\Listener\Listenable;
 use CoreFramework\Registry\Registerable;
 
 /**
index 8dc142e..9b4e6a0 100644 (file)
@@ -3,6 +3,7 @@
 namespace CoreFramework\Template\Xml;
 
 // Import framework stuff
+use CoreFramework\Generic\BaseDecorator;
 use CoreFramework\Manager\ManageableApplication;
 use CoreFramework\Response\Responseable;
 use CoreFramework\Template\CompileableTemplate;
index 50fba45..3bd84ad 100644 (file)
@@ -4,6 +4,7 @@ namespace CoreFramework\Parser\Xml;
 
 // Import framework stuff
 use CoreFramework\Factory\ObjectFactory;
+use CoreFramework\Generic\BaseDecorator;
 use CoreFramework\Parser\Parseable;
 
 /**
index 49eec7a..d98b8e3 100644 (file)
@@ -1,4 +1,10 @@
 <?php
+// Own namespace
+namespace CoreFramework\Listener\!!!;
+
+// Import framework stuff
+use CoreFramework\Listener\Listenable;
+
 /**
  * A ??? listener
  *
index 46f7d5d..f7340cb 100644 (file)
@@ -5,6 +5,7 @@ namespace CoreFramework\Listener;
 // Import framework stuff
 use CoreFramework\Factory\ObjectFactory;
 use CoreFramework\Object\BaseFrameworkSystem;
+use CoreFramework\Pool\Poolable;
 use CoreFramework\Visitor\Visitor;
 
 /**
index 5e3c959..2f7200a 100644 (file)
@@ -3,6 +3,7 @@
 namespace CoreFramework\Listener;
 
 // Import framework stuff
+use CoreFramework\Generic\BaseDecorator;
 use CoreFramework\Visitor\Visitor;
 
 /**
index 1b12a3a..7261b9f 100644 (file)
@@ -4,6 +4,7 @@ namespace CoreFramework\Listener\Socket;
 
 // Import framework stuff
 use CoreFramework\Factory\ObjectFactory;
+use CoreFramework\Listener\Listenable;
 
 /**
  * A file-based socket listener
index a2664a5..85a66dc 100644 (file)
@@ -2,6 +2,9 @@
 // Own namespace
 namespace CoreFramework\Listener\Socket;
 
+// Import framework stuff
+use CoreFramework\Listener\Listenable;
+
 /**
  * A decorator for the SocketFileListener to communicate to hubs
  *
index d4f6d9f..be9b83b 100644 (file)
@@ -3,8 +3,13 @@
 namespace CoreFramework\Visitor\Task\Active;
 
 // Import framework stuff
+use CoreFramework\Generic\BaseDecorator;
+use CoreFramework\Listener\Listenable;
+use CoreFramework\Pool\Poolable;
 use CoreFramework\Task\Taskable;
 use CoreFramework\Visitor\BaseVisitor;
+use CoreFramework\Visitor\Decorator\DecoratorVisitor;
+use CoreFramework\Visitor\Listener\ListenerVisitor;
 use CoreFramework\Visitor\Pool\PoolVisitor;
 use CoreFramework\Visitor\Task\TaskVisitor;
 
index bb329f9..144357b 100644 (file)
@@ -3,8 +3,13 @@
 namespace CoreFramework\Visitor\Task\Shutdown;
 
 // Import framework stuff
+use CoreFramework\Generic\BaseDecorator;
+use CoreFramework\Listener\Listenable;
+use CoreFramework\Pool\Poolable;
 use CoreFramework\Task\Taskable;
 use CoreFramework\Visitor\BaseVisitor;
+use CoreFramework\Visitor\Decorator\DecoratorVisitor;
+use CoreFramework\Visitor\Listener\ListenerVisitor;
 use CoreFramework\Visitor\Pool\PoolVisitor;
 use CoreFramework\Visitor\Task\TaskVisitor;
 
index 5cd1b5d..9a2aecd 100644 (file)
@@ -25,7 +25,5 @@ namespace CoreFramework\!!!;
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
  */
 interface ??? extends FrameworkInterface {
-}
 
-// [EOF]
-?>
+}
diff --git a/framework/main/interfaces/pool/.htaccess b/framework/main/interfaces/pool/.htaccess
new file mode 100644 (file)
index 0000000..3a42882
--- /dev/null
@@ -0,0 +1 @@
+Deny from all
diff --git a/framework/main/interfaces/pool/class_Poolable.php b/framework/main/interfaces/pool/class_Poolable.php
new file mode 100644 (file)
index 0000000..424010b
--- /dev/null
@@ -0,0 +1,47 @@
+<?php
+// Own namespace
+namespace CoreFramework\Pool;
+
+// Import framework stuff
+use CoreFramework\Listener\Listenable;
+
+/**
+ * A Poolable interface
+ *
+ * @author             Roland Haeder <webmaster@ship-simu.org>
+ * @version            0.0.0
+ * @copyright  Copyright (c) 2007, 2008 Roland Haeder, 2009 - 2017 Core Developer Team
+ * @license            GNU GPL 3.0 or any newer version
+ * @link               http://www.ship-simu.org
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+interface Poolable extends FrameworkInterface {
+
+       /**
+        * Pre-shuts down the pool
+        *
+        * @return      void
+        */
+       function preShutdown ();
+
+       /**
+        * Adds a listener instance to this pool
+        *
+        * @param       $poolInstance   An instance of a Listenable class
+        * @return      void
+        */
+       function addListener (Listenable $poolInstance);
+
+}
index 227fd83..a542f31 100644 (file)
@@ -3,6 +3,7 @@
 namespace CoreFramework\Registry\Socket;
 
 // Import framework stuff
+use CoreFramework\Listener\Listenable;
 use CoreFramework\Registry\Registerable;
 
 /**
index 033d013..22bba43 100644 (file)
@@ -3,6 +3,7 @@
 namespace CoreFramework\Visitor\Decorator;
 
 // Import framework stuff
+use CoreFramework\Generic\BaseDecorator;
 use CoreFramework\Visitor\Visitor;
 
 /**
@@ -33,6 +34,7 @@ interface DecoratorVisitor extends Visitor {
         *
         * @param       $decoratorInstance      A decorator instance
         * @return      void
+        * @todo        Find interface for this type-hint (only interface/array as type-hints rule)
         */
        function visitDecorator (BaseDecorator $decoratorInstance);
 
index 979e69c..3da7820 100644 (file)
@@ -3,6 +3,7 @@
 namespace CoreFramework\Visitor\Listener;
 
 // Import framework stuff
+use CoreFramework\Listener\Listenable;
 use CoreFramework\Visitor\Visitor;
 
 /**
index a3bc173..465ce3d 100644 (file)
@@ -3,6 +3,7 @@
 namespace CoreFramework\Visitor\Pool;
 
 // Import framework stuff
+use CoreFramework\Pool\Poolable;
 use CoreFramework\Visitor\Visitor;
 
 /**