Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Related Pages

configserver.h

00001 #include <ipc/object.h>
00002 #include <ipc/server.h>
00003 
00004 #include "sctConf.hh"
00005 
00006 #include "sctConf/configXMLImpl.h"
00007 
00008 #include <is/isinfo.h>
00009 #include <rc/RCStateInfo.h>
00010 #include <memory>
00011 
00012 class ConfigServer : public IPCObject, public virtual sctConf_T_Configuration {
00014   ConfigurationXMLImpl config;
00015   std::auto_ptr<ISInfoReceiver> infoReceiver;     
00016   RCStateInfo::activity_E lastState;          
00017 
00018  public:
00019 
00020   ConfigServer(const char* oid, IPCServer* server); //  : IPCObject(oid, server) {
00021   virtual ~ConfigServer();      // destructor
00022   
00023   void RCEvent(const RCStateInfo& info);    //Handle RC events
00024 
00025  // methods
00026 
00027   virtual sctConf_T_PartitionList listPartitions (sctConfStatus *_status);
00028   virtual sctConf_T_CrateList listCratesInPartition (sctConfStatus *_status, ilu_Cardinal partition);
00029   virtual ilu_Boolean isDummyCrate (sctConfStatus *_status, ilu_Cardinal partition, ilu_Cardinal crate);
00030   virtual sctConf_T_RodList listRodsInCrate (sctConfStatus *_status, ilu_Cardinal partition, ilu_Cardinal crate);
00031   virtual sctConf_T_MURList listMURSInRod (sctConfStatus *_status, ilu_Cardinal partition, ilu_Cardinal crate, ilu_Cardinal rod);
00032   virtual sctConf_T_ModuleList listModulesInMUR (sctConfStatus *_status, ilu_Cardinal partition, ilu_Cardinal MUR);
00033   virtual sctConf_T_ModuleList listRModulesInMUR (sctConfStatus *_status, ilu_Cardinal partition, ilu_Cardinal MUR);
00034   virtual sctConf_T_ModuleList listAllModules (sctConfStatus *_status);
00035   virtual sctConf_T_ModuleList listUnusedModules (sctConfStatus *_status);
00036   virtual sctConf_T_ABCDModule * getModuleConfig (sctConfStatus *_status, ilu_T_CString mod);
00037   virtual ilu_ShortCardinal getModuleGroup (sctConfStatus *_status, ilu_T_CString mod);
00038   virtual void setModuleGroup (sctConfStatus *_status, ilu_T_CString mod, ilu_ShortInteger group);
00039   virtual sctConf_T_RodConfig * getRodConfig (sctConfStatus *_status, ilu_Cardinal partition, ilu_Cardinal crate, ilu_Cardinal rod);
00040   virtual sctConf_T_SlaveConfig * getDefaultSlaveConfig (sctConfStatus *_status, ilu_Byte type);
00041   virtual sctConf_T_TimConfig * getTimConfig (sctConfStatus *_status, ilu_Cardinal partition, ilu_Cardinal crate);
00042   virtual sctConf_T_CharBlock getFibreMappings (sctConfStatus *_status, ilu_Cardinal partition, ilu_Cardinal crate, ilu_Cardinal rod);
00043   virtual void setFibreMapping (sctConfStatus *_status, ilu_Cardinal partition, ilu_Cardinal crate, ilu_Cardinal rod, ilu_Cardinal channel, ilu_Cardinal tx, ilu_Cardinal rx0, ilu_Cardinal rx1);
00044   virtual sctConf_T_BOCChannelConfig * getBOCConfig (sctConfStatus *_status, ilu_Cardinal partition, ilu_Cardinal crate, ilu_Cardinal rod, ilu_Cardinal channel);
00045   virtual sctConf_T_BOCGlobalConfig * getBOCGlobalConfig (sctConfStatus *_status, ilu_Cardinal partition, ilu_Cardinal crate, ilu_Cardinal rod);
00046   virtual void printModuleConfig (sctConfStatus *_status, sctConf_T_ABCDModule * conf);
00047   virtual sctConf_T_MURType getMURType (sctConfStatus *_status, ilu_Cardinal MUR);
00048   virtual ilu_Cardinal getFreeMurId (sctConfStatus *_status);
00049   virtual void translateToROD (sctConfStatus *_status, ilu_Cardinal MUR, ilu_Cardinal mod, ilu_Cardinal * partition, ilu_Cardinal * crate, ilu_Cardinal * rod, ilu_Cardinal * channel);
00050   virtual void translateToRROD (sctConfStatus *_status, ilu_Cardinal MUR, ilu_Cardinal mod, ilu_Cardinal * partition, ilu_Cardinal * crate, ilu_Cardinal * rod, ilu_Cardinal * channel);
00051   virtual void translateToSN (sctConfStatus *_status, ilu_Cardinal MUR, ilu_Cardinal mod, ilu_T_CString * sn);
00052   virtual void translateToRMUR (sctConfStatus *_status, ilu_Cardinal RMUR, ilu_Cardinal rmod, ilu_Cardinal * MUR, ilu_Cardinal * mod);
00053   virtual void translateToBarrel (sctConfStatus *_status, ilu_Cardinal MUR, ilu_Cardinal mod, ilu_Cardinal * barrel, ilu_Cardinal * row, ilu_Integer * number);
00054   virtual void translateToEndcap (sctConfStatus *_status, ilu_Cardinal MUR, ilu_Cardinal mod, ilu_Integer * disk, ilu_Cardinal * ring, ilu_Cardinal * number);
00055   virtual void translateToPowerSupply (sctConfStatus *_status, ilu_Cardinal MUR, ilu_Cardinal mod, ilu_Cardinal * partition, ilu_Cardinal * crate, ilu_Cardinal * channel);
00056   virtual void translateFromROD (sctConfStatus *_status, ilu_Cardinal partition, ilu_Cardinal crate, ilu_Cardinal rod, ilu_Cardinal channel, ilu_Cardinal * MUR, ilu_Cardinal * mod);
00057   virtual void translateFromRROD (sctConfStatus *_status, ilu_Cardinal partition, ilu_Cardinal crate, ilu_Cardinal rod, ilu_Cardinal channel, ilu_Cardinal * MUR, ilu_Cardinal * mod);
00058   virtual void translateFromSN (sctConfStatus *_status, ilu_T_CString sn, ilu_Cardinal * MUR, ilu_Cardinal * mod);
00059   virtual void translateFromRMUR (sctConfStatus *_status, ilu_Cardinal MUR, ilu_Cardinal mod, ilu_Cardinal * RMUR, ilu_Cardinal * rmod);
00060   virtual void translateFromBarrel (sctConfStatus *_status, ilu_Cardinal barrel, ilu_Cardinal row, ilu_Integer number, ilu_Cardinal * MUR, ilu_Cardinal * mod);
00061   virtual void translateFromEndcap (sctConfStatus *_status, ilu_Integer disk, ilu_Cardinal ring, ilu_Cardinal number, ilu_Cardinal * MUR, ilu_Cardinal * mod);
00062   virtual void translateFromPowerSupply (sctConfStatus *_status, ilu_Cardinal partition, ilu_Cardinal crate, ilu_Cardinal channel, ilu_Cardinal * MUR, ilu_Cardinal * mod);
00063   virtual void configureModuleFromStructure (sctConfStatus *_status, ilu_T_CString number, sctConf_T_ABCDModule * mConf);
00064   virtual void configureModuleFromFile (sctConfStatus *_status, ilu_T_CString filename);
00065   virtual void configureROD (sctConfStatus *_status, ilu_Cardinal partition, ilu_Cardinal crate, ilu_Cardinal rod, sctConf_T_RodConfig * conf);
00066   virtual void configureTIM (sctConfStatus *_status, ilu_Cardinal partition, ilu_Cardinal crate, sctConf_T_TimConfig * conf);
00067   virtual void configureBOC (sctConfStatus *_status, ilu_Cardinal partition, ilu_Cardinal crate, ilu_Cardinal rod, sctConf_T_BOCGlobalConfig * conf);
00068   virtual void clearAll (sctConfStatus *_status);
00069   virtual void namePartition (sctConfStatus *_status, ilu_Cardinal partition, ilu_T_CString name);
00070   virtual void mapRODMUR (sctConfStatus *_status, ilu_Cardinal partition, ilu_Cardinal crate, ilu_Cardinal rod, ilu_Cardinal order, ilu_Cardinal number);
00071   virtual void unmapRODMUR (sctConfStatus *_status, ilu_Cardinal MUR);
00072   virtual void mapBarrelMUR (sctConfStatus *_status, ilu_Cardinal MUR, ilu_Cardinal barrel, ilu_Cardinal row, ilu_Integer position);
00073   virtual void unmapBarrelMUR (sctConfStatus *_status, ilu_Cardinal MUR);
00074   virtual void mapEndcapMUR (sctConfStatus *_status, ilu_Cardinal MUR, ilu_Integer disk, ilu_Cardinal quadrant, ilu_Cardinal position);
00075   virtual void unmapEndcapMUR (sctConfStatus *_status, ilu_Cardinal MUR);
00076   virtual void mapPowerChannel (sctConfStatus *_status, ilu_Cardinal MUR, ilu_Cardinal number, ilu_Cardinal partition, ilu_Cardinal crate, ilu_Cardinal channel);
00077   virtual void unmapPowerChannel (sctConfStatus *_status, ilu_Cardinal MUR, ilu_Cardinal number);
00078   virtual void mapModuleMUR (sctConfStatus *_status, ilu_Cardinal MUR, ilu_Cardinal order, ilu_Cardinal RMUR, ilu_Cardinal rorder, ilu_T_CString sn);
00079   virtual void unmapModuleMUR (sctConfStatus *_status, ilu_Cardinal MUR, ilu_Cardinal order);
00080   virtual void getMapMURROD (sctConfStatus *_status, ilu_Cardinal MUR, ilu_Cardinal * partition, ilu_Cardinal * crate, ilu_Cardinal * rod, ilu_Cardinal * order);
00081   virtual void getMapRODMUR (sctConfStatus *_status, ilu_Cardinal partition, ilu_Cardinal crate, ilu_Cardinal rod, ilu_Cardinal order, ilu_Cardinal * MUR);
00082   virtual sctConf_T_MURType getMapMURPhysical (sctConfStatus *_status, ilu_Cardinal MUR, ilu_Cardinal * plane, ilu_Cardinal * section, ilu_Cardinal * position);
00083   virtual void swapMURNames (sctConfStatus *_status, ilu_Cardinal MUR1, ilu_Cardinal MUR2);
00084   virtual void modifyDefaultPowerParam (sctConfStatus *_status, ilu_T_CString state, ilu_T_CString name, ilu_T_CString type, ilu_ShortReal value);
00085   virtual void modifyHVCardParam (sctConfStatus *_status, ilu_Cardinal crate, ilu_Cardinal card, ilu_T_CString name, ilu_T_CString type, ilu_ShortReal value);
00086   virtual void modifyLVCardParam (sctConfStatus *_status, ilu_Cardinal crate, ilu_Cardinal card, ilu_T_CString name, ilu_T_CString type, ilu_ShortReal value);
00087   virtual void modifyPowerParam (sctConfStatus *_status, ilu_Cardinal MUR, ilu_Cardinal number, ilu_T_CString state, ilu_T_CString name, ilu_T_CString type, ilu_ShortReal value);
00088   virtual void modifyPowerParamCC (sctConfStatus *_status, ilu_Cardinal crate, ilu_Cardinal channel, ilu_T_CString state, ilu_T_CString name, ilu_T_CString type, ilu_ShortReal value);
00089   virtual ilu_ShortReal getDefaultPowerParam (sctConfStatus *_status, ilu_T_CString state, ilu_T_CString name, ilu_T_CString type);
00090   virtual ilu_ShortReal getHVCardParam (sctConfStatus *_status, ilu_Cardinal crate, ilu_Cardinal card, ilu_T_CString name, ilu_T_CString type);
00091   virtual ilu_ShortReal getLVCardParam (sctConfStatus *_status, ilu_Cardinal crate, ilu_Cardinal card, ilu_T_CString name, ilu_T_CString type);
00092   virtual ilu_ShortReal getPowerParam (sctConfStatus *_status, ilu_Cardinal MUR, ilu_Cardinal number, ilu_T_CString state, ilu_T_CString name, ilu_T_CString type);
00093   virtual ilu_ShortReal getPowerParamCC (sctConfStatus *_status, ilu_Cardinal crate, ilu_Cardinal channel, ilu_T_CString state, ilu_T_CString name, ilu_T_CString type);
00094   virtual sctConf_T_NameList listDefaultPowerParams (sctConfStatus *_status);
00095   virtual ilu_ShortReal getCratePowerParam (sctConfStatus *_status, ilu_Cardinal crate, ilu_T_CString name);
00096   virtual sctConf_T_NameList listDCSChannelParams (sctConfStatus *_status);
00097   virtual sctConf_T_NameList listDCSCardParams (sctConfStatus *_status);
00098   virtual sctConf_T_NameList listDCSCrateParams (sctConfStatus *_status);
00099   virtual void configureBOCChannel (sctConfStatus *_status, ilu_Cardinal MUR, ilu_Cardinal position, sctConf_T_BOCChannelConfig * conf);
00100   virtual void loadConfiguration (sctConfStatus *_status, ilu_T_CString filename);
00101   virtual void saveConfiguration (sctConfStatus *_status, ilu_T_CString filename);
00102   virtual void saveModuleConfiguration (sctConfStatus *_status, ilu_T_CString sn, ilu_T_CString filename);
00103   virtual ilu_T_CString getModuleConfigurationString (sctConfStatus *_status, ilu_T_CString modsn, sctConf_T_ABCDModule * config);
00104   virtual void writePowerSupplyConfiguration (sctConfStatus *_status, ilu_T_CString directory);
00105 };

Generated on Thu Jul 15 09:50:44 2004 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5