![]() |
Exiv2
|
Implements the command line handling for the program. More...
#include <exiv2app.hpp>

Classes | |
| struct | YodAdjust |
| Structure for year, month and day adjustment command line arguments. More... | |
Public Types | |
| enum | PrintMode { pmSummary, pmList, pmComment, pmPreview, pmStructure, pmXMP, pmIccProfile, pmRecursive } |
| Enumerates print modes. | |
| enum | PrintItem { prTag = 1, prGroup = 2, prKey = 4, prName = 8, prLabel = 16, prType = 32, prCount = 64, prSize = 128, prValue = 256, prTrans = 512, prHex = 1024, prSet = 2048 } |
| Individual items to print, bitmap. | |
| enum | CommonTarget { ctExif = 1, ctIptc = 2, ctComment = 4, ctThumb = 8, ctXmp = 16, ctXmpSidecar = 32, ctPreview = 64, ctIccProfile = 128, ctXmpRaw = 256, ctStdInOut = 512, ctIptcRaw =1024 } |
| Enumerates common targets, bitmap. | |
| enum | FileExistsPolicy { overwritePolicy, renamePolicy, askPolicy } |
| Enumerates the policies to handle existing files in rename action. | |
| enum | Yod { yodYear, yodMonth, yodDay } |
| Enumerates year, month and day adjustments. | |
| typedef std::vector< std::string > | CmdFiles |
| Container for command files. | |
| typedef std::vector< std::string > | CmdLines |
| Container for commands from the command line. | |
| typedef std::vector< std::string > | Files |
| Container to store filenames. | |
| typedef std::set< int > | PreviewNumbers |
| Container for preview image numbers. | |
| typedef exv_grep_keys_t | Greps |
| Container for greps. | |
| typedef std::vector< std::string > | Keys |
| Container for keys. | |
Public Member Functions | |
| void | cleanup () |
| Destructor. | |
| int | getopt (int argc, char *const argv[]) |
| Call Getopt::getopt() with optstring, to inititate command line argument parsing, perform consistency checks after all command line arguments are parsed. More... | |
| virtual int | option (int opt, const std::string &optarg, int optopt) |
| Handle options and their arguments. | |
| virtual int | nonoption (const std::string &argv) |
| Handle non-option parameters. | |
| void | usage (std::ostream &os=std::cout) const |
| Print a minimal usage note to an output stream. | |
| void | help (std::ostream &os=std::cout) const |
| Print further usage explanations to an output stream. | |
| void | version (bool verbose=false, std::ostream &os=std::cout) const |
| Print version information to an output stream. | |
| void | getStdin (Exiv2::DataBuf &buf) |
| getStdin binary data read from stdin to DataBuf | |
Static Public Member Functions | |
| static Params & | instance () |
| Controls all access to the global Params instance. More... | |
| static std::string | printTarget (const std::string &before, int target, bool bPrint=false, std::ostream &os=std::cout) |
| Print target_. | |
Public Attributes | |
| bool | help_ |
| Help option flag. | |
| bool | version_ |
| Version option flag. | |
| bool | verbose_ |
| Verbose (talkative) option flag. | |
| bool | force_ |
| Force overwrites flag. | |
| bool | binary_ |
| Suppress long binary values. | |
| bool | unknown_ |
| Suppress unknown tags. | |
| bool | preserve_ |
| Preserve timestamps flag. | |
| bool | timestamp_ |
| Rename also sets the file timestamp. | |
| bool | timestampOnly_ |
| Rename only sets the file timestamp. | |
| FileExistsPolicy | fileExistsPolicy_ |
| What to do if file to rename exists. | |
| bool | adjust_ |
| Adjustment flag. | |
| PrintMode | printMode_ |
| Print mode. | |
| unsigned long | printItems_ |
| Print items. | |
| unsigned long | printTags_ |
| Print tags (bitmap of MetadataId flags). Action (integer rather than TaskType to avoid dependency). | |
| int | action_ |
| int | target_ |
| What common target to process. | |
| long | adjustment_ |
| Adjustment in seconds. | |
| YodAdjust | yodAdjust_ [3] |
| Year, month and day adjustment info. | |
| std::string | format_ |
| Filename format (-r option arg). | |
| bool | formatSet_ |
| Whether the format is set with -r. | |
| CmdFiles | cmdFiles_ |
| Names of the modification command files. | |
| CmdLines | cmdLines_ |
| Commands from the command line. | |
| ModifyCmds | modifyCmds_ |
| Parsed modification commands. | |
| std::string | jpegComment_ |
| Jpeg comment to set in the image. | |
| std::string | directory_ |
| Location for files to extract/insert. | |
| std::string | suffix_ |
| File extension of the file to insert. | |
| Files | files_ |
| List of non-option arguments. | |
| PreviewNumbers | previewNumbers_ |
| List of preview numbers. | |
| Greps | greps_ |
| List of keys to 'grep' from the metadata. | |
| Keys | keys_ |
| List of keys to match from the metadata. | |
| std::string | charset_ |
| Charset to use for UNICODE Exif user comment. | |
| Exiv2::DataBuf | stdinBuf |
| DataBuf with the binary bytes from stdin. | |
Implements the command line handling for the program.
Derives from Util::Getopt to use the command line argument parsing functionality provided there. This class is implemented as a singleton, i.e., there is only one global instance of it, which can be accessed from everywhere.
Usage example:
| int Params::getopt | ( | int | argc, |
| char *const | argv[] | ||
| ) |
Call Getopt::getopt() with optstring, to inititate command line argument parsing, perform consistency checks after all command line arguments are parsed.
| argc | Argument count as passed to main() on program invocation. |
| argv | Argument array as passed to main() on program invocation. |
|
static |
1.8.14