DABC (Data Acquisition Backbone Core)  2.9.9
Factory.h
Go to the documentation of this file.
1 // $Id: Factory.h 3862 2018-05-11 10:06:18Z linev $
2 
3 /************************************************************
4  * The Data Acquisition Backbone Core (DABC) *
5  ************************************************************
6  * Copyright (C) 2009 - *
7  * GSI Helmholtzzentrum fuer Schwerionenforschung GmbH *
8  * Planckstr. 1, 64291 Darmstadt, Germany *
9  * Contact: http://dabc.gsi.de *
10  ************************************************************
11  * This software can be used under the GPL license *
12  * agreements as stated in LICENSE.txt file *
13  * which is part of the distribution. *
14  ************************************************************/
15 
16 #ifndef MBS_Factory
17 #define MBS_Factory
18 
19 #ifndef DABC_Factory
20 #include "dabc/Factory.h"
21 #endif
22 
25 namespace mbs {
26 
29  class Factory : public dabc::Factory {
30  public:
31  Factory(const std::string &name) : dabc::Factory(name) {}
32 
33  virtual dabc::Reference CreateObject(const std::string &classname, const std::string &objname, dabc::Command cmd);
34 
35  virtual dabc::Module* CreateTransport(const dabc::Reference& port, const std::string &typ, dabc::Command cmd);
36 
37  virtual dabc::DataInput* CreateDataInput(const std::string &typ);
38 
39  virtual dabc::DataOutput* CreateDataOutput(const std::string &typ);
40 
41  virtual dabc::Module* CreateModule(const std::string &classname, const std::string &modulename, dabc::Command cmd);
42 
43  protected:
44 
45  };
46 
47 }
48 
49 #endif
Represents command with its arguments.
Definition: Command.h:99
Interface for implementing any kind of data input.
Definition: DataIO.h:61
Interface for implementing any kind of data output.
Definition: DataIO.h:158
Factory for user-specific classes
Definition: Factory.h:47
Base for dabc::ModuleSync and dabc::ModuleAsync classes.
Definition: Module.h:42
Reference on the arbitrary object
Definition: Reference.h:73
Factory of MBS classes
Definition: Factory.h:29
Factory(const std::string &name)
Definition: Factory.h:31
virtual dabc::DataInput * CreateDataInput(const std::string &typ)
Factory method to create data input.
Definition: Factory.cxx:75
virtual dabc::Module * CreateModule(const std::string &classname, const std::string &modulename, dabc::Command cmd)
Factory method to create module.
Definition: Factory.cxx:140
virtual dabc::Reference CreateObject(const std::string &classname, const std::string &objname, dabc::Command cmd)
Factory method to create object.
Definition: Factory.cxx:30
virtual dabc::DataOutput * CreateDataOutput(const std::string &typ)
Factory method to create data output.
Definition: Factory.cxx:127
virtual dabc::Module * CreateTransport(const dabc::Reference &port, const std::string &typ, dabc::Command cmd)
Factory method to create transport.
Definition: Factory.cxx:38
Event manipulation API.
Definition: api.h:23
Support for MBS - standard GSI DAQ.
Definition: api.h:36