Exemple #1
0
#include "system/base/interface/yii_iviewrenderer.h"

YII_CLASS_DECLARE_ENTRY(iviewrenderer);

/** {{{ ARG_INFO
*/
ZEND_BEGIN_ARG_INFO_EX(arginfo_iviewrenderer_renderFile, 0, 0, 4)
	ZEND_ARG_INFO(0, context)
	ZEND_ARG_INFO(0, file)
	ZEND_ARG_INFO(0, data)
	ZEND_ARG_INFO(0, return)
ZEND_END_ARG_INFO()
/* }}} */

/** {{{ IViewRenderer's methods 
*/
YII_CLASS_METHODS(iviewrenderer){
	PHP_ABSTRACT_ME(IViewRenderer, renderFile, arginfo_iviewrenderer_renderFile)
	PHP_FE_END
};

/** {{{ interface IViewRenderer
*/
YII_CLASS_FUNCTION(iviewrenderer){

	YII_CLASS_INTERFACE(IViewRenderer, iviewrenderer);

	return SUCCESS;
}
/* }}} */
 *
 * This software may be modified and distributed under the terms
 * of the MIT license.  See the LICENSE file for details.
 */

/* $Id$ */

#include "php.h"


#include "php_oop.h"
#include "object_interface.h"

zend_class_entry *interface_object_ce;

const zend_function_entry interface_object_functions[] = {
    PHP_ABSTRACT_ME(interface_object_ce, toString, NULL)
    PHP_ABSTRACT_ME(interface_object_ce, toArray, NULL)
    PHP_ABSTRACT_ME(interface_object_ce, isNull, NULL)
    PHP_FE_END
};

OOP_MODULE_STARTUP_FUNCTION(interface_object)
{
    zend_class_entry local_interface_object_ce;
    INIT_CLASS_ENTRY(local_interface_object_ce, "OOP\\ObjectInterface", interface_object_functions);
    interface_object_ce = zend_register_internal_interface(&local_interface_object_ce);
    return SUCCESS;
}

Exemple #3
0
  | obtain it through the world-wide-web, please send an email             |
  | to [email protected] so we can send you a copy immediately.       |
  +------------------------------------------------------------------------+
  | Authors: Andres Gutierrez <*****@*****.**>                      |
  |          Eduar Carvajal <*****@*****.**>                         |
  |          ZhuZongXin <*****@*****.**>                                 |
  +------------------------------------------------------------------------+
*/

#include "acl/roleaware.h"
#include "kernel/main.h"

zend_class_entry *phalcon_acl_roleaware_ce;

static const zend_function_entry phalcon_acl_roleaware_method_entry[] = {
	PHP_ABSTRACT_ME(Phalcon_Acl_RoleAware, getRoleName, NULL)
	PHP_FE_END
};

/**
 * Phalcon\Acl\RoleAware initializer
 */
PHALCON_INIT_CLASS(Phalcon_Acl_RoleAware){

	PHALCON_REGISTER_INTERFACE(Phalcon\\Acl, RoleAware, acl_roleaware, phalcon_acl_roleaware_method_entry);

	return SUCCESS;
}

/**
 * Returns the role name
Exemple #4
0
#if PHP_VERSION_ID < 50500
/* {{{ jsond_54_functions[] */
static zend_function_entry jsond_54_functions[] = {
	PHP_JSOND_FE(last_error_msg, arginfo_jsond_last_error_msg)
	PHP_JSOND_FE_END
};
/* }}} */
#endif

/* {{{ JsonSerializable methods */
ZEND_BEGIN_ARG_INFO(jsond_serialize_arginfo, 0)
	/* No arguments */
ZEND_END_ARG_INFO();

static zend_function_entry jsond_serializable_interface[] = {
	PHP_ABSTRACT_ME(PHP_JSOND_SERIALIZABLE_INTERFACE, jsonSerialize, jsond_serialize_arginfo)
	PHP_JSOND_FE_END
};
/* }}} */

/* {{{ php_json_already_exists */
static inline zend_bool php_json_already_exists()
{
	return !strncmp(PHP_JSOND_PREFIX_STRING, "json", 5) &&
			zend_hash_exists(&module_registry, "json", sizeof("json"));
}
/* }}} */

