Result:
found 681 distributions and 1999 files matching your query ! ( run in 0.961 )


Net-FreeDB

 view release on metacpan or  search on metacpan

FreeDB.pm  view on Meta::CPAN


=head1 SYNOPSIS

    use Net::FreeDB;
    $freedb = Net::FreeDB->new();
    $discdata = $freedb->getdiscdata('/dev/cdrom');
    my $cddb_file_object = $freedb->read('rock', $discdata->{ID});
    print $cddb_file_object->id;

=head1 DESCRIPTION

    Net::FreeDB was inspired by Net::CDDB.  And in-fact

FreeDB.pm  view on Meta::CPAN

    NOTE: See BUGS

=item get_local_disc_data

  Parameters:
    getdiscdata($) takes the device you want to use. See getdiscid()
    for full description.

  getdiscdata() returns a hash of the given disc data as you would
  require for a call to query. The returns hash look like:

   {
     ID => 'd00b3d10',
     NUM_TRKS => '3',

FreeDB.pm  view on Meta::CPAN


=back

=head1 BUGS

        The current version of getdiscid() and getdiscdata()
        on the Windows platform takes ANY string in a single
        cdrom configuration and works fine.  That is if you
        only have 1 cdrom drive; you can pass in ANY string
        and it will still scan that cdrom drive and return
        the correct data.  If you have more then 1 cdrom drive

 view all matches for this distribution


Net-FullAuto

 view release on metacpan or  search on metacpan

lib/Net/FullAuto/FA_Core.pm  view on Meta::CPAN

   nsc => 'application/x-conference',
   nvd => 'application/x-navidoc',
   o => 'application/octet-stream',
   oda => 'application/oda',
   omc => 'application/x-omc',
   omcd => 'application/x-omcdatamaker',
   omcr => 'application/x-omcregerator',
   p => 'text/x-pascal',
   p10 => 'application/pkcs10',
   #p10 => 'application/x-pkcs10',
   p12 => 'application/pkcs-12',

 view all matches for this distribution


Net-IANA-Services

 view release on metacpan or  search on metacpan

share/services_hashes_dump.yml  view on Meta::CPAN

  11103:
    - origo-sync
  11104:
    - netapp-icmgmt
  11105:
    - netapp-icdata
  11106:
    - sgi-lk
  11108:
    - myq-termlink
  11109:

share/services_hashes_dump.yml  view on Meta::CPAN

  11104:
    tcp:
      - netapp-icmgmt
  11105:
    tcp:
      - netapp-icdata
  11106:
    tcp:
      - sgi-lk
    udp:
      - sgi-lk

share/services_hashes_dump.yml  view on Meta::CPAN

    - 2450
  netagent:
    - 5771
  netangel:
    - 2442
  netapp-icdata:
    - 11105
  netapp-icmgmt:
    - 11104
  netarx:
    - 1040

share/services_hashes_dump.yml  view on Meta::CPAN

    udp:
      2442:
        desc: Netangel
        name: netangel
        note: ''
  netapp-icdata:
    tcp:
      11105:
        desc: NetApp Intercluster Data
        name: netapp-icdata
        note: ''
  netapp-icmgmt:
    tcp:
      11104:
        desc: NetApp Intercluster Management

 view all matches for this distribution


Net-Jabber

 view release on metacpan or  search on metacpan

lib/Net/Jabber/Dialback/Result.pm  view on Meta::CPAN

  GetFrom() -  returns a string with server that the <db:result/> is being
               sent from.

  GetType() - returns a string with the type <db:result/> this is.

  GetData() - returns a string with the cdata of the <db:result/>.

  GetXML() - returns the XML string that represents the <db:result/>.
             This is used by the Send() function in Server.pm to send
             this object as a Jabber Dialback Result.

lib/Net/Jabber/Dialback/Result.pm  view on Meta::CPAN

  SetType(string) - sets the type attribute.  Valid settings are:

                    valid
                    invalid

  SetData(string) - sets the cdata of the <db:result/>.

=head2 Test functions

  DefinedTo() - returns 1 if the to attribute is defined in the 
                <db:result/>, 0 otherwise.

 view all matches for this distribution


Net-LibNFS

 view release on metacpan or  search on metacpan

libnfs/include/libnfs-private.h  view on Meta::CPAN



struct nfs_cb_data;
void free_nfs_cb_data(struct nfs_cb_data *data);

struct nfs_specdata {
        uint32_t specdata1;
        uint32_t specdata2;
};
struct nfs_time {
        uint32_t seconds;
        uint32_t nseconds;
};

libnfs/include/libnfs-private.h  view on Meta::CPAN

        uint32_t gid;
        uint32_t nlink;
        uint64_t size;
        uint64_t used;
        uint64_t fsid;
        struct nfs_specdata rdev;
        struct nfs_time atime;
        struct nfs_time mtime;
        struct nfs_time ctime;
};

 view all matches for this distribution


