![]() |
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 |