/* {{{ php_json_register_serializable_interface */
static inline void php_json_register_serializable_interface(TSRMLS_D)
{
Exemple #5
0
  | If you did not receive a copy of the license and are unable to         |
  | obtain it through the world-wide-web, please send an email             |
  | to [email protected] so we can send you a copy immediately.       |
  +------------------------------------------------------------------------+
  | Authors: Andres Gutierrez <*****@*****.**>                      |
  |          Eduar Carvajal <*****@*****.**>                         |
  +------------------------------------------------------------------------+
*/

#include "mvc/view/engineinterface.h"
#include "kernel/main.h"

zend_class_entry *phalcon_mvc_view_engineinterface_ce;

static const zend_function_entry phalcon_mvc_view_engineinterface_method_entry[] = {
	PHP_ABSTRACT_ME(Phalcon_Mvc_View_EngineInterface, getContent, NULL)
	PHP_ABSTRACT_ME(Phalcon_Mvc_View_EngineInterface, partial, arginfo_phalcon_mvc_view_engineinterface_partial)
	PHP_ABSTRACT_ME(Phalcon_Mvc_View_EngineInterface, render, arginfo_phalcon_mvc_view_engineinterface_render)
	PHP_FE_END
};

/**
 * Phalcon\Mvc\View\EngineInterface initializer
 */
PHALCON_INIT_CLASS(Phalcon_Mvc_View_EngineInterface){

	PHALCON_REGISTER_INTERFACE(Phalcon\\Mvc\\View, EngineInterface, mvc_view_engineinterface, phalcon_mvc_view_engineinterface_method_entry);

	return SUCCESS;
}
  | If you did not receive a copy of the license and are unable to         |
  | obtain it through the world-wide-web, please send an email             |
  | to [email protected] so we can send you a copy immediately.       |
  +------------------------------------------------------------------------+
  | Authors: Andres Gutierrez <*****@*****.**>                      |
  |          Eduar Carvajal <*****@*****.**>                         |
  +------------------------------------------------------------------------+
*/

#include "dispatcherinterface.h"
#include "kernel/main.h"

zend_class_entry *phalcon_dispatcherinterface_ce;

static const zend_function_entry phalcon_dispatcherinterface_method_entry[] = {
	PHP_ABSTRACT_ME(Phalcon_DispatcherInterface, setActionSuffix, arginfo_phalcon_dispatcherinterface_setactionsuffix)
	PHP_ABSTRACT_ME(Phalcon_DispatcherInterface, setDefaultNamespace, arginfo_phalcon_dispatcherinterface_setdefaultnamespace)
	PHP_ABSTRACT_ME(Phalcon_DispatcherInterface, setDefaultAction, arginfo_phalcon_dispatcherinterface_setdefaultaction)
	PHP_ABSTRACT_ME(Phalcon_DispatcherInterface, setActionName, arginfo_phalcon_dispatcherinterface_setactionname)
	PHP_ABSTRACT_ME(Phalcon_DispatcherInterface, getActionName, NULL)
	PHP_ABSTRACT_ME(Phalcon_DispatcherInterface, setParams, arginfo_phalcon_dispatcherinterface_setparams)
	PHP_ABSTRACT_ME(Phalcon_DispatcherInterface, getParams, NULL)
	PHP_ABSTRACT_ME(Phalcon_DispatcherInterface, setParam, arginfo_phalcon_dispatcherinterface_setparam)
	PHP_ABSTRACT_ME(Phalcon_DispatcherInterface, getParam, arginfo_phalcon_dispatcherinterface_getparam)
	PHP_ABSTRACT_ME(Phalcon_DispatcherInterface, isFinished, NULL)
	PHP_ABSTRACT_ME(Phalcon_DispatcherInterface, getReturnedValue, NULL)
	PHP_ABSTRACT_ME(Phalcon_DispatcherInterface, dispatch, NULL)
	PHP_ABSTRACT_ME(Phalcon_DispatcherInterface, forward, arginfo_phalcon_dispatcherinterface_forward)
	PHP_ABSTRACT_ME(Phalcon_DispatcherInterface, camelizeNamespace, arginfo_phalcon_dispatcherinterface_camelizenamespace)
	PHP_ABSTRACT_ME(Phalcon_DispatcherInterface, setErrorHandler, arginfo_phalcon_dispatcherinterface_seterrorhandler)
	PHP_ABSTRACT_ME(Phalcon_DispatcherInterface, getErrorHandler, arginfo_phalcon_dispatcherinterface_geterrorhandler)
Exemple #7
0
  | If you did not receive a copy of the license and are unable to         |
  | obtain it through the world-wide-web, please send an email             |
  | to [email protected] so we can send you a copy immediately.       |
  +------------------------------------------------------------------------+
  | Authors: Andres Gutierrez <*****@*****.**>                      |
  |          Eduar Carvajal <*****@*****.**>                         |
  +------------------------------------------------------------------------+
*/

#include "db/columninterface.h"
#include "kernel/main.h"

zend_class_entry *phalcon_db_columninterface_ce;

static const zend_function_entry phalcon_db_columninterface_method_entry[] = {
	PHP_ABSTRACT_ME(Phalcon_Db_ColumnInterface, getSchemaName, NULL)
	PHP_ABSTRACT_ME(Phalcon_Db_ColumnInterface, getName, NULL)
	PHP_ABSTRACT_ME(Phalcon_Db_ColumnInterface, getType, NULL)
	PHP_ABSTRACT_ME(Phalcon_Db_ColumnInterface, getSize, NULL)
	PHP_ABSTRACT_ME(Phalcon_Db_ColumnInterface, getScale, NULL)
	PHP_ABSTRACT_ME(Phalcon_Db_ColumnInterface, isUnsigned, NULL)
	PHP_ABSTRACT_ME(Phalcon_Db_ColumnInterface, isNotNull, NULL)
	PHP_ABSTRACT_ME(Phalcon_Db_ColumnInterface, isPrimary, NULL)
	PHP_ABSTRACT_ME(Phalcon_Db_ColumnInterface, isAutoIncrement, NULL)
	PHP_ABSTRACT_ME(Phalcon_Db_ColumnInterface, isNumeric, NULL)
	PHP_ABSTRACT_ME(Phalcon_Db_ColumnInterface, isFirst, NULL)
	PHP_ABSTRACT_ME(Phalcon_Db_ColumnInterface, getAfterPosition, NULL)
	PHP_ABSTRACT_ME(Phalcon_Db_ColumnInterface, getBindType, NULL)
	PHP_FE_END
};
  | If you did not receive a copy of the license and are unable to         |
  | obtain it through the world-wide-web, please send an email             |
  | to [email protected] so we can send you a copy immediately.       |
  +------------------------------------------------------------------------+
  | Authors: Andres Gutierrez <*****@*****.**>                      |
  |          Eduar Carvajal <*****@*****.**>                         |
  +------------------------------------------------------------------------+
*/

#include "di/serviceinterface.h"
#include "kernel/main.h"

zend_class_entry *phalcon_di_serviceinterface_ce;

static const zend_function_entry phalcon_di_serviceinterface_method_entry[] = {
	PHP_ABSTRACT_ME(Phalcon_DI_ServiceInterface, getName, arginfo_phalcon_di_serviceinterface_getname)
	PHP_ABSTRACT_ME(Phalcon_DI_ServiceInterface, setShared, arginfo_phalcon_di_serviceinterface_setshared)
	PHP_ABSTRACT_ME(Phalcon_DI_ServiceInterface, isShared, arginfo_phalcon_di_serviceinterface_isshared)
	PHP_ABSTRACT_ME(Phalcon_DI_ServiceInterface, setDefinition, arginfo_phalcon_di_serviceinterface_setdefinition)
	PHP_ABSTRACT_ME(Phalcon_DI_ServiceInterface, getDefinition, arginfo_phalcon_di_serviceinterface_getdefinition)
	PHP_ABSTRACT_ME(Phalcon_DI_ServiceInterface, isResolved, arginfo_phalcon_di_serviceinterface_isresolved)
	PHP_ABSTRACT_ME(Phalcon_DI_ServiceInterface, resolve, arginfo_phalcon_di_serviceinterface_resolve)
	PHP_FE_END
};

/**
 * Phalcon\DI\ServiceInterface initializer
 */
PHALCON_INIT_CLASS(Phalcon_DI_ServiceInterface){

	PHALCON_REGISTER_INTERFACE(Phalcon\\DI, ServiceInterface, di_serviceinterface, phalcon_di_serviceinterface_method_entry);
Exemple #9
0
zend_class_entry *operators_class_entry;

/* {{{ operators_functions[] */
const zend_function_entry operators_functions[] = {PHP_FE_END};
/* }}} */

/* {{{ operators_arginfo */
ZEND_BEGIN_ARG_INFO_EX(operators_arginfo, 0, 0, 1)
ZEND_ARG_INFO(0, opcode)
ZEND_ARG_INFO(0, zval)
ZEND_END_ARG_INFO()
/* }}} */

/* {{{ operators_methods[] */
const zend_function_entry operators_methods[] = {
    PHP_ABSTRACT_ME(Operators, __operators, operators_arginfo)
    PHP_FE_END
};
/* }}} */

/* {{{ operators_module_entry
 */
zend_module_entry operators_module_entry = {
#if ZEND_MODULE_API_NO >= 20010901
    STANDARD_MODULE_HEADER,
#endif
    "operators",
    operators_functions,
    PHP_MINIT(operators),
    PHP_MSHUTDOWN(operators),
    NULL,
Exemple #10
0
  | If you did not receive a copy of the license and are unable to         |
  | obtain it through the world-wide-web, please send an email             |
  | to [email protected] so we can send you a copy immediately.       |
  +------------------------------------------------------------------------+
  | Authors: Andres Gutierrez <*****@*****.**>                      |
  |          Eduar Carvajal <*****@*****.**>                         |
  +------------------------------------------------------------------------+
*/

#include "mvc/routerinterface.h"
#include "kernel/main.h"

zend_class_entry *phalcon_mvc_routerinterface_ce;

static const zend_function_entry phalcon_mvc_routerinterface_method_entry[] = {
	PHP_ABSTRACT_ME(Phalcon_Mvc_RouterInterface, setDefaultModule, arginfo_phalcon_mvc_routerinterface_setdefaultmodule)
	PHP_ABSTRACT_ME(Phalcon_Mvc_RouterInterface, setDefaultController, arginfo_phalcon_mvc_routerinterface_setdefaultcontroller)
	PHP_ABSTRACT_ME(Phalcon_Mvc_RouterInterface, setDefaultAction, arginfo_phalcon_mvc_routerinterface_setdefaultaction)
	PHP_ABSTRACT_ME(Phalcon_Mvc_RouterInterface, setDefaults, arginfo_phalcon_mvc_routerinterface_setdefaults)
	PHP_ABSTRACT_ME(Phalcon_Mvc_RouterInterface, handle, arginfo_phalcon_mvc_routerinterface_handle)
	PHP_ABSTRACT_ME(Phalcon_Mvc_RouterInterface, add, arginfo_phalcon_mvc_routerinterface_add)
	PHP_ABSTRACT_ME(Phalcon_Mvc_RouterInterface, addGet, arginfo_phalcon_mvc_routerinterface_addget)
	PHP_ABSTRACT_ME(Phalcon_Mvc_RouterInterface, addPost, arginfo_phalcon_mvc_routerinterface_addpost)
	PHP_ABSTRACT_ME(Phalcon_Mvc_RouterInterface, addPut, arginfo_phalcon_mvc_routerinterface_addput)
	PHP_ABSTRACT_ME(Phalcon_Mvc_RouterInterface, addDelete, arginfo_phalcon_mvc_routerinterface_adddelete)
	PHP_ABSTRACT_ME(Phalcon_Mvc_RouterInterface, addOptions, arginfo_phalcon_mvc_routerinterface_addoptions)
	PHP_ABSTRACT_ME(Phalcon_Mvc_RouterInterface, addPatch, arginfo_phalcon_mvc_routerinterface_addpatch)
	PHP_ABSTRACT_ME(Phalcon_Mvc_RouterInterface, addHead, arginfo_phalcon_mvc_routerinterface_addhead)
	PHP_ABSTRACT_ME(Phalcon_Mvc_RouterInterface, clear, NULL)
	PHP_ABSTRACT_ME(Phalcon_Mvc_RouterInterface, getModuleName, NULL)
	PHP_ABSTRACT_ME(Phalcon_Mvc_RouterInterface, getControllerName, NULL)
  | If you did not receive a copy of the license and are unable to         |
  | obtain it through the world-wide-web, please send an email             |
  | to [email protected] so we can send you a copy immediately.       |
  +------------------------------------------------------------------------+
  | Authors: Andres Gutierrez <*****@*****.**>                      |
  |          Eduar Carvajal <*****@*****.**>                         |
  +------------------------------------------------------------------------+
*/

#include "mvc/micro/middlewareinterface.h"
#include "kernel/main.h"

zend_class_entry *phalcon_mvc_micro_middlewareinterface_ce;

static const zend_function_entry phalcon_mvc_micro_middlewareinterface_method_entry[] = {
	PHP_ABSTRACT_ME(Phalcon_Mvc_Micro_MiddlewareInterface, call, arginfo_phalcon_mvc_micro_middlewareinterface_call)
	PHP_FE_END
};

/**
 * Phalcon\Mvc\Micro\MiddlewareInterface initializer
 */
PHALCON_INIT_CLASS(Phalcon_Mvc_Micro_MiddlewareInterface){

	PHALCON_REGISTER_INTERFACE(Phalcon\\Mvc\\Micro, MiddlewareInterface, mvc_micro_middlewareinterface, phalcon_mvc_micro_middlewareinterface_method_entry);

	return SUCCESS;
}

/**
 * Calls the middleware
Exemple #12
0
  | If you did not receive a copy of the license and are unable to         |
  | obtain it through the world-wide-web, please send an email             |
  | to [email protected] so we can send you a copy immediately.       |
  +------------------------------------------------------------------------+
  | Authors: Andres Gutierrez <*****@*****.**>                      |
  |          Eduar Carvajal <*****@*****.**>                         |
  +------------------------------------------------------------------------+
*/

#include "validation/validatorinterface.h"
#include "kernel/main.h"

zend_class_entry *phalcon_validation_validatorinterface_ce;

static const zend_function_entry phalcon_validation_validatorinterface_method_entry[] = {
	PHP_ABSTRACT_ME(Phalcon_Validation_ValidatorInterface, isSetOption, arginfo_phalcon_validation_validatorinterface_issetoption)
	PHP_ABSTRACT_ME(Phalcon_Validation_ValidatorInterface, getOption, arginfo_phalcon_validation_validatorinterface_getoption)
	PHP_ABSTRACT_ME(Phalcon_Validation_ValidatorInterface, setOption, arginfo_phalcon_validation_validatorinterface_setoption)
	PHP_ABSTRACT_ME(Phalcon_Validation_ValidatorInterface, validate, arginfo_phalcon_validation_validatorinterface_validate)
	PHP_FE_END
};

/**
 * Phalcon\Validation\ValidatorInterface initializer
 */
PHALCON_INIT_CLASS(Phalcon_Validation_ValidatorInterface){

	PHALCON_REGISTER_INTERFACE(Phalcon\\Validation, ValidatorInterface, validation_validatorinterface, phalcon_validation_validatorinterface_method_entry);

	return SUCCESS;
}
Exemple #13
0
ZEND_BEGIN_ARG_INFO_EX(interface_event_args, 0, 0, 1)
	ZEND_ARG_INFO(0, event)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_INFO_EX(void_args, 0, 0, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_INFO_EX(interface_event_arguments_args, 0, 0, 2)
	ZEND_ARG_INFO(0, event)
	ZEND_ARG_ARRAY_INFO(0, arguments, 0)
ZEND_END_ARG_INFO()
/* }}} */

static const zend_function_entry event_emitter_interface_methods[] = {
	PHP_ABSTRACT_ME(event_emitter_interface, on, 				 interface_event_listener_args)
	PHP_ABSTRACT_ME(event_emitter_interface, once, 				 interface_event_listener_args)
	PHP_ABSTRACT_ME(event_emitter_interface, removeListener, 	 interface_event_listener_args)
	PHP_ABSTRACT_ME(event_emitter_interface, removeAllListeners, interface_event_args)
	PHP_ABSTRACT_ME(event_emitter_interface, listeners, 		 interface_event_args)
	PHP_ABSTRACT_ME(event_emitter_interface, emit, 				 interface_event_arguments_args)
    PHP_FE_END
};

/** {{{ get_listeners
 */
zval *get_listeners(zval *this_ptr TSRMLS_DC){

  zval *listeners = zend_read_property(event_emitter_trait_ce, this_ptr, ZEND_STRL("listeners"), 1 TSRMLS_CC);

  if(Z_TYPE_P (listeners) != IS_ARRAY){
Exemple #14
0
  | obtain it through the world-wide-web, please send an email             |
  | to [email protected] so we can send you a copy immediately.       |
  +------------------------------------------------------------------------+
  | Authors: Andres Gutierrez <*****@*****.**>                      |
  |          Eduar Carvajal <*****@*****.**>                         |
  |          ZhuZongXin <*****@*****.**>                                 |
  +------------------------------------------------------------------------+
*/

#include "events/eventinterface.h"
#include "kernel/main.h"

zend_class_entry *phalcon_events_eventinterface_ce;

static const zend_function_entry phalcon_events_eventinterface_method_entry[] = {
	PHP_ABSTRACT_ME(Phalcon_Events_EventInterface, setType, arginfo_phalcon_events_eventinterface_settype)
	PHP_ABSTRACT_ME(Phalcon_Events_EventInterface, getType, NULL)
	PHP_ABSTRACT_ME(Phalcon_Events_EventInterface, setSource, arginfo_phalcon_events_eventinterface_setsource)
	PHP_ABSTRACT_ME(Phalcon_Events_EventInterface, getSource, NULL)
	PHP_ABSTRACT_ME(Phalcon_Events_EventInterface, setData, arginfo_phalcon_events_eventinterface_setdata)
	PHP_ABSTRACT_ME(Phalcon_Events_EventInterface, getData, NULL)
	PHP_ABSTRACT_ME(Phalcon_Events_EventInterface, setCancelable, arginfo_phalcon_events_eventinterface_setcancelable)
	PHP_ABSTRACT_ME(Phalcon_Events_EventInterface, isCancelable, NULL)
	PHP_ABSTRACT_ME(Phalcon_Events_EventInterface, stop, NULL)
	PHP_ABSTRACT_ME(Phalcon_Events_EventInterface, isStopped, NULL)
	PHP_FE_END
};


/**
 * Phalcon\Events\EventInterface initializer
  | If you did not receive a copy of the license and are unable to         |
  | obtain it through the world-wide-web, please send an email             |
  | to [email protected] so we can send you a copy immediately.       |
  +------------------------------------------------------------------------+
  | Authors: Andres Gutierrez <*****@*****.**>                      |
  |          Eduar Carvajal <*****@*****.**>                         |
  +------------------------------------------------------------------------+
*/

#include "mvc/model/metadatainterface.h"
#include "kernel/main.h"

zend_class_entry *phalcon_mvc_model_metadatainterface_ce;

static const zend_function_entry phalcon_mvc_model_metadatainterface_method_entry[] = {
	PHP_ABSTRACT_ME(Phalcon_Mvc_Model_MetaDataInterface, setStrategy, arginfo_phalcon_mvc_model_metadatainterface_setstrategy)
	PHP_ABSTRACT_ME(Phalcon_Mvc_Model_MetaDataInterface, getStrategy, NULL)
	PHP_ABSTRACT_ME(Phalcon_Mvc_Model_MetaDataInterface, readMetaData, arginfo_phalcon_mvc_model_metadatainterface_readmetadata)
	PHP_ABSTRACT_ME(Phalcon_Mvc_Model_MetaDataInterface, readMetaDataIndex, arginfo_phalcon_mvc_model_metadatainterface_readmetadataindex)
	PHP_ABSTRACT_ME(Phalcon_Mvc_Model_MetaDataInterface, writeMetaDataIndex, arginfo_phalcon_mvc_model_metadatainterface_writemetadataindex)
	PHP_ABSTRACT_ME(Phalcon_Mvc_Model_MetaDataInterface, readColumnMap, arginfo_phalcon_mvc_model_metadatainterface_readcolumnmap)
	PHP_ABSTRACT_ME(Phalcon_Mvc_Model_MetaDataInterface, readColumnMapIndex, arginfo_phalcon_mvc_model_metadatainterface_readcolumnmapindex)
	PHP_ABSTRACT_ME(Phalcon_Mvc_Model_MetaDataInterface, getAttributes, arginfo_phalcon_mvc_model_metadatainterface_getattributes)
	PHP_ABSTRACT_ME(Phalcon_Mvc_Model_MetaDataInterface, getPrimaryKeyAttributes, arginfo_phalcon_mvc_model_metadatainterface_getprimarykeyattributes)
	PHP_ABSTRACT_ME(Phalcon_Mvc_Model_MetaDataInterface, getNonPrimaryKeyAttributes, arginfo_phalcon_mvc_model_metadatainterface_getnonprimarykeyattributes)
	PHP_ABSTRACT_ME(Phalcon_Mvc_Model_MetaDataInterface, getNotNullAttributes, arginfo_phalcon_mvc_model_metadatainterface_getnotnullattributes)
	PHP_ABSTRACT_ME(Phalcon_Mvc_Model_MetaDataInterface, getDataTypes, arginfo_phalcon_mvc_model_metadatainterface_getdatatypes)
	PHP_ABSTRACT_ME(Phalcon_Mvc_Model_MetaDataInterface, getDataType, arginfo_phalcon_mvc_model_metadatainterface_getdatatype)
	PHP_ABSTRACT_ME(Phalcon_Mvc_Model_MetaDataInterface, getDataSizes, arginfo_phalcon_mvc_model_metadatainterface_getdatasizes)
	PHP_ABSTRACT_ME(Phalcon_Mvc_Model_MetaDataInterface, getDataSize, arginfo_phalcon_mvc_model_metadatainterface_getdatasize)
	PHP_ABSTRACT_ME(Phalcon_Mvc_Model_MetaDataInterface, getDataBytes, arginfo_phalcon_mvc_model_metadatainterface_getdatabytes)
Exemple #16
0
	ZEND_ARG_OBJ_INFO(1, component, CComponent, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_INFO_EX(arginfo_ibehavior_detach, 0, 0, 1)
	ZEND_ARG_OBJ_INFO(1, component, CComponent, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_INFO_EX(arginfo_ibehavior_setEnabled, 0, 0, 1)
	ZEND_ARG_INFO(0, value)
ZEND_END_ARG_INFO()
/* }}} */

/** {{{ IBehavior's methods 
*/
YII_CLASS_METHODS(ibehavior){
	PHP_ABSTRACT_ME(IBehavior, attach, arginfo_ibehavior_attach)
	PHP_ABSTRACT_ME(IBehavior, detach, arginfo_ibehavior_detach)
	PHP_ABSTRACT_ME(IBehavior, getEnabled, NULL)
	PHP_ABSTRACT_ME(IBehavior, setEnabled, arginfo_ibehavior_setEnabled)
	PHP_FE_END
};

/** {{{ interface IBehavior
*/
YII_CLASS_FUNCTION(ibehavior){

	YII_CLASS_INTERFACE(IBehavior, ibehavior);

	return SUCCESS;
}
/* }}} */
Exemple #17
0
/* }}} */

/** {{{ proto public Yaf_Action_Abstract::getController(void)
*/
PHP_METHOD(yaf_action, getController) {
	yaf_controller_t *controller = zend_read_property(yaf_action_ce,
			getThis(), ZEND_STRL(YAF_ACTION_PROPERTY_NAME_CTRL), 1, NULL);
	RETURN_ZVAL(controller, 1, 0);
}
/* }}} */

/** {{{ yaf_controller_methods
*/
zend_function_entry yaf_action_methods[] = {
	PHP_ABSTRACT_ME(yaf_action_controller, execute, NULL)
	PHP_ME(yaf_action, getController, NULL, ZEND_ACC_PUBLIC)
	{NULL, NULL, NULL}
};
/* }}} */

/** {{{ YAF_STARTUP_FUNCTION
*/
YAF_STARTUP_FUNCTION(action) {
	zend_class_entry ce;
	YAF_INIT_CLASS_ENTRY(ce, "Yaf_Action_Abstract", "Yaf\\Action_Abstract", yaf_action_methods);
	yaf_action_ce = zend_register_internal_class_ex(&ce, yaf_controller_ce);
	yaf_action_ce->ce_flags |= ZEND_ACC_IMPLICIT_ABSTRACT_CLASS;

	zend_declare_property_null(yaf_action_ce, ZEND_STRL(YAF_ACTION_PROPERTY_NAME_CTRL),	ZEND_ACC_PROTECTED);
Exemple #18
0
  | If you did not receive a copy of the license and are unable to         |
  | obtain it through the world-wide-web, please send an email             |
  | to [email protected] so we can send you a copy immediately.       |
  +------------------------------------------------------------------------+
  | Authors: Andres Gutierrez <*****@*****.**>                      |
  |          Eduar Carvajal <*****@*****.**>                         |
  +------------------------------------------------------------------------+
*/

#include "mvc/viewinterface.h"
#include "kernel/main.h"

zend_class_entry *phalcon_mvc_viewinterface_ce;

static const zend_function_entry phalcon_mvc_viewinterface_method_entry[] = {
	PHP_ABSTRACT_ME(Phalcon_Mvc_ViewInterface, setViewsDir, arginfo_phalcon_mvc_viewinterface_setviewsdir)
	PHP_ABSTRACT_ME(Phalcon_Mvc_ViewInterface, getViewsDir, NULL)
	PHP_ABSTRACT_ME(Phalcon_Mvc_ViewInterface, setLayoutsDir, arginfo_phalcon_mvc_viewinterface_setlayoutsdir)
	PHP_ABSTRACT_ME(Phalcon_Mvc_ViewInterface, getLayoutsDir, NULL)
	PHP_ABSTRACT_ME(Phalcon_Mvc_ViewInterface, setPartialsDir, arginfo_phalcon_mvc_viewinterface_setpartialsdir)
	PHP_ABSTRACT_ME(Phalcon_Mvc_ViewInterface, getPartialsDir, NULL)
	PHP_ABSTRACT_ME(Phalcon_Mvc_ViewInterface, setBasePath, arginfo_phalcon_mvc_viewinterface_setbasepath)
	PHP_ABSTRACT_ME(Phalcon_Mvc_ViewInterface, getBasePath, NULL)
	PHP_ABSTRACT_ME(Phalcon_Mvc_ViewInterface, getCurrentRenderLevel, NULL)
	PHP_ABSTRACT_ME(Phalcon_Mvc_ViewInterface, getRenderLevel, NULL)
	PHP_ABSTRACT_ME(Phalcon_Mvc_ViewInterface, setRenderLevel, arginfo_phalcon_mvc_viewinterface_setrenderlevel)
	PHP_ABSTRACT_ME(Phalcon_Mvc_ViewInterface, disableLevel, arginfo_phalcon_mvc_viewinterface_disablelevel)
	PHP_ABSTRACT_ME(Phalcon_Mvc_ViewInterface, getDisabledLevels, NULL)
	PHP_ABSTRACT_ME(Phalcon_Mvc_ViewInterface, setMainView, arginfo_phalcon_mvc_viewinterface_setmainview)
	PHP_ABSTRACT_ME(Phalcon_Mvc_ViewInterface, getMainView, NULL)
	PHP_ABSTRACT_ME(Phalcon_Mvc_ViewInterface, setLayout, arginfo_phalcon_mvc_viewinterface_setlayout)
#include "psr/log/loggerawareinterface.h"

zend_class_entry *psr_log_loggerawareinterface_ce;

static const zend_function_entry fe_psr_log_loggerawareinterface[] = {
	PHP_ABSTRACT_ME(Psr_Log_LoggerAwareInterface, setLogger, arginfo_psr_log_loggerawareinterface_setlogger)
	PHP_FE_END
};

PHALCON_INIT_CLASS(Psr_Log_LoggerAwareInterface)
{
	zend_class_entry ce;
	INIT_CLASS_ENTRY(ce, "Psr\\Log\\LoggerAwareInterface", fe_psr_log_loggerawareinterface);

	psr_log_loggerawareinterface_ce = zend_register_internal_interface(&ce TSRMLS_CC);
	return (EXPECTED(psr_log_loggerawareinterface_ce != NULL)) ? SUCCESS : FAILURE;
}
  | obtain it through the world-wide-web, please send an email             |
  | to [email protected] so we can send you a copy immediately.       |
  +------------------------------------------------------------------------+
  | Authors: Andres Gutierrez <*****@*****.**>                      |
  |          Eduar Carvajal <*****@*****.**>                         |
  +------------------------------------------------------------------------+
*/

#include "mvc/dispatcherinterface.h"
#include "mvc/../dispatcherinterface.h"
#include "kernel/main.h"

zend_class_entry *phalcon_mvc_dispatcherinterface_ce;

static const zend_function_entry phalcon_mvc_dispatcherinterface_method_entry[] = {
	PHP_ABSTRACT_ME(Phalcon_Mvc_DispatcherInterface, setControllerSuffix, arginfo_phalcon_mvc_dispatcherinterface_setcontrollersuffix)
	PHP_ABSTRACT_ME(Phalcon_Mvc_DispatcherInterface, setDefaultController, arginfo_phalcon_mvc_dispatcherinterface_setdefaultcontroller)
	PHP_ABSTRACT_ME(Phalcon_Mvc_DispatcherInterface, setControllerName, arginfo_phalcon_mvc_dispatcherinterface_setcontrollername)
	PHP_ABSTRACT_ME(Phalcon_Mvc_DispatcherInterface, getControllerName, NULL)
	PHP_ABSTRACT_ME(Phalcon_Mvc_DispatcherInterface, getLastController, NULL)
	PHP_ABSTRACT_ME(Phalcon_Mvc_DispatcherInterface, getActiveController, NULL)
	PHP_FE_END
};

/**
 * Phalcon\Mvc\DispatcherInterface initializer
 */
PHALCON_INIT_CLASS(Phalcon_Mvc_DispatcherInterface){

	PHALCON_REGISTER_INTERFACE_EX(Phalcon\\Mvc, DispatcherInterface, mvc_dispatcherinterface, phalcon_dispatcherinterface_ce, phalcon_mvc_dispatcherinterface_method_entry);
Exemple #21
0
  | If you did not receive a copy of the license and are unable to         |
  | obtain it through the world-wide-web, please send an email             |
  | to [email protected] so we can send you a copy immediately.       |
  +------------------------------------------------------------------------+
  | Authors: Andres Gutierrez <*****@*****.**>                      |
  |          Eduar Carvajal <*****@*****.**>                         |
  +------------------------------------------------------------------------+
*/

#include "session/baginterface.h"
#include "kernel/main.h"

zend_class_entry *phalcon_session_baginterface_ce;

static const zend_function_entry phalcon_session_baginterface_method_entry[] = {
	PHP_ABSTRACT_ME(Phalcon_Session_BagInterface, initialize, NULL)
	PHP_ABSTRACT_ME(Phalcon_Session_BagInterface, destroy, NULL)
	PHP_ABSTRACT_ME(Phalcon_Session_BagInterface, set, arginfo_phalcon_session_baginterface_set)
	PHP_ABSTRACT_ME(Phalcon_Session_BagInterface, get, arginfo_phalcon_session_baginterface_get)
	PHP_ABSTRACT_ME(Phalcon_Session_BagInterface, has, arginfo_phalcon_session_baginterface_has)
	PHP_ABSTRACT_ME(Phalcon_Session_BagInterface, remove, arginfo_phalcon_session_baginterface_remove)
	PHP_FE_END
};

/**
 * Phalcon\Session\BagInterface initializer
 */
PHALCON_INIT_CLASS(Phalcon_Session_BagInterface){

	PHALCON_REGISTER_INTERFACE(Phalcon\\Session, BagInterface, session_baginterface, phalcon_session_baginterface_method_entry);
Exemple #22
0
 * limitations under the License.
 */

#include "php_cassandra.h"

zend_class_entry *cassandra_index_ce = NULL;

ZEND_BEGIN_ARG_INFO_EX(arginfo_name, 0, ZEND_RETURN_VALUE, 1)
  ZEND_ARG_INFO(0, name)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_INFO_EX(arginfo_none, 0, ZEND_RETURN_VALUE, 0)
ZEND_END_ARG_INFO()

static zend_function_entry cassandra_index_methods[] = {
  PHP_ABSTRACT_ME(Index, name, arginfo_none)
  PHP_ABSTRACT_ME(Index, kind, arginfo_none)
  PHP_ABSTRACT_ME(Index, target, arginfo_none)
  PHP_ABSTRACT_ME(Index, option, arginfo_name)
  PHP_ABSTRACT_ME(Index, options, arginfo_none)
  PHP_ABSTRACT_ME(Index, className, arginfo_none)
  PHP_ABSTRACT_ME(Index, isCustom, arginfo_none)
  PHP_FE_END
};

void cassandra_define_Index(TSRMLS_D)
{
  zend_class_entry ce;

  INIT_CLASS_ENTRY(ce, "Cassandra\\Index", cassandra_index_methods);
  cassandra_index_ce = zend_register_internal_class(&ce TSRMLS_CC);
Exemple #23
0
  | If you did not receive a copy of the license and are unable to         |
  | obtain it through the world-wide-web, please send an email             |
  | to [email protected] so we can send you a copy immediately.       |
  +------------------------------------------------------------------------+
  | Authors: Andres Gutierrez <*****@*****.**>                      |
  |          Eduar Carvajal <*****@*****.**>                         |
  +------------------------------------------------------------------------+
*/

#include "mvc/collection/managerinterface.h"
#include "kernel/main.h"

zend_class_entry *phalcon_mvc_collection_managerinterface_ce;

static const zend_function_entry phalcon_mvc_collection_managerinterface_method_entry[] = {
	PHP_ABSTRACT_ME(Phalcon_Mvc_Collection_ManagerInterface, setCustomEventsManager, arginfo_phalcon_mvc_collection_managerinterface_setcustomeventsmanager)
	PHP_ABSTRACT_ME(Phalcon_Mvc_Collection_ManagerInterface, getCustomEventsManager, arginfo_phalcon_mvc_collection_managerinterface_getcustomeventsmanager)
	PHP_ABSTRACT_ME(Phalcon_Mvc_Collection_ManagerInterface, initialize, arginfo_phalcon_mvc_collection_managerinterface_initialize)
	PHP_ABSTRACT_ME(Phalcon_Mvc_Collection_ManagerInterface, isInitialized, arginfo_phalcon_mvc_collection_managerinterface_isinitialized)
	PHP_ABSTRACT_ME(Phalcon_Mvc_Collection_ManagerInterface, getLastInitialized, NULL)
	PHP_ABSTRACT_ME(Phalcon_Mvc_Collection_ManagerInterface, setConnectionService, arginfo_phalcon_mvc_collection_managerinterface_setconnectionservice)
	PHP_ABSTRACT_ME(Phalcon_Mvc_Collection_ManagerInterface, useImplicitObjectIds, arginfo_phalcon_mvc_collection_managerinterface_useimplicitobjectids)
	PHP_ABSTRACT_ME(Phalcon_Mvc_Collection_ManagerInterface, setStrictMode, arginfo_phalcon_mvc_collection_managerinterface_setstrictmode)
	PHP_ABSTRACT_ME(Phalcon_Mvc_Collection_ManagerInterface, isUsingImplicitObjectIds, arginfo_phalcon_mvc_collection_managerinterface_isusingimplicitobjectids)
	PHP_ABSTRACT_ME(Phalcon_Mvc_Collection_ManagerInterface, getConnection, arginfo_phalcon_mvc_collection_managerinterface_getconnection)
	PHP_ABSTRACT_ME(Phalcon_Mvc_Collection_ManagerInterface, notifyEvent, arginfo_phalcon_mvc_collection_managerinterface_notifyevent)
	PHP_FE_END
};

/**
 * Phalcon\Mvc\Collection\ManagerInterface initializer
Exemple #24
0
#include "php.h"
#include "string.h"
#include "main/php_main.h"
#include "Zend/zend_API.h"
#include "zend_exceptions.h"
#include "zend_interfaces.h"
#include "zend_object_handlers.h"
#include "ext/pcre/php_pcre.h"
#include "ext/standard/php_string.h"
#include "php_functions.h"
#include "php_expandable_mux.h"

zend_class_entry *ce_pux_expandable_mux;

const zend_function_entry expandable_mux_methods[] = {
  PHP_ABSTRACT_ME(ExpandableMux, expand, NULL)
  PHP_FE_END
};

/**
 * TODO: Use zend_class_implements to register Controller class.
 *
 * zend_class_implements(mysqli_result_class_entry TSRMLS_CC, 1, zend_ce_traversable);
 */
static int implement_expandable_mux_interface_handler(zend_class_entry *interface, zend_class_entry *implementor TSRMLS_DC)
{
    if (implementor->type == ZEND_USER_CLASS &&
        !instanceof_function(implementor, ce_pux_expandable_mux TSRMLS_CC)
    ) {
        zend_error(E_ERROR, "Pux\\ExpandableMux can't be implemented by user classes");
    }
  | If you did not receive a copy of the license and are unable to         |
  | obtain it through the world-wide-web, please send an email             |
  | to [email protected] so we can send you a copy immediately.       |
  +------------------------------------------------------------------------+
  | Authors: Andres Gutierrez <*****@*****.**>                      |
  |          Eduar Carvajal <*****@*****.**>                         |
  +------------------------------------------------------------------------+
*/

#include "db/referenceinterface.h"
#include "kernel/main.h"

zend_class_entry *phalcon_db_referenceinterface_ce;

static const zend_function_entry phalcon_db_referenceinterface_method_entry[] = {
    PHP_ABSTRACT_ME(Phalcon_Db_ReferenceInterface, getName, NULL)
    PHP_ABSTRACT_ME(Phalcon_Db_ReferenceInterface, getSchemaName, NULL)
    PHP_ABSTRACT_ME(Phalcon_Db_ReferenceInterface, getReferencedSchema, NULL)
    PHP_ABSTRACT_ME(Phalcon_Db_ReferenceInterface, getColumns, NULL)
    PHP_ABSTRACT_ME(Phalcon_Db_ReferenceInterface, getReferencedTable, NULL)
    PHP_ABSTRACT_ME(Phalcon_Db_ReferenceInterface, getReferencedColumns, NULL)
    PHP_ABSTRACT_ME(Phalcon_Db_ReferenceInterface, getOnDelete, NULL)
    PHP_ABSTRACT_ME(Phalcon_Db_ReferenceInterface, getOnUpdate, NULL)
    PHP_FE_END
};

/**
 * Phalcon\Db\ReferenceInterface initializer
 */
PHALCON_INIT_CLASS(Phalcon_Db_ReferenceInterface) {
Exemple #26
0
  | If you did not receive a copy of the license and are unable to         |
  | obtain it through the world-wide-web, please send an email             |
  | to [email protected] so we can send you a copy immediately.       |
  +------------------------------------------------------------------------+
  | Authors: Andres Gutierrez <*****@*****.**>                      |
  |          Eduar Carvajal <*****@*****.**>                         |
  +------------------------------------------------------------------------+
*/

#include "filterinterface.h"
#include "kernel/main.h"

zend_class_entry *phalcon_filterinterface_ce;

static const zend_function_entry phalcon_filterinterface_method_entry[] = {
	PHP_ABSTRACT_ME(Phalcon_FilterInterface, add, arginfo_phalcon_filterinterface_add)
	PHP_ABSTRACT_ME(Phalcon_FilterInterface, sanitize, arginfo_phalcon_filterinterface_sanitize)
	PHP_ABSTRACT_ME(Phalcon_FilterInterface, getFilters, NULL)
	PHP_FE_END
};

/**
 * Phalcon\FilterInterface initializer
 */
PHALCON_INIT_CLASS(Phalcon_FilterInterface){

	PHALCON_REGISTER_INTERFACE(Phalcon, FilterInterface, filterinterface, phalcon_filterinterface_method_entry);

	return SUCCESS;
}
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#include "php_cassandra.h"

zend_class_entry *cassandra_schema_ce = NULL;

ZEND_BEGIN_ARG_INFO_EX(arginfo_name, 0, ZEND_RETURN_VALUE, 1)
  ZEND_ARG_INFO(0, name)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_INFO_EX(arginfo_none, 0, ZEND_RETURN_VALUE, 0)
ZEND_END_ARG_INFO()

static zend_function_entry cassandra_schema_methods[] = {
  PHP_ABSTRACT_ME(Schema, keyspace, arginfo_name)
  PHP_ABSTRACT_ME(Schema, keyspaces, arginfo_none)
  PHP_FE_END
};

void cassandra_define_Schema(TSRMLS_D)
{
  zend_class_entry ce;

  INIT_CLASS_ENTRY(ce, "Cassandra\\Schema", cassandra_schema_methods);
  cassandra_schema_ce = zend_register_internal_class(&ce TSRMLS_CC);
  cassandra_schema_ce->ce_flags |= ZEND_ACC_INTERFACE;
}
Exemple #28
0
  | If you did not receive a copy of the license and are unable to         |
  | obtain it through the world-wide-web, please send an email             |
  | to [email protected] so we can send you a copy immediately.       |
  +------------------------------------------------------------------------+
  | Authors: Andres Gutierrez <*****@*****.**>                      |
  |          Eduar Carvajal <*****@*****.**>                         |
  +------------------------------------------------------------------------+
*/

#include "http/responseinterface.h"
#include "kernel/main.h"

zend_class_entry *phalcon_http_responseinterface_ce;

static const zend_function_entry phalcon_http_responseinterface_method_entry[] = {
	PHP_ABSTRACT_ME(Phalcon_Http_ResponseInterface, setStatusCode, arginfo_phalcon_http_responseinterface_setstatuscode)
	PHP_ABSTRACT_ME(Phalcon_Http_ResponseInterface, getHeaders, NULL)
	PHP_ABSTRACT_ME(Phalcon_Http_ResponseInterface, setHeader, arginfo_phalcon_http_responseinterface_setheader)
	PHP_ABSTRACT_ME(Phalcon_Http_ResponseInterface, setRawHeader, arginfo_phalcon_http_responseinterface_setrawheader)
	PHP_ABSTRACT_ME(Phalcon_Http_ResponseInterface, resetHeaders, NULL)
	PHP_ABSTRACT_ME(Phalcon_Http_ResponseInterface, setExpires, arginfo_phalcon_http_responseinterface_setexpires)
	PHP_ABSTRACT_ME(Phalcon_Http_ResponseInterface, setCache, arginfo_phalcon_http_responseinterface_setcache)
	PHP_ABSTRACT_ME(Phalcon_Http_ResponseInterface, setNotModified, NULL)
	PHP_ABSTRACT_ME(Phalcon_Http_ResponseInterface, setContentType, arginfo_phalcon_http_responseinterface_setcontenttype)
	PHP_ABSTRACT_ME(Phalcon_Http_ResponseInterface, redirect, arginfo_phalcon_http_responseinterface_redirect)
	PHP_ABSTRACT_ME(Phalcon_Http_ResponseInterface, setContent, arginfo_phalcon_http_responseinterface_setcontent)
	PHP_ABSTRACT_ME(Phalcon_Http_ResponseInterface, setJsonContent, arginfo_phalcon_http_responseinterface_setjsoncontent)
	PHP_ABSTRACT_ME(Phalcon_Http_ResponseInterface, appendContent, arginfo_phalcon_http_responseinterface_appendcontent)
	PHP_ABSTRACT_ME(Phalcon_Http_ResponseInterface, getContent, NULL)
	PHP_ABSTRACT_ME(Phalcon_Http_ResponseInterface, sendHeaders, NULL)
	PHP_ABSTRACT_ME(Phalcon_Http_ResponseInterface, sendCookies, NULL)
Exemple #29
0
static const zend_function_entry json_functions[] = {
	PHP_FE(json_encode, arginfo_json_encode)
	PHP_FE(json_decode, arginfo_json_decode)
	PHP_FE(json_last_error, arginfo_json_last_error)
	PHP_FE(json_last_error_msg, arginfo_json_last_error_msg)
	PHP_FE_END
};
/* }}} */

/* {{{ JsonSerializable methods */
ZEND_BEGIN_ARG_INFO(json_serialize_arginfo, 0)
	/* No arguments */
ZEND_END_ARG_INFO();

static const zend_function_entry json_serializable_interface[] = {
	PHP_ABSTRACT_ME(JsonSerializable, jsonSerialize, json_serialize_arginfo)
	PHP_FE_END
};
/* }}} */

/* {{{ MINIT */
static PHP_MINIT_FUNCTION(json)
{
	zend_class_entry ce;

	INIT_CLASS_ENTRY(ce, "JsonSerializable", json_serializable_interface);
	php_json_serializable_ce = zend_register_internal_interface(&ce TSRMLS_CC);

	REGISTER_LONG_CONSTANT("JSON_HEX_TAG",  PHP_JSON_HEX_TAG,  CONST_CS | CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("JSON_HEX_AMP",  PHP_JSON_HEX_AMP,  CONST_CS | CONST_PERSISTENT);
	REGISTER_LONG_CONSTANT("JSON_HEX_APOS", PHP_JSON_HEX_APOS, CONST_CS | CONST_PERSISTENT);
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_INFO_EX(arginfo_prepare, 0, ZEND_RETURN_VALUE, 1)
  ZEND_ARG_INFO(0, cql)
  ZEND_ARG_OBJ_INFO(0, options, Cassandra\\ExecutionOptions, 0)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_INFO_EX(arginfo_timeout, 0, ZEND_RETURN_VALUE, 0)
  ZEND_ARG_INFO(0, timeout)
ZEND_END_ARG_INFO()

ZEND_BEGIN_ARG_INFO_EX(arginfo_none, 0, ZEND_RETURN_VALUE, 0)
ZEND_END_ARG_INFO()

static zend_function_entry cassandra_session_methods[] = {
  PHP_ABSTRACT_ME(Session, execute, arginfo_execute)
  PHP_ABSTRACT_ME(Session, executeAsync, arginfo_execute)
  PHP_ABSTRACT_ME(Session, prepare, arginfo_prepare)
  PHP_ABSTRACT_ME(Session, prepareAsync, arginfo_prepare)
  PHP_ABSTRACT_ME(Session, close, arginfo_timeout)
  PHP_ABSTRACT_ME(Session, closeAsync, arginfo_none)
  PHP_ABSTRACT_ME(Session, schema, arginfo_none)
  PHP_FE_END
};

void cassandra_define_Session(TSRMLS_D)
{
  zend_class_entry ce;

  INIT_CLASS_ENTRY(ce, "Cassandra\\Session", cassandra_session_methods);
  cassandra_session_ce = zend_register_internal_class(&ce TSRMLS_CC);