X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=framework%2Fmain%2Fclasses%2Fclass_BaseFrameworkSystem.php;h=41e3a23347f6bfd73a062d244ffaa917a1685bbf;hb=ebdde2e4927d12f68ccad6eab5bd1f6291c0abbb;hp=ab2e5540a5d5bb7fc0136fe42afdc04225127bdc;hpb=54a56ed3c7cef5e7989100d2c5a7de8647d545de;p=core.git diff --git a/framework/main/classes/class_BaseFrameworkSystem.php b/framework/main/classes/class_BaseFrameworkSystem.php index ab2e5540..41e3a233 100644 --- a/framework/main/classes/class_BaseFrameworkSystem.php +++ b/framework/main/classes/class_BaseFrameworkSystem.php @@ -19,11 +19,12 @@ use CoreFramework\Factory\ObjectFactory; use CoreFramework\Filesystem\Block; use CoreFramework\Filesystem\FilePointer; use CoreFramework\Filesystem\FrameworkDirectory; +use CoreFramework\Filesystem\PathWriteProtectedException; use CoreFramework\Generic\FrameworkInterface; use CoreFramework\Generic\NullPointerException; +use CoreFramework\Generic\UnsupportedOperationException; use CoreFramework\Handler\Stream\IoHandler; use CoreFramework\Index\Indexable; -use CoreFramework\Listener\Listenable; use CoreFramework\Lists\Listable; use CoreFramework\Loader\ClassLoader; use CoreFramework\Manager\ManageableApplication; @@ -36,6 +37,7 @@ use CoreFramework\Resolver\Resolver; use CoreFramework\Result\Database\CachedDatabaseResult; use CoreFramework\Result\Search\SearchableResult; use CoreFramework\Stacker\Stackable; +use CoreFramework\State\Stateable; use CoreFramework\Stream\Output\OutputStreamer; use CoreFramework\Template\CompileableTemplate; use CoreFramework\User\ManageableAccount; @@ -201,7 +203,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { private $outputStreamInstance = NULL; /** - * Networkable handler instance + * Handler instance */ private $handlerInstance = NULL; @@ -245,11 +247,6 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { */ private $directoryInstance = NULL; - /** - * Listener instance - */ - private $listenerInstance = NULL; - /** * An instance of a communicator */ @@ -404,6 +401,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { const EXCEPTION_PATH_CANNOT_BE_WRITTEN = 0x03b; const EXCEPTION_DATABASE_UPDATED_NOT_ALLOWED = 0x03c; const EXCEPTION_FILTER_CHAIN_INTERCEPTED = 0x03d; + const EXCEPTION_INVALID_SOCKET = 0x03e; /** * Hexadecimal->Decimal translation array @@ -1327,7 +1325,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { /** * Getter for handler instance * - * @return $handlerInstance A Networkable instance + * @return $handlerInstance A Handleable instance */ protected final function getHandlerInstance () { return $this->handlerInstance; @@ -1521,25 +1519,6 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { return $this->directoryInstance; } - /** - * Setter for listener instance - * - * @param $listenerInstance A Listenable instance - * @return void - */ - protected final function setListenerInstance (Listenable $listenerInstance) { - $this->listenerInstance = $listenerInstance; - } - - /** - * Getter for listener instance - * - * @return $listenerInstance A Listenable instance - */ - protected final function getListenerInstance () { - return $this->listenerInstance; - } - /** * Getter for communicator instance * @@ -2600,20 +2579,6 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { return $ret; } - /** - * Checks whether start/end marker are set - * - * @param $data Data to be checked - * @return $isset Whether start/end marker are set - */ - public final function ifStartEndMarkersSet ($data) { - // Determine it - $isset = ((substr($data, 0, strlen(BaseRawDataHandler::STREAM_START_MARKER)) == BaseRawDataHandler::STREAM_START_MARKER) && (substr($data, -1 * strlen(BaseRawDataHandler::STREAM_END_MARKER), strlen(BaseRawDataHandler::STREAM_END_MARKER)) == BaseRawDataHandler::STREAM_END_MARKER)); - - // ... and return it - return $isset; - } - /** * Determines if an element is set in the generic array * @@ -3360,50 +3325,4 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { return $stateName; } - /** - * Handles socket error for given socket resource and peer data. This method - * validates $socketResource if it is a valid resource (see is_resource()) - * but assumes valid data in array $recipientData, except that - * count($recipientData) is always 2. - * - * @param $method Value of __METHOD__ from calling method - * @param $line Value of __LINE__ from calling method - * @param $socketResource A valid socket resource - * @param $socketData A valid socket data array (0 = IP/file name, 1 = port) - * @return void - * @throws InvalidSocketException If $socketResource is no socket resource - * @throws NoSocketErrorDetectedException If socket_last_error() gives zero back - * @todo Move all this socket-related stuff into own class, most of it resides in BaseListener - */ - protected final function handleSocketError ($method, $line, $socketResource, array $socketData) { - // This method handles only socket resources - if (!is_resource($socketResource)) { - // No resource, abort here - throw new InvalidSocketException(array($this, $socketResource), BaseListener::EXCEPTION_INVALID_SOCKET); - } // END - if - - // Check socket array, 1st element is mostly IP address (or file name), 2nd is port number - //* DEBUG-DIE: */ die(__METHOD__ . ':socketData=' . print_r($socketData, true)); - assert(isset($socketData[0])); - assert(isset($socketData[1])); - - // Get error code for first validation (0 is not an error) - $errorCode = socket_last_error($socketResource); - - // If the error code is zero, someone called this method without an error - if ($errorCode == 0) { - // No error detected (or previously cleared outside this method) - throw new NoSocketErrorDetectedException(array($this, $socketResource), BaseListener::EXCEPTION_NO_SOCKET_ERROR); - } // END - if - - // Get handler (method) name - $handlerName = $this->getSocketErrorHandlerFromCode($errorCode); - - // Call-back the error handler method - call_user_func_array(array($this, $handlerName), array($socketResource, $socketData)); - - // Finally clear the error because it has been handled - socket_clear_error($socketResource); - } - }