Bio-PhyloXS
view release on metacpan or search on metacpan
lib/Bio/PhyloXS/NeXML/Writable.xs view on Meta::CPAN
int is_ns_suppressed(Writable* self) {
return self->is_suppress_ns;
}
int get_suppress_ns(Writable* self) {
return self->is_suppress_ns;
}
Writable* set_identifiable(Writable* self, int value) {
self->is_identifiable = value;
return self;
}
int is_identifiable(Writable* self) {
return self->is_identifiable;
}
int get_identifiable(Writable* self) {
return self->is_identifiable;
}
const char * get_tag(Writable* self) {
int idx = ((Identifiable*)self)->_index;
return tag[idx];
}
char * get_xml_id(Writable* self) {
char xml_id[10];
int idx = ((Identifiable*)self)->_index;
int end_idx = strlen(tag[idx]) - 1;
char start = tag[idx][0];
char end = tag[idx][end_idx];
sprintf(xml_id,"%c%c%d",start,end,((Identifiable*)self)->id);
self->xml_id = savepv(xml_id);
return self->xml_id;
}
Writable* set_base_uri(Writable* self, char * uri) {
hv_store(self->attributes, "xml:base", 8, newSVpv(uri,0), 0);
return self;
}
void destroy_writable(Writable* self) {
destroy_identifiable((Identifiable*)self);
// SvREFCNT_dec(self->attributes);
// SvREFCNT_dec(self->meta);
if ( self->url != NULL ) {
Safefree(self->url);
}
}
MODULE = Bio::PhyloXS::NeXML::Writable PACKAGE = Bio::PhyloXS::NeXML::Writable
PROTOTYPES: DISABLE
void
initialize_writable (self)
Writable * self
PREINIT:
I32* temp;
PPCODE:
temp = PL_markstack_ptr++;
initialize_writable(self);
if (PL_markstack_ptr != temp) {
/* truly void, because dXSARGS not invoked */
PL_markstack_ptr = temp;
XSRETURN_EMPTY; /* return empty stack */
}
/* must have used dXSARGS; list context implied */
return; /* assume stack size is correct */
Writable *
set_attributes (self, ...)
Writable * self
PREINIT:
I32* temp;
CODE:
temp = PL_markstack_ptr++;
RETVAL = set_attributes(self);
PL_markstack_ptr = temp;
OUTPUT:
RETVAL
HV *
get_attributes (self)
Writable * self
Writable *
set_link (self, url)
Writable * self
char * url
char *
get_link (self)
Writable * self
Writable *
set_name (self, name)
Writable * self
char * name
char *
get_name (self)
Writable * self
Writable *
set_suppress_ns (self)
Writable * self
Writable *
clear_suppress_ns (self)
Writable * self
int
is_ns_suppressed (self)
Writable * self
int
get_suppress_ns (self)
Writable * self
Writable *
set_identifiable (self, value)
Writable * self
int value
int
is_identifiable (self)
Writable * self
int
get_identifiable (self)
Writable * self
const char *
get_tag (self)
Writable * self
char *
get_xml_id (self)
Writable * self
Writable *
set_base_uri (self, uri)
Writable * self
char * uri
void
destroy_writable (self)
Writable * self
PREINIT:
I32* temp;
PPCODE:
temp = PL_markstack_ptr++;
destroy_writable(self);
if (PL_markstack_ptr != temp) {
/* truly void, because dXSARGS not invoked */
PL_markstack_ptr = temp;
XSRETURN_EMPTY; /* return empty stack */
}
/* must have used dXSARGS; list context implied */
return; /* assume stack size is correct */
( run in 0.910 second using v1.01-cache-2.11-cpan-71847e10f99 )