#include <Factory.h>
Public Member Functions | |
Factory (const char *name) | |
virtual dabc::Application * | CreateApplication (const char *classname, dabc::Command cmd) |
virtual dabc::Module * | CreateModule (const char *classname, const char *modulename, dabc::Command cmd) |
virtual dabc::Device * | CreateDevice (const char *classname, const char *devname, dabc::Command cmd) |
virtual void | ShowDebug (int lvl, const char *msg) |
virtual bool | IsFactoryFor (const char *url) |
virtual base::Board * | DoConnect (const char *name, base::ClientRole role) |
virtual bool | DoClose (base::Board *brd) |
Static Public Member Functions | |
static Board * | CreateBoard (const char *url, ClientRole role=roleNone) |
static bool | DestroyBoard (base::Board *brd) |
Protected Types | |
enum | { MaxNumFactories = 10 } |
Protected Attributes | |
dabc::ReferencesVector | fDevs |
Static Protected Attributes | |
static BoardFactory * | gArr [MaxNumFactories] |
Definition at line 33 of file Factory.h.
anonymous enum [protected, inherited] |
roc::Factory::Factory | ( | const char * | name | ) |
Definition at line 36 of file Factory.cxx.
dabc::Application * roc::Factory::CreateApplication | ( | const char * | classname, | |
dabc::Command | cmd | |||
) | [virtual] |
Definition at line 43 of file Factory.cxx.
References roc::xmlReadoutAppClass.
base::Board * base::BoardFactory::CreateBoard | ( | const char * | url, | |
ClientRole | role = roleNone | |||
) | [static, inherited] |
Definition at line 614 of file Board.cxx.
References base::BoardFactory::DoConnect(), base::Board::fBrdFactory, base::BoardFactory::gArr, and base::BoardFactory::IsFactoryFor().
Referenced by base::Board::Connect().
dabc::Device * roc::Factory::CreateDevice | ( | const char * | classname, | |
const char * | devname, | |||
dabc::Command | cmd | |||
) | [virtual] |
Definition at line 71 of file Factory.cxx.
References roc::UdpDevice::IsConnected(), and roc::typeUdpDevice.
dabc::Module * roc::Factory::CreateModule | ( | const char * | classname, | |
const char * | modulename, | |||
dabc::Command | cmd | |||
) | [virtual] |
Definition at line 51 of file Factory.cxx.
bool base::BoardFactory::DestroyBoard | ( | base::Board * | brd | ) | [static, inherited] |
Definition at line 640 of file Board.cxx.
References base::BoardFactory::DoClose(), and base::Board::fBrdFactory.
Referenced by base::Board::Close().
bool roc::Factory::DoClose | ( | base::Board * | brd | ) | [virtual] |
Implements base::BoardFactory.
Definition at line 202 of file Factory.cxx.
References roc::UdpDevice::CloseAsBoard(), roc::UdpDevice::CmdPutDisconnect(), and fDevs.
base::Board * roc::Factory::DoConnect | ( | const char * | name, | |
base::ClientRole | role | |||
) | [virtual] |
Implements base::BoardFactory.
Definition at line 107 of file Factory.cxx.
References fDevs, base::Url::GetFullName(), base::Url::GetHostName(), base::Url::GetOptionValue(), base::Url::GetPort(), base::Url::GetPortStr(), base::Url::HasOption(), roc::Board::IsLmdFileAddress(), roc::Board::IsUdpAddress(), base::Url::IsValid(), base::roleControl, base::roleDAQ, base::roleNone, base::roleObserver, base::roleToString(), roc::typeUdpDevice, roc::xmlBoardAddr, and roc::xmlRole.
bool roc::Factory::IsFactoryFor | ( | const char * | url | ) | [virtual] |
Method should return true if factory designed to create boards for provided url Either URL contains explicit protocol for the factory or name has format as expected
Reimplemented from base::BoardFactory.
Definition at line 97 of file Factory.cxx.
References roc::Board::IsLmdFileAddress(), and roc::Board::IsUdpAddress().
void roc::Factory::ShowDebug | ( | int | lvl, | |
const char * | msg | |||
) | [virtual] |
Reimplemented from base::BoardFactory.
Definition at line 91 of file Factory.cxx.
dabc::ReferencesVector roc::Factory::fDevs [protected] |
Definition at line 37 of file Factory.h.
Referenced by DoClose(), and DoConnect().
base::BoardFactory * base::BoardFactory::gArr [static, protected, inherited] |
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
Definition at line 416 of file Board.h.
Referenced by base::BoardFactory::BoardFactory(), base::BoardFactory::CreateBoard(), and base::BoardFactory::~BoardFactory().