use KinoSearch; 1; __END__ __XS__ MODULE = KinoSearch PACKAGE = KinoSearch::Store::OutStream SV* new(class_name, file_des) kino_ClassNameBuf class_name; kino_FileDes *file_des; CODE: { kino_VTable *vtable = kino_VTable_singleton((kino_CharBuf*)&class_name, NULL); kino_OutStream *self = (kino_OutStream*)Kino_VTable_Make_Obj(vtable); kino_OutStream_init(self, file_des); KOBJ_TO_SV_NOINC(self, RETVAL); } OUTPUT: RETVAL void print(self, ...) kino_OutStream *self; PPCODE: { int i; for (i = 1; i < items; i++) { STRLEN len; char *ptr = SvPV( ST(i), len); Kino_OutStream_Write_Bytes(self, ptr, len); } } void write_string(self, aSV) kino_OutStream *self; SV *aSV; PPCODE: { STRLEN len = 0; char *ptr = SvPVutf8(aSV, len); Kino_OutStream_Write_C32(self, len); Kino_OutStream_Write_Bytes(self, ptr, len); } void write_bytes(self, aSV) kino_OutStream *self; SV *aSV; PPCODE: { STRLEN len; char *ptr = SvPV(aSV, len); Kino_OutStream_Write_Bytes(self, ptr, len); } __AUTO_XS__ my $synopsis = <<'END_SYNOPSIS'; # Don't use this yet. my $outstream = $folder->open_out($filename) or die "Can't open $filename"; $outstream->write_u64($file_position); END_SYNOPSIS { "KinoSearch::Store::OutStream" => { bind_methods => [ qw( Tell Length Flush Close Absorb Write_I8 Write_I32 Write_I64 Write_U8 Write_U32 Write_U64 Write_C32 Write_C64 Write_F32 Write_F64 ) ], make_getters => [qw( file_des )], } } __COPYRIGHT__ Copyright 2005-2009 Marvin Humphrey This program is free software; you can redistribute it and/or modify under the same terms as Perl itself.