// Generated by using Rcpp::compileAttributes() -> do not edit by hand
// Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393

#include <Rcpp.h>

using namespace Rcpp;

#ifdef RCPP_USE_GLOBAL_ROSTREAM
Rcpp::Rostream<true>&  Rcpp::Rcout = Rcpp::Rcpp_cout_get();
Rcpp::Rostream<false>& Rcpp::Rcerr = Rcpp::Rcpp_cerr_get();
#endif

// cpp_pdf_length
int cpp_pdf_length(char const* infile, char const* password);
RcppExport SEXP _qpdf_cpp_pdf_length(SEXP infileSEXP, SEXP passwordSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< char const* >::type infile(infileSEXP);
    Rcpp::traits::input_parameter< char const* >::type password(passwordSEXP);
    rcpp_result_gen = Rcpp::wrap(cpp_pdf_length(infile, password));
    return rcpp_result_gen;
END_RCPP
}
// cpp_pdf_split
Rcpp::CharacterVector cpp_pdf_split(char const* infile, std::string outprefix, char const* password);
RcppExport SEXP _qpdf_cpp_pdf_split(SEXP infileSEXP, SEXP outprefixSEXP, SEXP passwordSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< char const* >::type infile(infileSEXP);
    Rcpp::traits::input_parameter< std::string >::type outprefix(outprefixSEXP);
    Rcpp::traits::input_parameter< char const* >::type password(passwordSEXP);
    rcpp_result_gen = Rcpp::wrap(cpp_pdf_split(infile, outprefix, password));
    return rcpp_result_gen;
END_RCPP
}
// cpp_pdf_select
Rcpp::CharacterVector cpp_pdf_select(char const* infile, char const* outfile, Rcpp::IntegerVector which, char const* password);
RcppExport SEXP _qpdf_cpp_pdf_select(SEXP infileSEXP, SEXP outfileSEXP, SEXP whichSEXP, SEXP passwordSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< char const* >::type infile(infileSEXP);
    Rcpp::traits::input_parameter< char const* >::type outfile(outfileSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type which(whichSEXP);
    Rcpp::traits::input_parameter< char const* >::type password(passwordSEXP);
    rcpp_result_gen = Rcpp::wrap(cpp_pdf_select(infile, outfile, which, password));
    return rcpp_result_gen;
END_RCPP
}
// cpp_pdf_combine
Rcpp::CharacterVector cpp_pdf_combine(Rcpp::CharacterVector infiles, char const* outfile, char const* password);
RcppExport SEXP _qpdf_cpp_pdf_combine(SEXP infilesSEXP, SEXP outfileSEXP, SEXP passwordSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< Rcpp::CharacterVector >::type infiles(infilesSEXP);
    Rcpp::traits::input_parameter< char const* >::type outfile(outfileSEXP);
    Rcpp::traits::input_parameter< char const* >::type password(passwordSEXP);
    rcpp_result_gen = Rcpp::wrap(cpp_pdf_combine(infiles, outfile, password));
    return rcpp_result_gen;
END_RCPP
}
// cpp_pdf_compress
Rcpp::CharacterVector cpp_pdf_compress(char const* infile, char const* outfile, bool linearize, char const* password);
RcppExport SEXP _qpdf_cpp_pdf_compress(SEXP infileSEXP, SEXP outfileSEXP, SEXP linearizeSEXP, SEXP passwordSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< char const* >::type infile(infileSEXP);
    Rcpp::traits::input_parameter< char const* >::type outfile(outfileSEXP);
    Rcpp::traits::input_parameter< bool >::type linearize(linearizeSEXP);
    Rcpp::traits::input_parameter< char const* >::type password(passwordSEXP);
    rcpp_result_gen = Rcpp::wrap(cpp_pdf_compress(infile, outfile, linearize, password));
    return rcpp_result_gen;
END_RCPP
}
// cpp_pdf_rotate_pages
Rcpp::CharacterVector cpp_pdf_rotate_pages(char const* infile, char const* outfile, Rcpp::IntegerVector which, int angle, bool relative, char const* password);
RcppExport SEXP _qpdf_cpp_pdf_rotate_pages(SEXP infileSEXP, SEXP outfileSEXP, SEXP whichSEXP, SEXP angleSEXP, SEXP relativeSEXP, SEXP passwordSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< char const* >::type infile(infileSEXP);
    Rcpp::traits::input_parameter< char const* >::type outfile(outfileSEXP);
    Rcpp::traits::input_parameter< Rcpp::IntegerVector >::type which(whichSEXP);
    Rcpp::traits::input_parameter< int >::type angle(angleSEXP);
    Rcpp::traits::input_parameter< bool >::type relative(relativeSEXP);
    Rcpp::traits::input_parameter< char const* >::type password(passwordSEXP);
    rcpp_result_gen = Rcpp::wrap(cpp_pdf_rotate_pages(infile, outfile, which, angle, relative, password));
    return rcpp_result_gen;
END_RCPP
}
// cpp_pdf_overlay
Rcpp::CharacterVector cpp_pdf_overlay(char const* infile, char const* stampfile, char const* outfile, char const* password);
RcppExport SEXP _qpdf_cpp_pdf_overlay(SEXP infileSEXP, SEXP stampfileSEXP, SEXP outfileSEXP, SEXP passwordSEXP) {
BEGIN_RCPP
    Rcpp::RObject rcpp_result_gen;
    Rcpp::RNGScope rcpp_rngScope_gen;
    Rcpp::traits::input_parameter< char const* >::type infile(infileSEXP);
    Rcpp::traits::input_parameter< char const* >::type stampfile(stampfileSEXP);
    Rcpp::traits::input_parameter< char const* >::type outfile(outfileSEXP);
    Rcpp::traits::input_parameter< char const* >::type password(passwordSEXP);
    rcpp_result_gen = Rcpp::wrap(cpp_pdf_overlay(infile, stampfile, outfile, password));
    return rcpp_result_gen;
END_RCPP
}

static const R_CallMethodDef CallEntries[] = {
    {"_qpdf_cpp_pdf_length", (DL_FUNC) &_qpdf_cpp_pdf_length, 2},
    {"_qpdf_cpp_pdf_split", (DL_FUNC) &_qpdf_cpp_pdf_split, 3},
    {"_qpdf_cpp_pdf_select", (DL_FUNC) &_qpdf_cpp_pdf_select, 4},
    {"_qpdf_cpp_pdf_combine", (DL_FUNC) &_qpdf_cpp_pdf_combine, 3},
    {"_qpdf_cpp_pdf_compress", (DL_FUNC) &_qpdf_cpp_pdf_compress, 4},
    {"_qpdf_cpp_pdf_rotate_pages", (DL_FUNC) &_qpdf_cpp_pdf_rotate_pages, 6},
    {"_qpdf_cpp_pdf_overlay", (DL_FUNC) &_qpdf_cpp_pdf_overlay, 4},
    {NULL, NULL, 0}
};

RcppExport void R_init_qpdf(DllInfo *dll) {
    R_registerRoutines(dll, NULL, CallEntries, NULL, NULL);
    R_useDynamicSymbols(dll, FALSE);
}
