pm_strcat(where, tmp2.c_str());
p_and=true;
}
+ if (rec->EventsCode[0]) {
+ int len = strlen(rec->EventsCode);
+ tmp.check_size(len*2+1);
+ db_escape_string(jcr, this, tmp.c_str(), rec->EventsCode, len);
+ Mmsg(tmp2, "%s Events.EventsCode = '%s' ", p_and?"AND": "WHERE", tmp.c_str());
+ pm_strcat(where, tmp2.c_str());
+ p_and=true;
+ }
if (rec->start[0]) {
int len = strlen(rec->start);
tmp.check_size(len*2+1);
"\tjobtotals | pools | volume | media <pool=pool-name> | files [type=<deleted|all>] jobid=<nn> | copies jobid=<nn> |\n"
"\tjoblog jobid=<nn> | pluginrestoreconf jobid=<nn> restoreobjectid=<nn> | snapshot | \n"
"\tfilemedia jobid=<nn> fileindex=<mm> | clients\n"
- "\tevents [type=<str> | limit=<int> | order=<asc|desc> | days=<int> | start=<time-specification> | end=<time-specification> ]\n"
+ "\tevents [type=<str> | limit=<int> | order=<asc|desc> | days=<int> | start=<time-specification> | end=<time-specification> |\n"
+ "\t\t source=<str> | code=<str> | type=<str> ]\n"
"\tobjects [jobid=<jobid> client=<cli> type=<str> | category=<str> | limit=<int> | order=<asc|desc> ]\n"
), false},
} else if (strcasecmp(ua->argk[j], NT_("end")) == 0 && ua->argv[j]) {
bstrncpy(event.end, ua->argv[j], sizeof(event.end)); /* TODO: check format */
+
+ } else if (strcasecmp(ua->argk[j], NT_("source")) == 0 && ua->argv[j]) {
+ bstrncpy(event.EventsSource, ua->argv[j], sizeof(event.EventsSource)); /* TODO: check format */
+
+ } else if (strcasecmp(ua->argk[j], NT_("daemon")) == 0 && ua->argv[j]) {
+ bstrncpy(event.EventsDaemon, ua->argv[j], sizeof(event.EventsDaemon)); /* TODO: check format */
+
+ } else if (strcasecmp(ua->argk[j], NT_("code")) == 0 && ua->argv[j]) {
+ bstrncpy(event.EventsCode, ua->argv[j], sizeof(event.EventsCode)); /* TODO: check format */
}
}
db_list_events_records(ua->jcr,ua->db, &event, prtit, ua, llist);
|| strcasecmp(ua->argk[i], NT_("objectid")) == 0
|| strcasecmp(ua->argk[i], NT_("clientname")) == 0
|| strcasecmp(ua->argk[i], NT_("jobid")) == 0
+ || strcasecmp(ua->argk[i], NT_("source")) == 0
+ || strcasecmp(ua->argk[i], NT_("daemon")) == 0
+ || strcasecmp(ua->argk[i], NT_("code")) == 0
) {
/* Ignore it */
} else if (strcasecmp(ua->argk[i], NT_("snapshot")) == 0 ||