32 if (classname==
"mbs_iter")
43 std::string prot = url.GetProtocol(), host = url.GetHostName();
44 int kind = 0, portnum = url.GetPort();
57 if (portref.
IsOutput() && (kind>0)) {
64 DOUT3(
"Fail assign MBS server to port:%d", portnum);
78 if ((url.GetProtocol()==
mbs::protocolLmd) && (url.GetFullName() ==
"Generator")) {
84 if (url.GetProtocol()==
"lmdtxt") {
87 if (((url.GetProtocol() ==
mbs::protocolMbs) && !url.GetHostName().empty()) ||
89 DOUT3(
"Try to create new MBS data input typ %s", typ.c_str());
95 int portnum = url.GetPort();
108 EOUT(
"MBS server in url %s not specified correctly", typ.c_str());
115 DOUT3(
"Fail connecting to host:%s port:%d", url.GetHostName().c_str(), portnum);
129 DOUT2(
"Factory::CreateDataOutput typ:%s", typ.c_str());
133 DOUT0(
"LMD output file name %s", url.GetFullName().c_str());
142 if (classname ==
"mbs::CombinerModule")
145 if (classname ==
"mbs::Monitor")
148 if (classname ==
"mbs::ReadoutModule")
Represents command with its arguments.
Interface for implementing any kind of data output.
Small helper class to correctly instantiate user-specific factories.
virtual Module * CreateTransport(const Reference &port, const std::string &typ, Command cmd)
Factory method to create transport.
virtual Module * CreateModule(const std::string &classname, const std::string &modulename, Command cmd)
Factory method to create module.
virtual Reference CreateObject(const std::string &classname, const std::string &objname, Command cmd)
Factory method to create object.
Base for dabc::ModuleSync and dabc::ModuleAsync classes.
Reference on the dabc::Port class
bool IsOutput() const
Returns true if it is output port.
Reference on the arbitrary object
Socket addon for handling connection requests on server side.
static int StartClient(const std::string &host, int nport, bool nonblocking=true)
static SocketServerAddon * CreateServerAddon(const std::string &host, int nport, int portmin=-1, int portmax=-1)
Create handle for server-side connection If hostname == 0, any available address will be selected If ...
Uniform Resource Locator interpreter.
Client transport for different kinds of MBS server.
Combiner of several MBS inputs - event building.
virtual dabc::DataInput * CreateDataInput(const std::string &typ)
Factory method to create data input.
virtual dabc::Module * CreateModule(const std::string &classname, const std::string &modulename, dabc::Command cmd)
Factory method to create module.
virtual dabc::Reference CreateObject(const std::string &classname, const std::string &objname, dabc::Command cmd)
Factory method to create object.
virtual dabc::DataOutput * CreateDataOutput(const std::string &typ)
Factory method to create data output.
virtual dabc::Module * CreateTransport(const dabc::Reference &port, const std::string &typ, dabc::Command cmd)
Factory method to create transport.
Output for LMD files (lmd:)
Interface module for MBS monitoring and control.
Module, used to readout MBS data source and provide data to the user.
Server transport for different kinds of MBS server.
const char * protocolMbst
const char * protocolMbss
int DefualtServerPort(int kind)
int StrToServerKind(const std::string &str)
const char * ServerKindToStr(int kind)
dabc::FactoryPlugin mbsfactory(new mbs::Factory("mbs"))