Changeset 5d2248c


Ignore:
Timestamp:
Dec 13, 2008, 5:32:06 PM (15 years ago)
Author:
Nelson Elhage <nelhage@mit.edu>
Children:
9b70dd4
Parents:
1c014eec
git-author:
Nelson Elhage <nelhage@mit.edu> (12/11/08 00:08:35)
git-committer:
Nelson Elhage <nelhage@mit.edu> (12/13/08 17:32:06)
Message:
Rename *_internal commands into BarnOwl::Internal::
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • perlglue.xs

    r19bab8e r5d2248c  
    2424         * complex argument processing or something, we define a
    2525         * simple version here that takes arguments in as flat a
    26          * manner as possible, to simplify the XS code, with a name
    27          * with a trailing `_internal', and write a perl wrapper in
    28          * perlwrap.pm that munges the arguments as appropriate and
    29          * calls the internal version.
     26         * manner as possible, to simplify the XS code, put it in
     27         * BarnOwl::Intenal::, and write a perl wrapper in perlwrap.pm
     28         * that munges the arguments as appropriate and calls the
     29         * internal version.
    3030         */
    3131
     
    143143                if (rv) owl_free(rv);
    144144
    145 void
    146 new_command_internal(name, func, summary, usage, description)
     145void queue_message(msg)
     146        SV *msg
     147        PREINIT:
     148                owl_message *m;
     149        CODE:
     150        {
     151                if(!SvROK(msg) || SvTYPE(SvRV(msg)) != SVt_PVHV) {
     152                        croak("Usage: BarnOwl::queue_message($message)");
     153                }
     154
     155                m = owl_perlconfig_hashref2message(msg);
     156
     157                owl_global_messagequeue_addmsg(&g, m);
     158        }
     159
     160void admin_message(header, body)
     161        char *header
     162        char *body
     163        CODE:
     164        {
     165                owl_function_adminmsg(header, body);           
     166        }
     167
     168void start_question(line, callback)
     169        char *line
     170        SV *callback
     171        PREINIT:
     172        CODE:
     173        {
     174                if(!SV_IS_CODEREF(callback))
     175                        croak("Callback must be a subref");
     176
     177                owl_function_start_question(line);
     178
     179                SvREFCNT_inc(callback);
     180                owl_editwin_set_cbdata(owl_global_get_typwin(&g), callback);
     181                owl_editwin_set_callback(owl_global_get_typwin(&g), owl_perlconfig_edit_callback);
     182        }
     183
     184void start_password(line, callback)
     185        char *line
     186        SV *callback
     187        PREINIT:
     188        CODE:
     189        {
     190                if(!SV_IS_CODEREF(callback))
     191                        croak("Callback must be a subref");
     192
     193                owl_function_start_password(line);
     194
     195                SvREFCNT_inc(callback);
     196                owl_editwin_set_cbdata(owl_global_get_typwin(&g), callback);
     197                owl_editwin_set_callback(owl_global_get_typwin(&g), owl_perlconfig_edit_callback);
     198        }
     199
     200void start_edit_win(line, callback)
     201        char *line
     202        SV *callback
     203        PREINIT:
     204                owl_editwin * e;
     205                char buff[1024];
     206        CODE:
     207        {
     208                if(!SV_IS_CODEREF(callback))
     209                        croak("Callback must be a subref");
     210
     211                e = owl_global_get_typwin(&g);
     212                owl_editwin_new_style(e, OWL_EDITWIN_STYLE_MULTILINE,
     213                                      owl_global_get_msg_history(&g));
     214                owl_editwin_clear(e);
     215                owl_editwin_set_dotsend(e);
     216                snprintf(buff, 1023, "----> %s\n", line);
     217                owl_editwin_set_locktext(e, buff);
     218
     219                owl_global_set_typwin_active(&g);
     220
     221                SvREFCNT_inc(callback);
     222                owl_editwin_set_cbdata(owl_global_get_typwin(&g), callback);
     223                owl_editwin_set_callback(owl_global_get_typwin(&g), owl_perlconfig_edit_callback);
     224        }
     225
     226
     227char *
     228get_data_dir ()
     229        CODE:
     230                RETVAL = (char *) owl_get_datadir();
     231        OUTPUT:
     232        RETVAL
     233
     234char *
     235get_config_dir ()
     236        CODE:
     237                RETVAL = (char *) owl_global_get_confdir(&g);
     238        OUTPUT:
     239        RETVAL 
     240
     241void
     242popless_text(text)
     243        char *text
     244        CODE:
     245        {
     246                owl_function_popless_text(text);
     247        }
     248
     249void
     250popless_ztext(text)
     251        char *text
     252        CODE:
     253        {
     254                owl_fmtext fm;
     255                owl_fmtext_init_null(&fm);
     256                owl_fmtext_append_ztext(&fm, text);
     257                owl_function_popless_fmtext(&fm);
     258                owl_fmtext_free(&fm);
     259        }
     260
     261void
     262error(text)
     263        char *text
     264        CODE:
     265        {
     266                owl_function_error("%s", text);
     267        }
     268
     269void
     270create_style(name, object)
     271     char *name
     272     SV  *object
     273     PREINIT:
     274                owl_style *s;
     275     CODE:
     276        {
     277                s = owl_malloc(sizeof(owl_style));
     278                owl_style_create_perl(s, name, object);
     279                owl_global_add_style(&g, s);
     280        }
     281
     282int
     283getnumcolors()
     284        CODE:
     285                RETVAL = owl_function_get_color_count();
     286        OUTPUT:
     287                RETVAL
     288
     289void
     290_remove_filter(filterName)
     291        char *filterName
     292        CODE:
     293        {
     294                /* Don't delete the current view, or the 'all' filter */
     295                if (strcmp(filterName, owl_view_get_filtname(owl_global_get_current_view(&g)))
     296                    && strcmp(filterName, "all")) {
     297                        owl_global_remove_filter(&g,filterName);
     298                }
     299        }
     300
     301char *
     302wordwrap(in, cols)
     303        char *in
     304        int cols
     305        PREINIT:
     306                char *rv = NULL;
     307        CODE:
     308                rv = owl_text_wordwrap(in, cols);
     309                RETVAL = rv;   
     310        OUTPUT:
     311                RETVAL
     312        CLEANUP:
     313                if (rv) owl_free(rv);
     314
     315void
     316add_dispatch(fd, cb)
     317        int fd
     318        SV * cb
     319        CODE:
     320        SvREFCNT_inc(cb);
     321        owl_select_add_perl_dispatch(fd, cb);
     322
     323void
     324remove_dispatch(fd)
     325        int fd
     326        CODE:
     327        owl_select_remove_perl_dispatch(fd);
     328
     329MODULE = BarnOwl                PACKAGE = BarnOwl::Internal
     330
     331
     332void
     333new_command(name, func, summary, usage, description)
    147334        char *name
    148335        SV *func
     
    174361           }
    175362
    176 void queue_message(msg)
    177         SV *msg
    178         PREINIT:
    179                 owl_message *m;
    180         CODE:
    181         {
    182                 if(!SvROK(msg) || SvTYPE(SvRV(msg)) != SVt_PVHV) {
    183                         croak("Usage: BarnOwl::queue_message($message)");
    184                 }
    185 
    186                 m = owl_perlconfig_hashref2message(msg);
    187 
    188                 owl_global_messagequeue_addmsg(&g, m);
    189         }
    190 
    191 void admin_message(header, body)
    192         char *header
    193         char *body
    194         CODE:
    195         {
    196                 owl_function_adminmsg(header, body);           
    197         }
    198 
    199 void start_question(line, callback)
    200         char *line
    201         SV *callback
    202         PREINIT:
    203         CODE:
    204         {
    205                 if(!SV_IS_CODEREF(callback))
    206                         croak("Callback must be a subref");
    207 
    208                 owl_function_start_question(line);
    209 
    210                 SvREFCNT_inc(callback);
    211                 owl_editwin_set_cbdata(owl_global_get_typwin(&g), callback);
    212                 owl_editwin_set_callback(owl_global_get_typwin(&g), owl_perlconfig_edit_callback);
    213         }
    214 
    215 void start_password(line, callback)
    216         char *line
    217         SV *callback
    218         PREINIT:
    219         CODE:
    220         {
    221                 if(!SV_IS_CODEREF(callback))
    222                         croak("Callback must be a subref");
    223 
    224                 owl_function_start_password(line);
    225 
    226                 SvREFCNT_inc(callback);
    227                 owl_editwin_set_cbdata(owl_global_get_typwin(&g), callback);
    228                 owl_editwin_set_callback(owl_global_get_typwin(&g), owl_perlconfig_edit_callback);
    229         }
    230 
    231 void start_edit_win(line, callback)
    232         char *line
    233         SV *callback
    234         PREINIT:
    235                 owl_editwin * e;
    236                 char buff[1024];
    237         CODE:
    238         {
    239                 if(!SV_IS_CODEREF(callback))
    240                         croak("Callback must be a subref");
    241 
    242                 e = owl_global_get_typwin(&g);
    243                 owl_editwin_new_style(e, OWL_EDITWIN_STYLE_MULTILINE,
    244                                       owl_global_get_msg_history(&g));
    245                 owl_editwin_clear(e);
    246                 owl_editwin_set_dotsend(e);
    247                 snprintf(buff, 1023, "----> %s\n", line);
    248                 owl_editwin_set_locktext(e, buff);
    249 
    250                 owl_global_set_typwin_active(&g);
    251 
    252                 SvREFCNT_inc(callback);
    253                 owl_editwin_set_cbdata(owl_global_get_typwin(&g), callback);
    254                 owl_editwin_set_callback(owl_global_get_typwin(&g), owl_perlconfig_edit_callback);
    255         }
    256 
    257 
    258 char *
    259 get_data_dir ()
    260         CODE:
    261                 RETVAL = (char *) owl_get_datadir();
    262         OUTPUT:
    263         RETVAL
    264 
    265 char *
    266 get_config_dir ()
    267         CODE:
    268                 RETVAL = (char *) owl_global_get_confdir(&g);
    269         OUTPUT:
    270         RETVAL 
    271 
    272 void
    273 popless_text(text)
    274         char *text
    275         CODE:
    276         {
    277                 owl_function_popless_text(text);
    278         }
    279 
    280 void
    281 popless_ztext(text)
    282         char *text
    283         CODE:
    284         {
    285                 owl_fmtext fm;
    286                 owl_fmtext_init_null(&fm);
    287                 owl_fmtext_append_ztext(&fm, text);
    288                 owl_function_popless_fmtext(&fm);
    289                 owl_fmtext_free(&fm);
    290         }
    291 
    292 void
    293 error(text)
    294         char *text
    295         CODE:
    296         {
    297                 owl_function_error("%s", text);
    298         }
    299 
    300 void
    301 create_style(name, object)
    302      char *name
    303      SV  *object
    304      PREINIT:
    305                 owl_style *s;
    306      CODE:
    307         {
    308                 s = owl_malloc(sizeof(owl_style));
    309                 owl_style_create_perl(s, name, object);
    310                 owl_global_add_style(&g, s);
    311         }
    312 
    313 int
    314 getnumcolors()
    315         CODE:
    316                 RETVAL = owl_function_get_color_count();
    317         OUTPUT:
    318                 RETVAL
    319 
    320 void
    321 _remove_filter(filterName)
    322         char *filterName
    323         CODE:
    324         {
    325                 /* Don't delete the current view, or the 'all' filter */
    326                 if (strcmp(filterName, owl_view_get_filtname(owl_global_get_current_view(&g)))
    327                     && strcmp(filterName, "all")) {
    328                         owl_global_remove_filter(&g,filterName);
    329                 }
    330         }
    331 
    332 char *
    333 wordwrap(in, cols)
    334         char *in
    335         int cols
    336         PREINIT:
    337                 char *rv = NULL;
    338         CODE:
    339                 rv = owl_text_wordwrap(in, cols);
    340                 RETVAL = rv;   
    341         OUTPUT:
    342                 RETVAL
    343         CLEANUP:
    344                 if (rv) owl_free(rv);
    345 
    346 void
    347 new_variable_string_internal(name, ival, summ, desc)
     363void
     364new_variable_string(name, ival, summ, desc)
    348365        char * name
    349366        char * ival
     
    358375
    359376void
    360 new_variable_int_internal(name, ival, summ, desc)
     377new_variable_int(name, ival, summ, desc)
    361378        char * name
    362379        int ival
     
    371388
    372389void
    373 new_variable_bool_internal(name, ival, summ, desc)
     390new_variable_bool(name, ival, summ, desc)
    374391        char * name
    375392        int ival
     
    382399                                      desc,
    383400                                      ival);
    384 
    385 void
    386 add_dispatch(fd, cb)
    387         int fd
    388         SV * cb
    389         CODE:
    390         SvREFCNT_inc(cb);
    391         owl_select_add_perl_dispatch(fd, cb);
    392 
    393 void
    394 remove_dispatch(fd)
    395         int fd
    396         CODE:
    397         owl_select_remove_perl_dispatch(fd);
  • perlwrap.pm

    r799b60e r5d2248c  
    242242    );
    243243
    244     BarnOwl::new_command_internal($name, $func, $args{summary}, $args{usage}, $args{description});
     244    BarnOwl::Internal::new_command($name, $func, $args{summary}, $args{usage}, $args{description});
    245245}
    246246
     
    275275
    276276sub new_variable_int {
    277     unshift @_, \&BarnOwl::new_variable_int_internal, 0;
     277    unshift @_, \&BarnOwl::Internal::new_variable_int, 0;
    278278    goto \&_new_variable;
    279279}
    280280
    281281sub new_variable_bool {
    282     unshift @_, \&BarnOwl::new_variable_bool_internal, 0;
     282    unshift @_, \&BarnOwl::Internal::new_variable_bool, 0;
    283283    goto \&_new_variable;
    284284}
    285285
    286286sub new_variable_string {
    287     unshift @_, \&BarnOwl::new_variable_string_internal, "";
     287    unshift @_, \&BarnOwl::Internal::new_variable_string, "";
    288288    goto \&_new_variable;
    289289}
Note: See TracChangeset for help on using the changeset viewer.