fesa Namespace Reference

Namespaces

namespace  DiagnosticUtils
namespace  LoggingMode
namespace  ProcessRunUtils
namespace  PropertyTag

Classes

class  AbstractAction
class  AbstractComponentEquipment
 This class is an abstraction of the components of an equipment. It contains common services shared by both the server and real time parts. More...
class  AbstractDeviceClass
 Each instance of this class represents a FESA-Class (XML-Design-Document). More...
class  AbstractEquipment
 This class is the head of each equipment. It is used to decouple the server and the RT package from the core package. More...
class  AbstractEvent
 Abstract Base class of the two concrete Events: RequestEvent and RTEvent This class cannot be instantiated and it contains only common services. More...
class  AbstractMsgQueue
 This class provides an abstract Message Queue. Whether the message queue will be implemented as IPC-Queue or as standard message queue depends on the deployment mode of the application (split, or shared). More...
class  AbstractServiceLocator
class  AbstractServiceLocatorFactory
class  AbstractServiceLocatorImplementation
struct  DiagnosticEventPayload
 Diagnostic event pay load structure. More...
class  IpcMsgQueue
 If the RT and the server part are NOT in the same process, the POSIX message queue is used. The class provides the structure of the POSIX message queue and its corresponding functions. More...
class  LocalMsgQueue
 If the RT task and the server are in the same process, the STL queue is used. The class provides the structure of the local message queue and its corresponding functions. More...
class  AbstractMessage
 Message class that will be transmitted on the message queue. More...
class  AutomaticNotificationMessage
 Message type to automatically notify the server side via Notification ID. More...
class  ManualNotificationMessage
class  CommandMessage
 This messageType can be used to send any type of command and up to 2 arguments as string. More...
class  OnDemandMessage
 Message type to allow the user to do an OnDemand event. More...
class  MsgQueueFactory
 This static class generates message queues on demand and stores the queues in a map. More...
class  NotificationID
 This class provides an unique notification identifier. The ID is generated from the className, the devices specified by the selection criterion, and the properties that will be notified. More...
class  NotificationIDManager
class  NotificationProducer
 this class is responsible for sending notification messages to the notification consumer, thus connecting the RT and server parts More...
class  OnDemandProducer
 This class provides services in order to send on-demand messages to the OD-event-source. More...
class  OnDemandProducerImpl
class  ServiceLocator
class  ServiceLocatorUnsplitImplementation
class  ThreadPriorityConfiguration
class  ThreadPriorityConfigurationFromFile
class  ThreadPriorityConfigurationFromCCDB
class  AbstractDevice
 This class represents an abstraction of the underlying device by defining the common fields of the FESA class devices (instance device and global one). More...
class  AbstractDeviceFactory
 This abstract class contains virtual methods to create the devices on the system. More...
class  AbstractFaultField
class  AbstractField
 Base class which defines virtual methods to manage all the FESA fields. More...
class  AcqFieldScalar
 Wrapper class for scalar acquisition fields. The acquisition field API offer methods to set fields, in contrast to configuration fields which cannot be set dynamically because they are constant. More...
class  AcqFieldStruct
 Wrapper class for acquisition fields. The acquisition field API offer methods to set fields, in contrast to configuration fields which cannot be set dynamically because they are constant. More...
class  AcqFieldArray
class  AcqFieldScalarArray
class  AcqFieldStructArray
class  AcqFieldArray2D
class  AcqFieldScalarArray2D
class  AcqFieldStructArray2D
class  AcqFieldString
class  AcqFieldStringArray
class  ArrayUtilities
 Helper class that contains methods to fill arrays with elements of all types. More...
class  ConfigFieldScalar
 Wrapper class for scalar configuration fields The configuration field API offers methods to retrieve field values (get accessors),. More...
class  ConfigFieldStruct
 Wrapper class for struct configuration fields The configuration field API offers methods to retrieve field values (get accessors), Acquisition and setting field wrappers inherit from it. More...
class  ConfigFieldArray
class  ConfigFieldScalarArray
class  ConfigFieldStructArray
class  ConfigFieldArray2D
class  ConfigFieldScalarArray2D
class  ConfigFieldStructArray2D
class  ConfigFieldString
class  ConfigFieldStringArray
class  Converter
 Class that contains conversion method to convert numeric data types to string and strings to numeric data types. More...
class  Converter< bool >
class  Converter< DeviceRelation_DataType >
class  Converter< FaultField_DataType >
class  Converter< HostHardwareAddress_DataType >
class  Converter< LogicalHardwareAddress_DataType >
class  Converter< HostPortHardwareAddress_DataType >
class  Converter< signed char >
class  Converter< T * >
class  DataStore
 Base class for field-storage classes in the framework: Device, GlobalDevice and DomainStore. More...
class  DeviceFactory
 This class is responsible for the instantiation of all the devices, global-device and domain-store. The DeviceFactory is designed as a bridge pattern to allow sub-classing of the class interface (this one) and the class implementation (DeviceFactoryImp) separately. More...
class  DeviceFactoryImp
 The DeviceFactory is designed as a bridge pattern to allow sub-classing of the class interface (DeviceFactory) and the class implementation (this one) separately. This DeviceFactoryImp is the abstract-class that declares the interface to the underlying device-factory implementation (Shm, Heap). It instantiates all devices, global-device, domain-store and initializes everything. More...
class  DomainStore
 The DomainStore class groups common fields which are dependent on the timing domain. More...
class  EquipmentData
class  FaultField
 Specialized field for fault fields. This type of field is meant to indicate a fault or problem in the system. It is a template as it can accept FaultField_DataTypes or derived classes of that type as template parameter. More...
class  Field
 Field template class for scalar fields. More...
class  FieldArray
 FieldArray template class for arrays of various numeric types and structure types. More...
class  FieldArray2D
class  FieldString
class  FieldStringArray
class  FieldSynchroManager
 Class that manages the synchronization of persistent fields. More...
class  FieldValueBase
 Base class for all field values. More...
class  FieldValue
 Field value class for all field types. More...
class  FieldValue< T[]>
class  FieldValue< T[][1]>
class  FieldValue< char[]>
class  FieldValue< char *[]>
class  GenericFieldScalar
 Wrapper class for scalar generic fields. The generic field API offer methods to set fields, in contrast to configuration fields which cannot be set dynamically because they are constant. More...
class  GenericFieldStruct
 Wrapper class for generic fields. The generic field API offer methods to set fields, in contrast to configuration fields which cannot be set dynamically because they are constant. More...
class  GenericFieldArray
class  GenericFieldScalarArray
class  GenericFieldStructArray
class  GenericFieldArray2D
class  GenericFieldScalarArray2D
class  GenericFieldStructArray2D
class  GenericFieldString
class  GenericFieldStringArray
class  GlobalDevice
 This is the base class for the equipment-specialist's global-device class. It contains all the common global fields for any FESA class. Global field means all the fields accessible for all the devices for a given class in the same front-end. It is up to each FESA class to specify its specific global fields. More...
