Loading...
Searching...
No Matches
Params Class Reference

Implements the command line handling for the program. More...

`#include <exiv2app.hpp>`

Inheritance diagram for Params:
[legend]

## 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.

## Static Public Member Functions

static Params & | instance ()
| Controls all access to the global Params instance.

## 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.

## Helpers

static std::string | printTarget (const std::string &before, int target, bool bPrint=false, std::ostream &os=std::cout)
| Print target_.
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.
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

## Detailed Description

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:

#include "params.h"
int main(int argc, char* const argv[])
{
Params& params = Params::instance();
if (params.getopt(argc, argv)) {
params.usage();
return 1;
}
if (params.help_) {
params.help();
return 0;
}
if (params.version_) {
params.version();
return 0;
}
// do something useful here...
return 0;
}
Params
Implements the command line handling for the program.
Definition exiv2app.hpp:138
Params::usage
void usage(std::ostream &os=std::cout) const
Print a minimal usage note to an output stream.
Definition exiv2.cpp:241
Params::help
void help(std::ostream &os=std::cout) const
Print further usage explanations to an output stream.
Definition exiv2.cpp:267
Params::version_
bool version_
Version option flag.
Definition exiv2app.hpp:221
Params::getopt
int getopt(int argc, char *const argv[])
Call Getopt::getopt() with optstring, to inititate command line argument parsing, perform consistency...
Definition exiv2.cpp:1007
Params::version
void version(bool verbose=false, std::ostream &os=std::cout) const
Print version information to an output stream.
Definition exiv2.cpp:217
Params::instance
static Params & instance()
Controls all access to the global Params instance.
Definition exiv2.cpp:195
Params::help_
bool help_
Help option flag.
Definition exiv2app.hpp:220

Examples
  metacopy.cpp.

## Member Function Documentation

## getopt()

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.

Parameters

  argc | Argument count as passed to main() on program invocation.
  argv | Argument array as passed to main() on program invocation.

Returns
  0 if successful, >0 in case of errors.

Examples
  metacopy.cpp.

References adjust_, cleanup(), cmdFiles_, cmdLines_, directory_, files_, help_, jpegComment_, modifyCmds_, suffix_, timestamp_, timestampOnly_, Exiv2::XmpProperties::unregisterNs(), version_, and yodAdjust_.

## instance()

Params & Params::instance | ( |  | ) |

static

Controls all access to the global Params instance.

Returns
  Reference to the global Params instance.

Referenced by version().

The documentation for this class was generated from the following files:

- exiv2app.hpp
- exiv2.cpp