xrootd
XrdClientAbsMonIntf.hh
Go to the documentation of this file.
1 #ifndef __XRDCLIABSMONINTF_H__
2 #define __XRDCLIABSMONINTF_H__
3 
4 // XrdClientAbsMonIntf
5 // Public interface to generic monitoring systems
6 //
7 
8 // $Id$
9 
11 public:
12 
13 
14  // Initialization of the external library
15  virtual int Init(const char *src, const char *dest, int debug=0, void *parm=0) = 0;
16  virtual int DeInit() = 0;
17 
18  // To get the name of the library and other info
19  virtual int GetMonLibInfo(char **name, char **version, char **remarks) = 0;
20 
21 
22  // To submit a set of info about the progress of something
23  // Set force to true to be sure that the info is sent and not eventually skipped
24  virtual int PutProgressInfo(long long bytecount=0,
25  long long size=0,
26  float percentage=0.0,
27  bool force=false) = 0;
28 
29 
31  virtual ~XrdClientAbsMonIntf() {};
32 };
33 
34 
35 
36 
37 /******************************************************************************/
38 /* X r d C l i e n t A b s M o n I n t f . h h */
39 /******************************************************************************/
40 
41 // The XrdClientMonIntf() function is called when the shared library containing
42 // implementation of this class is loaded. It must exist in the library as an
43 // 'extern "C"' defined function.
44 
45 
46 #define XrdClientMonIntfArgs const char *src, const char *dst
47 
48 extern "C" {
49  typedef XrdClientAbsMonIntf *(*XrdClientMonIntfHook)(XrdClientMonIntfArgs);
51 }
52 
53 
54 
55 
56 #endif