class  HeapFactory
 This class is responsible for creating and initializing the data memory space on the heap:

  • compute the required memory size and allocate the memory
  • map each field into the data store.
More...
class  InitializeDataStoreManager
 this class is responsible for retrieve the information from of the different devices linked to a class More...
class  SettingFieldScalar
 Wrapper class for setting fields. More...
class  SettingFieldStruct
 Wrapper class for setting fields. More...
class  SettingFieldArray
class  SettingFieldScalarArray
class  SettingFieldStructArray
class  SettingFieldArray2D
class  SettingFieldScalarArray2D
class  SettingFieldStructArray2D
class  SettingFieldString
class  SettingFieldStringArray
struct  ShmHeader_t
class  ShmFactory
 This class is responsible for create and initialize the data memory space into shared-memory space:

  • compute the required mempry size and allocate the memory
  • map each field into the datastore.
More...
struct  DeviceRelation_DataType
struct  HostHardwareAddress_DataType
struct  HostPortHardwareAddress_DataType
struct  LogicalHardwareAddress_DataType
struct  FaultField_DataType
class  AbstractUserDiagnostics
 User side diagnostic infrastructure. More...
class  Diagnostics
 Diagnostic infrastructure. More...
class  FesaLogger
class  FesaLoggerBuffer
class  FesaStream
class  FrameworkDiagnostics
 Framework side diagnostic infrastructure. More...
class  TsCounter
class  UdpLogger
class  FesaException
 This class is the based class for all the exceptions in the FESA framework. It contains an error code in order to retrieve the message linked to the error. This error code has to be in the messages.cfg file The class also admits parameters to be replaced in the message in the format $1,$2 ... More...
class  FesaBadConfigException
class  FesaIOException
class  FesaBadParameterException
class  FesaTypeMismatchException
class  FesaInvalidResourceException
class  FesaFileException
class  PersistencyManager
 this class is responsible for managing the persistency mechanism of the classes. More...
class  PersistencyUnit
class  StoreManager
 this class is responsible for storing and restoring devices of a class from a persistency mechanism More...
class  ProxyInterface
 Interface to access device properties with set, get or subscription calls. This class is meant to be used as the implementation of an association relationship between classes. It could be also used to establish association relationships between devices of the same class. Therefore a class can access a device of the same class or different class deployed on the same or on a different frontend. More...
class  ProxyReplyHandler
 An object of ProxyReplyHandlerClass is passed as a reference to the Middleware when performing a subscription. Then Middleware use it as a callback. More...
class  FesaDeviceServer
class  Notification
 This class is used by the SubscriptionTreeManager to find the right subscribers, without any parsing of strings through the subscription tree. The NotificationID of each notification is unique and identifies the Notification on a RT Notify Event. More...
class  NotificationThread
 this class is used to notify a subscriber with adjustable priority (always lower, than usual). Each property has a priority level. If that level is lower than the priority's of the server thread, notifications from that property are executed in a NotificationThread. The different NotificationThreads are kept in a Threadpool inside the NotificationThreadFactory. The Notifications of one NotificationThread are stored inside a queue. When the "startConsumption" conditional variable is triggered, the queue will be processed. More...
class  NotificationThreadFactory
 this class manages the Notification classes More...
class  SubscriptionCycle
class  AbstractSubscriptionFilter
class  SubscriptionFilter
class  SubscriptionParameter
 The SubscriptionTreeManager is implemented as a singleton. It provides a functional interface to the subscription tree and manages the tree - mutex - policity. More...
class  SubscriptionTreeManager
 The SubscriptionTreeManager is implemented as a singleton. It provides a functional interface to the subscription tree and manages the tree - mutex - policity. More...
class  AbstractEventSource
 This class represents an event source on the system. Event sources are responsible for firing events and sending them to the right scheduler. More...
class  AbstractEventSourceFactory
 This factory provides methods to handle events sources. More...
class  AbstractRealTimeLabObjectFactory
struct  RTActionConfig
 This structure stores all the necessary information to configure an action. More...
class  AbstractRTAction
 This class represents a real time action on the system. Real time actions are fired by an event source to carry out operations in the devices. More...
class  AbstractRTActionFactory
 This class provides a method to create AbstractRTActions by their configuration and name. More...
struct  RTSchedulingUnitInfo
struct  RTActionInfo
class  AbstractRTDeviceClass
 this class contains the real time data of the FESA class More...
struct  RTSchedulingUnitRef
struct  RTLayerInfo
 this structure contains the information related to the layers in which the schedulers are running More...
class  AbstractRTEquipment
 This class represents the real time part of the equipment. it contains all the AbstractRTDeviceClass and the AbstractRTController for the real time behavior. More...
class  EventsMappingLoader
 This class provides access to the events specified in the instance document. More...
class  OnDemandConsumer
 This class provides services in order to receive messages from an OnDemandProducer. More...
class  OnDemandConsumerImpl
class  OnDemandEvent
 this class extends the RTEvent class to incorporate acknowledge features necessary for user events More...
class  OnDemandEventSource
 This class extends the AbstractEventSource class to provide a mechanism that allows clients to fire real time actions in a server/RT-action. The sending action puts a message in a message queue. The OnDemandEventSource class reads this message from the queue and fires a RTEvent. More...
class  OnSubscriptionEventSource
 OnSubscriptionEventSource is dedicated to establish subscriptions using the ProxyInterface and then trigger a rtEvent per notification received. More...
class  OnSubscriptionRTEventPayload
class  RealTimeLabObjectFactory
class  RTAction
 This class extends the AbstractRTAction and adds the deviceType parameter template. Specific real time actions will inherit from this class, replacing the template parameter for a specific device class. More...
class  RTController
 this class configures the real time process. It creates the event sources, actions, and schedulers and configures those elements so that the real time part is ready. The class is also responsible for starting the event sources and schedulers More...
class  RTDiagnosticSetting
 This class is responsible for doing diagnostics in the framework. It turns on or off topics and diagnostic mode. More...
class  RTEvent
 This class defines an event created by an event source. More...
class  RTEventPayload
 It is meant to carry the payload of an Event. More...
class  RTScheduler
 The scheduler class contains the real time behavior of the class. It waits for events and then executes the real time action related to them. More...
class  ServiceLocatorRealtimeSplitImplementation
class  TimerEventSource
class  AbstractPropertyTypeDefinition
 This class defines the attributes and abstract methods for all type definition properties. More...
struct  ServerActionConfig
class  AbstractServerAction
 This is the based class for all the server actions in the system which will be executed when a property is requested. TODO discuss the DataType parameter. More...
class  AbstractServerActionFactory
 This class is responsible to provide a method in order to create the server actions for the class. More...
class  AbstractServerController
 The AbstractServerController manages the proper startup and shutdown of all services, providet by the server side. More...
struct  PropertyInfo
 this structure contains all the attributes that a user can specify in the design document More...
class  AbstractServerDeviceClass
 This class contains the properties of the class and lets access to them. Besides it creates the UserEventProducer. More...
