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>