]> git.sur5r.net Git - bacula/bacula/commitdiff
Modify plugin checkFile to return bRC_Seen to cause file
authorKern Sibbald <kern@sibbald.com>
Sat, 28 Mar 2009 10:59:08 +0000 (10:59 +0000)
committerKern Sibbald <kern@sibbald.com>
Sat, 28 Mar 2009 10:59:08 +0000 (10:59 +0000)
     to remain.  Previously was true/false.

git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@8617 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/filed/fd_plugins.c
bacula/src/filed/fd_plugins.h
bacula/src/lib/plugins.c
bacula/src/lib/plugins.h
bacula/src/version.h
bacula/technotes-2.5

index 6e547c6dca60917e61ac04f4b6e770049594b6ed..27c4c2038aac32497815698bfe3be7a341428320 100644 (file)
@@ -156,7 +156,7 @@ void generate_plugin_event(JCR *jcr, bEventType eventType, void *value)
 bool plugin_check_file(JCR *jcr, char *fname)
 {
    Plugin *plugin;
-   bool ok = false;
+   int rc = bRC_OK;
    int i = 0;
 
    if (!plugin_list || !jcr || !jcr->plugin_ctx_list) {
@@ -177,15 +177,15 @@ bool plugin_check_file(JCR *jcr, char *fname)
       if (plug_func(plugin)->checkFile == NULL) {
          continue;
       }
-      ok = plug_func(plugin)->checkFile(jcr->plugin_ctx, fname);
-      if (ok) {
+      rc = plug_func(plugin)->checkFile(jcr->plugin_ctx, fname);
+      if (rc == bRC_Seen) {
          break;
       }
    }
 
    jcr->plugin = NULL;
    jcr->plugin_ctx = NULL;
-   return ok;
+   return rc == bRC_Seen;
 }
 
 
index e5b0097e443a8a9a1e280bdbfe90dd01389e9eab..12d3baa256a778e3ac723ee315daa9a2d384abdd 100644 (file)
@@ -230,7 +230,7 @@ typedef enum {
 
 
 #define FD_PLUGIN_MAGIC     "*FDPluginData*" 
-#define FD_PLUGIN_INTERFACE_VERSION  3
+#define FD_PLUGIN_INTERFACE_VERSION  4
 
 typedef struct s_pluginInfo {
    uint32_t size;
@@ -262,7 +262,7 @@ typedef struct s_pluginFuncs {
    bRC (*pluginIO)(bpContext *ctx, struct io_pkt *io);
    bRC (*createFile)(bpContext *ctx, struct restore_pkt *rp);
    bRC (*setFileAttributes)(bpContext *ctx, struct restore_pkt *rp);
-   bool (*checkFile)(bpContext *ctx, char *fname);
+   bRC (*checkFile)(bpContext *ctx, char *fname);
 } pFuncs;
 
 #define plug_func(plugin) ((pFuncs *)(plugin->pfuncs))
index d56b41ade252328401aaaf80d658c5f13ff35abe..0f799a590245d58bba9a4183c7281d3fbbfb9104 100644 (file)
@@ -1,7 +1,7 @@
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2007-2008 Free Software Foundation Europe e.V.
+   Copyright (C) 2007-2009 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.
index ead012e3460f97440460905a1b015c47b3f023b1..e7e5b41671c14ae5b5d05fddea5330e3dfd5a9ec 100644 (file)
@@ -49,10 +49,14 @@ typedef enum {
   bRC_Stop   = 1,                        /* Stop calling other plugins */
   bRC_Error  = 2,                        /* Some kind of error */
   bRC_More   = 3,                        /* More files to backup */
-  bRC_Term   = 4                         /* Unload me */
+  bRC_Term   = 4,                        /* Unload me */
+  bRC_Seen   = 5,                        /* Return code from checkFiles */
+
+  bRC_Max    = 9999                      /* Max code Bacula can use */
 } bRC;
 
 
+
 /* Context packet as first argument of all functions */
 struct bpContext {
   void *bContext;                        /* Bacula private context */
index ea0444ef2f7730ec7e70d834ffa9e84cf91ae97d..ca68684c2246fab32525aab64025c46cdf01fc47 100644 (file)
@@ -3,9 +3,9 @@
  */
 
 #undef  VERSION
-#define VERSION "2.5.43"
-#define BDATE   "20  March 2009"
-#define LSMDATE "20Mar09"
+#define VERSION "2.5.44"
+#define BDATE   "28  March 2009"
+#define LSMDATE "28Mar09"
 
 #define PROG_COPYRIGHT "Copyright (C) %d-2009 Free Software Foundation Europe e.V.\n"
 #define BYEAR "2009"       /* year for copyright messages in progs */
index 39887dc3e8b12cb80b1fe248847f26a2b8b9553c..68dfa591de8e11ad9cd01de5ef21a4d15653fbc7 100644 (file)
@@ -2,6 +2,9 @@
 
           
 General:
+28Mar09
+kes  Modify plugin checkFile to return bRC_Seen to cause file
+     to remain.  Previously was true/false.
 27Mar09
 kes  Implement installation of bat help files
      The help files are installed in the htmldoc dir and can be set