tageditor/cli/mainfeatures.h

57 lines
2.7 KiB
C++

#ifndef MAINFEATURES_H
#define MAINFEATURES_H
#include <tagparser/tagvalue.h>
#include <c++utilities/application/argumentparser.h>
#include <vector>
namespace ApplicationUtilities {
class Argument;
}
namespace Cli {
struct SetTagInfoArgs
{
SetTagInfoArgs(ApplicationUtilities::Argument &filesArg, ApplicationUtilities::Argument &verboseArg);
ApplicationUtilities::Argument &filesArg;
ApplicationUtilities::Argument &verboseArg;
ApplicationUtilities::Argument docTitleArg;
ApplicationUtilities::Argument removeOtherFieldsArg;
ApplicationUtilities::Argument treatUnknownFilesAsMp3FilesArg;
ApplicationUtilities::Argument id3v1UsageArg;
ApplicationUtilities::Argument id3v2UsageArg;
ApplicationUtilities::Argument mergeMultipleSuccessiveTagsArg;
ApplicationUtilities::Argument id3v2VersionArg;
ApplicationUtilities::Argument encodingArg;
ApplicationUtilities::Argument removeTargetsArg;
ApplicationUtilities::Argument attachmentsArg;
ApplicationUtilities::Argument removeExistingAttachmentsArg;
ApplicationUtilities::Argument minPaddingArg;
ApplicationUtilities::Argument maxPaddingArg;
ApplicationUtilities::Argument prefPaddingArg;
ApplicationUtilities::Argument tagPosValueArg;
ApplicationUtilities::Argument forceTagPosArg;
ApplicationUtilities::Argument tagPosArg;
ApplicationUtilities::Argument indexPosValueArg;
ApplicationUtilities::Argument forceIndexPosArg;
ApplicationUtilities::Argument indexPosArg;
ApplicationUtilities::Argument forceRewriteArg;
ApplicationUtilities::Argument valuesArg;
ApplicationUtilities::Argument setTagInfoArg;
};
void printFieldNames(const std::vector<const char *> &parameterValues);
void displayFileInfo(const std::vector<const char *> &, const ApplicationUtilities::Argument &filesArg, const ApplicationUtilities::Argument &verboseArg);
void generateFileInfo(const std::vector<const char *> &parameterValues, const ApplicationUtilities::Argument &inputFileArg, const ApplicationUtilities::Argument &outputFileArg, const ApplicationUtilities::Argument &validateArg);
void displayTagInfo(const std::vector<const char *> &parameterValues, const ApplicationUtilities::Argument &filesArg, const ApplicationUtilities::Argument &verboseArg);
void setTagInfo(const std::vector<const char *> &parameterValues, const Cli::SetTagInfoArgs &args);
void extractField(const std::vector<const char *> &parameterValues, const ApplicationUtilities::Argument &inputFileArg, const ApplicationUtilities::Argument &outputFileArg, const ApplicationUtilities::Argument &verboseArg);
void removeBackupFiles(const std::vector<const char *> &parameterValues, const ApplicationUtilities::Argument &recursiveArg);
}
#endif // MAINFEATURES_H