Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
rcdaq_plugin.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file rcdaq_plugin.h
1 #ifndef __RCDAQ_PLUGIN_H__
2 #define __RCDAQ_PLUGIN_H__
3 
4 
5 //#include <rcdaq.h>
6 #include <rcdaq_rpc.h>
7 #include <iostream>
8 
9 
10 class RCDAQPlugin;
11 class daq_device;
12 
14 
17 
26 {
27 
28  public:
30  {
31  plugin_register(this);
32  }
33 
34  virtual ~RCDAQPlugin()
35  {
36  plugin_unregister(this);
37  }
38 
39  // this returns
40  // 0 for all ok
41  // -1 for "I don't know this device"
42  // 1 for "I know this device but the parameters are wrong"
43  virtual int create_device(deviceblock *db) = 0;
44 
45  // this says something about the plugin. The flag is forlibsrs_utils.la future
46  // use to we can step up the verbosity if needed.
47  virtual void identify(std::ostream& os = std::cout, const int flag=0) const =0;
48 
49 
50  protected:
51 
52 
53 };
54 
55 
56 #endif