diff options
author | Joe George <joe@zeroc.com> | 2016-05-10 14:21:09 -0400 |
---|---|---|
committer | Joe George <joe@zeroc.com> | 2016-05-10 15:03:01 -0400 |
commit | a124372175471b4b536f9cacaee27d1e65af1a32 (patch) | |
tree | 76abb60a52b47110defdec1dd4e85f639ee6a65c /php/src/php5/Communicator.h | |
parent | Fixed issue with IE where accessing the stack from Exception.toString leads t... (diff) | |
download | ice-a124372175471b4b536f9cacaee27d1e65af1a32.tar.bz2 ice-a124372175471b4b536f9cacaee27d1e65af1a32.tar.xz ice-a124372175471b4b536f9cacaee27d1e65af1a32.zip |
Backport PHP7 support
Diffstat (limited to 'php/src/php5/Communicator.h')
-rw-r--r-- | php/src/php5/Communicator.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/php/src/php5/Communicator.h b/php/src/php5/Communicator.h new file mode 100644 index 00000000000..30f07d273e1 --- /dev/null +++ b/php/src/php5/Communicator.h @@ -0,0 +1,60 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2016 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. +// +// ********************************************************************** + +#ifndef ICEPHP_COMMUNICATOR_H +#define ICEPHP_COMMUNICATOR_H + +#include <Config.h> +#include <Ice/CommunicatorF.h> + +// +// Global functions. +// +extern "C" +{ +ZEND_FUNCTION(Ice_initialize); +ZEND_FUNCTION(Ice_register); +ZEND_FUNCTION(Ice_unregister); +ZEND_FUNCTION(Ice_find); +ZEND_FUNCTION(Ice_getProperties); +ZEND_FUNCTION(Ice_identityToString); +ZEND_FUNCTION(Ice_stringToIdentity); +} + +namespace IcePHP +{ + +bool communicatorInit(TSRMLS_D); +bool communicatorShutdown(TSRMLS_D); +bool communicatorRequestInit(TSRMLS_D); +bool communicatorRequestShutdown(TSRMLS_D); + +// +// Class entry. +// +extern zend_class_entry* communicatorClassEntry; + +// +// The CommunicatorInfo class represents a communicator that is in use by a PHP request. +// +class CommunicatorInfo : public IceUtil::Shared +{ +public: + + virtual void getZval(zval* TSRMLS_DC) = 0; + virtual void addRef(TSRMLS_D) = 0; + virtual void decRef(TSRMLS_D) = 0; + + virtual Ice::CommunicatorPtr getCommunicator() const = 0; +}; +typedef IceUtil::Handle<CommunicatorInfo> CommunicatorInfoPtr; + +} // End of namespace IcePHP + +#endif |