The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

HH::Unispool::Config::Entry::Device::3 - UNISPOOL type 3 device

SYNOPSIS

 use strict;
 
 use HH::Unispool::Config;
 use HH::Unispool::Config::OS;
 use HH::Unispool::Config::Scope;
 use HH::Unispool::Config::Entry::System;
 use HH::Unispool::Config::Entry::Device::3;
 use HH::Unispool::Config::Entry::Device::6;
 
 # Create a config from scratch with a _Local_ scope
 my $conf = HH::Unispool::Config->new( {
     scope => HH::Unispool::Config::Scope->new ( {
         scope => [ qw( _Local_) ],
     } ),
 } );
 
 # Create the _Local_ system and add it to the configuration
 my $sysn = HH::Unispool::Config::Entry::System->new( {
     name => '_Local_',
     local_system_name => 'foo',
     network_name => 'foo.bar.org',
     os => HH::Unispool::Config::OS->new( {
         os => 'Solaris',
     } ),
 } );
 $conf->add_system($sysn);
 
 # Add a type 6 device to _Local_
 my $dev = HH::Unispool::Config::Entry::Device::6->new( {
     name => 'lp1',
     filter_name => 'cat',
     remote_node_name => 'lp1.foo.bar.org',
     description => 'lp1',
 } );
 $sysn->add_device($dev);
 
 # Add another type 6 device to _Local_
 $dev = HH::Unispool::Config::Entry::Device::6->new( {
     name => 'lp2',
     filter_name => 'cat',
     remote_node_name => 'lp2.foo.bar.org',
     description => 'lp2',
 } );
 $sysn->add_device($dev);
 
 # Add a type 3 device to _Local_
 $dev = HH::Unispool::Config::Entry::Device::3->new( {
     name => 'lp',
     filter_name => 'cat',
     member_device_name => [ qw( lp1 lp2 ) ],
     description => 'lp',
 } );
 $sysn->add_device($dev);
 
 # Write the configuration
 $conf->write('t/config.sample.d3.out');

ABSTRACT

UNISPOOL type 3 device

DESCRIPTION

Class HH::Unispool::Config::Entry::Device::3 holds information for UNISPOOL type 3 device

CONSTRUCTOR

new(OPT_HASH_REF)

Creates a new HH::Unispool::Config::Entry::Device::3 object. OPT_HASH_REF is a hash reference used to pass initialization options. OPT_HASH_REF is mandatory. On error an exception Error::Simple is thrown.

Options for OPT_HASH_REF may include:

execution_priority

Passed to set_execution_priority(). Defaults to HH::Unispool::Config::ExecPri->new( { execution_priority = '' } )>.

initially_spooled

Passed to set_initially_spooled(). Defaults to 1.

member_device_name

Passed to set_member_device_name(). Must be an ARRAY reference.

networkwide

Passed to set_networkwide(). Defaults to 1.

Options for OPT_HASH_REF inherited through package HH::Unispool::Config::Entry may include:

name

Passed to set_name(). Mandatory option.

Options for OPT_HASH_REF inherited through package HH::Unispool::Config::Entry::Device may include:

description

Passed to set_description().

filter_name

Passed to set_filter_name(). Mandatory option.

Options for OPT_HASH_REF inherited through package HH::Unispool::Config::Entry::Numbered may include:

diff_number

Passed to set_diff_number(). Defaults to 0.

number

Passed to set_number().

new_from_tokenizer(TOKENIZER)

This method is an implementation from package 'HH::Unispool::Config::Entry::Device'. Constructs a new HH::Unispool::Config::Entry object using tokens. TOKENIZER is an HH::Unispool::Config::File::Tokenizer reference. On error an exception Error::Simple is thrown.

METHODS

add_members_from_tokenizer(TOKENIZER)

Adds group members to using tokens. TOKENIZER is an HH::Unispool::Config::File::Tokenizer reference. On error an exception Error::Simple is thrown.

