Annotation of embedaddon/php/ext/intl/locale/locale_class.c, revision 1.1.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>