private $helperInstance = null;
/**
- * An instance of a source
+ * An instance of a Sourceable class
*/
private $sourceInstance = null;
+ /**
+ * An instance of a InputStreamable class
+ */
+ private $inputStreamInstance = null;
+
+ /**
+ * An instance of a OutputStreamable class
+ */
+ private $outputStreamInstance = null;
+
+ /**
+ * Networkable handler instance
+ */
+ private $handlerInstance = null;
+
/**
* The real class name
*/
private $realClass = 'BaseFrameworkSystem';
+ /**
+ * An instance of a database wrapper class
+ */
+ private $wrapperInstance = null;
+
/**
* Thousands seperator
*/
/***********************
* Exception codes.... *
***********************/
+
// @todo Try to clean these constants up
const EXCEPTION_IS_NULL_POINTER = 0x001;
const EXCEPTION_IS_NO_OBJECT = 0x002;
// 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);
+ // New PHP 5.1.0 function found, ignore errors
+ $hasSlept = @time_sleep_until($sleepUntil);
} else {
// My Sun Station doesn't have that function even with latest PHP
// package. :(
}
/**
- * Getter for a Sourceable instance
+ * Getter for a InputStreamable instance
*
- * @param $sourceInstance The Sourceable instance
+ * @param $inputStreamInstance The InputStreamable instance
*/
- protected final function getSourceInstance () {
- return $this->sourceInstance;
+ protected final function getInputStreamInstance () {
+ return $this->inputStreamInstance;
+ }
+
+ /**
+ * Setter for a InputStreamable instance
+ *
+ * @param $inputStreamInstance The InputStreamable instance
+ * @return void
+ */
+ protected final function setInputStreamInstance (InputStreamable $inputStreamInstance) {
+ $this->inputStreamInstance = $inputStreamInstance;
+ }
+
+ /**
+ * Getter for a OutputStreamable instance
+ *
+ * @param $outputStreamInstance The OutputStreamable instance
+ */
+ protected final function getOutputStreamInstance () {
+ return $this->outputStreamInstance;
+ }
+
+ /**
+ * Setter for a OutputStreamable instance
+ *
+ * @param $outputStreamInstance The OutputStreamable instance
+ * @return void
+ */
+ protected final function setOutputStreamInstance (OutputStreamable $outputStreamInstance) {
+ $this->outputStreamInstance = $outputStreamInstance;
+ }
+
+ /**
+ * Setter for handler instance
+ *
+ * @param $handlerInstance A Networkable instance
+ * @return void
+ */
+ protected final function setHandlerInstance (Networkable $handlerInstance) {
+ $this->handlerInstance = $handlerInstance;
+ }
+
+ /**
+ * Getter for handler instance
+ *
+ * @return $handlerInstance A Networkable instance
+ */
+ protected final function getHandlerInstance () {
+ return $this->handlerInstance;
}
/**
* @param $hex Hexadecimal string
* @return $dec Decimal number
*/
- public final function hex2dec ($hex) {
+ protected function hex2dec ($hex) {
// Convert to all lower-case
$hex = strtolower($hex);
* This work is based on comment #97756 on php.net documentation page at:
* <http://de.php.net/manual/en/function.hexdec.php#97756>
*
- * @param $dec Decimal number, even with negative sign
+ * @param $dec Decimal number, even with negative sign
+ * @param $maxLength Optional maximum length of the string
* @return $hex Hexadecimal string
*/
- public final function dec2hex ($dec) {
+ protected function dec2hex ($dec, $maxLength = 0) {
+ // maxLength can be zero or devideable by 2
+ assert(($maxLength == 0) || (($maxLength % 2) == 0));
+
// Detect sign (negative/positive numbers)
$sign = '';
if ($dec < 0) {
* We need hexadecimal strings with leading zeros if the length cannot
* be divided by 2
*/
- if ((strlen($hex) % 2) != 0) {
- // Prepend a zero
+ if ($maxLength > 0) {
+ // Prepend more zeros
+ $hex = $this->prependStringToString($hex, '0', $maxLength);
+ } elseif ((strlen($hex) % 2) != 0) {
$hex = '0' . $hex;
- } // END - if
+ }
// Return the hexadecimal string
return $sign . $hex;
* @param $asc The ASCII string to be converted
* @return $dec Decimal number
*/
- public final function asc2dec ($asc) {
+ protected function asc2dec ($asc) {
// Convert it into a hexadecimal number
$hex = bin2hex($asc);
/**
* Converts a decimal number into an ASCII string.
*
- * @param $dec Decimal number
+ * @param $dec Decimal number
* @return $asc An ASCII string
*/
- public final function dec2asc ($dec) {
+ protected function dec2asc ($dec) {
// First convert the number into a hexadecimal string
$hex = $this->dec2hex($dec);
* @param $hex Hexadecimal string
* @return $asc An ASCII string
*/
- public final function hex2asc ($hex) {
+ protected function hex2asc ($hex) {
// Check for length, it must be devideable by 2
+ //* DEBUG: */ $this->debugOutput('hex='.$hex);
assert((strlen($hex) % 2) == 0);
// Walk the string
// Return the final string
return $asc;
}
+
+ /**
+ * Prepends a given string $prepend to $str with a given total length
+ *
+ * @param $str Given original string which should be prepended
+ * @param $prepend The string to prepend
+ * @param $length Total length of the final string
+ * @return $strFinal Final prepended string
+ */
+ protected function prependStringToString ($str, $prepend, $length) {
+ // Set final string to original string by default
+ $strFinal = $str;
+
+ // Can it devided
+ if (strlen($str) < $length) {
+ // Difference between total length and length of original string
+ $diff = $length - strlen($str);
+
+ // Prepend the string
+ $prepend = str_repeat($prepend, ($diff / strlen($prepend) + 1));
+
+ // Make sure it will definedly fit
+ assert(strlen($prepend) >= $diff);
+
+ // Cut it a little down
+ $prepend = substr($prepend, 0, $diff);
+ //* DEBUG: */ $this->debugOutput('prepend('.strlen($prepend).')='.$prepend.',diff='.$diff.',length='.$length);
+
+ // Construct the final prepended string
+ $strFinal = $prepend . $str;
+ } // END - if
+
+ // Return it
+ return $strFinal;
+ }
+
+ /**
+ * Checks wether the given encoded data was encoded with Base64
+ *
+ * @param $encodedData Encoded data we shall check
+ * @return $isBase64 Wether the encoded data is Base64
+ */
+ protected function isBase64Encoded ($encodedData) {
+ // Determine it
+ $isBase64 = (@base64_decode($encodedData, true) !== false);
+
+ // Return it
+ return $isBase64;
+ }
}
// [EOF]