| MooseX-POE documentation | Contained in the MooseX-POE distribution. |
MooseX::POE::Meta::Trait::Instance - A Instance Metaclass for MooseX::POE
version 0.214
Moose::Util::MetaRole::apply_metaclass_roles(
for_class => $for_class,
metaclass_roles => [
'MooseX::POE::Meta::Trait::Class'
],
instance_metaclass_roles => [
'MooseX::POE::Meta::Trait::Instance',
],
);
A metaclass for MooseX::POE. This module is only of use to developers so there is no user documentation provided.
This software is copyright (c) 2010 by Chris Prather, Ash Berlin, Chris Williams, Yuval Kogman, Torsten Raudssus.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
| MooseX-POE documentation | Contained in the MooseX-POE distribution. |
package MooseX::POE::Meta::Trait::Instance; BEGIN { $MooseX::POE::Meta::Trait::Instance::VERSION = '0.214'; } # ABSTRACT: A Instance Metaclass for MooseX::POE use Moose::Role; use POE; use Scalar::Util (); sub get_session_id { my ( $self, $instance ) = @_; return $instance->{session_id}; } sub get_slot_value { my ( $self, $instance, $slot_name ) = @_; return $instance->{heap}{$slot_name}; } sub set_slot_value { my ( $self, $instance, $slot_name, $value ) = @_; $instance->{heap}{$slot_name} = $value; } sub is_slot_initialized { my ( $self, $instance, $slot_name, $value ) = @_; exists $instance->{heap}{$slot_name} ? 1 : 0; } sub weaken_slot_value { my ( $self, $instance, $slot_name ) = @_; Scalar::Util::weaken( $instance->{heap}{$slot_name} ); } sub inline_slot_access { my ( $self, $instance, $slot_name ) = @_; sprintf '%s->{heap}{%s}', $instance, $slot_name; } no POE; no Moose::Role; 1;
__END__