class  AbstractServerEquipment
 This class contains all the AbstractServerDeviceClass for the equipment and validates the requests from external clients. It also lets retrieve the devices by its name. More...
class  GetDiagnosticSetting
 Create one instance per equipment. More...
class  NotificationConsumer
 this class receives notification messages from the NotificationProducer and uses the SubscritionTreeManager class to nofity the clients More...
class  Property
 This class represents a property which computes through server actions the value of a requested attribute. More...
class  RequestEvent
 This class is used in order to encapsulate the cycle selector and the multiplexing context in a server action passing it as parameter. More...
class  BasicFilter
class  ServerAction
class  ServiceLocatorServerSplitImplementation
class  SetDiagnosticSetting
class  ComplementExpression
 This class extends the sorting expression in order to check if the context matches the negated expression. More...
class  FieldExpression
 This class extends the SortingExpression in order to know if the context matches a field. More...
class  HomogeneousDevCol
 This class contains a collection of devices and it lets do operations between other collections like add up, or rest. More...
class  IntersectExpression
 This class extends the sorting expression in order to check if the context matches the intersection between the two sorting expressions. More...
struct  SortingContext
class  SortingExpression
 This is the base class which defines sorting expressions in the sorting package. It defines the match method in order to find out if the expression matches the context. More...
class  SortingInterpreter
class  UnionExpression
 This class extends the sorting expression in order to check if the context matches a composition expression. More...
class  AbstractMultiplexingDataManager
 The headclass of all DataManagers. It provides all kinds of methods, which are needed in order to work with different memory concepts. More...
class  AbstractMultiplexingManager
 This class is used to find the correct slot for a multiplexed field value using the virtual accelerator or the multiplexing context. More...
class  CycleDescriptor
 This class provides an interface to retrieve the cycles ids and names depending on the timing domain. Since the timing Domain is lab specific, a child class inside the lap package implements most of the methods. More...
class  ExtendedMultiplexingManager
 This mutiplexing manager is needed in order to do Multi-Multiplexing. This means it needs to be able to handle extra criteria. More...
class  HeapMultiplexingDataManager
 This class extends the TimingDataManager class to deal with heap memory. More...
class  HeapRollingMultiplexingDataManager
 This class extends the RollingDataManager class to deal with heap memory. More...
class  MultiplexingContext
 This class contains the information used for multiplexed fields. More...
class  MultiplexingDataManager
 This class provides methods to retrieve/store information about the cycle stamp and slot linked to that cycle stamp. More...
class  MultiplexingManager
 This class extends the AbstractMultiplexingManager in order to provide a multiplexing manager in which every cycle has a fixed slot. More...
class  NoneContext
 This class extends the MultiplexingContext in order to provide a dedicate context for the user event source class. More...
class  RollingMultiplexingDataManager
 This class provides methods to retrieve information about the cycle IDs and names that a multiplexing manager uses regardless the implementation of the data. The prefix "rolling" means the following: 1.) The number of available slots can be defined per class-instance. 2.) Only acquisition data is handled by the rolling data manager. 3.) New values are written inside just one after another for all incoming cycles(virtual accelerators) 4.) If the last slot is reached, the rolling data manager will continue writing on the first slot. 5.) It is possible that for an "old" cycle no info data is available, since it was already overridden 6.) If the same cycle is played more than once, data will not be instantly overridden, like in the TimingDataManager. More...
class  RollingMultiplexingManager
 This class extends the AbstractMultiplexingManager in order to provide a rolling multiplexing manager (explanation of "rolling" see class RollingDataManager). More...
class  ShmMultiplexingDataManager
 This class extends the CycleDataManager class to deal with shared memory. More...
class  ShmRollingMultiplexingDataManager
 This class extends the RollingMultiplexingDataManager class to deal with shared memory. More...
class  SynchronizationFactory
class  SynchronizationLabObjectFactory
 This class provides methods in order to create the different types of timing descriptors or in general the specific Lab synchronization objects. More...
struct  CycleSelector
class  TimingContext
 Specialized context for a RTEvent coming from the TimingEventSource. The implementation is lab specific. More...
class  AbstractMutex
 This class provides the services that all the mutex have to implement This allows to define a interface so that you can use the mutex services without knowing the implementation (shared, or normal). More...
class  ConditionalVariable
 This class is a c++ wrapper in order to use conditional variables. Conditional variables help to synchronize threads when there's a logical condition for the synchronization. More...
class  Lock
 This class is used to automatically lock and unlock a mutex. The constructor calls lock() and the destructor calls unlock(). This makes it impossible to leave a block containing a Lock object without unlocking the mutex. More...
class  Miscellaneous
 Everything, that does not fit in any other class. More...
class  Mutex
 This class is c++ a wrapper in order to use POSIX mutex. More...
class  ClassElement
 Used to store all class-related Information from the Instantiation-File. More...
class  CustomEventElement
 Used to store all custom-event-element Information which comes from the Instantiation-File. More...
class  DeviceElement2
 Used to store all device-specific Information which comes from the Instantiation-File. More...
class  DeviceLogicalEventElement
 Used to store all Device-LogicalEvent-specific Information which comes from the Instantiation-File. More...
class  EventConfigurationElement
 Used to store all DEventConfiguration-specific Information which comes from the Instantiation-File. More...
class  EventElement
 Used to handle and store all Event-specific Information which comes from the Instantiation-File. This class is Abstract. More...
class  LogicalEventElement
 Used to handle and store all Logical-Event-specific Information which comes from the Instantiation-File. More...
class  OnDemandEventElement
 Used to handle and store all OnDemand-Event-specific Information which comes from the Instantiation-File. More...
class  OnSubscriptionEventElement
 Used to handle and store all OnSubscription-Event-specific Information which comes from the Instantiation-File. More...
class  ParserElementFactory
class  TimerEventElement
 Used to handle and store all Timer-Event-specific Information which comes from the Instantiation-File. More...
class  TimingEventElement
 Used to handle and store all Timing-Event-specific Information which comes from the Instantiation-File. More...
class  RollingMultiplexingElement
 This class stores the information about the rolling multiplexing manager that the instantiation file contains. More...
class  FieldElement
 This class stores field information in the form of field name, field value and multiplexing criterion. More...
class  DataStoreElement
 Common base class for GlobalDeviceElement, DeviceElement and DomainStoreElement. More...
class  GlobalDeviceElement
 This class stores global device information. More...
class  DeviceElement
 This class stores device information. More...
class  DomainStoreElement
 This class stores domain store information. More...
class  ProcessConfiguration
 Take care of configuring the FESA process from either configuration files or command line arguments. More...
class  ProcessConfigurationImpl
class  Semaphore
 this class is a c++ wrapper for the sem_t class More...
class  SharedMutex
 This class implements a mutex variable in shared memory. More...
class  StringUtilities
class  Thread
 This class is a wrapper in order to manage threads according to the object oriented style. More...
class  AttributeXML
 This class represents an XML attribute containing name and value. More...
