view Lib/IMPL/Const.pm @ 275:6253872024a4

*refactoring IMPL::Class
author cin
date Thu, 31 Jan 2013 02:18:31 +0400
parents 6d8092d8ce1b
children 4ddb27ff4a0b
line wrap: on
line source

package IMPL::Const;
use strict;

use parent qw(Exporter);

our %EXPORT_TAGS = (
    all => [
        qw(
          &ACCESS_PUBLIC
          &ACCESS_PROTECTED
          &ACCESS_PRIVATE
          &PROP_GET
          &PROP_SET
          &PROP_OWNERSET
          &PROP_LIST
          &PROP_ALL
          )
    ],
    prop => [
        qw(
          &PROP_GET
          &PROP_SET
          &PROP_OWNERSET
          &PROP_LIST
          &PROP_ALL
          &PROP_RO
          &PROP_RW
          )
    ],
    access => [
        qw(
          &ACCESS_PUBLIC
          &ACCESS_PROTECTED
          &ACCESS_PRIVATE
          )
    ]
    
);

our @EXPORT_OK = keys %{ { map (($_,1) , map (@{$_}, values %EXPORT_TAGS) ) } };

use constant {
    ACCESS_PUBLIC    => 1,
    ACCESS_PROTECTED => 2,
    ACCESS_PRIVATE   => 3,
    PROP_GET         => 1,
    PROP_SET         => 2,
    PROP_OWNERSET    => 10,
    PROP_LIST        => 4,
    PROP_ALL         => 3,
    PROP_RW          => 3,
    PROP_RO          => 11
};

1;