Annotation of embedaddon/php/ext/intl/locale/locale_class.c, revision 1.1
1.1 ! misho 1: /*
! 2: +----------------------------------------------------------------------+
! 3: | PHP Version 5 |
! 4: +----------------------------------------------------------------------+
! 5: | This source file is subject to version 3.01 of the PHP license, |
! 6: | that is bundled with this package in the file LICENSE, and is |
! 7: | available through the world-wide-web at the following url: |
! 8: | http://www.php.net/license/3_01.txt |
! 9: | If you did not receive a copy of the PHP license and are unable to |
! 10: | obtain it through the world-wide-web, please send a note to |
! 11: | license@php.net so we can mail you a copy immediately. |
! 12: +----------------------------------------------------------------------+
! 13: | Authors: Kirti Velankar <kirtig@yahoo-inc.com> |
! 14: +----------------------------------------------------------------------+
! 15: */
! 16:
! 17: /* $Id: locale_class.c 314352 2011-08-06 01:22:27Z felipe $ */
! 18:
! 19: #include <unicode/uloc.h>
! 20: #include "php_intl.h"
! 21: #include "intl_error.h"
! 22: #include "locale_class.h"
! 23: #include "locale_methods.h"
! 24: #include "locale.h"
! 25:
! 26: zend_class_entry *Locale_ce_ptr = NULL;
! 27:
! 28: /*
! 29: * 'Locale' class registration structures & functions
! 30: */
! 31:
! 32: /* {{{ Locale methods arguments info */
! 33: /*
! 34: * NOTE: when modifying 'locale_XX_args' do not forget to modify
! 35: * approptiate 'locale_XX_args' for the procedural API!
! 36: */
! 37:
! 38: ZEND_BEGIN_ARG_INFO_EX( locale_0_args, 0, 0, 0 )
! 39: ZEND_END_ARG_INFO()
! 40:
! 41: ZEND_BEGIN_ARG_INFO_EX( locale_1_arg, 0, 0, 1 )
! 42: ZEND_ARG_INFO( 0, arg1 )
! 43: ZEND_END_ARG_INFO()
! 44:
! 45: ZEND_BEGIN_ARG_INFO_EX( locale_2_args, 0, 0, 2 )
! 46: ZEND_ARG_INFO( 0, arg1 )
! 47: ZEND_ARG_INFO( 0, arg2 )
! 48: ZEND_END_ARG_INFO()
! 49:
! 50: ZEND_BEGIN_ARG_INFO_EX( locale_3_args, 0, 0, 3 )
! 51: ZEND_ARG_INFO( 0, arg1 )
! 52: ZEND_ARG_INFO( 0, arg2 )
! 53: ZEND_ARG_INFO( 0, arg3 )
! 54: ZEND_END_ARG_INFO()
! 55:
! 56: ZEND_BEGIN_ARG_INFO_EX( locale_4_args, 0, 0, 4 )
! 57: ZEND_ARG_INFO( 0, arg1 )
! 58: ZEND_ARG_INFO( 0, arg2 )
! 59: ZEND_ARG_INFO( 0, arg3 )
! 60: ZEND_ARG_INFO( 0, arg4 )
! 61: ZEND_END_ARG_INFO()
! 62:
! 63: /* }}} */
! 64:
! 65: /* {{{ Locale_class_functions
! 66: * Every 'Locale' class method has an entry in this table
! 67: */
! 68:
! 69: function_entry Locale_class_functions[] = {
! 70: ZEND_FENTRY( getDefault, zif_locale_get_default , locale_0_args , ZEND_ACC_PUBLIC|ZEND_ACC_STATIC )
! 71: ZEND_FENTRY( setDefault, zif_locale_set_default , locale_1_arg , ZEND_ACC_PUBLIC|ZEND_ACC_STATIC )
! 72: ZEND_FENTRY( getPrimaryLanguage, ZEND_FN( locale_get_primary_language ), locale_1_arg , ZEND_ACC_PUBLIC|ZEND_ACC_STATIC )
! 73: ZEND_FENTRY( getScript, ZEND_FN( locale_get_script ), locale_1_arg , ZEND_ACC_PUBLIC|ZEND_ACC_STATIC )
! 74: ZEND_FENTRY( getRegion, ZEND_FN( locale_get_region ), locale_1_arg , ZEND_ACC_PUBLIC|ZEND_ACC_STATIC )
! 75: ZEND_FENTRY( getKeywords, ZEND_FN( locale_get_keywords ), locale_1_arg , ZEND_ACC_PUBLIC|ZEND_ACC_STATIC )
! 76: ZEND_FENTRY( getDisplayScript, ZEND_FN( locale_get_display_script ), locale_2_args , ZEND_ACC_PUBLIC|ZEND_ACC_STATIC )
! 77: ZEND_FENTRY( getDisplayRegion, ZEND_FN( locale_get_display_region ), locale_2_args , ZEND_ACC_PUBLIC|ZEND_ACC_STATIC )
! 78: ZEND_FENTRY( getDisplayName, ZEND_FN( locale_get_display_name ), locale_2_args , ZEND_ACC_PUBLIC|ZEND_ACC_STATIC )
! 79: ZEND_FENTRY( getDisplayLanguage, ZEND_FN( locale_get_display_language ), locale_2_args , ZEND_ACC_PUBLIC|ZEND_ACC_STATIC )
! 80: ZEND_FENTRY( getDisplayVariant, ZEND_FN( locale_get_display_variant ), locale_2_args , ZEND_ACC_PUBLIC|ZEND_ACC_STATIC )
! 81: ZEND_FENTRY( composeLocale, ZEND_FN( locale_compose ), locale_1_arg , ZEND_ACC_PUBLIC|ZEND_ACC_STATIC )
! 82: ZEND_FENTRY( parseLocale, ZEND_FN( locale_parse ), locale_1_arg , ZEND_ACC_PUBLIC|ZEND_ACC_STATIC )
! 83: ZEND_FENTRY( getAllVariants, ZEND_FN( locale_get_all_variants ), locale_1_arg , ZEND_ACC_PUBLIC|ZEND_ACC_STATIC )
! 84: ZEND_FENTRY( filterMatches, ZEND_FN( locale_filter_matches ), locale_3_args, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC )
! 85: ZEND_FENTRY( lookup, ZEND_FN( locale_lookup ), locale_4_args, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC )
! 86: ZEND_FENTRY( canonicalize, ZEND_FN( locale_canonicalize ), locale_1_arg , ZEND_ACC_PUBLIC|ZEND_ACC_STATIC )
! 87: ZEND_FENTRY( acceptFromHttp, ZEND_FN( locale_accept_from_http ), locale_1_arg , ZEND_ACC_PUBLIC|ZEND_ACC_STATIC )
! 88: PHP_FE_END
! 89: };
! 90: /* }}} */
! 91:
! 92: /* {{{ locale_register_Locale_class
! 93: * Initialize 'Locale' class
! 94: */
! 95: void locale_register_Locale_class( TSRMLS_D )
! 96: {
! 97: zend_class_entry ce;
! 98:
! 99: /* Create and register 'Locale' class. */
! 100: INIT_CLASS_ENTRY( ce, "Locale", Locale_class_functions );
! 101: ce.create_object = NULL;
! 102: Locale_ce_ptr = zend_register_internal_class( &ce TSRMLS_CC );
! 103:
! 104: /* Declare 'Locale' class properties. */
! 105: if( !Locale_ce_ptr )
! 106: {
! 107: zend_error( E_ERROR,
! 108: "Locale: Failed to register Locale class.");
! 109: return;
! 110: }
! 111: }
! 112: /* }}} */
! 113:
! 114: /*
! 115: * Local variables:
! 116: * tab-width: 4
! 117: * c-basic-offset: 4
! 118: * End:
! 119: * vim600: noet sw=4 ts=4 fdm=marker
! 120: * vim<600: noet sw=4 ts=4
! 121: */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>