/*
Bacula® - The Network Backup Solution
- Copyright (C) 2001-2010 Free Software Foundation Europe e.V.
+ Copyright (C) 2001-2012 Free Software Foundation Europe e.V.
The main author of Bacula is Kern Sibbald, with contributions from
many others, a complete list can be found in the file AUTHORS.
bool mod;
int spool_data;
bool spool_data_set;
- int allow_duplicates;
- bool allow_duplicates_set;
+ int accurate;
+ bool accurate_set;
+ int ignoreduplicatecheck;
+ bool ignoreduplicatecheck_set;
/* Methods */
run_ctx() { memset(this, 0, sizeof(run_ctx));
int modify_job_parameters(UAContext *ua, JCR *jcr, run_ctx &rc)
{
int i, opt;
+
+ /* Some options are not available through the menu
+ * TODO: Add an advanced menu?
+ */
+ if (rc.spool_data_set) {
+ jcr->spool_data = rc.spool_data;
+ }
+
+ if (rc.accurate_set) {
+ jcr->accurate = rc.accurate;
+ }
+
+ /* Used by migration jobs that can have the same name,
+ * but can run at the same time
+ */
+ if (rc.ignoreduplicatecheck_set) {
+ jcr->IgnoreDuplicateJobChecking = rc.ignoreduplicatecheck;
+ }
+
/*
* At user request modify parameters of job to be run.
*/
"pluginoptions", /* 25 */
"spooldata", /* 26 */
"comment", /* 27 */
- "allowduplicates", /* 28 */
+ "ignoreduplicatecheck", /* 28 */
+ "accurate", /* 29 */
NULL
};
rc.fileset_name = NULL;
rc.verify_job_name = NULL;
rc.previous_job_name = NULL;
+ rc.accurate_set = false;
rc.spool_data_set = false;
- rc.allow_duplicates_set = false;
+ rc.ignoreduplicatecheck = false;
rc.comment = NULL;
for (i=1; i<ua->argc; i++) {
rc.comment = ua->argv[i];
kw_ok = true;
break;
- case 28: /* allowduplicates */
- if (rc.allow_duplicates_set) {
- ua->send_msg(_("AllowDuplicates flag specified twice.\n"));
+ case 28: /* ignoreduplicatecheck */
+ if (rc.ignoreduplicatecheck_set) {
+ ua->send_msg(_("IgnoreDuplicateCheck flag specified twice.\n"));
return false;
}
- if (is_yesno(ua->argv[i], &rc.allow_duplicates)) {
- rc.allow_duplicates_set = true;
+ if (is_yesno(ua->argv[i], &rc.ignoreduplicatecheck)) {
+ rc.ignoreduplicatecheck_set = true;
kw_ok = true;
} else {
- ua->send_msg(_("Invalid allowduplicates flag.\n"));
+ ua->send_msg(_("Invalid ignoreduplicatecheck flag.\n"));
+ }
+ break;
+ case 29: /* accurate */
+ if (rc.accurate_set) {
+ ua->send_msg(_("Accurate flag specified twice.\n"));
+ return false;
+ }
+ if (is_yesno(ua->argv[i], &rc.accurate)) {
+ rc.accurate_set = true;
+ kw_ok = true;
+ } else {
+ ua->send_msg(_("Invalid accurate flag.\n"));
}
break;
default:
}
Dmsg1(100, "Using pool %s\n", rc.pool->name());
- if (rc.spool_data_set) {
- rc.job->spool_data = rc.spool_data;
- }
- Dmsg1(900, "Spooling data: %s\n", (rc.job->spool_data ? "Yes" : "No"));
-
- if (rc.allow_duplicates_set) {
- rc.job->AllowDuplicateJobs = rc.allow_duplicates;
- }
- Dmsg1(900, "Allow Duplicate Jobs: %s\n", (rc.job->AllowDuplicateJobs ? "Yes" : "No"));
-
if (rc.store_name) {
rc.store->store = GetStoreResWithName(rc.store_name);
pm_strcpy(rc.store->store_source, _("command line"));