aboutsummaryrefslogtreecommitdiffstats
path: root/lib/AdminPanel/Shared/Hosts.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/AdminPanel/Shared/Hosts.pm')
-rw-r--r--lib/AdminPanel/Shared/Hosts.pm216
1 files changed, 0 insertions, 216 deletions
diff --git a/lib/AdminPanel/Shared/Hosts.pm b/lib/AdminPanel/Shared/Hosts.pm
deleted file mode 100644
index d3b7fc9..0000000
--- a/lib/AdminPanel/Shared/Hosts.pm
+++ /dev/null
@@ -1,216 +0,0 @@
-# vim: set et ts=4 sw=4:
-#*****************************************************************************
-#
-# Copyright (c) 2013-2015 Matteo Pasotti <matteo.pasotti@gmail.com>
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 2, as
-# published by the Free Software Foundation.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-#*****************************************************************************
-package ManaTools::Shared::Hosts;
-
-use Moose;
-use diagnostics;
-use Config::Hosts;
-use Net::DBus;
-use utf8;
-
-# costants by Config::Hosts
-my $is_ip = 1;
-my $is_host = -1;
-my $is_none = 0;
-
-has 'configHosts' => (
- is => 'rw',
- init_arg => undef,
- builder => '_initialize'
-);
-
-has 'dbusConnectionParams' => (
- is => 'ro',
- isa => 'HashRef',
- builder => '_initDBusConnectionParams',
-);
-
-sub _initialize {
- my $self = shift();
- $self->configHosts(Config::Hosts->new());
-}
-
-sub _initDBusConnectionParams {
- my $self = shift();
- my %dbusConnParams = ( 'servicePath' => 'org.freedesktop.hostname1', 'objectPath' => '/org/freedesktop/hostname1' );
- return \%dbusConnParams;
-}
-
-=pod
-
-=head2 _getHosts
-
-=head3 OUTPUT
-
- @result: array of hashes; each one of them represent a host definition from the hosts configuration file
-
- NOTE: the 'hosts' item into each hash is an array: it contains the hostname and -eventually- the aliases
-
-=head3 DESCRIPTION
-
-retrieve data from the hosts file (/etc/hosts) using the Config::Hosts module
-
-=cut
-
-sub _getHosts {
- my $self = shift();
- # $self->configHosts(Config::Hosts->new());
- my $hosts = $self->configHosts->read_hosts();
- my @result = ();
- while( my ($key, $value) = each(%{$hosts})){
- if($self->configHosts->determine_ip_or_host($key) == $is_ip){
- my $tmp = {};
- $tmp = $self->configHosts->query_host($key);
- $tmp->{'ip'} = $key;
- push @result,$tmp;
- }
- }
- return @result;
-}
-
-sub _insertHost {
- my $self = shift();
- # remember that the order matters!
- my $ip = shift();
- my @host_definitions = @_;
- # $self->configHosts = Config::Hosts->new();
- return $self->configHosts->insert_host(ip => $ip, hosts => @host_definitions);
-}
-
-sub _dropHost {
- my $self = shift();
- my $host_ip = shift();
- return $self->configHosts->delete_host($host_ip);
-}
-
-sub _modifyHost {
- my $self = shift();
- my $host_ip = shift();
- my @host_definitions = @_;
- return $self->configHosts->update_host($host_ip, hosts => @host_definitions);
-}
-
-sub _writeHosts {
- my $self = shift();
- return $self->configHosts->write_hosts();
-}
-
-sub _dbus_connection {
- my $self = shift();
- my %params = %{$self->dbusConnectionParams()};
- my $bus = Net::DBus->system;
- my $service = $bus->get_service($params{'servicePath'});
- my $object = $service->get_object($params{'objectPath'});
- return $object;
-}
-
-sub _dbus_inquiry {
- my $self = shift();
- my $required_field = shift();
- my $object = $self->_dbus_connection();
- my %params = %{$self->dbusConnectionParams()};
- my $properties = $object->GetAll($params{'servicePath'});
- return $properties->{$required_field} if(defined($properties->{$required_field}));
- return 0;
-}
-
-sub _dbus_setup {
- my $self = shift();
- my $attribute = shift();
- my $value = shift();
- my $object = $self->_dbus_connection();
- if($attribute eq "Hostname")
- {
- $object->SetHostname($value,1);
- }
- elsif($attribute eq "PrettyHostname")
- {
- $object->SetPrettyHostname($value,1);
- }
- elsif($attribute eq "StaticHostname")
- {
- $object->SetStaticHostname($value,1);
- }
- elsif($attribute eq "Chassis")
- {
- $object->SetChassis($value,1);
- }
- elsif($attribute eq "IconName")
- {
- $object->SetIconName($value,1);
- }
-}
-
-sub _getLocalHostName {
- my $self = shift();
- return $self->_dbus_inquiry('Hostname');
-}
-
-sub _getLocalPrettyHostName {
- my $self = shift();
- return $self->_dbus_inquiry('PrettyHostname');
-}
-
-sub _getLocalStaticHostName {
- my $self = shift();
- return $self->_dbus_inquiry('StaticHostname');
-}
-
-sub _getLocalChassis {
- my $self = shift();
- return $self->_dbus_inquiry('Chassis');
-}
-
-sub _getLocalIconName {
- my $self = shift();
- return $self->_dbus_inquiry('IconName');
-}
-
-sub _setLocalHostName {
- my $self = shift();
- my $hostname = shift();
- $self->_dbus_setup('Hostname',$hostname);
-}
-
-sub _setLocalPrettyHostName {
- my $self = shift();
- my $value = shift();
- $self->_dbus_setup('PrettyHostname',$value);
-}
-
-sub _setLocalStaticHostName {
- my $self = shift();
- my $value = shift();
- $self->_dbus_setup('StaticHostname',$value);
-}
-
-sub _setLocalIconName {
- my $self = shift();
- my $value = shift();
- $self->_dbus_setup('IconName',$value);
-}
-
-sub _setLocalChassis {
- my $self = shift();
- my $value = shift();
- $self->_dbus_setup('Chassis',$value);
-}
-
-1;