diff(TO [, DIFF_NUMBER])

This method is an implementation from package 'HH::Unispool::Config::Entry::Device'. Finds differences between two objects. In diff terms, the object is the from object and the specified TO parameter the to object. TO is a reference to an identical object class. Returns an empty string if no difference found and a difference descritpion string otherwise. On error an exception Error::Simple is thrown. Paremeter DIFF_NUMBER if specified, overrules the value of get_diff_number.

write(FILE_HANDLE)

This method is an implementation from package 'HH::Unispool::Config::Entry::Device'. Writes the entry to the specified file handle, omitting the group members (see write_group()). FILE_HANDLE is an IO::Handle reference. On error an exception Error::Simple is thrown.

write_group(FILE_HANDLE)

Writes the group members of the entry to the specified file handle. FILE_HANDLE is an IO::Handle reference. On error an exception Error::Simple is thrown.

set_execution_priority(VALUE)

Set the execution priority of the driver process on MPE hosts. VALUE is the value. Default value at initialization is HH::Unispool::Config::ExecPri->new( { execution_priority = '' } )>. On error an exception Error::Simple is thrown.

VALUE must be a (sub)class of:
HH::Unispool::Config::ExecPri
get_execution_priority()

Returns the execution priority of the driver process on MPE hosts.

set_initially_spooled(VALUE)

State that an automatic STARTSPOOL must be performed when UNISPOOL is started. VALUE is the value. Default value at initialization is 1. On error an exception Error::Simple is thrown.

is_initially_spooled()

Returns whether an automatic STARTSPOOL must be performed when UNISPOOL is started or not.

set_member_device_name(ARRAY)

Set the list of names of the devices that can be accessed through the group device absolutely. ARRAY is the list value. Each element in the list is allowed to occur only once. Multiple occurences of the same element yield in the last occuring element to be inserted and the rest to be ignored. On error an exception Error::Simple is thrown.

The values in ARRAY must match regular expression:
^\w+$
add_member_device_name(ARRAY)

Add additional values on the list of names of the devices that can be accessed through the group device. ARRAY is the list value. The addition may not yield to multiple identical elements in the list. Hence, multiple occurences of the same element cause the last occurence to be inserted. On error an exception Error::Simple is thrown.

The values in ARRAY must match regular expression:
^\w+$
delete_member_device_name(ARRAY)

Delete elements from the list of names of the devices that can be accessed through the group device. Returns the number of deleted elements. On error an exception Error::Simple is thrown.

exists_member_device_name(ARRAY)

Returns the count of items in ARRAY that are in the list of names of the devices that can be accessed through the group device.

values_member_device_name()

Returns an ARRAY containing all values of the list of names of the devices that can be accessed through the group device.

set_networkwide(VALUE)

State that the device must be made available from each node in the configuration cluster. VALUE is the value. Default value at initialization is 1. On error an exception Error::Simple is thrown.

is_networkwide()

Returns whether the device must be made available from each node in the configuration cluster or not.

INHERITED METHODS FROM HH::Unispool::Config::Entry

To access attribute named name:

set_name(), get_name()

INHERITED METHODS FROM HH::Unispool::Config::Entry::Device

To access attribute named description:

set_description(), get_description()

To access attribute named filter_name:

set_filter_name(), get_filter_name()

INHERITED METHODS FROM HH::Unispool::Config::Entry::Numbered

To access attribute named diff_number:

set_diff_number(), is_diff_number()

To access attribute named number:

set_number(), get_number()

SEE ALSO

