summaryrefslogtreecommitdiff
path: root/php/src/IcePHP/Logger.cpp
diff options
context:
space:
mode:
authorJoe George <joe@zeroc.com>2016-02-12 11:10:28 -0500
committerJoe George <joe@zeroc.com>2016-02-12 11:10:28 -0500
commit70fcaab8e9566edd7d749b1f6e3147e0efdbe94d (patch)
tree6f043cce81cf206a9ac7f1ff2fc4349a80aa23c3 /php/src/IcePHP/Logger.cpp
parentminor fixes to stream classes; restoring test/Ice/stream (diff)
downloadice-70fcaab8e9566edd7d749b1f6e3147e0efdbe94d.tar.bz2
ice-70fcaab8e9566edd7d749b1f6e3147e0efdbe94d.tar.xz
ice-70fcaab8e9566edd7d749b1f6e3147e0efdbe94d.zip
ICE-6973 - Add support for PHP 7
Diffstat (limited to 'php/src/IcePHP/Logger.cpp')
-rw-r--r--php/src/IcePHP/Logger.cpp325
1 files changed, 0 insertions, 325 deletions
diff --git a/php/src/IcePHP/Logger.cpp b/php/src/IcePHP/Logger.cpp
deleted file mode 100644
index 3972f758e11..00000000000
--- a/php/src/IcePHP/Logger.cpp
+++ /dev/null
@@ -1,325 +0,0 @@
-// **********************************************************************
-//
-// Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
-//
-// This copy of Ice is licensed to you under the terms described in the
-// ICE_LICENSE file included in this distribution.
-//
-// **********************************************************************
-
-#include <Logger.h>
-#include <Util.h>
-
-using namespace std;
-using namespace IcePHP;
-
-ZEND_EXTERN_MODULE_GLOBALS(ice)
-
-//
-// Class entries represent the PHP class implementations we have registered.
-//
-namespace IcePHP
-{
-zend_class_entry* loggerClassEntry = 0;
-}
-
-//
-// Logger support.
-//
-static zend_object_handlers _loggerHandlers;
-
-extern "C"
-{
-static zend_object_value handleAlloc(zend_class_entry* TSRMLS_DC);
-static void handleFreeStorage(void* TSRMLS_DC);
-static zend_object_value handleClone(zval* TSRMLS_DC);
-}
-
-ZEND_METHOD(Ice_Logger, __construct)
-{
- runtimeError("logger objects cannot be instantiated" TSRMLS_CC);
-}
-
-ZEND_METHOD(Ice_Logger, __toString)
-{
- if(ZEND_NUM_ARGS() > 0)
- {
- WRONG_PARAM_COUNT;
- }
-
- RETURN_NULL();
-}
-
-ZEND_METHOD(Ice_Logger, print)
-{
- char* m;
- int mLen;
-
- if(zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, const_cast<char*>("s"), &m, &mLen) == FAILURE)
- {
- RETURN_NULL();
- }
-
- Ice::LoggerPtr _this = Wrapper<Ice::LoggerPtr>::value(getThis() TSRMLS_CC);
- assert(_this);
-
- string msg(m, mLen);
- try
- {
- _this->print(msg);
- }
- catch(const IceUtil::Exception& ex)
- {
- throwException(ex TSRMLS_CC);
- RETURN_NULL();
- }
-}
-
-ZEND_METHOD(Ice_Logger, trace)
-{
- char* c;
- int cLen;
- char* m;
- int mLen;
-
- if(zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, const_cast<char*>("ss"), &c, &cLen, &m, &mLen) == FAILURE)
- {
- RETURN_NULL();
- }
-
- Ice::LoggerPtr _this = Wrapper<Ice::LoggerPtr>::value(getThis() TSRMLS_CC);
- assert(_this);
-
- string category(c, cLen);
- string msg(m, mLen);
- try
- {
- _this->trace(category, msg);
- }
- catch(const IceUtil::Exception& ex)
- {
- throwException(ex TSRMLS_CC);
- RETURN_NULL();
- }
-}
-
-ZEND_METHOD(Ice_Logger, warning)
-{
- char* m;
- int mLen;
-
- if(zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, const_cast<char*>("s"), &m, &mLen) == FAILURE)
- {
- RETURN_NULL();
- }
-
- Ice::LoggerPtr _this = Wrapper<Ice::LoggerPtr>::value(getThis() TSRMLS_CC);
- assert(_this);
-
- string msg(m, mLen);
- try
- {
- _this->warning(msg);
- }
- catch(const IceUtil::Exception& ex)
- {
- throwException(ex TSRMLS_CC);
- RETURN_NULL();
- }
-}
-
-ZEND_METHOD(Ice_Logger, error)
-{
- char* m;
- int mLen;
-
- if(zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, const_cast<char*>("s"), &m, &mLen) == FAILURE)
- {
- RETURN_NULL();
- }
-
- Ice::LoggerPtr _this = Wrapper<Ice::LoggerPtr>::value(getThis() TSRMLS_CC);
- assert(_this);
-
- string msg(m, mLen);
- try
- {
- _this->error(msg);
- }
- catch(const IceUtil::Exception& ex)
- {
- throwException(ex TSRMLS_CC);
- RETURN_NULL();
- }
-}
-
-ZEND_METHOD(Ice_Logger, cloneWithPrefix)
-{
- char* p;
- int pLen;
-
- if(zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, const_cast<char*>("s"), &p, &pLen) == FAILURE)
- {
- RETURN_NULL();
- }
-
- Ice::LoggerPtr _this = Wrapper<Ice::LoggerPtr>::value(getThis() TSRMLS_CC);
- assert(_this);
-
- Ice::LoggerPtr clone;
-
- string prefix(p, pLen);
- try
- {
- clone = _this->cloneWithPrefix(prefix);
- }
- catch(const IceUtil::Exception& ex)
- {
- throwException(ex TSRMLS_CC);
- RETURN_NULL();
- }
-
- if(!createLogger(return_value, clone TSRMLS_CC))
- {
- RETURN_NULL();
- }
-}
-
-#ifdef _WIN32
-extern "C"
-#endif
-static zend_object_value
-handleAlloc(zend_class_entry* ce TSRMLS_DC)
-{
- zend_object_value result;
-
- Wrapper<Ice::LoggerPtr>* obj = Wrapper<Ice::LoggerPtr>::create(ce TSRMLS_CC);
- assert(obj);
-
- result.handle = zend_objects_store_put(obj, 0, (zend_objects_free_object_storage_t)handleFreeStorage, 0 TSRMLS_CC);
- result.handlers = &_loggerHandlers;
-
- return result;
-}
-
-#ifdef _WIN32
-extern "C"
-#endif
-static void
-handleFreeStorage(void* p TSRMLS_DC)
-{
- Wrapper<Ice::LoggerPtr>* obj = static_cast<Wrapper<Ice::LoggerPtr>*>(p);
- delete obj->ptr;
- zend_object_std_dtor(static_cast<zend_object*>(p) TSRMLS_CC);
- efree(p);
-}
-
-#ifdef _WIN32
-extern "C"
-#endif
-static zend_object_value
-handleClone(zval* zv TSRMLS_DC)
-{
- php_error_docref(0 TSRMLS_CC, E_ERROR, "loggers cannot be cloned");
- return zend_object_value();
-}
-
-//
-// Necessary to suppress warnings from zend_function_entry in php-5.2.
-//
-#if defined(__GNUC__)
-# pragma GCC diagnostic ignored "-Wwrite-strings"
-#endif
-
-//
-// Predefined methods for Logger.
-//
-static zend_function_entry _interfaceMethods[] =
-{
- {0, 0, 0}
-};
-static zend_function_entry _classMethods[] =
-{
- ZEND_ME(Ice_Logger, __construct, NULL, ZEND_ACC_PRIVATE|ZEND_ACC_CTOR)
- ZEND_ME(Ice_Logger, __toString, NULL, ZEND_ACC_PUBLIC)
- ZEND_ME(Ice_Logger, print, NULL, ZEND_ACC_PUBLIC)
- ZEND_ME(Ice_Logger, trace, NULL, ZEND_ACC_PUBLIC)
- ZEND_ME(Ice_Logger, warning, NULL, ZEND_ACC_PUBLIC)
- ZEND_ME(Ice_Logger, error, NULL, ZEND_ACC_PUBLIC)
- ZEND_ME(Ice_Logger, cloneWithPrefix, NULL, ZEND_ACC_PUBLIC)
- {0, 0, 0}
-};
-//
-// enable warning again
-//
-#if defined(__GNUC__)
-# pragma GCC diagnostic error "-Wwrite-strings"
-#endif
-
-bool
-IcePHP::loggerInit(TSRMLS_D)
-{
- //
- // We register an interface and a class that implements the interface. This allows
- // applications to safely include the Slice-generated code for the type.
- //
-
- //
- // Register the Logger interface.
- //
- zend_class_entry ce;
-#ifdef ICEPHP_USE_NAMESPACES
- INIT_NS_CLASS_ENTRY(ce, "Ice", "Logger", _interfaceMethods);
-#else
- INIT_CLASS_ENTRY(ce, "Ice_Logger", _interfaceMethods);
-#endif
- zend_class_entry* interface = zend_register_internal_interface(&ce TSRMLS_CC);
-
- //
- // Register the Logger class.
- //
- INIT_CLASS_ENTRY(ce, "IcePHP_Logger", _classMethods);
- ce.create_object = handleAlloc;
- loggerClassEntry = zend_register_internal_class(&ce TSRMLS_CC);
- memcpy(&_loggerHandlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers));
- _loggerHandlers.clone_obj = handleClone;
- zend_class_implements(loggerClassEntry TSRMLS_CC, 1, interface);
-
- return true;
-}
-
-bool
-IcePHP::createLogger(zval* zv, const Ice::LoggerPtr& p TSRMLS_DC)
-{
- if(object_init_ex(zv, loggerClassEntry) != SUCCESS)
- {
- runtimeError("unable to initialize logger object" TSRMLS_CC);
- return false;
- }
-
- Wrapper<Ice::LoggerPtr>* obj = Wrapper<Ice::LoggerPtr>::extract(zv TSRMLS_CC);
- assert(!obj->ptr);
- obj->ptr = new Ice::LoggerPtr(p);
-
- return true;
-}
-
-bool
-IcePHP::fetchLogger(zval* zv, Ice::LoggerPtr& p TSRMLS_DC)
-{
- if(!ZVAL_IS_NULL(zv))
- {
- if(Z_TYPE_P(zv) != IS_OBJECT || Z_OBJCE_P(zv) != loggerClassEntry)
- {
- invalidArgument("value is not a logger object" TSRMLS_CC);
- return false;
- }
- p = Wrapper<Ice::LoggerPtr>::value(zv TSRMLS_CC);
- if(!p)
- {
- runtimeError("unable to retrieve logger object from object store" TSRMLS_CC);
- return false;
- }
- }
- return true;
-}