Changeset 81e93c3


Ignore:
Timestamp:
Aug 5, 2017, 5:54:22 PM (7 years ago)
Author:
Jason Gross <jasongross9@gmail.com>
Branches:
master
Children:
1f92f39
Parents:
a95b564
git-author:
David Benjamin <davidben@mit.edu> (02/25/13 17:19:40)
git-committer:
Jason Gross <jasongross9@gmail.com> (08/05/17 17:54:22)
Message:
Add BarnOwl::get_variable_info

Returns a dictionary about a given variable.
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • perlglue.xs

    r7dcef03 r81e93c3  
    385385                RETVAL
    386386
     387SV *
     388get_variable_info(name)
     389        const char *name;
     390        PREINIT:
     391                owl_variable *var;
     392                HV *h;
     393        CODE:
     394                var = owl_variable_get_var(owl_global_get_vardict(&g), name);
     395                if (var == NULL) {
     396                        croak("No such variable");
     397                }
     398                h = newHV();
     399                (void)hv_store(h, "name", strlen("name"),
     400                               owl_new_sv(owl_variable_get_name(var)), 0);
     401                (void)hv_store(h, "description", strlen("description"),
     402                               owl_new_sv(owl_variable_get_description(var)),
     403                               0);
     404                (void)hv_store(h, "summary", strlen("summary"),
     405                               owl_new_sv(owl_variable_get_summary(var)), 0);
     406                (void)hv_store(h, "validsettings", strlen("validsettings"),
     407                               owl_new_sv(owl_variable_get_validsettings(var)),
     408                               0);
     409                (void)hv_store(h, "takes_on_off", strlen("takes_on_off"),
     410                               newSViv(owl_variable_takes_on_off(var)), 0);
     411                RETVAL = newRV_noinc((SV*)h);
     412        OUTPUT:
     413                RETVAL
     414
    387415
    388416MODULE = BarnOwl                PACKAGE = BarnOwl::Zephyr
  • variable.c

    ra95b564 r81e93c3  
    814814}
    815815
     816bool owl_variable_takes_on_off(const owl_variable *v) {
     817  return v->takes_on_off;
     818}
     819
    816820int owl_variable_get_type(const owl_variable *v)
    817821{
Note: See TracChangeset for help on using the changeset viewer.