]> git.sur5r.net Git - bacula/bacula/commitdiff
Add James' code to get VssObject
authorKern Sibbald <kern@sibbald.com>
Wed, 3 Mar 2010 15:36:30 +0000 (16:36 +0100)
committerEric Bollengier <eric@eb.homelinux.org>
Mon, 2 Aug 2010 14:49:36 +0000 (16:49 +0200)
bacula/src/filed/fd_plugins.c
bacula/src/filed/fd_plugins.h
bacula/src/win32/filed/vss.h

index df13465431b5e8219715d40f67f6150922a0ef52..c864d7a8e86931e36b1f95ad7a67b345b629b449 100644 (file)
@@ -907,6 +907,14 @@ static bRC baculaGetValue(bpContext *ctx, bVariable var, void *value)
       break;
    case bVarFileSeen:
       break;                 /* a write only variable, ignore read request */
+   case bVarVssObject:
+#ifdef HAVE_WIN32
+      if (g_pVSSClient) {
+         value = g_pVSSClient->GetVssObject();
+         break;
+       }
+#endif
+       return bRC_Error;
    }
    return bRC_OK;
 }
index 50ed3dde765c07fed59003359fbaeed05a0da88a..0e95d4640ac6639e8c8bbb2040c1ef2b5ea46d19 100644 (file)
@@ -1,7 +1,7 @@
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2007-2009 Free Software Foundation Europe e.V.
+   Copyright (C) 2007-2010 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.
@@ -66,6 +66,9 @@
 #include "bc_types.h"
 #include "lib/plugins.h"
 #include <sys/stat.h>
+#ifdef HAVE_WIN32
+#include "../win32/filed/vss.h"
+#endif
 
 /*
  * This packet is used for file save info transfer.
@@ -146,7 +149,8 @@ typedef enum {
   bVarJobStatus = 7,
   bVarSinceTime = 8,
   bVarAccurate  = 9,
-  bVarFileSeen  = 10
+  bVarFileSeen  = 10,
+  bVarVssObject = 11
 } bVariable;
 
 /* Events that are passed to plugin */
index e25de09d97891096a6d115ffc08c1f832cd66bea..04ea7acc651e93015f4f7bdf6bf0872952fa197e 100644 (file)
@@ -69,6 +69,7 @@ public:
     void DestroyWriterInfo();
     void AppendWriterInfo(int nState, const char* pszInfo);
     const bool  IsInitialized() { return m_bBackupIsInitialized; };
+    IUnknown *GetVssObject() { return m_pVssObject; };
          
 private:
     virtual bool Initialize(DWORD dwContext, bool bDuringRestore = FALSE) = 0;