Net-OSCAR

 view release on metacpan or  search on metacpan

lib/Net/OSCAR.pm  view on Meta::CPAN

		$self->{proxy_type}, $self->{proxy_host}, $self->{proxy_port},
		$self->{proxy_username}, $self->{proxy_password}, $self->{local_ip},
		$self->{local_port}, $self->{pass_is_hashed}, $self->{stealth}) =
			delete @args{qw(screenname password host port proxy_type proxy_host proxy_port proxy_username proxy_password local_ip local_port pass_is_hashed stealth)};

	$self->{svcdata} = \%args;

	if(defined($self->{proxy_type})) {
		$self->{proxy_type} = uc($self->{proxy_type});
		die "You must specify proxy_host if proxy_type is specified!\n" unless $self->{proxy_host};
		if($self->{proxy_type} eq "HTTP" or $self->{proxy_type} eq "HTTPS") {

lib/Net/OSCAR.pm  view on Meta::CPAN


sub send_im($$$;$) {
	my($self, $to, $msg, $away) = @_;
	return must_be_on($self) unless $self->{is_on};

	if(!$self->{svcdata}->{hashlogin}) {
		return 0 if length($msg) >= 7987;
	} else {
		return 0 if length($msg) > 2000;
	}

lib/Net/OSCAR.pm  view on Meta::CPAN

	my($port) = sockaddr_in(getsockname($connection->{socket}));

	my $size = 0;
	$size += length($_->{data}) foreach @filerefs;

	my %svcdata = (
		file_count_status => (@filerefs > 1 ? 2 : 1),
		file_count => scalar(@filerefs),
		size => $size,
		files => [map {$_->{name}} @filerefs]
	);

lib/Net/OSCAR.pm  view on Meta::CPAN

		status => "propose",
		client_1_ip => $ip,
		client_2_ip => $ip,
		port => $port,
		proxy_ip => unpack("N", inet_aton("63.87.248.248")), # TODO: What's this really supposed to be?
		svcdata_charset => "us-ascii",
		svcdata => protoparse($self, "file_transfer_rendezvous_data")->pack(%svcdata)
	);

	my($req_id) = $self->send_message($screenname, 2, pack("nn", 3, 0) . protoparse($self, "rendezvous_IM")->pack(%protodata), 0, $cookie);

	$self->{rv_proposals}->{$cookie} = $connection->{rv} = {

 view all matches for this distribution


Net-OpenID-Common

 view release on metacpan or  search on metacpan

t/07-htmlparse.t  view on Meta::CPAN

 'rss'=>"http://www.livejournal.com/~brad/data/rss",
 'atom'=>"http://www.livejournal.com/~brad/data/atom",
},'everything from consumer.pm comments' );


my $uri3 = 'http://openid.example.com/cdata_crap';
addf_uri($uri3,content => <<END );
<html><head>
<link rel="openid.server"   href="http://www.livejournal.com/misc/openid.bml" />
<link rel="openid.delegate" href="http://openid1.net/delegate" />
<script type="text/javascript">//<![CDATA[

 view all matches for this distribution


Net-OpenID-Consumer

 view release on metacpan or  search on metacpan

t/03-seminfo.t  view on Meta::CPAN

 'rss'=>"http://www.livejournal.com/~brad/data/rss",
 'atom'=>"http://www.livejournal.com/~brad/data/atom",
},'everything from consumer.pm comments' );