class  ElementXML
 This class represents an XML element containing name, value, a list of attributes and a list of child XML elements. More...
class  XMLParser
 This class offers functions to extract information from an XML file. It uses the xPath functions of the library libXML. More...

Typedefs

typedef enum fesa::MessageType MessageType
 different queue-message types
typedef enum fesa::REQUEST_TYPE RequestType
 access type, which is sent to the ReplyHandler of the client When a subscriber which is subscribed to a setting property recieves an update, or when the manual update after a new subscription is triggered, the "get()" in the property has to be executed using the Request Type. In that case, this flag is added to the rdaData the subscriber will recieve, in order to inform him about the purpose of the Notification. GET: update done due a to notification from a RealTimeAction (no additional tag is sent) NEW_OR_DELETE_SUBSCRIBER: first update after a subscription ... "1" is sent. SET: notification throught a setting Property ... "2" is sent.
typedef std::string LogicalEventName
typedef boost::shared_ptr
< EventElement
EventElementPointer
typedef std::map
< LogicalEventName,
std::vector
< EventElementPointer > > 
EventMap
typedef std::vector< std::string > ConfigDirs

Enumerations

enum  MQ_TYPE { LOCAL_MSG_QUEUE, IPC_MSG_QUEUE }
 

type definition of the message queue type

More...
enum  DataIntegrity { SingleBuffered = 1, DoubleBuffered = 2 }
 

Data integrity of field.

More...
enum  FieldCategory { Configuration, Setting, Acquisition, Generic }
 

Category of field.

More...
enum  FesaProcessType {
  splitServerOnly, splitRealTimeOnly, splitServerMixed, splitRealTimeMixed,
  unsplit
}
 

this enumeration indicates the type of deployment used in the equipment

More...
enum  RunMode { blocking, nonBlocking }
 

this enumeration can be used to differ between blocking and nonblocking run-modes

More...
enum  RequestType { GET = 0, SUBSCRIBE = 1, SET = 2 }
 

access type, which is sent to the ReplyHandler of the client When a subscriber which is subscribed to a setting property recieves an update, or when the manual update after a new subscription is triggered, the "get()" in the property has to be executed using the Request Type. In that case, this flag is added to the rdaData the subscriber will recieve, in order to inform him about the purpose of the Notification. GET: update done due a to notification from a RealTimeAction (no additional tag is sent) NEW_OR_DELETE_SUBSCRIBER: first update after a subscription ... "1" is sent. SET: notification throught a setting Property ... "2" is sent.

More...
enum  IOType { Input = 0, Output = 1, Input = 0, Output = 1 }
 

type of a ServerAction (get/Set)

More...
enum  PropertyType { SETTING = 0, ACQUISITION = 1, SETTING = 0, ACQUISITION = 1 }
 

identifies the type of a property

More...
enum  MessageType { AutomaticNotificationMsg, ManualNotificationMsg, CommandMsg, OnDemandMsg }
 

different queue-message types

More...
enum  FaultSeverity { OK, WARNING, ERROR }
enum  EventSourceType {
  TimingSource, TimerSource, OnDemandSource, OnSubscriptionSource,
  CustomSource, TimingSimulationSource
}
enum  REQUEST_TYPE { GET = 0, NEW_OR_DELETE_SUBSCRIBER = 1, SET = 2 }
 

access type, which is sent to the ReplyHandler of the client When a subscriber which is subscribed to a setting property recieves an update, or when the manual update after a new subscription is triggered, the "get()" in the property has to be executed using the Request Type. In that case, this flag is added to the rdaData the subscriber will recieve, in order to inform him about the purpose of the Notification. GET: update done due a to notification from a RealTimeAction (no additional tag is sent) NEW_OR_DELETE_SUBSCRIBER: first update after a subscription ... "1" is sent. SET: notification throught a setting Property ... "2" is sent.

More...
enum  IOType { Input = 0, Output = 1, Input = 0, Output = 1 }
 

type of a ServerAction (get/Set)

More...
enum  PropertyType { SETTING = 0, ACQUISITION = 1, SETTING = 0, ACQUISITION = 1 }
 

identifies the type of a property

More...

Functions

HomogeneousDevCol operator^ (HomogeneousDevCol col1, HomogeneousDevCol col2)
HomogeneousDevCol operator+ (HomogeneousDevCol col1, HomogeneousDevCol col2)
int32_t getCycleTime ()
int64_t getActualTime (bool &isHwTime)
std::string getTimeString (int64_t time=0, char *format="%Y/%m/%d %T")
 return the time in string format
void parseCycleSelector (const std::string &cycleSelector, fesa::CycleSelector &timingSelectorStructure)
 This method transforms a timing selector string into the timing selector structure.
void validateCycleSelector (fesa::CycleSelector &cycleSelector, fesa::RequestType requestType)
 This method checks the validity of the cycleSelector regarding the usage context.
bool match (const std::string &cycleSelector, fesa::MultiplexingContext *context)
 this method matches the cycle selector and the multiplexing context when the multiplexing context is TimingContext

Variables

const uint32_t HIGH_MQ_PRIO = 10
 possible message priority values, TODO: for the time being some default values are assigned, but an enumeration would make much more sense
const uint32_t DEFAULT_MQ_PRIO = 9
const uint32_t LOW_MQ_PRIO = 8
const int32_t DEFAULT_RT_PRIO_DIAGNOSTIC_LAYER = 5
const int32_t DEFAULT_RT_PRIO_PERSISTANCE_THREAD = 25
const int32_t DEFAULT_RT_PRIO_CLIENT_NOTIFICATION_THREAD = 25
const int32_t DEFAULT_RT_PRIO_SIGNAL_HANDLER_THREAD = 25
const int32_t DEFAULT_RT_PRIO_SERVER_NOTIF_THREAD = 26
const int32_t DEFAULT_RT_PRIO_RDA_SERVER_THREAD = 27
const int32_t DEFAULT_RT_PRIO_CONCURRENCY_LAYER = 50
const int32_t DEFAULT_RT_PRIO_EVENT_SOURCE = 51
const int32_t DEFAULT_NICE_PRIO_DIAGNOSTIC_LAYER = 17
const int32_t DEFAULT_NICE_PRIO_PERSISTANCE_THREAD = 15
const int32_t DEFAULT_NICE_PRIO_CLIENT_NOTIFICATION_THREAD = 15
const int32_t DEFAULT_NICE_PRIO_SIGNAL_HANDLER_THREAD = 15
const int32_t DEFAULT_NICE_PRIO_SERVER_NOTIF_THREAD = 10
const int32_t DEFAULT_NICE_PRIO_RDA_SERVER_THREAD = 8
const int32_t DEFAULT_NICE_PRIO_CONCURRENCY_LAYER = 5
const int32_t DEFAULT_NICE_PRIO_EVENT_SOURCE = 3
const uint32_t FEC_NAME_LENGTH = 31
 Maximum length of the front end name.