HH::Unispool::Config, HH::Unispool::Config::DateFormat, HH::Unispool::Config::Entry, HH::Unispool::Config::Entry::Device, HH::Unispool::Config::Entry::Device::0, HH::Unispool::Config::Entry::Device::1, HH::Unispool::Config::Entry::Device::2, HH::Unispool::Config::Entry::Device::4, HH::Unispool::Config::Entry::Device::5, HH::Unispool::Config::Entry::Device::6, HH::Unispool::Config::Entry::Device::7, HH::Unispool::Config::Entry::Filter, HH::Unispool::Config::Entry::Numbered, HH::Unispool::Config::Entry::RemoteSystem, HH::Unispool::Config::Entry::RemoteSystem::3, HH::Unispool::Config::Entry::RemoteSystem::6, HH::Unispool::Config::Entry::RemoteSystem::7, HH::Unispool::Config::Entry::RemoteSystem::8, HH::Unispool::Config::Entry::System, HH::Unispool::Config::ExecPri, HH::Unispool::Config::File::Token, HH::Unispool::Config::File::Token::Comment, HH::Unispool::Config::File::Token::Comment::Cs, HH::Unispool::Config::File::Token::Comment::Date, HH::Unispool::Config::File::Token::Comment::Device, HH::Unispool::Config::File::Token::Comment::Filter, HH::Unispool::Config::File::Token::Comment::Group, HH::Unispool::Config::File::Token::Comment::Head, HH::Unispool::Config::File::Token::Comment::Misc, HH::Unispool::Config::File::Token::Comment::NetDesc, HH::Unispool::Config::File::Token::Comment::RSys, HH::Unispool::Config::File::Token::Comment::Scope, HH::Unispool::Config::File::Token::Comment::Tail, HH::Unispool::Config::File::Token::Factory, HH::Unispool::Config::File::Token::Numbered, HH::Unispool::Config::File::Token::Numbered::Device, HH::Unispool::Config::File::Token::Numbered::Device::0, HH::Unispool::Config::File::Token::Numbered::Device::1, HH::Unispool::Config::File::Token::Numbered::Device::2, HH::Unispool::Config::File::Token::Numbered::Device::3, HH::Unispool::Config::File::Token::Numbered::Device::4, HH::Unispool::Config::File::Token::Numbered::Device::5, HH::Unispool::Config::File::Token::Numbered::Device::6, HH::Unispool::Config::File::Token::Numbered::Device::7, HH::Unispool::Config::File::Token::Numbered::Device::Group, HH::Unispool::Config::File::Token::Numbered::Device::Info, HH::Unispool::Config::File::Token::Numbered::Device::P, HH::Unispool::Config::File::Token::Numbered::Network, HH::Unispool::Config::File::Token::Numbered::System, HH::Unispool::Config::File::Token::Numbered::System::3, HH::Unispool::Config::File::Token::Numbered::System::6, HH::Unispool::Config::File::Token::Numbered::System::7, HH::Unispool::Config::File::Token::Numbered::System::8, HH::Unispool::Config::File::Token::Numbered::System::Info, HH::Unispool::Config::File::Token::Numbered::X, HH::Unispool::Config::File::Token::Unnumbered, HH::Unispool::Config::File::Token::Unnumbered::Bcs, HH::Unispool::Config::File::Token::Unnumbered::CSN, HH::Unispool::Config::File::Token::Unnumbered::Cs, HH::Unispool::Config::File::Token::Unnumbered::CsBcs, HH::Unispool::Config::File::Token::Unnumbered::Filter, HH::Unispool::Config::File::Token::Unnumbered::Host, HH::Unispool::Config::File::Token::Unnumbered::Misc, HH::Unispool::Config::File::Tokenizer, HH::Unispool::Config::FilterType, HH::Unispool::Config::OS, HH::Unispool::Config::Scope

BUGS

None known (yet.)

HISTORY

First development: February 2003

AUTHOR

Vincenzo Zocca

COPYRIGHT

Copyright 2003 by Vincenzo Zocca

LICENSE

This file is part of the HH::Unispool::Config module hierarchy for Perl by Vincenzo Zocca.

The HH::Unispool::Config module hierarchy is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

The HH::Unispool::Config module hierarchy 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 the HH::Unispool::Config module hierarchy; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA