mirror of
https://github.com/php/php-src.git
synced 2024-11-26 03:16:33 +08:00
c55e855fdd
- layer can add individual ini settings now - classentries for the loaded rpc object are created dynamically now class hirarchy looks like: rpc<-[layer]<-[object] (e.g. rpc<-com<-adodb), thus the whole class tree is reflected into php - added user-functions to mark an object as a singleton and as poolable #rest of the linuxtag work
139 lines
3.2 KiB
C
139 lines
3.2 KiB
C
#include "php.h"
|
|
|
|
#include "rpc_proxy.h"
|
|
#include "handler.h"
|
|
|
|
/* object handler */
|
|
static void rpc_proxy_add_ref(zval * TSRMLS_DC);
|
|
static void rpc_proxy_del_ref(zval * TSRMLS_DC);
|
|
static void rpc_proxy_delete(zval * TSRMLS_DC);
|
|
static zend_object_value rpc_proxy_clone(zval * TSRMLS_DC);
|
|
static zval* rpc_proxy_read(zval *, zval *, int TSRMLS_DC);
|
|
static void rpc_proxy_write(zval *, zval *, zval * TSRMLS_DC);
|
|
static zval** rpc_proxy_get_property(zval *, zval * TSRMLS_DC);
|
|
static zval* rpc_proxy_get(zval * TSRMLS_DC);
|
|
static void rpc_proxy_set(zval **, zval * TSRMLS_DC);
|
|
static int rpc_proxy_has_property(zval *, zval *, int TSRMLS_DC);
|
|
static void rpc_proxy_unset_property(zval *, zval * TSRMLS_DC);
|
|
static HashTable* rpc_proxy_get_properties(zval * TSRMLS_DC);
|
|
static union _zend_function* rpc_proxy_get_method(zval *, char *, int TSRMLS_DC);
|
|
static union _zend_function* rpc_proxy_get_constructor(zval * TSRMLS_DC);
|
|
static zend_class_entry* rpc_proxy_get_class_entry(zval *object TSRMLS_DC);
|
|
static int rpc_proxy_get_classname(zval *, char **, zend_uint *, int TSRMLS_DC);
|
|
static int rpc_proxy_compare(zval *, zval * TSRMLS_DC);
|
|
/**/
|
|
|
|
zend_object_handlers rpc_proxy_handlers = {
|
|
rpc_proxy_add_ref,
|
|
rpc_proxy_del_ref,
|
|
rpc_proxy_delete,
|
|
rpc_proxy_clone,
|
|
rpc_proxy_read,
|
|
rpc_proxy_write,
|
|
rpc_proxy_get_property,
|
|
NULL,
|
|
rpc_proxy_get,
|
|
rpc_proxy_set,
|
|
NULL,
|
|
NULL,
|
|
rpc_proxy_has_property,
|
|
rpc_proxy_unset_property,
|
|
rpc_proxy_get_properties,
|
|
rpc_proxy_get_method,
|
|
NULL,
|
|
rpc_proxy_get_constructor,
|
|
rpc_proxy_get_class_entry,
|
|
rpc_proxy_get_classname,
|
|
rpc_proxy_compare
|
|
};
|
|
|
|
|
|
/* object handler */
|
|
|
|
static void rpc_proxy_add_ref(zval *object TSRMLS_DC)
|
|
{
|
|
}
|
|
|
|
static void rpc_proxy_del_ref(zval *object TSRMLS_DC)
|
|
{
|
|
}
|
|
|
|
static void rpc_proxy_delete(zval *object TSRMLS_DC)
|
|
{
|
|
}
|
|
|
|
static zend_object_value rpc_proxy_clone(zval *object TSRMLS_DC)
|
|
{
|
|
}
|
|
|
|
static zval* rpc_proxy_read(zval *object, zval *member, int type TSRMLS_DC)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
static void rpc_proxy_write(zval *object, zval *member, zval *value TSRMLS_DC)
|
|
{
|
|
}
|
|
|
|
static zval** rpc_proxy_get_property(zval *object, zval *member TSRMLS_DC)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
static zval* rpc_proxy_get(zval *property TSRMLS_DC)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
static void rpc_proxy_set(zval **property, zval *value TSRMLS_DC)
|
|
{
|
|
}
|
|
|
|
static int rpc_proxy_has_property(zval *object, zval *member, int check_empty TSRMLS_DC)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
static void rpc_proxy_unset_property(zval *object, zval *member TSRMLS_DC)
|
|
{
|
|
}
|
|
|
|
static HashTable* rpc_proxy_get_properties(zval *object TSRMLS_DC)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
static union _zend_function* rpc_proxy_get_method(zval *object, char *method, int method_len TSRMLS_DC)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
static union _zend_function* rpc_proxy_get_constructor(zval *object TSRMLS_DC)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
static zend_class_entry* rpc_proxy_get_class_entry(zval *object TSRMLS_DC)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
static int rpc_proxy_get_classname(zval *object, char **class_name, zend_uint *class_name_len, int parent TSRMLS_DC)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
static int rpc_proxy_compare(zval *object1, zval *object2 TSRMLS_DC)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
/*
|
|
* Local variables:
|
|
* tab-width: 4
|
|
* c-basic-offset: 4
|
|
* End:
|
|
* vim600: noet sw=4 ts=4 fdm=marker
|
|
* vim<600: noet sw=4 ts=4
|
|
*/
|