const uint32_t CLASS_NAME_LENGTH = 31
 maximum length of the class name
const uint32_t MUXCONTEXT_NAME_LENGTH = 31
 maximum length of the multiplexing context name
const uint32_t CLASS_VERSION_LENGTH = 31
 maximum length of the class version
const uint32_t CLASS_DESC_LENGTH = 63
 maximum length of the class description
const uint32_t DEVICE_NAME_LENGTH = 31
 maximum length of the device name
const uint32_t DEVICE_DESC_LENGTH = 63
 maximum length of the device description
const uint32_t FIELD_STRING_LENGTH = 15
 maximum length of a string field
const uint32_t FIELD_NAME_LENGTH = 15
 maximum length of the name field
const uint32_t PROPERTY_NAME_LENGTH = 31
 Maximum length of the property name.
const uint32_t DIAG_TRACE_DEVICE_LENGTH = 320
 Maximum length allowed for device list in csv format.
const uint32_t DIAG_BYPASS_ACTION_LENGTH = 320
 Maximum size allowed for action list in csv format.
const uint32_t HW_MODULE_TYPE_LENGTH = 31
 Maximum length of the front end name.
const uint32_t NO_NOTIFICATION = 0
 This value is returned, if a RT action does not need a Notification ID.
const int32_t NO_TIMING_SELECTOR = -1
 this value is returned, if a TimingSelector was not found
const uint32_t COMMAND_STRING_MAXSIZE = 100
 maximum length of command string
const uint32_t DIAG_HOST_NAME_LENGTH = 31
 maximum length of the host name for diagnostics
const std::string TIMER_EVENT_SOURCE_NAME = "Timer"
 Standard timer event source name.
const std::string TIMING_EVENT_SOURCE_NAME = "Timing"
 fixed name of the timing event source
const std::string ON_DEMAND_EVENT_SOURCE_NAME = "OnDemand"
 fixed on demand event source name
const std::string ON_SUBSCRIPTION_EVENT_SOURCE_NAME = "OnSubscription"
const std::string DEFAULT_EVENT_SOURCE_KEY = "default-source"
 default event source key
const std::string EXTRA_CRITERION_NAME = "ExtraCriterion"
 Name of the ExtraCriterion-Tag in a rda-filter on get/set/subscription.
const std::string DIAGNOSTIC_LAYER = "diagnosticLayer"
 name for the diagnostic layer
const uint32_t MaxLength = 20
 maximum length
const std::string OD_MQ_Prefix = "/OD_MQ_"
 Prefix for on demand message queue.
const uint32_t OD_MSG_SIZE_MAX = 1024
 Maximum length for on demand message (smaller than MQ_MSG_SIZE_MAX).
const uint32_t OD_MSG_NUM_MAX = 10
 Maximum number of on demand messages (smaller than MQ_MSG_NUM_MAX).
const int32_t SIGFESA_NOTIFICATION_FAILURE = SIGRTMIN + 4
 Maximum number of on demand messages (smaller than MQ_MSG_NUM_MAX).
const int32_t SIGFESA_RT_DOWN = SIGRTMIN + 5
const int32_t SIGFESA_CHECK_PROCESS_ALIVE = SIGRTMIN + 6
const uint32_t MSG_DATA_SIZE_MAX = 8192
 maximum length of message
const std::string NUMBER_SEPARATOR = " "
const std::string STRING_SEPARATOR = "\n"
const std::string NOTIFICATION_ID_COLLECTION_TAG = "notification-id-collection"
const std::string threadCmwXMLElementName = "rda-server-thread"
const std::string threadPersistenceXMLElementName = "persistence-thread"
const std::string threadNotificationConsumerXMLElementName = "server-notif-thread"
const std::string threadClientNotificationXMLElementName = "/client-notification-threads/"
const std::string threadRTSchedulerXMLElementName = "-concurrency-layer"
const std::string threadEventSourceXMLElementName = "-event-source"
const std::string priorityAttributeName = "prio"
const std::string DEVICE = "device"
const std::string PROPERTY = "property"
const std::string CH = "ch"
const std::string LUN = "lun"
const std::string TYPE = "type"
const std::string PORT = "port-number"
const std::string HOST = "value"
const std::string defaultLogName = "DLT"
const std::string rtLogName = "RT"
const std::string srvLogName = "SRV"
const std::string evtLogName = "EVT"
const std::string notifLogName = "NOTIF"
const std::string bgrNotifLogName = "BGR_NOTIF"
const std::string rdaLogName = "RDA"
const std::string persLogName = "PSTCY"
const std::string undefinedClassName = std::string("-")
const std::string undefinedThreadName = std::string("-")
const std::string undefinedFunctionName = std::string("-")
const std::string ERROR_CATEGORY = "FESA"
const std::string DIAG_LAYER_NAME = "DiagnosticLayer"
const std::string DIAG_EVENT_SOURCE_NAME = "DiagnosticEventSource"
const std::string CLASS_BASE_PATH = "/instantiation-unit/classes/"
const std::string EVENT_CONFIGURATION_ATTRIBUTE_TAG = "name"
const std::string EVENTS_MAPPING_ELEMENT_TAG = "events-mapping"
const std::string CLASSES_TAG = "classes"
const std::string DEVICE_ELEMENT_TAG = "device-instance"
const std::string DEVICE_ELEMENT_ATTRIBUTE_TAG = "name"
const std::string GLOBAL_DEVICE_ELEMENT_TAG = "global-instance"
const std::string GLOBAL_DEVICE_ELEMENT_ATTRIBUTE_TAG = "name"
const std::string DEVICE_CONFIGURATION_ELEMEMT_TAG = "configuration"
const std::string DEVICE_SETTING_ELEMEMT_TAG = "setting"
const std::string DEVICE_ACQUISITION_ELEMEMT_TAG = "acquisition"
const std::string GENERIC_TAG = "generic"
const std::string DOMAIN_STORE_TAG = "domain-data"
const std::string DOMAIN_STORE_ATTRIBUTE_TAG = "name"
const std::string DEVICE_RELATIONS_TAG = "deviceRelations"
const std::string EXTRA_MUX_TAG = "extraMux"
const std::string MUX_ROLLING_TAG = "rolling"
const std::string MUX_DEPTH_TAG = "depth"
const std::string DIM_TAG = "dim"
const std::string DIM1_TAG = "dim1"
const std::string DIM2_TAG = "dim2"
const std::string VALUE_TAG = "value"
const std::string EVENT_CONFIGURATION_REF_TAG = "event-configuration-ref"
const std::string EVENT_CONFIGURATION_REF_ATTRIBUTE_TAG = "name"
const std::string TIMING_EVENT_SOURCE_TAG = "Timing"
const std::string TIMER_EVENT_SOURCE_TAG = "Timer"
const std::string ON_DAMAND_EVENT_SOURCE_TAG = "OnDemand"
const std::string ON_SUBSCRIPTION_EVENT_SOURCE_TAG = "OnSubscription"
const std::string CUSTOM_EVENT_SOURCE_TAG = "Custom"
const std::string ON_SUBSCRIPTION_TAG_DEVICE = "device"
const std::string ON_SUBSCRIPTION_TAG_PROPERTY = "property"
const std::string ON_SUBSCRIPTION_TAG_CONTEXT = "context"
const std::string TIMER_TAG_PERIOD = "period"
const std::string TIMING_TAG_CONCRETE_NAME = "name"
const int32_t RT_SCHED_POLICY = SCHED_RR
 The policy how to handle a deadlock, etc RR = RoundRobin.
