X-Git-Url: https://git.mxchange.org/?p=core.git;a=blobdiff_plain;f=inc%2Fclasses%2Fmain%2Fclass_BaseFrameworkSystem.php;h=9b153224b9a9398514f4364023f56f2642e7472c;hp=38f9f594a624792c2c8246ab5076387f4e195394;hb=83ceb6f4eb20c78b5e83842bf3bb84cd5758a647;hpb=3107989f93cfb5808ce9d75f1c7d2b7ee3d83d18 diff --git a/inc/classes/main/class_BaseFrameworkSystem.php b/inc/classes/main/class_BaseFrameworkSystem.php index 38f9f594..9b153224 100644 --- a/inc/classes/main/class_BaseFrameworkSystem.php +++ b/inc/classes/main/class_BaseFrameworkSystem.php @@ -5,7 +5,7 @@ * * @author Roland Haeder * @version 0.0.0 - * @copyright Copyright (c) 2007 - 2009 Roland Haeder, this is free software + * @copyright Copyright (c) 2007, 2008 Roland Haeder, 2009, 2010 Core Developer Team * @license GNU GPL 3.0 or any newer version * @link http://www.ship-simu.org * @@ -73,25 +73,85 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { */ private $controllerInstance = null; + /** + * Instance of a RNG + */ + private $rngInstance = null; + + /** + * Instance of an Iterator class + */ + private $iteratorInstance = null; + + /** + * Instance of the list + */ + private $listInstance = null; + + /** + * Instance of a menu + */ + private $menuInstance = null; + + /** + * Instance of the image + */ + private $imageInstance = null; + + /** + * Instance of the stacker + */ + private $stackerInstance = null; + + /** + * A Compressor instance + */ + private $compressorInstance = null; + + /** + * A Parseable instance + */ + private $parserInstance = null; + + /** + * A ProtocolHandler instance + */ + private $protocolInstance = null; + + /** + * A database wrapper instance + */ + private $databaseInstance = null; + /** * The real class name */ - private $realClass = "FrameworkSystem"; + private $realClass = 'BaseFrameworkSystem'; /** * Thousands seperator */ - private $thousands = "."; // German + private $thousands = '.'; // German /** * Decimal seperator */ - private $decimals = ","; // German + private $decimals = ','; // German + + /** + * Socket resource + */ + private $socketResource = false; + + /** + * Package data + */ + private $packageData = array(); /*********************** * Exception codes.... * ***********************/ - + // @todo Try to clean these constants up const EXCEPTION_IS_NULL_POINTER = 0x001; const EXCEPTION_IS_NO_OBJECT = 0x002; const EXCEPTION_IS_NO_ARRAY = 0x003; @@ -118,7 +178,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { const EXCEPTION_WRITE_PROTECED_PATH = 0x018; const EXCEPTION_DIR_POINTER_INVALID = 0x019; const EXCEPTION_FILE_POINTER_INVALID = 0x01a; - const EXCEPTION_INVALID_DIRECTORY_POINTER = 0x01b; + const EXCEPTION_INVALID_RESOURCE = 0x01b; const EXCEPTION_UNEXPECTED_OBJECT = 0x01c; const EXCEPTION_LIMIT_ELEMENT_IS_UNSUPPORTED = 0x01d; const EXCEPTION_GETTER_IS_MISSING = 0x01e; @@ -151,30 +211,6 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { const EXCEPTION_DATABASE_UPDATED_NOT_ALLOWED = 0x039; const EXCEPTION_FILTER_CHAIN_INTERCEPTED = 0x040; - /** - * In the super constructor these system classes shall be ignored or else - * we would get an endless calling loop. - * - *---------------------------------------------------------------------* - * ATTENTION: IF YOU REMOVE ONE OF THEM YOU WILL RUN YOUR SERVER IN AN * - * ENDLESS LOOP !!! * - *---------------------------------------------------------------------* - */ - private $systemClasses = array( - "DebugMiddleware", // Debug middleware output sub-system - "Registry", // Object registry - "ObjectFactory", // Object factory - "DebugWebOutput", // Debug web output sub-system - "WebOutput", // Web output sub-system - "CompressorChannel", // Compressor sub-system - "DebugConsoleOutput", // Debug console output sub-system - "DebugErrorLogOutput", // Debug error_log() output sub-system - "FrameworkDirectoryPointer", // Directory handler sub-system - "NullCompressor", // Null compressor - "Bzip2Compressor", // BZIP2 compressor - "GzipCompressor", // GZIP compressor - ); - /** * Protected super constructor * @@ -185,10 +221,10 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { // Set real class $this->setRealClass($className); - // Initialize the class if class Registry is there - if ((class_exists('Registry')) && (Registry::isInitialized() === false)) { - // Initialize the registry automatically - $this->initInstance(); + // Set configuration instance if no registry + if (!$this instanceof Register) { + // Because registries doesn't need to be configured + $this->setConfigInstance(FrameworkConfiguration::getInstance()); } // END - if } @@ -209,7 +245,8 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { } elseif ((defined('DEBUG_DESTRUCTOR')) && (is_object($this->getDebugInstance()))) { // Already destructed object $this->debugOutput(sprintf("[%s:] The object %s is already destroyed.", - __CLASS__, $this->__toString() + __CLASS__, + $this->__toString() )); } } @@ -224,27 +261,27 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { $argsString = ''; if (empty($args)) { // No arguments - $argsString = "NULL"; + $argsString = 'NULL'; } elseif (is_array($args)) { // Some arguments are there foreach ($args as $arg) { // Add the type - $argsString .= $arg." (".gettype($arg); + $argsString .= $this->replaceControlCharacters($arg) . ' (' . gettype($arg); // Add length if type is string - if (gettype($arg) == 'string') $argsString .= ", ".strlen($arg); + if (gettype($arg) == 'string') $argsString .= ', '.strlen($arg); // Closing bracket - $argsString .= "), "; + $argsString .= '), '; } // END - foreach // Remove last comma - if (substr($argsString, -2, 1) === ",") { + if (substr($argsString, -2, 1) == ',') { $argsString = substr($argsString, 0, -2); } // END - if } else { // Invalid arguments! - $argsString = sprintf("!INVALID:%s!", $args); + $argsString = '!INVALID:' . gettype($args) . '!'; } // Output stub message @@ -258,41 +295,6 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { return null; } - /** - * Private initializer for this class - * - * @return void - */ - private final function initInstance () { - // Is this a system class? - if (!in_array($this->__toString(), $this->systemClasses)) { - // Set configuration instance - $this->setConfigInstance(FrameworkConfiguration::getInstance()); - - // Add application helper to our class - $this->systemclasses[] = $this->getConfigInstance()->readConfig('app_helper_class'); - - // Set debug instance - $this->setDebugInstance(DebugMiddleware::createDebugMiddleware($this->getConfigInstance()->readConfig('debug_class'))); - - // Get output instance and set it - $outputInstance = ObjectFactory::createObjectByConfiguredName('web_engine', array($this->getConfigInstance()->readConfig('web_content_type'))); - $this->setWebOutputInstance($outputInstance); - - // Set the compressor channel - $this->setCompressorChannel(CompressorChannel::createCompressorChannel(sprintf("%s%s", - $this->getConfigInstance()->readConfig('base_path'), - $this->getConfigInstance()->readConfig('compressor_base_path') - ))); - - // Initialization done! :D - Registry::isInitialized('OK'); - } elseif ($this->__toString() == 'DebugMiddleware') { - // Set configuration instance - $this->setConfigInstance(FrameworkConfiguration::getInstance()); - } - } - /** * Setter for database result instance * @@ -373,7 +375,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { /** * Setter for resolver instance * - * @param $resolverInstance Instance of a command resolver class + * @param $resolverInstance Instance of a command resolver class * @return void */ public final function setResolverInstance (Resolver $resolverInstance) { @@ -383,7 +385,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { /** * Getter for resolver instance * - * @return $resolverInstance Instance of a command resolver class + * @return $resolverInstance Instance of a command resolver class */ public final function getResolverInstance () { return $this->resolverInstance; @@ -426,7 +428,10 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { * @return $debugInstance Instance to class DebugConsoleOutput or DebugWebOutput */ public final function getDebugInstance () { + // Get debug instance $debugInstance = Registry::getRegistry()->getInstance('debug'); + + // Return it return $debugInstance; } @@ -453,8 +458,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { /** * Setter for database instance * - * @param $dbInstance The instance for the database connection - * (forced DatabaseConnection) + * @param $dbInstance The instance for the database connection (forced DatabaseConnection) * @return void */ public final function setDatabaseInstance (DatabaseConnection $dbInstance) { @@ -467,13 +471,8 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { * @return $dbInstance The database layer instance */ public final function getDatabaseInstance () { - // Default is invalid db instance - $dbInstance = null; - - // Is the registry there and initialized? - if ((class_exists('Registry')) && (Registry::isInitialized() === true)) { - $dbInstance = Registry::getRegistry()->getInstance('db_instance'); - } // END - if + // Get instance + $dbInstance = Registry::getRegistry()->getInstance('db_instance'); // Return instance return $dbInstance; @@ -562,7 +561,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { * * @return $realClass The name of the real class (not BaseFrameworkSystem) */ - public final function __toString () { + public function __toString () { return $this->realClass; } @@ -581,34 +580,33 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { } /** - * Compare class name of this and given class name + * Checks wether an object equals this object. You should overwrite this + * method to implement own equality checks * - * @param $className The class name as string from the other class - * @return boolean The result of comparing both class names - */ - public final function isClass ($className) { - return ($this->__toString() == $className); - } + * @param $objectInstance An instance of a FrameworkInterface object + * @return $equals Wether both objects equals + */ + public function equals (FrameworkInterface $objectInstance) { + // Now test it + $equals = (( + $this->__toString() == $objectInstance->__toString() + ) && ( + $this->hashCode() == $objectInstance->hashCode() + )); - /** - * Stub method (only real cabins shall override it) - * - * @return boolean false = is no cabin, true = is a cabin - * @deprecated - */ - public function isCabin () { - return false; + // Return the result + return $equals; } /** - * Stub method for tradeable objects + * Generates a generic hash code of this class. You should really overwrite + * this method with your own hash code generator code. But keep KISS in mind. * - * @return boolean false = is not tradeable by the Merchant class, - * true = is a tradeable object - * @deprecated + * @return $hashCode A generic hash code respresenting this whole class */ - public function isTradeable () { - return false; + public function hashCode () { + // Simple hash code + return crc32($this->__toString()); } /** @@ -623,7 +621,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { * thousands seperator * is missing */ - public function formatCurrency ($value, $currency = "€", $decNum = 2) { + public function formatCurrency ($value, $currency = '€', $decNum = 2) { // Are all required attriutes set? if ((!isset($this->decimals)) || (!isset($this->thousands))) { // Throw an exception @@ -634,25 +632,12 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { $value = (float) $value; // Reformat the US number - $price = sprintf("%s %s", - number_format($value, $decNum, $this->decimals, $this->thousands), - $currency - ); + $price = number_format($value, $decNum, $this->decimals, $this->thousands) . $currency; // Return as string... return $price; } - /** - * Removes number formating characters - * - * @return void - */ - public final function removeNumberFormaters () { - unset($this->thousands); - unset($this->decimals); - } - /** * Private getter for language instance * @@ -674,15 +659,6 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { Registry::getRegistry()->addInstance('language', $langInstance); } - /** - * Remove the $systemClasses array from memory - * - * @return void - */ - public final function removeSystemArray () { - unset($this->systemClasses); - } - /** * Appends a trailing slash to a string * @@ -691,7 +667,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { */ public final function addMissingTrailingSlash ($str) { // Is there a trailing slash? - if (substr($str, -1, 1) != "/") $str .= "/"; + if (substr($str, -1, 1) != '/') $str .= '/'; return $str; } @@ -730,7 +706,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { * @throws NullPointerException If the discovered application * instance is still null */ - protected function prepareTemplateInstance (BaseFrameworkSystem $appInstance=null) { + protected function prepareTemplateInstance (FrameworkInterface $appInstance=null) { // Is the application instance set? if (is_null($appInstance)) { // Get the current instance @@ -743,13 +719,6 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { } // END - if } // END - if - // Generate FQFN for all application templates - $fqfn = sprintf("%s%s/%s", - $this->getConfigInstance()->readConfig('application_path'), - strtolower($appInstance->getAppShortName()), - $this->getConfigInstance()->readConfig('tpl_base_path') - ); - // Are both instances set? if ($appInstance->getLanguageInstance() === null) { // Invalid language instance @@ -760,7 +729,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { } // Initialize the template engine - $templateInstance = ObjectFactory::createObjectByConfiguredName('template_class', array($fqfn, $appInstance->getLanguageInstance(), $appInstance->getFileIoInstance())); + $templateInstance = ObjectFactory::createObjectByConfiguredName('web_template_class', array($appInstance)); // Return the prepared instance return $templateInstance; @@ -802,6 +771,25 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { )); } + /** + * Replaces control characters with printable output + * + * @param $str String with control characters + * @return $str Replaced string + */ + protected function replaceControlCharacters ($str) { + // Replace them + $str = str_replace( + "\r", '[r]', str_replace( + "\n", '[n]', str_replace( + "\t", '[t]', + $str + ))); + + // Return it + return $str; + } + /** * Output a partial stub message for the caller method * @@ -813,7 +801,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { $backtrace = debug_backtrace(); // Generate the class::method string - $methodName = "UnknownClass->unknownMethod"; + $methodName = 'UnknownClass->unknownMethod'; if ((isset($backtrace[1]['class'])) && (isset($backtrace[1]['function']))) { $methodName = $backtrace[1]['class']."->".$backtrace[1]['function']; } // END - if @@ -870,7 +858,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { if ($doPrint === false) die(); // Die here if not printed } else { // Put directly out - if ($doPrint) { + if ($doPrint === true) { print($message); } else { // DO NOT REWRITE THIS TO app_die() !!! @@ -890,10 +878,10 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { $className = ''; // Convert all dashes in underscores - $str = str_replace("-", "_", $str); + $str = $this->convertDashesToUnderscores($str); // Now use that underscores to get classname parts for hungarian style - foreach (explode("_", $str) as $strPart) { + foreach (explode('_', $str) as $strPart) { // Make the class name part lower case and first upper case $className .= ucfirst(strtolower($strPart)); } // END - foreach @@ -902,6 +890,20 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { return $className; } + /** + * Converts dashes to underscores, e.g. useable for configuration entries + * + * @param $str The string with maybe dashes inside + * @return $str The converted string with no dashed, but underscores + */ + public final function convertDashesToUnderscores ($str) { + // Convert them all + $str = str_replace('-', '_', $str); + + // Return converted string + return $str; + } + /** * Marks up the code by adding e.g. line numbers * @@ -949,7 +951,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { */ public function doFilterFormatTimestamp ($timestamp) { // Default value to return - $readable = "???"; + $readable = '???'; // Is the timestamp null? if (is_null($timestamp)) { @@ -957,14 +959,14 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { $readable = $this->getLanguageInstance()->getMessage('null_timestamp'); } else { switch ($this->getLanguageInstance()->getLanguageCode()) { - case "de": // German format is a bit different to default + case 'de': // German format is a bit different to default // Split the GMT stamp up - $dateTime = explode(" ", $timestamp); - $dateArray = explode("-", $dateTime[0]); - $timeArray = explode(":", $dateTime[1]); + $dateTime = explode(' ', $timestamp ); + $dateArray = explode('-', $dateTime[0]); + $timeArray = explode(':', $dateTime[1]); // Construct the timestamp - $readable = sprintf($this->getConfigInstance()->readConfig('german_date_time'), + $readable = sprintf($this->getConfigInstance()->getConfigEntry('german_date_time'), $dateArray[0], $dateArray[1], $dateArray[2], @@ -977,13 +979,35 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { default: // Default is pass-through $readable = $timestamp; break; - } + } // END - switch } // Return the stamp return $readable; } + /** + * Filter a given number into a localized number + * + * @param $value The raw value from e.g. database + * @return $localized Localized value + */ + public function doFilterFormatNumber ($value) { + // Generate it from config and localize dependencies + switch ($this->getLanguageInstance()->getLanguageCode()) { + case 'de': // German format is a bit different to default + $localized = number_format($value, $this->getConfigInstance()->getConfigEntry('decimals'), ',', '.'); + break; + + default: // US, etc. + $localized = number_format($value, $this->getConfigInstance()->getConfigEntry('decimals'), '.', ','); + break; + } // END - switch + + // Return it + return $localized; + } + /** * "Getter" for databse entry * @@ -1038,6 +1062,7 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { // Get current array $fieldArray = $resultInstance->current(); + //* DEBUG: */ $this->debugOutput($fieldName.':
'.print_r($fieldArray, true).'
'); // Does the field exist? if (isset($fieldArray[$fieldName])) { @@ -1108,6 +1133,312 @@ class BaseFrameworkSystem extends stdClass implements FrameworkInterface { $wrapperInstance->doUpdateByResult($this->getResultInstance()); } // END - if } + + /** + * Outputs a deprecation warning to the developer. + * + * @param $message The message we shall output to the developer + * @return void + * @todo Write a logging mechanism for productive mode + */ + public function deprecationWarning ($message) { + // Is developer mode active? + if (defined('DEVELOPER')) { + // Debug instance is there? + if (!is_null($this->getDebugInstance())) { + // Output stub message + $this->debugOutput($message); + } else { + // Trigger an error + trigger_error($message."
\n"); + } + } else { + // @TODO Finish this part! + $this->partialStub('Developer mode inactive. Message:' . $message); + } + } + + /** + * Checks wether the given PHP extension is loaded + * + * @param $phpExtension The PHP extension we shall check + * @return $isLoaded Wether the PHP extension is loaded + */ + public final function isPhpExtensionLoaded ($phpExtension) { + // Is it loaded? + $isLoaded = in_array($phpExtension, get_loaded_extensions()); + + // Return result + return $isLoaded; + } + + /** + * Setter for RNG instance + * + * @param $rngInstance An instance of a random number generator (RNG) + * @return void + */ + protected final function setRngInstance (RandomNumberGenerator $rngInstance) { + $this->rngInstance = $rngInstance; + } + + /** + * Getter for RNG instance + * + * @return $rngInstance An instance of a random number generator (RNG) + */ + public final function getRngInstance () { + return $this->rngInstance; + } + + /** + * Setter for Iterator instance + * + * @param $iteratorInstance An instance of an Iterator + * @return void + */ + protected final function setIteratorInstance (Iterator $iteratorInstance) { + $this->iteratorInstance = $iteratorInstance; + } + + /** + * Getter for Iterator instance + * + * @return $iteratorInstance An instance of an Iterator + */ + public final function getIteratorInstance () { + return $this->iteratorInstance; + } + + /** + * "Getter" as a time() replacement but with milliseconds. You should use this + * method instead of the encapsulated getimeofday() function. + * + * @return $milliTime Timestamp with milliseconds + */ + public function getMilliTime () { + // Get the time of day as float + $milliTime = gettimeofday(true); + + // Return it + return $milliTime; + } + + /** + * Idles (sleeps) for given milliseconds + * + * @return $hasSlept Wether it goes fine + */ + public function idle ($milliSeconds) { + // Sleep is fine by default + $hasSlept = true; + + // Idle so long with found function + if (function_exists('time_sleep_until')) { + // Get current time and add idle time + $sleepUntil = $this->getMilliTime() + abs($milliSeconds) / 1000; + + // New PHP 5.1.0 function found + $hasSlept = time_sleep_until($sleepUntil); + } else { + // My Sun Station doesn't have that function even with latest PHP + // package. :( + usleep($milliSeconds * 1000); + } + + // Return result + return $hasSlept; + } + + /** + * Setter for the list instance + * + * @param $listInstance A list of Listable + * @return void + */ + protected final function setListInstance (Listable $listInstance) { + $this->listInstance = $listInstance; + } + + /** + * Getter for the list instance + * + * @return $listInstance A list of Listable + */ + protected final function getListInstance () { + return $this->listInstance; + } + + /** + * Setter for the menu instance + * + * @param $menuInstance A RenderableMenu instance + * @return void + */ + protected final function setMenuInstance (RenderableMenu $menuInstance) { + $this->menuInstance = $menuInstance; + } + + /** + * Getter for the menu instance + * + * @return $menuInstance A RenderableMenu instance + */ + protected final function getMenuInstance () { + return $this->menuInstance; + } + + /** + * Setter for image instance + * + * @param $imageInstance An instance of an image + * @return void + */ + public final function setImageInstance (BaseImage $imageInstance) { + $this->imageInstance = $imageInstance; + } + + /** + * Getter for image instance + * + * @return $imageInstance An instance of an image + */ + public final function getImageInstance () { + return $this->imageInstance; + } + + /** + * Setter for stacker instance + * + * @param $stackerInstance An instance of an stacker + * @return void + */ + public final function setStackerInstance (Stackable $stackerInstance) { + $this->stackerInstance = $stackerInstance; + } + + /** + * Getter for stacker instance + * + * @return $stackerInstance An instance of an stacker + */ + public final function getStackerInstance () { + return $this->stackerInstance; + } + + /** + * Setter for compressor instance + * + * @param $compressorInstance An instance of an compressor + * @return void + */ + public final function setCompressorInstance (Compressor $compressorInstance) { + $this->compressorInstance = $compressorInstance; + } + + /** + * Getter for compressor instance + * + * @return $compressorInstance An instance of an compressor + */ + public final function getCompressorInstance () { + return $this->compressorInstance; + } + + /** + * Setter for Parseable instance + * + * @param $parserInstance An instance of an Parseable + * @return void + */ + public final function setParserInstance (Parseable $parserInstance) { + $this->parserInstance = $parserInstance; + } + + /** + * Getter for Parseable instance + * + * @return $parserInstance An instance of an Parseable + */ + public final function getParserInstance () { + return $this->parserInstance; + } + + /** + * Setter for ProtocolHandler instance + * + * @param $protocolInstance An instance of an ProtocolHandler + * @return void + */ + public final function setProtocolInstance (ProtocolHandler $protocolInstance) { + $this->protocolInstance = $protocolInstance; + } + + /** + * Getter for ProtocolHandler instance + * + * @return $protocolInstance An instance of an ProtocolHandler + */ + public final function getProtocolInstance () { + return $this->protocolInstance; + } + + /** + * Setter for BaseDatabaseWrapper instance + * + * @param $wrapperInstance An instance of an BaseDatabaseWrapper + * @return void + */ + public final function setWrapperInstance (BaseDatabaseWrapper $wrapperInstance) { + $this->wrapperInstance = $wrapperInstance; + } + + /** + * Getter for BaseDatabaseWrapper instance + * + * @return $wrapperInstance An instance of an BaseDatabaseWrapper + */ + public final function getWrapperInstance () { + return $this->wrapperInstance; + } + + /** + * Setter for socket resource + * + * @param $socketResource A valid socket resource + * @return void + */ + public final function setSocketResource ($socketResource) { + $this->socketResource = $socketResource; + } + + /** + * Getter for socket resource + * + * @return $socketResource A valid socket resource + */ + public function getSocketResource () { + return $this->socketResource; + } + + /** + * Setter for raw package Data + * + * @param $packageData Raw package Data + * @return void + */ + public final function setPackageData (array $packageData) { + $this->packageData = $packageData; + } + + /** + * Getter for raw package Data + * + * @return $packageData Raw package Data + */ + public function getPackageData () { + return $this->packageData; + } } // [EOF]