/* * Title: Control.h * Author: M.Thomas BEAM Ltd * Date: 2007-02-13 * * Contents: All GUI access to the Tms server is routed through this class. * * Mod Rec: * */ #ifndef CONTROL_H #define CONTROL_H 1 #include <BError.h> #include <BString.h> #include <TmsD.h> #include <TmsC.h> #include <qobject.h> /// The main system control class class Control : public QObject { Q_OBJECT public: Control(); ~Control(); void setHost(BString name); ///< Set hostname of server BError init(); ///< Initialise the system BError connect(); ///< Connect to both Control and Process BError reconfigure(Tms::ConfigInfo i); ///< Reconfigure the system BError getConfiguration(Tms::ConfigInfo& i); ///< Get current configuration BError runTest(BList<BError>& l); ///< Run the server selftest BError getData(Tms::DataInfo info,Tms::Data& data); BError getStatus(BList<Tms::NameValue>& l); ///< Get Status BError getStatistics(BList<Tms::NameValue>& l); ///< Get Statistics BError setControlInfo(Tms::CycleParam params); ///< Setup Cycle parameters BError getControlInfo(BString cycleType, UInt32 puChannel, Tms::CycleParam& params); ///< Gets the control information for the cycle type and puChannel number given. The call will return an error object indicating success or an error BError getPuChannel (UInt32 puChannel, Tms::PuChannel &puPhysChannel); ///< Get a handle for vitrual channel BError getCycleInfo(UInt32& cycleNumber,BString& cycleType); BError setNextCycle(UInt32 cycleNumber,BString cycleType); BError setTestData(Tms::PuChannel puChannel,Int32 on, BArray<UInt32> data); ///< Set pupe test data BError getTestData(Tms::PuChannel puPhysChannel, Tms::TestCaptureInfo captureInfo, BArray< UInt64 > &data); ///< Fetch pupe test data BError initialiseServer(); BError setPupeConfig(Tms::PuChannel puChannel,Tms::PupeConfig pupeConfig); BError getPupeConfig(Tms::PuChannel puChannel,Tms::PupeConfig& pupeConfig); BError getControlList(BList<Tms::CycleParamItem>& itemList); ///< Gets the list of Cycle Parameters present in the system signals: void newConnection(); ///< Signals a new connection made private: BString ohostName; Tms::TmsControl otmsControl; Tms::TmsProcess otmsProcess; }; #endif