const int32_t NICE_SCHED_POLICY = SCHED_OTHER
 The policy how to handle a deadlock, etc This is the default nice priority scheduling in linux.
const uint32_t MAX_ATTEMPTS_STOP_THREAD = 10

Typedef Documentation

typedef std::vector<std::string> fesa::ConfigDirs

Definition at line 12 of file ProcessConfigurationDefs.h.

typedef boost::shared_ptr<EventElement> fesa::EventElementPointer

Definition at line 23 of file ClassElement.h.

typedef std::map<LogicalEventName, std::vector< EventElementPointer > > fesa::EventMap

Definition at line 24 of file ClassElement.h.

typedef std::string fesa::LogicalEventName

Definition at line 20 of file ClassElement.h.

different queue-message types

access type, which is sent to the ReplyHandler of the client When a subscriber which is subscribed to a setting property recieves an update, or when the manual update after a new subscription is triggered, the "get()" in the property has to be executed using the Request Type. In that case, this flag is added to the rdaData the subscriber will recieve, in order to inform him about the purpose of the Notification. GET: update done due a to notification from a RealTimeAction (no additional tag is sent) NEW_OR_DELETE_SUBSCRIBER: first update after a subscription ... "1" is sent. SET: notification throught a setting Property ... "2" is sent.


Enumeration Type Documentation

Data integrity of field.

Enumerator:
SingleBuffered 
DoubleBuffered 

Definition at line 110 of file FesaDefs.h.

Enumerator:
TimingSource 
TimerSource 
OnDemandSource 
OnSubscriptionSource 
CustomSource 
TimingSimulationSource 

Definition at line 23 of file AbstractEventSource.h.

Enumerator:
OK 
WARNING 
ERROR 

Definition at line 62 of file TypeDefinition.h.

this enumeration indicates the type of deployment used in the equipment

Enumerator:
splitServerOnly 
splitRealTimeOnly 
splitServerMixed 
splitRealTimeMixed 
unsplit 

Definition at line 213 of file FesaDefs.h.

Category of field.

Enumerator:
Configuration 
Setting 
Acquisition 
Generic 

Definition at line 118 of file FesaDefs.h.

type of a ServerAction (get/Set)

Enumerator:
Input 
Output 
Input 
Output 

Definition at line 28 of file FesaServerDef.h.

type of a ServerAction (get/Set)

Enumerator:
Input 
Output 
Input 
Output 

Definition at line 265 of file FesaDefs.h.

different queue-message types

Enumerator:
AutomaticNotificationMsg 
ManualNotificationMsg 
CommandMsg 
OnDemandMsg 

Definition at line 25 of file MessageTypes.h.

type definition of the message queue type

Enumerator:
LOCAL_MSG_QUEUE 
IPC_MSG_QUEUE 

Definition at line 18 of file AbstractMsgQueue.h.

identifies the type of a property

Enumerator:
SETTING 
ACQUISITION 
SETTING 
ACQUISITION 

Definition at line 36 of file FesaServerDef.h.

identifies the type of a property

Enumerator:
SETTING 
ACQUISITION 
SETTING 
ACQUISITION 

Definition at line 273 of file FesaDefs.h.

access type, which is sent to the ReplyHandler of the client When a subscriber which is subscribed to a setting property recieves an update, or when the manual update after a new subscription is triggered, the "get()" in the property has to be executed using the Request Type. In that case, this flag is added to the rdaData the subscriber will recieve, in order to inform him about the purpose of the Notification. GET: update done due a to notification from a RealTimeAction (no additional tag is sent) NEW_OR_DELETE_SUBSCRIBER: first update after a subscription ... "1" is sent. SET: notification throught a setting Property ... "2" is sent.

Enumerator:
GET 
NEW_OR_DELETE_SUBSCRIBER 
SET 

Definition at line 20 of file FesaServerDef.h.

access type, which is sent to the ReplyHandler of the client When a subscriber which is subscribed to a setting property recieves an update, or when the manual update after a new subscription is triggered, the "get()" in the property has to be executed using the Request Type. In that case, this flag is added to the rdaData the subscriber will recieve, in order to inform him about the purpose of the Notification. GET: update done due a to notification from a RealTimeAction (no additional tag is sent) NEW_OR_DELETE_SUBSCRIBER: first update after a subscription ... "1" is sent. SET: notification throught a setting Property ... "2" is sent.

Enumerator:
GET 
SUBSCRIBE 
SET 

Definition at line 257 of file FesaDefs.h.

this enumeration can be used to differ between blocking and nonblocking run-modes

Enumerator:
blocking 
nonBlocking 

Definition at line 225 of file FesaDefs.h.


Function Documentation

int64_t fesa::getActualTime ( bool &  isHwTime  ) 
Returns:
the actual time in int64_t format and the source of the time(OS or timing-card)
int32_t fesa::getCycleTime (  ) 
Returns:
the actual time in the cycle in ms.
std::string fesa::getTimeString ( int64_t  time = 0,
char *  format = "%Y/%m/%d %T" 
)

return the time in string format

Parameters:
time to transform
format 
bool fesa::match ( const std::string &  cycleSelector,
fesa::MultiplexingContext context 
)

this method matches the cycle selector and the multiplexing context when the multiplexing context is TimingContext

HomogeneousDevCol fesa::operator+ ( HomogeneousDevCol  col1,
HomogeneousDevCol  col2 
)
HomogeneousDevCol fesa::operator^ ( HomogeneousDevCol  col1,
HomogeneousDevCol  col2 
)
void fesa::parseCycleSelector ( const std::string &  cycleSelector,
fesa::CycleSelector timingSelectorStructure 
)

This method transforms a timing selector string into the timing selector structure.

Parameters:
cycleSelector string format
timingSelector struct output

Referenced by fesa::SynchronizationFactory::createExtendedMultiplexingManager(), fesa::MultiplexingContext::setExtraCondition(), and fesa::Property::validateCycleSelector().

void fesa::validateCycleSelector ( fesa::CycleSelector cycleSelector,
fesa::RequestType  requestType 
)

This method checks the validity of the cycleSelector regarding the usage context.

Parameters:
cycleSelector string format
timingSelector struct output

Variable Documentation

const std::string fesa::bgrNotifLogName = "BGR_NOTIF"

Definition at line 67 of file FesaLogger.h.

const std::string fesa::CH = "ch"
const std::string fesa::CLASS_BASE_PATH = "/instantiation-unit/classes/"