my $uri3 = 'http://openid.example.com/cdata_crap';
addf_uri($uri3,content => <<END );
<html><head>
<link rel="openid.server"   href="http://www.livejournal.com/misc/openid.bml" />
<link rel="openid.delegate" href="http://openid1.net/delegate" />
<script type="text/javascript">//<![CDATA[

 view all matches for this distribution



Net-SNMP-Util

 view release on metacpan or  search on metacpan

examples/realifmon.pl  view on Meta::CPAN

    -community => ($opt{c} || "public")
);
die "[ERROR] $err\n" unless defined $ses;

# main loop
my (%pdata, %cdata);  # flag, previous and current octets data
my $first = 1;
while ( 1 ){
    %cdata = ();
    (my $ret, $err) = snmpwalk(
        snmp => $ses,
        oids => {
            sysUpTime => '1.3.6.1.2.1.1.3',
            ifTable => [

examples/realifmon.pl  view on Meta::CPAN

            my ($s, $host, $key, $val) = @_;
            return 1 if $key ne 'ifTable';
            my $name = $val->[0][1];
            return 0 if ( $regexp && $name !~ /$regexp/ );
            # storing current octets data
            $cdata{$name}{t} = time;
            $cdata{$name}{i} = $val->[3][1];
            $cdata{$name}{o} = $val->[4][1];
            return 1;
        }
    );
    die "[ERROR] $err\n" unless $ret;

examples/realifmon.pl  view on Meta::CPAN

                $name, $i, $astat, $ostat, $bw/1000, '-', '-';
            next;   # skip first
        }

        # calculate (k)bps
        my $td = $cdata{$name}{t} - $pdata{$name}{t};
        my ($inbps, $outbps) = map {
            my $delta = $cdata{$name}{$_} - $pdata{$name}{$_};
            $delta<0? 0: $delta / $td / 1000; # Kbps
        } qw( i o );

        printf "%-30s (%-10d) %2d %2d %10.1f %10.1f %10.1f\n",
            $name, $i, $astat, $ostat, map { $_/1000 } ($bw, $inbps, $outbps);
    }

    %pdata = %cdata;
    $first = 0;
    sleep $wait;
}

__END__

 view all matches for this distribution


Net-SSH-Perl

 view release on metacpan or  search on metacpan

lib/Net/SSH/Perl/Key/Ed25519.xs  view on Meta::CPAN

		unsigned char *data = (unsigned char *) SvPVbyte(sv_mortalcopy(sv_data),datalen);
		if (datalen % 8)
			croak("data must be in 8-byte chunks");
		
		uint16_t words = datalen / 4;
		uint32_t cdata[words];
		uint16_t j = 0;
		int i;
		int rounds = SvIVx(sv_rounds);

		for (i=0; i<words; i++)
			cdata[i] = Blowfish_stream2word(data, datalen, &j);
		for (i=0; i<rounds; i++)
			blf_enc(ctx, cdata, sizeof(cdata) / sizeof(uint64_t));

		for (i=0; i<words; i++) {
			data[4 * i + 3] = (cdata[i] >> 24) & 0xff;
			data[4 * i + 2] = (cdata[i] >> 16) & 0xff;
			data[4 * i + 1] = (cdata[i] >>  8) & 0xff;
			data[4 * i ] = cdata[i] & 0xff;
		}
		RETVAL = newSVpvn ((char *) data, datalen);
	}
OUTPUT:
	RETVAL

 view all matches for this distribution


Net-UPCDatabase

 view release on metacpan or  search on metacpan

