Annotation of embedaddon/php/ext/intl/locale/locale_class.c, revision 1.1.1.2

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: 
1.1.1.2 ! misho      17: /* $Id$ */
1.1       misho      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: 
1.1.1.2 ! misho      69: zend_function_entry Locale_class_functions[] = {
1.1       misho      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>