X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=lib%2FFile%2FKDBX%2FConstants.pm;h=fe806242adefadae5090249e022c85bfa080e2a2;hb=37b09e0f2832514b33de4499a83f22d5ffe7c0a3;hp=51e7e4cac8d4be1897c096c298d4225ce809afcc;hpb=b4e8407685b3f9ce0193aedf05f6651ed588a448;p=chaz%2Fp5-File-KDBX diff --git a/lib/File/KDBX/Constants.pm b/lib/File/KDBX/Constants.pm index 51e7e4c..fe80624 100644 --- a/lib/File/KDBX/Constants.pm +++ b/lib/File/KDBX/Constants.pm @@ -274,8 +274,10 @@ BEGIN { } our %EXPORT_TAGS; -push @{$EXPORT_TAGS{header}}, 'KDBX_HEADER'; -push @{$EXPORT_TAGS{inner_header}}, 'KDBX_INNER_HEADER'; +push @{$EXPORT_TAGS{header}}, 'kdbx_header'; +push @{$EXPORT_TAGS{compression}}, 'compression'; +push @{$EXPORT_TAGS{inner_header}}, 'kdbx_inner_header'; +push @{$EXPORT_TAGS{icon}}, 'icon'; $EXPORT_TAGS{all} = [map { @$_ } values %EXPORT_TAGS]; our @EXPORT_OK = sort @{$EXPORT_TAGS{all}}; @@ -289,8 +291,13 @@ for my $header ( ) { $HEADER{$header} = $HEADER{0+$header} = $header; } -sub KDBX_HEADER { $HEADER{$_[0]} } +sub kdbx_header { $HEADER{$_[0]} } +my %COMPRESSION; +for my $compression (COMPRESSION_NONE, COMPRESSION_GZIP) { + $COMPRESSION{$compression} = $COMPRESSION{0+$compression} = $compression; +} +sub compression { $COMPRESSION{$_[0]} } my %INNER_HEADER; for my $inner_header ( @@ -299,7 +306,25 @@ for my $inner_header ( ) { $INNER_HEADER{$inner_header} = $INNER_HEADER{0+$inner_header} = $inner_header; } -sub KDBX_INNER_HEADER { $INNER_HEADER{$_[0]} } +sub kdbx_inner_header { $INNER_HEADER{$_[0]} } + +my %ICON; +for my $icon ( + ICON_PASSWORD, ICON_PACKAGE_NETWORK, ICON_MESSAGEBOX_WARNING, ICON_SERVER, ICON_KLIPPER, + ICON_EDU_LANGUAGES, ICON_KCMDF, ICON_KATE, ICON_SOCKET, ICON_IDENTITY, ICON_KONTACT, ICON_CAMERA, + ICON_IRKICKFLASH, ICON_KGPG_KEY3, ICON_LAPTOP_POWER, ICON_SCANNER, ICON_MOZILLA_FIREBIRD, + ICON_CDROM_UNMOUNT, ICON_DISPLAY, ICON_MAIL_GENERIC, ICON_MISC, ICON_KORGANIZER, ICON_ASCII, ICON_ICONS, + ICON_CONNECT_ESTABLISHED, ICON_FOLDER_MAIL, ICON_FILESAVE, ICON_NFS_UNMOUNT, ICON_MESSAGE, ICON_KGPG_TERM, + ICON_KONSOLE, ICON_FILEPRINT, ICON_FSVIEW, ICON_RUN, ICON_CONFIGURE, ICON_KRFB, ICON_ARK, + ICON_KPERCENTAGE, ICON_SAMBA_UNMOUNT, ICON_HISTORY, ICON_MAIL_FIND, ICON_VECTORGFX, ICON_KCMMEMORY, + ICON_TRASHCAN_FULL, ICON_KNOTES, ICON_CANCEL, ICON_HELP, ICON_KPACKAGE, ICON_FOLDER, + ICON_FOLDER_BLUE_OPEN, ICON_FOLDER_TAR, ICON_DECRYPTED, ICON_ENCRYPTED, ICON_APPLY, ICON_SIGNATURE, + ICON_THUMBNAIL, ICON_KADDRESSBOOK, ICON_VIEW_TEXT, ICON_KGPG, ICON_PACKAGE_DEVELOPMENT, ICON_KFM_HOME, + ICON_SERVICES, ICON_TUX, ICON_FEATHER, ICON_APPLE, ICON_W, ICON_MONEY, ICON_CERTIFICATE, ICON_SMARTPHONE, +) { + $ICON{$icon} = $ICON{0+$icon} = $icon; +} +sub icon { $ICON{$_[0] // ''} // ICON_PASSWORD } 1; __END__ @@ -380,7 +405,13 @@ Constants related to parsing and generating KDBX file headers: = C = C = C -= C + +=func kdbx_header + + $constant = kdbx_header($number); + $constant = kdbx_header($string); + +Get a header constant from an integer or string value. =head2 :compression @@ -390,6 +421,13 @@ Constants related to identifying the compression state of a file: = C = C +=func compression + + $constant = compression($number); + $constant = compression($string); + +Get a compression constant from an integer or string value. + =head2 :cipher Constants related ciphers: @@ -465,7 +503,13 @@ Constants related to parsing and generating KDBX4 inner headers: = C = C = C -= C + +=func kdbx_inner_header + + $constant = kdbx_inner_header($number); + $constant = kdbx_inner_header($string); + +Get an inner header constant from an integer or string value. =head2 :key_file @@ -560,6 +604,13 @@ Constants for default icons used by KeePass password safe implementations: = C = C +=func icon + + $constant = icon($number); + $constant = icon($string); + +Get an icon constant from an integer or string value. + =head2 :bool Boolean values: