root/ext/intl/locale/locale_class.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. locale_register_Locale_class

   1 /*
   2    +----------------------------------------------------------------------+
   3    | PHP Version 7                                                        |
   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$ */
  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 zend_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( void )
  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 );
 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  */

/* [<][>][^][v][top][bottom][index][help] */