UPCDatabase.pm  view on Meta::CPAN

use 5.008;
use Frontier::Client;

our $VERSION = '0.07';

our $DEFAULTURL = 'http://www.upcdatabase.com/rpc';

=head1 NAME

Net::UPCDatabase - Simple OO interface to UPCDatabase.com

UPCDatabase.pm  view on Meta::CPAN


  # .. or ..

  $upcObject = Net::UPCDatabase->new( url => $aDifferentUrlThanDefault );

Accepts an B<OPTIONAL> argument, a URL to use instead of the default.  Unless you're really sure what you're doing, don't give it a URL.  It defaults to 'http://www.upcdatabase.com/rpc', which is probably the right thing.

Returns the object.

=cut

UPCDatabase.pm  view on Meta::CPAN

Report bugs on the CPAN bug tracker.
Please, do complain if something is broken.

=head1 SEE ALSO

L<http://www.upcdatabase.com/>

=head1 COPYRIGHT AND LICENSE

Copyright 2005-2009 by Dusty Wilson

 view all matches for this distribution


Net-XMPP

 view release on metacpan or  search on metacpan

lib/Net/XMPP/Namespaces.pm  view on Meta::CPAN

                   a new child, and GetXXX() will return a new Stanza
                   object representing the packet.

           flag - This is for child elements that are tags by themselves:
                  <foo/>.  Since the presence of the tag is what is
                  important, and there is no cdata to store, we just call
                  it a flag.

           jid - The value is a Jabber ID.  GetXXX() will return a
                 Net::XMPP::JID object unless you pass it "jid", then it
                 returns a string.

 view all matches for this distribution


Net-XMPP3

 view release on metacpan or  search on metacpan

lib/Net/XMPP3/Namespaces.pm  view on Meta::CPAN

                   a new child, and GetXXX() will return a new Stanza
                   object representing the packet.

           flag - This is for child elements that are tags by themselves:
                  <foo/>.  Since the presence of the tag is what is
                  important, and there is no cdata to store, we just call
                  it a flag.

           jid - The value is a Jabber ID.  GetXXX() will return a
                 Net::XMPP3::JID object unless you pass it "jid", then it
                 returns a string.

 view all matches for this distribution


Net-iContact

 view release on metacpan or  search on metacpan

lib/Net/iContact.pm  view on Meta::CPAN

    my ($self, $subject, $campaign, $text, $html) = @_;
    my $call = 'message';

    my $X = new XML::Generator ':pretty';
    my $xml = $X->xml($X->message(
                  $X->subject($X->xmlcdata($subject)),
                  $X->campaign($campaign),
                  $X->text_body($X->xmlcdata($text)),
                  $X->html_body($X->xmlcdata($html)),
              ))->stringify;

    my $root = $self->put($call, { $self->_stdargs }, $xml);
    return unless $root;

 view all matches for this distribution


NexposeSimpleXML-Parser

 view release on metacpan or  search on metacpan

t/test1.xml  view on Meta::CPAN

/doc/libisc44/
</key>
</vulnerability>
<vulnerability id="http-generic-browsable-dir" resultCode="VE">
<key>
/doc/libiptcdata0/
</key>
</vulnerability>
<vulnerability id="http-generic-browsable-dir" resultCode="VE">
<key>
/doc/libio-string-perl/

 view all matches for this distribution


Nile

 view release on metacpan or  search on metacpan

