view lib/IMPL/Const.pm @ 416:cc2cf8c0edc2 ref20150831

sync
author cin
date Thu, 29 Oct 2015 03:50:25 +0300
parents c6e90e02dd17
children
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_DIRECT
          )
    ],
    prop => [
        qw(
          &PROP_GET
          &PROP_SET
          &PROP_OWNERSET
          &PROP_LIST
          &PROP_ALL
          &PROP_RO
          &PROP_RW
          &PROP_DIRECT
          )
    ],
    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,
    PROP_DIRECT      => 16
};

1;