1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- package NIC::Bridge::NICBase;
- use strict;
- use warnings;
- use parent qw(NIC::Bridge::_BridgedObject);
- use NIC::NICBase::Directory;
- use NIC::NICBase::File;
- use NIC::NICBase::Symlink;
- sub variables {
- my $self = shift;
- return keys %{$self->{FOR}->{VARIABLES}};
- }
- sub variable :lvalue {
- my $self = shift;
- $self->{FOR}->variable(@_);
- }
- sub mkdir {
- my $self = shift;
- my $dirname = shift;
- my $mode = shift;
- my $ref = $self->{FOR}->_getContent($dirname);
- NIC::NICBase::Directory->take($ref);
- $ref->mode($mode) if $mode;
- return $self->{CONTEXT}->_wrap($ref);
- }
- sub mkfile {
- my $self = shift;
- my $name = shift;
- my $mode = shift;
- my $ref = $self->{FOR}->_getContent($name);
- NIC::NICBase::File->take($ref);
- $ref->mode($mode) if $mode;
- return $self->{CONTEXT}->_wrap($ref);
- }
- sub symlink {
- my $self = shift;
- my $oldfile = shift;
- my $newfile = shift;
- my $ref = $self->{FOR}->_getContent($newfile);
- my $realtarget = ref($oldfile) ? $self->{CONTEXT}->_unwrap($oldfile) : $self->{FOR}->_getContentWithoutCreate($oldfile);
- $realtarget = $oldfile if !$realtarget;
- NIC::NICBase::Symlink->take($ref, $realtarget);
- return $self->{CONTEXT}->_wrap($ref);
- }
- sub lookup {
- my $self = shift;
- my $name = shift;
- return $self->{CONTEXT}->_wrap($self->{FOR}->_getContentWithoutCreate($name));
- }
- sub setConstraint {
- my $self = shift;
- my $constraint = shift;
- $self->{FOR}->addConstraint($constraint);
- }
- sub clearConstraint {
- my $self = shift;
- my $constraint = shift;
- $self->{FOR}->removeConstraint($constraint);
- }
- sub prompt {
- my $self = shift;
- $self->{CONTEXT}->_prompt($self->{FOR}, @_);
- }
- 1;
|