lib/Nile.pm  view on Meta::CPAN

    <vars type="perl">system ('dir *.cgi');</vars>
    </pre>
    <br>

    <vars type="var" name="singleline" width="400px" height="300px" content="ahmed<b>class/subclass">
    cdata start here is may have html tags and 'single' and "double" qoutes
    </vars>
    <br>

    <vars type="var" name="multiline" width="400px" height="300px"><![CDATA[ 
        cdata start here is may have html tags <b>hello</b> and 'single' and "double" qoutes
        another cdata line
    ]]></vars>
    <br>

    <vars type="perl"><![CDATA[ 
        say "";

 view all matches for this distribution


ODF-lpOD_Helper

 view release on metacpan or  search on metacpan

lib/ODF/lpOD_Helper.pm  view on Meta::CPAN

    $result->set_attribute('c', $right_count); # possibly zero
    return $result
  }
  elsif ($text_elt->tag eq '#PCDATA') {
    my $existing_len = length($text_elt->text);
    confess ivis 'offset $offset exceeds existing pcdata length ($existing_len)'
      if $offset > $existing_len;
    return $text_elt->split_at($offset);
  }
  elsif ($offset == 0) {
#my $para = $elt->passes(PARA_FILTER) ? $elt : $elt->parent(PARA_FILTER);

 view all matches for this distribution


OS2-Proc

 view release on metacpan or  search on metacpan

Proc.xs  view on Meta::CPAN


SV *
proc_info_int(int pid, int flags)
{
    PQTOPLEVEL top;
    PQPROCESS	procdata;
    PQTHREAD threads;
    PQMODULE	moddata;
    SV *sv;
    AV *top_av, *procs_av, *mods_av;
    ULONG rc;

Proc.xs  view on Meta::CPAN

    av_push(top_av, newRV((SV*)procs_av));
    SvREFCNT_dec(procs_av);		/* Ouch! */
    av_push(top_av, newRV((SV*)mods_av));
    SvREFCNT_dec(mods_av);		/* Ouch! */

    procdata = top->procdata;
    while (procdata && procdata->rectype == 0x01) {
	AV *proc_av = newAV();
	AV *threads_av = newAV();
	AV *dlls_av = newAV();
	int dll_c = 0;
	
	av_push(procs_av, newRV_noinc((SV*)proc_av));
	
	av_push(proc_av, newRV_noinc((SV*)threads_av));
	av_push(proc_av, newSViv(procdata->pid));
	av_push(proc_av, newSViv(procdata->ppid));
	av_push(proc_av, newSViv(procdata->type));
	av_push(proc_av, newSViv(procdata->state));
	av_push(proc_av, newSViv(procdata->sessid));
	av_push(proc_av, newSViv(procdata->hndmod));
	av_push(proc_av, newSViv(procdata->threadcnt));
	av_push(proc_av, newSViv(procdata->privsem32cnt));
	av_push(proc_av, newSViv(procdata->sem16cnt));
	av_push(proc_av, newSViv(procdata->dllcnt));
	av_push(proc_av, newSViv(procdata->shrmemcnt));
	av_push(proc_av, newSViv(procdata->fdscnt));
	av_push(proc_av, newRV_noinc((SV*)dlls_av));
	while (dll_c < procdata->dllcnt) {
	    av_push(dlls_av, newSViv(procdata->dlls[dll_c++]));
	}
	threads = procdata->threads;
	while (threads && threads->rectype == 0x100) { /* Thread block. */
	    AV *thread_av = newAV();

	    av_push(threads_av, newRV_noinc((SV*)thread_av));

Proc.xs  view on Meta::CPAN

	    av_push(thread_av, newSViv(threads->systime));
	    av_push(thread_av, newSViv(threads->usertime));
	    av_push(thread_av, newSViv(threads->state));
	    threads++;
	}
	procdata = (PQPROCESS) threads;	/* Next process data. */
    }
/*
    if (procdata) 
	warn("After: procdata->rectype = 0x%x", procdata->rectype);
 */
    moddata = top->moddata;
    while (moddata) {
	AV *mod_av = newAV();
	int handles = moddata->refcnt;

 view all matches for this distribution


Object-Pad-ClassAttr-Struct

 view release on metacpan or  search on metacpan

lib/Object/Pad/ClassAttr/Struct.xs  view on Meta::CPAN


enum {
  FLAG_READONLY = (1<<0),
};

static bool struct_apply(pTHX_ ClassMeta *classmeta, SV *value, SV **attrdata_ptr, void *_funcdata)
{
  U32 flags = 0;

  if(value && SvPOK(value)) {
    const char *s = SvPVX(value), *e = s + SvCUR(value);

lib/Object/Pad/ClassAttr/Struct.xs  view on Meta::CPAN


  mop_class_apply_attribute(classmeta, "strict", sv_2mortal(newSVpvs("params")));
  return TRUE;
}

static void struct_post_add_field(pTHX_ ClassMeta *classmeta, SV *attrdata, void *_funcdata, FieldMeta *fieldmeta)
{
  if(mop_field_get_sigil(fieldmeta) != '$')
    return;

  U32 flags = attrdata ? SvUV(attrdata) : 0;

lib/Object/Pad/ClassAttr/Struct.xs  view on Meta::CPAN

    mop_field_apply_attribute(fieldmeta, "reader", NULL);
  else
    mop_field_apply_attribute(fieldmeta, "mutator", NULL);
}

static void struct_post_seal(pTHX_ ClassMeta *classmeta, SV *attrdata, void *_funcdata)
{
  dSP;

  ENTER;
  SAVETMPS;

 view all matches for this distribution


Object-Pad-FieldAttr-Checked

 view release on metacpan or  search on metacpan

lib/Object/Pad/FieldAttr/Checked.xs  view on Meta::CPAN


  SETs(ret);
  RETURN;
}

static SV *checked_parse(pTHX_ FieldMeta *fieldmeta, SV *valuesrc, void *_funcdata)
{
  if(mop_field_get_sigil(fieldmeta) != '$')
    croak("Can only apply the :Checked attribute to scalar fields");

  dSP;

lib/Object/Pad/FieldAttr/Checked.xs  view on Meta::CPAN

  LEAVE;

  return ret;
}

static bool checked_apply(pTHX_ FieldMeta *fieldmeta, SV *value, SV **attrdata_ptr, void *_funcdata)
{
  if(mop_field_get_sigil(fieldmeta) != '$')
    croak("Can only apply the :Checked attribute to scalar fields");

  struct DataChecks_Checker *checker = make_checkdata(value);

lib/Object/Pad/FieldAttr/Checked.xs  view on Meta::CPAN

  *attrdata_ptr = (SV *)checker;

  return TRUE;
}

static void checked_gen_accessor_ops(pTHX_ FieldMeta *fieldmeta, SV *attrdata, void *_funcdata,
    enum AccessorType type, struct AccessorGenerationCtx *ctx)
{
  struct DataChecks_Checker *checker = (struct DataChecks_Checker *)attrdata;

  switch(type) {

lib/Object/Pad/FieldAttr/Checked.xs  view on Meta::CPAN

    default:
      croak("TODO: Unsure what to do with accessor type %d and :Checked", type);
  }
}

static OP *checked_gen_valueassert_op(pTHX_ FieldMeta *fieldmeta, SV *attrdata, void *_funcdata,
    OP *valueop)
{
  struct DataChecks_Checker *checker = (struct DataChecks_Checker *)attrdata;

  return make_assertop(checker, valueop);

 view all matches for this distribution


Object-Pad-FieldAttr-Final

 view release on metacpan or  search on metacpan

lib/Object/Pad/FieldAttr/Final.xs  view on Meta::CPAN

#include "perl.h"
#include "XSUB.h"

#include "object_pad.h"

static void final_post_construct(pTHX_ FieldMeta *fieldmeta, SV *_hookdata, void *_funcdata, SV *field)
{
  SvREADONLY_on(field);
}

static void final_seal(pTHX_ FieldMeta *fieldmeta, SV *hookdata, void *_funcdata)
{
  if(mop_field_get_attribute(fieldmeta, "writer"))
    warn("Applying :Final attribute to field %" SVf " which already has :writer", SVfARG(mop_field_get_name(fieldmeta)));
}

 view all matches for this distribution


Object-Pad-FieldAttr-Isa

 view release on metacpan or  search on metacpan

lib/Object/Pad/FieldAttr/Isa.xs  view on Meta::CPAN


static const MGVTBL vtbl = {
  .svt_set = &magic_set,
};

static bool isa_apply(pTHX_ FieldMeta *fieldmeta, SV *value, SV **attrdata_ptr, void *_funcdata)
{
  struct Data *data;
  Newx(data, 1, struct Data);

  data->is_weak   = false;

lib/Object/Pad/FieldAttr/Isa.xs  view on Meta::CPAN

  *attrdata_ptr = (SV *)data;

  return TRUE;
}

static void isa_seal(pTHX_ FieldMeta *fieldmeta, SV *attrdata, void *_funcdata)
{
  struct Data *data = (struct Data *)attrdata;

  if(mop_field_get_attribute(fieldmeta, "weak"))
    data->is_weak = true;
}

static void isa_post_makefield(pTHX_ FieldMeta *fieldmeta, SV *attrdata, void *_funcdata, SV *field)
{
  sv_magicext(field, newSV(0), PERL_MAGIC_ext, &vtbl, (char *)attrdata, 0);
}

static const struct FieldHookFuncs isa_hooks = {

 view all matches for this distribution


Object-Pad-FieldAttr-LazyInit

 view release on metacpan or  search on metacpan

lib/Object/Pad/FieldAttr/LazyInit.xs  view on Meta::CPAN

  mg_freeext(sv, PERL_MAGIC_ext, &vtbl);

  return 1;
}

static bool lazyinit_apply(pTHX_ FieldMeta *fieldmeta, SV *value, SV **attrdata_ptr, void *_funcdata)
{
  mop_field_set_default_sv(fieldmeta, newRV_inc(unassigned_val));

  return TRUE;
}

static void lazyinit_post_makefield(pTHX_ FieldMeta *fieldmeta, SV *attrdata, void *_funcdata, SV *field)
{
  SV *weakself = newSVsv(PAD_SVl(PADIX_SELF));
  sv_rvweaken(weakself);

  sv_magicext(field, weakself, PERL_MAGIC_ext, &vtbl, (char *)attrdata, HEf_SVKEY);

 view all matches for this distribution


Object-Pad-FieldAttr-Trigger

 view release on metacpan or  search on metacpan

lib/Object/Pad/FieldAttr/Trigger.xs  view on Meta::CPAN


#include "object_pad.h"

#include "perl-backcompat.c.inc"

static void trigger_gen_accessor_ops(pTHX_ FieldMeta *fieldmeta, SV *hookdata, void *_funcdata, enum AccessorType type, struct AccessorGenerationCtx *ctx)
{
  if(type != ACCESSOR_WRITER)
    return;

  OP *selfop;

lib/Object/Pad/FieldAttr/Trigger.xs  view on Meta::CPAN

  ctx->post_bodyops = op_append_list(OP_LINESEQ, ctx->post_bodyops, callop);

  return;
}

static void trigger_seal(pTHX_ FieldMeta *fieldmeta, SV *hookdata, void *_funcdata)
{
  if(mop_field_get_attribute(fieldmeta, "writer"))
    return;

  warn("Applying :Trigger attribute to field %" SVf " is not useful without a :writer",

 view all matches for this distribution


Object-Pad-SlotAttr-Final

 view release on metacpan or  search on metacpan

lib/Object/Pad/SlotAttr/Final.xs  view on Meta::CPAN

#include "perl.h"
#include "XSUB.h"

#include "object_pad.h"

static void final_post_construct(pTHX_ SlotMeta *slotmeta, SV *_hookdata, void *_funcdata, SV *slot)
{
  SvREADONLY_on(slot);
}

static void final_seal(pTHX_ SlotMeta *slotmeta, SV *hookdata, void *_funcdata)
{
  if(mop_slot_get_attribute(slotmeta, "writer"))
    warn("Applying :Final attribute to slot %" SVf " which already has :writer", SVfARG(mop_slot_get_name(slotmeta)));
}

 view all matches for this distribution


Object-Pad-SlotAttr-Isa

 view release on metacpan or  search on metacpan

lib/Object/Pad/SlotAttr/Isa.xs  view on Meta::CPAN


static const MGVTBL vtbl = {
  .svt_set = &magic_set,
};

static bool isa_apply(pTHX_ SlotMeta *slotmeta, SV *value, SV **hookdata_ptr, void *_funcdata)
{
  struct Data *data;
  Newx(data, 1, struct Data);

  data->is_weak   = false;

lib/Object/Pad/SlotAttr/Isa.xs  view on Meta::CPAN

  *hookdata_ptr = (SV *)data;

  return TRUE;
}

static void isa_seal(pTHX_ SlotMeta *slotmeta, SV *hookdata, void *_funcdata)
{
  struct Data *data = (struct Data *)hookdata;

  if(mop_slot_get_attribute(slotmeta, "weak"))
    data->is_weak = true;
}

static void isa_post_initslot(pTHX_ SlotMeta *slotmeta, SV *hookdata, void *_funcdata, SV *slot)
{
  sv_magicext(slot, newSV(0), PERL_MAGIC_ext, &vtbl, (char *)hookdata, 0);
}

static const struct SlotHookFuncs isa_hooks = {

 view all matches for this distribution


Object-Pad-SlotAttr-LazyInit

 view release on metacpan or  search on metacpan

lib/Object/Pad/SlotAttr/LazyInit.xs  view on Meta::CPAN

  mg_freeext(sv, PERL_MAGIC_ext, &vtbl);

  return 1;
}

static bool lazyinit_apply(pTHX_ SlotMeta *slotmeta, SV *value, SV **hookdata_ptr, void *_funcdata)
{
  mop_slot_set_default_sv(slotmeta, newRV_inc(unassigned_val));

  return TRUE;
}

static void lazyinit_post_initslot(pTHX_ SlotMeta *slotmeta, SV *hookdata, void *_funcdata, SV *slot)
{
  SV *weakself = newSVsv(PAD_SVl(PADIX_SELF));
  sv_rvweaken(weakself);

  sv_magicext(slot, weakself, PERL_MAGIC_ext, &vtbl, (char *)hookdata, HEf_SVKEY);

 view all matches for this distribution


Object-Pad-SlotAttr-Trigger

 view release on metacpan or  search on metacpan

lib/Object/Pad/SlotAttr/Trigger.xs  view on Meta::CPAN


#include "object_pad.h"

#include "perl-backcompat.c.inc"

static void trigger_gen_accessor_ops(pTHX_ SlotMeta *slotmeta, SV *hookdata, void *_funcdata, enum AccessorType type, struct AccessorGenerationCtx *ctx)
{
  if(type != ACCESSOR_WRITER)
    return;

  OP *selfop;

lib/Object/Pad/SlotAttr/Trigger.xs  view on Meta::CPAN

  ctx->post_bodyops = op_append_list(OP_LINESEQ, ctx->post_bodyops, callop);

  return;
}

static void trigger_seal(pTHX_ SlotMeta *slotmeta, SV *hookdata, void *_funcdata)
{
  if(mop_slot_get_attribute(slotmeta, "writer"))
    return;

  warn("Applying :Trigger attribute to slot %" SVf " is not useful without a :writer",

 view all matches for this distribution


Object-Pad

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

           direct_slots AV

0.57    2021-11-18
        [CHANGES]
         * Defined new ABI version for class/slot hooks
            + Adds `funcdata` at registration and callback time
            + Adds MOP accessor functions for slotmeta default SV
         * Added :isa() and :does() class attributes; encourage those rather
           than the older keyword style
         * Added more MOP methods:
            + $classmeta->direct_methods, ->get_direct_method

 view all matches for this distribution


( run in 0.961 second using v1.01-cache-2.11-cpan-501a3233654 )