Definition at line 19 of file EventsMappingLoader.h.

Referenced by fesa::EventsMappingLoader::loadEventsMapping().

const uint32_t fesa::CLASS_DESC_LENGTH = 63

maximum length of the class description

Definition at line 65 of file FesaDefs.h.

const uint32_t fesa::CLASS_NAME_LENGTH = 31

maximum length of the class name

Definition at line 50 of file FesaDefs.h.

const uint32_t fesa::CLASS_VERSION_LENGTH = 31

maximum length of the class version

Definition at line 60 of file FesaDefs.h.

const std::string fesa::CLASSES_TAG = "classes"
const uint32_t fesa::COMMAND_STRING_MAXSIZE = 100

maximum length of command string

Definition at line 136 of file FesaDefs.h.

const std::string fesa::CUSTOM_EVENT_SOURCE_TAG = "Custom"

Definition at line 46 of file ParserElementDefs.h.

Referenced by fesa::ParserElementFactory::createEventElement().

const std::string fesa::DEFAULT_EVENT_SOURCE_KEY = "default-source"

default event source key

Definition at line 193 of file FesaDefs.h.

const uint32_t fesa::DEFAULT_MQ_PRIO = 9

Definition at line 28 of file AbstractMsgQueue.h.

Definition at line 28 of file FesaDefs.h.

Definition at line 37 of file FesaDefs.h.

Referenced by fesa::ThreadPriorityConfigurationFromFile::getPrioCMW().

Definition at line 34 of file FesaDefs.h.

Definition at line 31 of file FesaDefs.h.

Definition at line 14 of file FesaDefs.h.

Definition at line 23 of file FesaDefs.h.

Referenced by fesa::ThreadPriorityConfigurationFromFile::getPrioCMW().

Definition at line 20 of file FesaDefs.h.

Definition at line 17 of file FesaDefs.h.

const std::string fesa::defaultLogName = "DLT"

Definition at line 62 of file FesaLogger.h.

const std::string fesa::DEVICE = "device"
const std::string fesa::DEVICE_ACQUISITION_ELEMEMT_TAG = "acquisition"
const std::string fesa::DEVICE_CONFIGURATION_ELEMEMT_TAG = "configuration"
const uint32_t fesa::DEVICE_DESC_LENGTH = 63

maximum length of the device description

Definition at line 75 of file FesaDefs.h.

const std::string fesa::DEVICE_ELEMENT_ATTRIBUTE_TAG = "name"
const std::string fesa::DEVICE_ELEMENT_TAG = "device-instance"
const uint32_t fesa::DEVICE_NAME_LENGTH = 31

maximum length of the device name

Definition at line 70 of file FesaDefs.h.

const std::string fesa::DEVICE_RELATIONS_TAG = "deviceRelations"
const std::string fesa::DEVICE_SETTING_ELEMEMT_TAG = "setting"
const uint32_t fesa::DIAG_BYPASS_ACTION_LENGTH = 320

Maximum size allowed for action list in csv format.

Definition at line 100 of file FesaDefs.h.

const std::string fesa::DIAG_EVENT_SOURCE_NAME = "DiagnosticEventSource"
const uint32_t fesa::DIAG_HOST_NAME_LENGTH = 31

maximum length of the host name for diagnostics

Definition at line 141 of file FesaDefs.h.

const std::string fesa::DIAG_LAYER_NAME = "DiagnosticLayer"

Definition at line 16 of file AbstractRTDeviceClass.h.

const uint32_t fesa::DIAG_TRACE_DEVICE_LENGTH = 320

Maximum length allowed for device list in csv format.

Definition at line 95 of file FesaDefs.h.

const std::string fesa::DIAGNOSTIC_LAYER = "diagnosticLayer"
const std::string fesa::DIM1_TAG = "dim1"

Definition at line 35 of file ParserElementDefs.h.

Referenced by fesa::InitializeDataStoreManager::fillElement().

const std::string fesa::DIM2_TAG = "dim2"

Definition at line 36 of file ParserElementDefs.h.

Referenced by fesa::InitializeDataStoreManager::fillElement().

const std::string fesa::DIM_TAG = "dim"

Definition at line 34 of file ParserElementDefs.h.

Referenced by fesa::InitializeDataStoreManager::fillElement().

const std::string fesa::DOMAIN_STORE_ATTRIBUTE_TAG = "name"
const std::string fesa::DOMAIN_STORE_TAG = "domain-data"
const std::string fesa::ERROR_CATEGORY = "FESA"
const std::string fesa::EVENT_CONFIGURATION_ATTRIBUTE_TAG = "name"

Definition at line 12 of file ParserElementDefs.h.

Referenced by fesa::EventConfigurationElement::initialize().

const std::string fesa::EVENT_CONFIGURATION_REF_ATTRIBUTE_TAG = "name"
const std::string fesa::EVENT_CONFIGURATION_REF_TAG = "event-configuration-ref"
const std::string fesa::EVENTS_MAPPING_ELEMENT_TAG = "events-mapping"
const std::string fesa::evtLogName = "EVT"

Definition at line 65 of file FesaLogger.h.

const std::string fesa::EXTRA_CRITERION_NAME = "ExtraCriterion"

Name of the ExtraCriterion-Tag in a rda-filter on get/set/subscription.

Definition at line 198 of file FesaDefs.h.

Referenced by fesa::Property::get(), and fesa::Property::set().

const std::string fesa::EXTRA_MUX_TAG = "extraMux"
const uint32_t fesa::FEC_NAME_LENGTH = 31

Maximum length of the front end name.

Definition at line 45 of file FesaDefs.h.

const uint32_t fesa::FIELD_NAME_LENGTH = 15

maximum length of the name field

Definition at line 85 of file FesaDefs.h.

const uint32_t fesa::FIELD_STRING_LENGTH = 15

maximum length of a string field

Definition at line 80 of file FesaDefs.h.

const std::string fesa::GENERIC_TAG = "generic"
const std::string fesa::GLOBAL_DEVICE_ELEMENT_ATTRIBUTE_TAG = "name"
const std::string fesa::GLOBAL_DEVICE_ELEMENT_TAG = "global-instance"
const uint32_t fesa::HIGH_MQ_PRIO = 10

possible message priority values, TODO: for the time being some default values are assigned, but an enumeration would make much more sense

Definition at line 27 of file AbstractMsgQueue.h.

Referenced by fesa::AbstractMsgQueue::checkState().

const std::string fesa::HOST = "value"
const uint32_t fesa::HW_MODULE_TYPE_LENGTH = 31

Maximum length of the front end name.

Definition at line 105 of file FesaDefs.h.

const uint32_t fesa::LOW_MQ_PRIO = 8

Definition at line 29 of file AbstractMsgQueue.h.

const std::string fesa::LUN = "lun"
const uint32_t fesa::MAX_ATTEMPTS_STOP_THREAD = 10

Definition at line 26 of file Thread.h.

Referenced by fesa::RTScheduler::cancel(), and fesa::Thread::stop().

