dougm       01/10/07 16:02:41

  Modified:    xs/maps  modperl_functions.map
               xs/tables/current/ModPerl FunctionTable.pm
  Added:       xs/ModPerl/Global ModPerl__Global.h
  Log:
  add ModPerl::Global module with functions to call/clear special lists (END,etc)
  
  Revision  Changes    Path
  1.1                  modperl-2.0/xs/ModPerl/Global/ModPerl__Global.h
  
  Index: ModPerl__Global.h
  ===================================================================
  typedef void (*mpxs_special_list_do_t)(pTHX_ modperl_modglobal_key_t *,
                                         const char *, I32);
  
  static int mpxs_special_list_do(pTHX_ const char *name,
                                  SV *package,
                                  mpxs_special_list_do_t func)
  {
      STRLEN packlen;
      modperl_modglobal_key_t *gkey = modperl_modglobal_lookup(aTHX_ name);
  
      if (!gkey) {
          return FALSE;
      }
  
      SvPV_force(package, packlen);
  
      func(aTHX_ gkey, SvPVX(package), packlen);
  
      return TRUE;
  }
  
  static
  MP_INLINE int mpxs_ModPerl__Global_special_list_call(const char *name,
                                                       SV *package)
  {
      dTHX; /* XXX */
      return mpxs_special_list_do(aTHX_ name, package,
                                  modperl_perl_global_avcv_call);
  }
  
  static
  MP_INLINE int mpxs_ModPerl__Global_special_list_clear(const char *name,
                                                        SV *package)
  {
      dTHX; /* XXX */
      return mpxs_special_list_do(aTHX_ name, package,
                                  modperl_perl_global_avcv_clear);
  }
  
  
  
  1.21      +4 -0      modperl-2.0/xs/maps/modperl_functions.map
  
  Index: modperl_functions.map
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/xs/maps/modperl_functions.map,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- modperl_functions.map     2001/09/28 20:11:02     1.20
  +++ modperl_functions.map     2001/10/07 23:02:41     1.21
  @@ -1,5 +1,9 @@
   #modperl specfic functions
   
  +MODULE=ModPerl::Global
  + mpxs_ModPerl__Global_special_list_call
  + mpxs_ModPerl__Global_special_list_clear
  +
   MODULE=Apache::RequestUtil   PACKAGE=guess
    mpxs_Apache__RequestRec_push_handlers
    mpxs_Apache__RequestRec_set_handlers
  
  
  
  1.32      +43 -1     modperl-2.0/xs/tables/current/ModPerl/FunctionTable.pm
  
  Index: FunctionTable.pm
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/xs/tables/current/ModPerl/FunctionTable.pm,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- FunctionTable.pm  2001/10/07 22:11:56     1.31
  +++ FunctionTable.pm  2001/10/07 23:02:41     1.32
  @@ -2,7 +2,7 @@
   
   # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   # ! WARNING: generated by ModPerl::ParseSource/0.01
  -# !          Sun Oct  7 15:18:16 2001
  +# !          Sun Oct  7 15:51:20 2001
   # !          do NOT edit, any changes will be lost !
   # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   
  @@ -4168,6 +4168,34 @@
       ]
     },
     {
  +    'return_type' => 'int',
  +    'name' => 'mpxs_ModPerl__Global_special_list_call',
  +    'args' => [
  +      {
  +        'type' => 'const char *',
  +        'name' => 'name'
  +      },
  +      {
  +        'type' => 'SV *',
  +        'name' => 'package'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'int',
  +    'name' => 'mpxs_ModPerl__Global_special_list_clear',
  +    'args' => [
  +      {
  +        'type' => 'const char *',
  +        'name' => 'name'
  +      },
  +      {
  +        'type' => 'SV *',
  +        'name' => 'package'
  +      }
  +    ]
  +  },
  +  {
       'return_type' => 'void',
       'name' => 'mpxs_ap_allow_methods',
       'args' => [
  @@ -4676,6 +4704,20 @@
         {
           'type' => 'apr_read_type_e',
           'name' => 'block'
  +      }
  +    ]
  +  },
  +  {
  +    'return_type' => 'int',
  +    'name' => 'mpxs_special_list_do',
  +    'args' => [
  +      {
  +        'type' => '',
  +        'name' => 'my_perl'
  +      },
  +      {
  +        'type' => 'mpxs_special_list_do_t',
  +        'name' => 'func'
         }
       ]
     }
  
  
  


Reply via email to