AnyEvent-MSN
view release on metacpan or search on metacpan
lib/AnyEvent/MSN.pm view on Meta::CPAN
package AnyEvent::MSN;
{ $AnyEvent::MSN::VERSION = 0.002 }
use lib '../../lib';
use 5.012;
use Moose;
use Moose::Util::TypeConstraints;
use AnyEvent qw[];
use AnyEvent::Handle qw[];
use AnyEvent::HTTP qw[];
use Try::Tiny;
use XML::Twig;
use AnyEvent::MSN::Protocol;
use AnyEvent::MSN::Types;
use MIME::Base64 qw[];
#
#use Data::Dump;
#
our $DEBUG = 0;
sub DEBUG {$DEBUG}
# XXX - During dev only
#use Data::Printer;
sub DEMOLISH {
my $s = shift;
$s->handle->destroy if $s->_has_handle && $s->handle;
$s->_clear_soap_requests;
}
# Basic connection info
has host => (is => 'ro',
writer => '_set_host',
isa => 'Str',
default => 'messenger.hotmail.com'
);
has port => (is => 'ro',
writer => '_set_port',
isa => 'Int',
default => 1863
);
# Authentication info from user
has passport => (
is => 'ro',
isa => 'AnyEvent::MSN::Types::Passport',
required => 1,
handles => {
username => sub {
shift->passport =~ m[^(.+)\@.+$];
$1;
},
userhost => sub { shift->passport =~ m[^.+\@(.+)$]; $1 }
}
);
has password => (is => 'ro', isa => 'Str', required => 1);
# Extra stuff from user
has [qw[friendly_name personal_message]] =>
(is => 'ro', isa => 'Str', default => '');
has status => (
is => 'ro',
isa => 'AnyEvent::MSN::Types::OnlineStatus',
default => 'NLN',
( run in 1.286 second using v1.01-cache-2.11-cpan-39bf76dae61 )