00001 // Copyright CERN 2012 - Developed in collaboration with GSI 00002 00003 #ifndef _GLOBAL_DEVICE_H_ 00004 #define _GLOBAL_DEVICE_H_ 00005 00006 #include <fesa-core/DataStore/AbstractDevice.h> 00007 #include <fesa-core/DataStore/SettingField.h> 00008 00009 namespace fesa 00010 { 00011 00019 class GlobalDevice : public AbstractDevice 00020 { 00021 public: 00022 00023 virtual ~GlobalDevice(); 00024 // General Fields 00029 ConfigFieldString className; 00034 ConfigFieldString version; 00039 ConfigFieldString fecName; 00040 00041 //CRFESA-764 implement some Process ID lock for the Shared memory, think about a concept, when there are many RT processes 00042 // ///this field keeps the proc ID of the RT proc. This is mainly to keep control of the shared memory 00043 // Field<long,SingleBuffered> processID_RT_; 00044 // 00045 // ///this field keeps the proc ID of the Server proc. This is mainly to keep control of the shared memory 00046 // Field<long,SingleBuffered> processID_SERVER_; 00047 00048 // Diagnostic Fields 00053 SettingFieldScalar<bool> enableDiagMode; 00058 SettingFieldString hostName; 00063 SettingFieldScalar<int32_t> portNumber; 00068 SettingFieldScalar<int32_t> fwkTopic; 00073 SettingFieldScalar<int32_t> customTopic; 00078 SettingFieldString traceDevices; 00083 SettingFieldString bypassActions; 00084 00085 protected: 00089 GlobalDevice(); 00090 00091 }; 00092 00093 } // fesa 00094 00095 #endif // _GLOBAL_DEVICE_H_