acldata(PM_MESSAGE),
xattrdatalen(0),
xattrdata(PM_MESSAGE),
- metadatas_list(10, true)
+ metadatas_list(10, true),
+ prevjobname(NULL)
{
/* TODO: we have a ctx variable stored internally, decide if we use it
* for every method or rip it off as not required in our code */
return bRC_Error;
}
}
+
+ if (CUSTOMPREVJOBNAME && prevjobname){
+ Mmsg(cmd, "PrevJobName=%s\n", prevjobname);
+ rc = backend.ctx->write_command(ctx, cmd);
+ if (rc < 0){
+ /* error */
+ return bRC_Error;
+ }
+ }
+
backend.ctx->signal_eod(ctx);
if (!backend.ctx->read_ack(ctx)){
bRC status;
POOL_MEM tmp;
- switch (event->eventType) {
+ switch (event->eventType)
+ {
case bEventJobStart:
DMSG(ctx, D3, "bEventJobStart value=%s\n", NPRT((char *)value));
getBaculaVar(bVarJobId, (void *)&JobId);
getBaculaVar(bVarJobName, (void *)&JobName);
+ if (CUSTOMPREVJOBNAME){
+ getBaculaVar(bVarPrevJobName, (void *)&prevjobname);
+ }
break;
case bEventJobEnd:
extern const char *PLUGINPREFIX; /// is used for prefixing every Job and Debug messages generted by a plugin
extern const char *PLUGINNAME; /// should match the backend $pluginname$ used for Handshake procedure
extern const bool CUSTOMNAMESPACE; /// defines if metaplugin should send `Namespace=...` backend plugin parameter using PLUGINNAMESPACE variable
+extern const bool CUSTOMPREVJOBNAME; /// defines if metaplugin should send `PrevJobName=...` backend plugin parameter from bacula variable
extern const char *PLUGINNAMESPACE; /// custom backend plugin namespace used as file name prefix
extern const char *PLUGINAPI;
extern const char *BACKEND_CMD;
ConfigFile ini; // Restore ini file handler
alist metadatas_list; //
plugin_metadata metadatas; //
+ const char *prevjobname; // this is a bVarPrevJobName parameter if requested
bRC parse_plugin_command(bpContext *ctx, const char *command, alist *params);
bRC parse_plugin_restoreobj(bpContext *ctx, restore_object_pkt *rop);