useDynLib(tools, .registration = TRUE, .fixes = "C_")

## Bootstrapping R ==> do _not_ import, rather use  ' :: '

export("Adobe_glyphs", "HTMLheader", "Rcmd", "Rd2HTML", "Rd2ex",
       "Rd2latex", "Rd2txt", "Rd2txt_options", "RdTextFilter", "Rd_db",
       "Rdiff", "Rdindex", "SweaveTeXFilter", "add_datalist",
       "assertCondition", "assertError", "assertWarning", "bibstyle",
       "buildVignette", "buildVignettes", "charset_to_Unicode",
       "checkDocFiles", "checkDocStyle", "checkFF", "checkMD5sums",
       "checkNEWS", "checkRd", "checkPoFile", "checkPoFiles",
       "checkRdaFiles", "checkReplaceFuns", "checkS3methods",
       "checkTnF", "checkVignettes", "codoc", "codocClasses",
       "codocData", "compactPDF", "delimMatch", "deparseLatex",
       "dependsOnPkgs", "encoded_text_to_latex", "file_ext",
       "file_path_as_absolute", "file_path_sans_ext", "findHTMLlinks",
       "find_gs_cmd", "getBibstyle", "getVignetteInfo",
       langElts, "latexToUtf8", "list_files_with_exts",
       "list_files_with_type", "loadRdMacros", "loadPkgRdMacros",
       "makevars_site", "makevars_user",
       nonS3methods,
       "make_translations_pkg", "md5sum",
       package.dependencies,# R/package.dependencies.R man/package.dependencies.Rd
       getDepList, pkgDepends, installFoundDepends,# R/pkgDepends.R man/getDepList.Rd man/installFoundDepends.Rd
       ## but vignetteDepends() calls  getDepList()
       "package_dependencies",
       "package_native_routine_registration_skeleton",
       "parseLatex", "parse_Rd",
       "pkgVignettes", "pskill", "psnice", "read.00Index", "readNEWS",
       "resaveRdaFiles", "showNonASCII", "showNonASCIIfile",
       "startDynamicHelp", "testInstalledBasic",
       "testInstalledPackage", "testInstalledPackages", "texi2dvi",
       "texi2pdf", "toHTML", "toRd", "toTitleCase", "undoc",
       "update_pkg_po", "vignetteDepends", "vignetteEngine",
       "write_PACKAGES", "xgettext", "xgettext2pot", "xngettext")

export("check_packages_in_dir",
       "summarize_check_packages_in_dir_depends",
       "summarize_check_packages_in_dir_results",
       "summarize_check_packages_in_dir_timings",
       "check_packages_in_dir_changes",
       "check_packages_in_dir_details")

export("CRAN_package_db",
       "CRAN_check_results",
       "CRAN_check_details",
       "CRAN_check_issues",
       "CRAN_memtest_notes",
       "summarize_CRAN_check_status")

export(".print.via.format")

exportPattern("^SIG.+")

S3method("[", "pdf_doc")
S3method("[[", "pdf_doc")

S3method("as.character", "Rd")

S3method("format", "check_Rd_contents")
S3method("format", "check_Rd_line_widths")
S3method("format", "check_Rd_metadata")
S3method("format", "check_Rd_xrefs")
S3method("format", "check_T_and_F")
S3method("format", "check_code_usage_in_package")
S3method("format", "check_compiled_code")
S3method("format", "check_depdef")
S3method("format", "check_details")
S3method("format", "check_details_changes")
S3method("format", "check_doi_db")
S3method("format", "check_dotInternal")
S3method("format", "check_make_vars")
S3method("format", "check_package_CRAN_incoming")
S3method("format", "check_package_code_assign_to_globalenv")
S3method("format", "check_package_code_attach")
S3method("format", "check_package_code_startup_functions")
S3method("format", "check_package_datasets")
S3method("format", "check_package_depends")
S3method("format", "check_package_description2")
S3method("format", "check_package_description_encoding")
S3method("format", "check_package_license")
S3method("format", "check_packages_used")
S3method("format", "check_so_symbols")
S3method("format", "check_nonAPI_calls")
S3method("format", "check_RegSym_calls")
S3method("format", "check_url_db")
S3method("format", "checkDocFiles")
S3method("format", "checkDocStyle")
S3method("format", "checkFF")
S3method("format", "checkReplaceFuns")
S3method("format", "checkS3methods")
S3method("format", "checkTnF")
S3method("format", "codocClasses")
S3method("format", "codocData")
S3method("format", "compactPDF")
S3method("format", "subdir_tests")
S3method("format", "undoc")