const uint32_t fesa::MaxLength = 20

maximum length

Definition at line 208 of file FesaDefs.h.

const uint32_t fesa::MSG_DATA_SIZE_MAX = 8192
const std::string fesa::MUX_DEPTH_TAG = "depth"
const std::string fesa::MUX_ROLLING_TAG = "rolling"
const uint32_t fesa::MUXCONTEXT_NAME_LENGTH = 31

maximum length of the multiplexing context name

Definition at line 55 of file FesaDefs.h.

const int32_t fesa::NICE_SCHED_POLICY = SCHED_OTHER

The policy how to handle a deadlock, etc This is the default nice priority scheduling in linux.

Definition at line 24 of file Thread.h.

Referenced by fesa::Thread::AdjustProcessPriority(), and fesa::Thread::Thread().

const uint32_t fesa::NO_NOTIFICATION = 0

This value is returned, if a RT action does not need a Notification ID.

Definition at line 126 of file FesaDefs.h.

Referenced by fesa::AbstractRTAction::AbstractRTAction(), and fesa::AbstractRTAction::executeAction().

const int32_t fesa::NO_TIMING_SELECTOR = -1

this value is returned, if a TimingSelector was not found

Definition at line 131 of file FesaDefs.h.

Referenced by fesa::MultiplexingManager::getLastSlot().

const std::string fesa::NOTIFICATION_ID_COLLECTION_TAG = "notification-id-collection"

tag, to identify the id collection

Definition at line 19 of file NotificationIDManager.h.

Referenced by fesa::NotificationIDManager::storeNotificationIDCollection().

const std::string fesa::notifLogName = "NOTIF"

Definition at line 66 of file FesaLogger.h.

const std::string fesa::NUMBER_SEPARATOR = " "
const std::string fesa::OD_MQ_Prefix = "/OD_MQ_"

Prefix for on demand message queue.

Definition at line 234 of file FesaDefs.h.

const uint32_t fesa::OD_MSG_NUM_MAX = 10

Maximum number of on demand messages (smaller than MQ_MSG_NUM_MAX).

Definition at line 244 of file FesaDefs.h.

const uint32_t fesa::OD_MSG_SIZE_MAX = 1024

Maximum length for on demand message (smaller than MQ_MSG_SIZE_MAX).

Definition at line 239 of file FesaDefs.h.

const std::string fesa::ON_DAMAND_EVENT_SOURCE_TAG = "OnDemand"

Definition at line 44 of file ParserElementDefs.h.

Referenced by fesa::ParserElementFactory::createEventElement().

const std::string fesa::ON_DEMAND_EVENT_SOURCE_NAME = "OnDemand"

fixed on demand event source name

Definition at line 183 of file FesaDefs.h.

const std::string fesa::ON_SUBSCRIPTION_EVENT_SOURCE_NAME = "OnSubscription"

Definition at line 188 of file FesaDefs.h.

Referenced by fesa::AbstractEventSourceFactory::generateKey().

const std::string fesa::ON_SUBSCRIPTION_EVENT_SOURCE_TAG = "OnSubscription"
const std::string fesa::ON_SUBSCRIPTION_TAG_CONTEXT = "context"
const std::string fesa::ON_SUBSCRIPTION_TAG_DEVICE = "device"
const std::string fesa::ON_SUBSCRIPTION_TAG_PROPERTY = "property"
const std::string fesa::persLogName = "PSTCY"

Definition at line 69 of file FesaLogger.h.

const std::string fesa::PORT = "port-number"
const std::string fesa::priorityAttributeName = "prio"
const std::string fesa::PROPERTY = "property"
const uint32_t fesa::PROPERTY_NAME_LENGTH = 31

Maximum length of the property name.

Definition at line 90 of file FesaDefs.h.

const std::string fesa::rdaLogName = "RDA"

Definition at line 68 of file FesaLogger.h.

const int32_t fesa::RT_SCHED_POLICY = SCHED_RR

The policy how to handle a deadlock, etc RR = RoundRobin.

Definition at line 18 of file Thread.h.

Referenced by fesa::Thread::AdjustProcessPriority().

const std::string fesa::rtLogName = "RT"

Definition at line 63 of file FesaLogger.h.

const int32_t fesa::SIGFESA_CHECK_PROCESS_ALIVE = SIGRTMIN + 6
const int32_t fesa::SIGFESA_NOTIFICATION_FAILURE = SIGRTMIN + 4

Maximum number of on demand messages (smaller than MQ_MSG_NUM_MAX).

Definition at line 282 of file FesaDefs.h.

Referenced by fesa::NotificationProducer::sendAutomaticNotification(), fesa::NotificationProducer::sendManualNotification(), and fesa::AbstractServerEquipment::waitSignal().

const int32_t fesa::SIGFESA_RT_DOWN = SIGRTMIN + 5
const std::string fesa::srvLogName = "SRV"

Definition at line 64 of file FesaLogger.h.

const std::string fesa::STRING_SEPARATOR = "\n"
const std::string fesa::threadClientNotificationXMLElementName = "/client-notification-threads/"
const std::string fesa::threadCmwXMLElementName = "rda-server-thread"
const std::string fesa::threadEventSourceXMLElementName = "-event-source"
const std::string fesa::threadNotificationConsumerXMLElementName = "server-notif-thread"
const std::string fesa::threadPersistenceXMLElementName = "persistence-thread"
const std::string fesa::threadRTSchedulerXMLElementName = "-concurrency-layer"
const std::string fesa::TIMER_EVENT_SOURCE_NAME = "Timer"

Standard timer event source name.

Definition at line 173 of file FesaDefs.h.

Referenced by fesa::AbstractEventSourceFactory::createTimerEventSource(), and fesa::AbstractEventSourceFactory::generateKey().

const std::string fesa::TIMER_EVENT_SOURCE_TAG = "Timer"
const std::string fesa::TIMER_TAG_PERIOD = "period"
const std::string fesa::TIMING_EVENT_SOURCE_NAME = "Timing"

fixed name of the timing event source

Definition at line 178 of file FesaDefs.h.

Referenced by fesa::AbstractEventSourceFactory::createTimingEventSource(), and fesa::AbstractEventSourceFactory::generateKey().

const std::string fesa::TIMING_EVENT_SOURCE_TAG = "Timing"
const std::string fesa::TIMING_TAG_CONCRETE_NAME = "name"
const std::string fesa::TYPE = "type"
const std::string fesa::undefinedClassName = std::string("-")

Definition at line 71 of file FesaLogger.h.

Referenced by fesa::FesaLogger::getLogger().

const std::string fesa::undefinedFunctionName = std::string("-")

Definition at line 73 of file FesaLogger.h.

const std::string fesa::undefinedThreadName = std::string("-")

Definition at line 72 of file FesaLogger.h.

Referenced by fesa::FesaLogger::getLogger().

const std::string fesa::VALUE_TAG = "value"

Generated on 18 Jan 2013 for Fesa by  doxygen 1.6.1