CIAO-Lib-Param

 view release on metacpan or  search on metacpan

Param.xs  view on Meta::CPAN

  PREINIT:
        int argc = 0;
        char **argv = NULL;
  CODE:
        argc = items - 2;
        if ( argc )
        {
          int i;
          argv = get_mortalspace( argc * sizeof(*argv) );
          for ( i = 2 ; i < items ; i++ )
          {
            argv[i-2] = SvOK(ST(i)) ? (char*)SvPV_nolen(ST(i)) : (char*)NULL;
          }
        }
        RETVAL = New( 0, RETVAL, 1, PFile );
        RETVAL->pf = paramopen(filename, argv, argc, mode);
        if ( NULL == RETVAL->pf )
        {
          Safefree(RETVAL);
          RETVAL = NULL;
          croak_on_parerr();
        }
  OUTPUT:
        RETVAL

char *
pfind(name, mode, extn, path)
        char *	name
        char *	mode
        char *	extn
        char *	path
  CODE:
        RETVAL = paramfind( name, mode, extn, path );
        croak_on_parerr();
  OUTPUT:
        RETVAL

MODULE = CIAO::Lib::Param	PACKAGE = CIAO::Lib::ParamPtr

void
DESTROY(pfile)
        CIAO_Lib_ParamPtr	pfile
  CODE:
        if ( pfile->pf )
          paramclose(pfile->pf);
        Safefree(pfile);
        croak_on_parerr();

void
info( pfile, name )
        CIAO_Lib_ParamPtr	pfile
        char * name
  PREINIT:
        char *	mode = get_mortalspace( SZ_PFLINE );
        char *	type = get_mortalspace( SZ_PFLINE );
        char *	value = get_mortalspace( SZ_PFLINE );
        char *	min = get_mortalspace( SZ_PFLINE );
        char *	max = get_mortalspace( SZ_PFLINE );
        char *	prompt = get_mortalspace( SZ_PFLINE );
        int result;
  PPCODE:
        if ( ParamInfo( pfile->pf, name, mode, type,
                            value, min, max, prompt ) )
        {
          EXTEND(SP, 6);
          PUSHs(sv_2mortal(newSVpv(mode, 0)));
          PUSHs(sv_2mortal(newSVpv(type, 0)));
          PUSHs(sv_2mortal(newSVpv(value, 0)));
          PUSHs(sv_2mortal(newSVpv(min, 0)));
          PUSHs(sv_2mortal(newSVpv(max, 0)));
          PUSHs(sv_2mortal(newSVpv(prompt, 0)));
        }
        else
        {
          croak( "parameter %s doesn't exist", name );
        }
        croak_on_parerr();


CIAO_Lib_Param_MatchPtr
match(pfile, ptemplate)
        CIAO_Lib_ParamPtr	pfile
        char *	ptemplate
  CODE:
        RETVAL = pmatchopen( pfile->pf, ptemplate );
        croak_on_parerr();
  OUTPUT:
        RETVAL



MODULE = CIAO::Lib::Param	PACKAGE = CIAO::Lib::ParamPtr	PREFIX = param


char *
paramgetpath(pfile)
        CIAO_Lib_ParamPtr	pfile
  CODE:
        paramgetpath( pfile->pf );
  CLEANUP:
        if (RETVAL) Safefree(RETVAL);
        croak_on_parerr();


MODULE = CIAO::Lib::Param PACKAGE = CIAO::Lib::ParamPtr	PREFIX = p

int
paccess(pfile, pname)
        CIAO_Lib_ParamPtr	pfile
        char *	pname
  CODE:
        paccess( pfile->pf, pname );
  CLEANUP:
        croak_on_parerr();

SV*
pgetb(pfile, pname)
        CIAO_Lib_ParamPtr	pfile
        char *	pname
  CODE:
        ST(0) = sv_newmortal();



( run in 1.355 second using v1.01-cache-2.11-cpan-71847e10f99 )