Changeset 3990 for lang/perl/Senna/trunk

Show
Ignore:
Timestamp:
01/02/08 23:44:33 (5 years ago)
Author:
daisuke
Message:

lang/perl/Senna; Senna::Symbol

Location:
lang/perl/Senna/trunk
Files:
8 added
5 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/Senna/trunk/lib/Senna.pm

    r3955 r3990  
    2323 
    2424use Senna::Constants; 
     25use Senna::Encoding; 
    2526use Senna::Index; 
    26 use Senna::Encoding; 
    2727use Senna::RC; 
     28use Senna::Symbol; 
    2829 
    2930 
     
    4849While Senna remains a personal favorite to search for Japanese text,  
    4950Senna (the API) is in a constant state of flux which makes things really hard 
    50 for binding development. 
     51for binding development. This module tries hard to keep up with the changes, 
     52but if you see breakage, PATCHES ARE ENCOURAGED. Please see L<CODE|CODE> 
    5153 
    5254=head1 METHODS 
     
    5961It's called automatically at END block. 
    6062 
     63=head1 CODE 
     64 
     65 
     66 
    6167=head1 AUTHOR 
    6268 
    63 Copyright (c) 2005-2007 Daisuke Maki E<lt>daisuke@endeworks.jpE<gt> 
     69Copyright (c) 2005-2008 Daisuke Maki E<lt>daisuke@endeworks.jpE<gt> 
    6470 
    6571=cut 
  • lang/perl/Senna/trunk/lib/Senna.xs

    r3961 r3990  
    2727 
    2828SV * 
    29 SennaPerl_Index_XS_create(pkg, path, key_size = SEN_VARCHAR_KEY, flags = 0, initial_n_segments = 0, encoding = sen_enc_default) 
     29SennaPerl_Index__XS_create(pkg, path, key_size = SEN_VARCHAR_KEY, flags = 0, initial_n_segments = 0, encoding = sen_enc_default) 
    3030        char *pkg; 
    3131        char *path; 
     
    3434        int   initial_n_segments; 
    3535        sen_encoding encoding; 
     36    CODE: 
     37        RETVAL = SennaPerl_Index_create(pkg, path, key_size, flags, initial_n_segments, encoding); 
     38    OUTPUT: 
     39        RETVAL 
    3640 
    3741SV * 
     
    136140        SV *self; 
    137141 
     142MODULE = Senna     PACKAGE = Senna::Symbol    PREFIX = SennaPerl_Symbol_ 
     143 
     144PROTOTYPES: DISABLE 
     145 
     146SV * 
     147SennaPerl_Symbol__XS_create(pkg, path, key_size, flags, encoding) 
     148        char *pkg; 
     149        char *path; 
     150        unsigned key_size; 
     151        unsigned flags; 
     152        sen_encoding encoding; 
     153    CODE: 
     154        RETVAL = SennaPerl_Symbol_create(pkg, path, key_size, flags, encoding); 
     155    OUTPUT: 
     156        RETVAL 
     157 
     158SV * 
     159SennaPerl_Symbol_path(obj) 
     160        SV *obj; 
     161 
     162SV * 
     163SennaPerl_Symbol_close(obj) 
     164        SV *obj; 
     165 
     166SV * 
     167SennaPerl_Symbol_get(obj, key) 
     168        SV *obj; 
     169        SV *key; 
     170         
     171SV * 
     172SennaPerl_Symbol_info(obj) 
     173        SV *obj; 
     174 
     175SV * 
     176SennaPerl_Symbol_remove(obj) 
     177        SV *obj; 
     178 
     179void 
     180SennaPerl_Symbol_DESTROY(obj) 
     181        SV *obj; 
  • lang/perl/Senna/trunk/lib/Senna/Index.pm

    r3956 r3990  
    2828    $_[1] ||= 0; 
    2929    pop @_ while @_ && ! defined $_[-1]; 
    30     $class->XS_create(@_); 
     30    $class->_XS_create(@_); 
    3131} 
    3232 
  • lang/perl/Senna/trunk/senna-index.c

    r3987 r3990  
    5252 
    5353SV * 
    54 SennaPerl_Index_XS_create(pkg, path, key_size, flags, initial_n_segments, encoding) 
     54SennaPerl_Index_create(pkg, path, key_size, flags, initial_n_segments, encoding) 
    5555        char *pkg; 
    5656        char *path; 
  • lang/perl/Senna/trunk/senna-perl.h

    r3962 r3990  
    6868} SennaPerl_Records; 
    6969 
     70typedef struct { 
     71    sen_sym *sym; 
     72    char *path; 
     73} SennaPerl_Symbol; 
     74 
    7075/* SennaPerl_Global */ 
    7176int SennaPerl_Global_bootstrap(); 
     
    100105void SennaPerl_Records_DESTROY(SV *self); 
    101106 
     107/* SennaPerl_Symbol */ 
     108SV *SennaPerl_Symbol_create(char *pkg, char *path, unsigned key_size, unsigned flags, sen_encoding encoding); 
     109void SennaPerl_Symbol_DESTROY(SV *obj); 
     110SV *SennaPerl_Symbol_close(SV *obj); 
     111SV *SennaPerl_Symbol_get(SV *obj, SV *key); 
     112SV *SennaPerl_Symbol_info(SV *obj); 
     113SV *SennaPerl_Symbol_remove(SV *obj); 
     114SV *SennaPerl_Symbol_path(SV *obj); 
     115 
    102116#endif /* ifndef __SENNA_PERL_H__ */