package X10::Zone; #------------------------------------------------------------------------------# # Libraries. # #------------------------------------------------------------------------------# use 5.006; use version; our $VERSION = qv('0.01'); use lib qw'lib/ ../lib'; use strict; use warnings; use Data::Dumper; #------------------------------------------------------------------------------# # Attributes. # #------------------------------------------------------------------------------# sub new { my $self = {}; $self->{TYPE} = undef; $self->{PARENT} = undef; $self->{NAME} = undef; $self->{SECURITY} = undef; $self->{STATE} = undef; $self->{BATTERY} = undef; $self->{HU} = undef; $self->{LIST} = {}; bless($self); return $self; } sub type { my $self = shift; if (@_) { $self->{TYPE} = shift } return $self->{TYPE}; } sub parent { my $self = shift; if (@_) { $self->{PARENT} = shift } return $self->{PARENT}; } sub name { my $self = shift; if (@_) { $self->{NAME} = shift } return $self->{NAME}; } sub security { my $self = shift; if (@_) { $self->{SECURITY} = shift } return $self->{SECURITY}; } sub state { my $self = shift; if (@_) { $self->{STATE} = shift } return $self->{STATE}; } sub battery { my $self = shift; if (@_) { $self->{BATTERY} = shift } return $self->{BATTERY}; } sub hu { my $self = shift; if (@_) { $self->{HU} = shift } return $self->{HU}; } sub list { my $self = shift; if (@_) { $self->{LIST} = shift } return $self->{LIST}; } sub add_to_list { my ($self, $name, $zone) = @_; my $zone_list = $self->list; $zone_list->{$name} = $zone; $self->list($zone_list); }