template <> void pysvn_enum< svn_wc_merge_outcome_t >::init_type(void) { behaviors().name("wc_merge_outcome"); behaviors().doc("wc_merge_outcome enumeration"); behaviors().supportGetattr(); }
template <> void pysvn_enum< svn_wc_schedule_t >::init_type(void) { behaviors().name("wc_schedule"); behaviors().doc("wc_schedule enumeration"); behaviors().supportGetattr(); }
template <> void pysvn_enum< svn_wc_status_kind >::init_type(void) { behaviors().name("wc_status_kind"); behaviors().doc("wc_status_kind enumeration"); behaviors().supportGetattr(); }
template <> void pysvn_enum< svn_wc_notify_action_t >::init_type(void) { behaviors().name("wc_notify_action"); behaviors().doc("wc_notify_action enumeration"); behaviors().supportGetattr(); }
//-------------------------------------------------------------------------------- template <> void pysvn_enum< svn_opt_revision_kind >::init_type(void) { behaviors().name("opt_revision_kind"); behaviors().doc("opt_revision_kind enumeration"); behaviors().supportGetattr(); }
gmx_bool parse_common_args(int *argc, char *argv[], unsigned long Flags, int nfile, t_filenm fnm[], int npargs, t_pargs *pa, int ndesc, const char **desc, int nbugs, const char **bugs, gmx_output_env_t **oenv) { /* This array should match the order of the enum in oenv.h */ const char *const xvg_formats[] = { "xmgrace", "xmgr", "none" }; // Handle the flags argument, which is a bit field // The FF macro returns whether or not the bit is set #define FF(arg) ((Flags & arg) == arg) try { double tbegin = 0.0, tend = 0.0, tdelta = 0.0; bool bBeginTimeSet = false, bEndTimeSet = false, bDtSet = false; bool bView = false; int xvgFormat = 0; gmx::OptionsAdapter adapter(*argc, argv); gmx::Options options(NULL, NULL); gmx::OptionsBehaviorCollection behaviors(&options); gmx::FileNameOptionManager fileOptManager; fileOptManager.disableInputOptionChecking( FF(PCA_NOT_READ_NODE) || FF(PCA_DISABLE_INPUT_FILE_CHECKING)); options.addManager(&fileOptManager); if (FF(PCA_CAN_SET_DEFFNM)) { fileOptManager.addDefaultFileNameOption(&options, "deffnm"); } if (FF(PCA_CAN_BEGIN)) { options.addOption( gmx::DoubleOption("b") .store(&tbegin).storeIsSet(&bBeginTimeSet).timeValue() .description("First frame (%t) to read from trajectory")); } if (FF(PCA_CAN_END)) { options.addOption( gmx::DoubleOption("e") .store(&tend).storeIsSet(&bEndTimeSet).timeValue() .description("Last frame (%t) to read from trajectory")); } if (FF(PCA_CAN_DT)) { options.addOption( gmx::DoubleOption("dt") .store(&tdelta).storeIsSet(&bDtSet).timeValue() .description("Only use frame when t MOD dt = first time (%t)")); } gmx::TimeUnit timeUnit = gmx::TimeUnit_Default; if (FF(PCA_TIME_UNIT)) { boost::shared_ptr<gmx::TimeUnitBehavior> timeUnitBehavior( new gmx::TimeUnitBehavior()); timeUnitBehavior->setTimeUnitStore(&timeUnit); timeUnitBehavior->setTimeUnitFromEnvironment(); timeUnitBehavior->addTimeUnitOption(&options, "tu"); behaviors.addBehavior(timeUnitBehavior); } if (FF(PCA_CAN_VIEW)) { options.addOption( gmx::BooleanOption("w").store(&bView) .description("View output [REF].xvg[ref], [REF].xpm[ref], " "[REF].eps[ref] and [REF].pdb[ref] files")); } bool bXvgr = false; for (int i = 0; i < nfile; i++) { bXvgr = bXvgr || (fnm[i].ftp == efXVG); } xvgFormat = gmx::getDefaultXvgFormat(xvg_formats); if (bXvgr) { options.addOption( gmx::StringOption("xvg").enumValue(xvg_formats) .storeEnumIndex(&xvgFormat) .description("xvg plot formatting")); } /* Now append the program specific arguments */ for (int i = 0; i < nfile; i++) { adapter.filenmToOptions(&options, &fnm[i]); } for (int i = 0; i < npargs; i++) { adapter.pargsToOptions(&options, &pa[i]); } const gmx::CommandLineHelpContext *context = gmx::GlobalCommandLineHelpContext::get(); if (context != NULL) { GMX_RELEASE_ASSERT(gmx_node_rank() == 0, "Help output should be handled higher up and " "only get called only on the master rank"); gmx::CommandLineHelpWriter(options) .setHelpText(gmx::constArrayRefFromArray<const char *>(desc, ndesc)) .setKnownIssues(gmx::constArrayRefFromArray(bugs, nbugs)) .writeHelp(*context); return FALSE; } /* Now parse all the command-line options */ gmx::CommandLineParser(&options).skipUnknown(FF(PCA_NOEXIT_ON_ARGS)) .parse(argc, argv); behaviors.optionsFinishing(); options.finish(); /* set program name, command line, and default values for output options */ output_env_init(oenv, gmx::getProgramContext(), (time_unit_t)(timeUnit + 1), bView, (xvg_format_t)(xvgFormat + 1), 0); /* Extract Time info from arguments */ if (bBeginTimeSet) { setTimeValue(TBEGIN, tbegin); } if (bEndTimeSet) { setTimeValue(TEND, tend); } if (bDtSet) { setTimeValue(TDELTA, tdelta); } adapter.copyValues(!FF(PCA_NOT_READ_NODE)); return TRUE; } GMX_CATCH_ALL_AND_EXIT_WITH_FATAL_ERROR; #undef FF }