S3method("format", "CRAN_package_reverse_dependencies_and_views")
S3method("format", "summarize_CRAN_check_status")

S3method("format", "pdf_fonts")
S3method("format", "pdf_info")
S3method("format", "PDF_Array")
S3method("format", "PDF_Dictionary")
S3method("format", "PDF_Indirect_Reference")
S3method("format", "PDF_Stream")
S3method("format", "PDF_String")

S3method("length", "pdf_doc")

S3method("names", "pdf_doc")

S3method("print", "LaTeX")
S3method("print", "Rd")
S3method("print", "checkDocFiles", .print.via.format)
S3method("print", "checkDocStyle", .print.via.format)
S3method("print", "checkFF", .print.via.format)
S3method("print", "checkRd")
S3method("print", "checkReplaceFuns", .print.via.format)
S3method("print", "checkS3methods", .print.via.format)
S3method("print", "checkTnF", .print.via.format)
S3method("print", "checkVignettes")
S3method("print", "codoc")
S3method("print", "codocClasses", .print.via.format)
S3method("print", "codocData", .print.via.format)
S3method("print", "compactPDF", .print.via.format)
S3method("print", "subdir_tests", .print.via.format)
S3method("print", "undoc", .print.via.format)
S3method("print", "xgettext")
S3method("print", "xngettext")

S3method("print", "pdf_doc")
S3method("print", "pdf_fonts")
S3method("print", "pdf_info", .print.via.format)
S3method("print", "PDF_Array", .print.via.format)
S3method("print", "PDF_Dictionary", .print.via.format)
S3method("print", "PDF_Indirect_Reference", .print.via.format)
S3method("print", "PDF_Keyword")
S3method("print", "PDF_Name")
S3method("print", "PDF_Stream", .print.via.format)
S3method("print", "PDF_String", .print.via.format)

S3method("print", "check_Rd_contents", .print.via.format)
S3method("print", "check_Rd_line_widths", .print.via.format)
S3method("print", "check_Rd_metadata", .print.via.format)
S3method("print", "check_Rd_xrefs", .print.via.format)
S3method("print", "check_T_and_F", .print.via.format)
S3method("print", "check_code_usage_in_package", .print.via.format)
S3method("print", "check_compiled_code", .print.via.format)
S3method("print", "check_demo_index")
S3method("print", "check_depdef", .print.via.format)
S3method("print", "check_details")
S3method("print", "check_details_changes")
S3method("print", "check_doi_db")
S3method("print", "check_dotInternal", .print.via.format)
S3method("print", "check_make_vars", .print.via.format)
S3method("print", "check_package_CRAN_incoming")
S3method("print", "check_package_code_assign_to_globalenv", .print.via.format)
S3method("print", "check_package_code_attach", .print.via.format)
S3method("print", "check_package_code_data_into_globalenv", .print.via.format)
S3method("print", "check_package_code_startup_functions", .print.via.format)
S3method("print", "check_package_code_syntax")
S3method("print", "check_package_code_unload_functions", .print.via.format)
S3method("print", "check_package_depends", .print.via.format)
S3method("print", "check_package_description")
S3method("print", "check_package_description_encoding", .print.via.format)
S3method("print", "check_package_license", .print.via.format)
S3method("print", "check_package_datasets", .print.via.format)
S3method("print", "check_package_compact_datasets")
S3method("print", "check_packages_in_dir")
S3method("print", "check_packages_used", .print.via.format)
S3method("print", "check_po_files")
S3method("print", "check_so_symbols", .print.via.format)
S3method("print", "check_nonAPI_calls", .print.via.format)
S3method("print", "check_RegSym_calls", .print.via.format)
S3method("print", "check_url_db")
S3method("print", "check_vignette_index")

S3method("print", "CRAN_package_reverse_dependencies_and_views")
S3method("print", "summarize_CRAN_check_status")

S3method("summary", "PDF_Dictionary")
S3method("summary", "PDF_Stream")
S3method("summary", "check_packages_in_dir")

S3method("toHTML", "news_db")
S3method("toHTML", "packageIQR")

S3method("toRd", "bibentry")
S3method("toRd", "default")
