Imported CSS files

This commit is contained in:
Sakbe
2019-10-21 16:02:55 +01:00
parent 22146b8413
commit 87401e8c95
365 changed files with 1092613 additions and 0 deletions

View File

@@ -0,0 +1,394 @@
/*
* Copyright 2011 EFDA | European Fusion Development Agreement
*
* Licensed under the EUPL, Version 1.1 or - as soon they
will be approved by the European Commission - subsequent
versions of the EUPL (the "Licence");
* You may not use this work except in compliance with the
Licence.
* You may obtain a copy of the Licence at:
*
* http://ec.europa.eu/idabc/eupl
*
* Unless required by applicable law or agreed to in
writing, software distributed under the Licence is
distributed on an "AS IS" basis,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
express or implied.
* See the Licence for the specific language governing
permissions and limitations under the Licence.
*
* $Id$
*
**/
/*
EPICS GAM is a data proxy from/to RTThread and EPICSLib
secondo me bisogna farla a tipo GAM con la sincronizzazione
come visto c'è da risolvere il problema del postEvent che viene
gratis sull'epics thread ma non in MARTe
config parameters
subsampling to epics
thresholds
bandwidth/deadbands
*/
#include "EPICSGAM.h"
#include "ConfigurationDataBase.h"
#include "CDBExtended.h"
#include "GlobalObjectDataBase.h"
#include "GCNString.h"
#include "MenuEntry.h"
EPICSGAM::EPICSGAM(){
usecTime = NULL;
fastTrigger = NULL;
jpfData = NULL;
hasTriggerSignal = False;
acceptingMessages = False;
}
/* in GAMs usually instead of calling ObjectLoadSetup of the single GAM you can
* call the super object ObjectLoadSetup that will call the redefined Initialize
* method, so ObjectLoadSetup is not required
*/
//ObjectLoadSetup() {
bool EPICSGAM::Initialise(ConfigurationDataBase& cdbData) {
acceptingMessages = False;
CDBExtended cdb(cdbData);
//////////////////////////
// Add Time BaseSignal //
//////////////////////////
if(!AddInputInterface(usecTime,"UsecTimeInterface")){
AssertErrorCondition(InitialisationError,"EPICSGAM::Initialise: %s failed to add input interface InputInterface UsecTimeInterface",Name());
return False;
}
FString timeBase;
if(!cdb.ReadFString(timeBase,"UsecTimeSignalName")){
AssertErrorCondition(InitialisationError, "EPICSGAM::Initialise: %s does not specify a UsecTimeSignalName", Name());
return False;
}
FString timeBaseType;
if(!cdb.ReadFString(timeBaseType,"TimeSignalType","int32")){
AssertErrorCondition(Warning, "EPICSGAM::Initialise: %s does not specify a TimeSignalType. Assuming int32", Name());
}
if(!usecTime->AddSignal(timeBase.Buffer(), timeBaseType.Buffer())){
AssertErrorCondition(InitialisationError,"EPICSGAM::Initialise: %s failed to add input Signal %s to interface InputInterface",Name(),timeBase.Buffer());
return False;
}
/////////////////////////////////////
// Add Trigger Signal to Interface //
/////////////////////////////////////
if(cdb->Exists("TriggerSignalName")){
if(!AddIOInterface(fastTrigger,"FastTriggerSignal",DDB_ReadMode|DDB_WriteMode)){
AssertErrorCondition(InitialisationError,"EPICSGAM::Initialise: %s failed to add input interface InputInterface FastTriggerSignal",Name());
return False;
}
FString triggerSignal;
if(!cdb.ReadFString(triggerSignal,"TriggerSignalName")){
AssertErrorCondition(InitialisationError, "EPICSGAM::Initialise: %s does not specify a TriggerSignalName", Name());
return False;
}
if(!fastTrigger->AddSignal(triggerSignal.Buffer(), "int32")){
AssertErrorCondition(InitialisationError,"EPICSGAM::Initialise: %s failed to add input Signal %s to interface InputInterface",Name(),triggerSignal.Buffer());
return False;
}
hasTriggerSignal = True;
}
//////////////////////////////////////
// Add EPICS Signal List to Interface //
//////////////////////////////////////
if(!AddInputInterface(jpfData,"EPICSSignalList")){
AssertErrorCondition(InitialisationError,"EPICSGAM::Initialise: %s failed to add input interface InputInterface JPFSignalList",Name());
return False;
}
// Read Signal Names //
if(!cdb->Move("Signals")){
AssertErrorCondition(InitialisationError,"EPICSGAM::Initialise: %s did not specify Signals entry",Name());
return False;
}
//jpfData is DDBInterface
if(!jpfData->ObjectLoadSetup(cdb,NULL)){
AssertErrorCondition(InitialisationError,"EPICSGAM::Initialise: %s: ObjectLoadSetup Failed DDBInterface %s ",Name(),jpfData->InterfaceName());
return False;
}
cdb->MoveToFather();
// we move this initialization there to let the signal Table fetching "SignalServer" parameter
if(!signalTable.Initialize(*jpfData, cdb)) {
AssertErrorCondition(InitialisationError,"EPICSGAM::Initialise: %s: Failed to initialize signal Table",Name());
return False;
}
acceptingMessages = True;
return True;
} //--------------------------------------------------------------------------- EIPCSGAM::Initialize
bool EPICSGAM::Execute(GAM_FunctionNumbers functionNumber) {
// Read Cycle Time
usecTime->Read();
int32 *timePointer = (int32 *)usecTime->Buffer();
int32 usecTimeSample = timePointer[0];
// Get the Trigger Request
bool fastTriggerRequested = False;
if(hasTriggerSignal){
fastTrigger->Read();
int32 fastTriggerSignal = *((int32 *)fastTrigger->Buffer());
fastTriggerRequested = (fastTriggerSignal != 0);
}
// Read Jpf Data
jpfData->Read();
// Update the signals table
signalTable.UpdateSignals( (char *)jpfData->Buffer(), usecTimeSample);
switch(functionNumber){
case GAMOnline:{
break;
}
case GAMPrepulse:{
// Disable Handling of the Messages
if(acceptingMessages) acceptingMessages = False;
break;
}
case GAMPostpulse:{
// Enable Handling of the Messages
if(!acceptingMessages) acceptingMessages = True;
break;
}
};
// Clear Trigger Request
if(fastTriggerRequested){
int32 *fastTriggerSignal = (int32 *)fastTrigger->Buffer();
*fastTriggerSignal = 0;
fastTrigger->Write();
}
return True;
}
//----------------------------------------------------------------------------- end Execute
/*
GCRTemplate<SignalInterface> EPICSGAM::GetSignal(const FString &signalName){
return dataCollector.GetSignalData(signalName);
};
*/
// still to do..
bool EPICSGAM::ProcessMessage(GCRTemplate<MessageEnvelope> envelope){
if(!acceptingMessages){
AssertErrorCondition(InitialisationError,"DataCollectionGAM::ProcessMessage: %s: DataCollectionGAM is not accepting messages yet", Name());
return False;
}
GCRTemplate<Message> message = envelope->GetMessage();
if (!message.IsValid()){
AssertErrorCondition(InitialisationError,"DataCollectionGAM::ProcessMessage: %s: Received invalid Message", Name());
return False;
}
FString messageContent = message->Content();
FString messageSender = envelope->Sender();
// GAP Message Request
if(messageContent == "LISTSIGNALS"){
GCRTemplate<Message> addSignals(GCFT_Create);
if(!addSignals.IsValid()){
AssertErrorCondition(InitialisationError,"DataCollectionGAM::ProcessMessage: %s: Failed creating Message", Name());
return False;
}
addSignals->Init(0,"ADDSIGNAL");
CDBExtended cdb;
/* if(!dataCollector.ObjectSaveSetup(cdb)){
AssertErrorCondition(InitialisationError,"DataCollectionGAM::ProcessMessage: %s: Failed gathering information about data collection", Name());
return False;
}
*/
int32 nOfAcquiredSignals = 0;
cdb.ReadInt32(nOfAcquiredSignals, "NOfChannels");
if(!cdb->Move("Signals")){
AssertErrorCondition(InitialisationError,"DataCollectionGAM::ProcessMessage: %s: Signals entry not available in the data base", Name());
return False;
}
for(int nSignals = 0; nSignals < nOfAcquiredSignals; nSignals++){
GCRTemplate<GCNString> signalDescription(GCFT_Create);
if(!signalDescription.IsValid()){
AssertErrorCondition(FatalError,"DataCollectionGAM::ProcessMessage: %s: Failed creating GCNString", Name());
return False;
}
cdb->MoveToChildren(nSignals);
FString signalName;
cdb.ReadFString(signalName, "Name");
signalDescription->SetObjectName(signalName.Buffer());
cdb->WriteToStream(*(signalDescription.operator->()));
signalDescription->Seek(0);
addSignals->Insert(signalDescription);
cdb->MoveToFather();
//AssertErrorCondition(Information,"DataCollectionGAM::ProcessMessage: %s: Adding Signal %s to the collection list", Name(), signalName.Buffer());
}
GCRTemplate<MessageEnvelope> addSignalsEnvelope(GCFT_Create);
if(!addSignalsEnvelope.IsValid()){
AssertErrorCondition(FatalError,"DataCollectionGAM::ProcessMessage: %s: Failed creating MessageEnvelope", Name());
return False;
}
addSignalsEnvelope->PrepareReply(envelope, addSignals);
MessageHandler::SendMessage(addSignalsEnvelope);
return True;
}
else if ( messageContent == "INITSIGNAL" ) {
return True;
}else if(messageContent == "GETSIGNAL"){
GCRTemplate<Message> sendSignal(GCFT_Create);
if(!sendSignal.IsValid()){
AssertErrorCondition(FatalError,"DataCollectionGAM::ProcessMessage: %s: GETSIGNALS: Failed creating Message", Name());
return False;
}
sendSignal->Init(0,"SIGNAL");
GCRTemplate<GCNString> errorMessage(GCFT_Create);
if(!errorMessage.IsValid()){
AssertErrorCondition(FatalError,"DataCollectionGAM::ProcessMessage: %s: GETSIGNALS: Failed creating GCNString", Name());
return False;
}
errorMessage->SetObjectName("ERROR");
GCRTemplate<MessageEnvelope> sendSignalsEnvelope(GCFT_Create);
if(!sendSignalsEnvelope.IsValid()){
AssertErrorCondition(FatalError,"DataCollectionGAM::ProcessMessage: %s: GETSIGNALS: Failed creating MessageEnvelope", Name());
return False;
}
sendSignalsEnvelope->PrepareReply(envelope, sendSignal);
GCRTemplate<GCNString> signalName = message->Find(0);
if (!signalName.IsValid()) {
errorMessage->Printf("Missing Signal Name");
sendSignal->Insert(errorMessage);
MessageHandler::SendMessage(sendSignalsEnvelope);
AssertErrorCondition(InitialisationError,"DataCollectionGAM::ProcessMessage: %s: GETSIGNALS: No valid signalName has been specified ", Name());
return False;
}
/*
GCRTemplate<SignalInterface> signal = GetSignal(*(signalName.operator->()));
if (!signal.IsValid()) {
errorMessage->Printf("Signal %s not found in GAM %s", signalName->Buffer(), Name());
sendSignal->Insert(errorMessage);
MessageHandler::SendMessage(sendSignalsEnvelope);
AssertErrorCondition(InitialisationError,"DataCollectionGAM::ProcessMessage: %s: GETSIGNALS: %s ", Name(), errorMessage->Buffer());
return False;
}
sendSignal->Insert(signal);
MessageHandler::SendMessage(sendSignalsEnvelope);
*/
return True;
}
return False;
}
//----------------------------------------------------------------------------- end ProcessMessage
const char* EPICSGAM::css = "table.bltable {"
"margin: 1em 1em 1em 2em;"
"background: whitesmoke;"
"border-collapse: collapse;"
"}"
"table.bltable th, table.bltable td {"
"border: 1px silver solid;"
"padding: 0.2em;"
"}"
"table.bltable th {"
"background: gainsboro;"
"text-align: left;"
"}"
"table.bltable caption {"
"margin-left: inherit;"
"margin-right: inherit;"
"}";
// ----------------------------------------------------------------------------
#define TABLE_NEWROW hStream.Printf("<tr>\n")
#define TABLE_ENDROW hStream.Printf("</tr>\n")
bool EPICSGAM::ProcessHttpMessage(HttpStream &hStream) {
hStream.SSPrintf("OutputHttpOtions.Content-Type","text/html");
hStream.keepAlive = False;
hStream.Printf("<html><head><title>%s</title>", Name());
hStream.Printf( "<style type=\"text/css\">\n" );
hStream.Printf("%s\n", css);
hStream.Printf( "</style></head><body>\n" );
hStream.Printf("<h1> EPICSGAM EPICSSignalTable dump</h1>\n");
hStream.Printf("<table class=\"bltable\">\n");
EPICSSignal * ptrSignal = dynamic_cast<EPICSSignal*>( this->signalTable.List() );
TABLE_NEWROW;
hStream.Printf("<td>DDB name</td> <td>DDB offset</td> <td>DDB size</td> <td>DDB type</td>\n"
"<td>EPICS name</td> <td>EPICS id</td> <td>EPICS subsamples</td> <td>EPICS counter</td>\n");
TABLE_ENDROW;
while (ptrSignal) {
TABLE_NEWROW;
BString bsbuf;
hStream.Printf("<td>%s</td> <td>%d</td> <td>%d</td> <td>%s</td>\n"
"<td>%s</td> <td>%d</td> <td>%d</td> <td>%d</td>\n",
ptrSignal->GetDDBName(), ptrSignal->GetDDBOffset(),
ptrSignal->GetDDBSize(), (ptrSignal->GetDDBType()).ConvertToString(bsbuf),
ptrSignal->GetEPICSName(), ptrSignal->GetEPICSIndex(),
ptrSignal->GetEPICSSubSample(), ptrSignal->counter);
TABLE_ENDROW;
ptrSignal =dynamic_cast<EPICSSignal*>( ptrSignal->Next() );
}
hStream.Printf("</table>\n");
hStream.Printf("<BR>\n");
hStream.Printf("</body></html>");
hStream.WriteReplyHeader(True);
return True;
}
//----------------------------------------------------------------------------- end ProcessHttpMessage
OBJECTLOADREGISTER(EPICSGAM,"$Id: EPICSGAM.cpp,v 1.22 2011/06/26 10:10:10 abarb Exp $")

View File

@@ -0,0 +1,127 @@
/*
* Copyright 2011 EFDA | European Fusion Development Agreement
*
* Licensed under the EUPL, Version 1.1 or - as soon they
will be approved by the European Commission - subsequent
versions of the EUPL (the "Licence");
* You may not use this work except in compliance with the
Licence.
* You may obtain a copy of the Licence at:
*
* http://ec.europa.eu/idabc/eupl
*
* Unless required by applicable law or agreed to in
writing, software distributed under the Licence is
distributed on an "AS IS" basis,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
express or implied.
* See the Licence for the specific language governing
permissions and limitations under the Licence.
*
* $Id$
*
**/
#if !defined(_EPICS_GAM_)
#define _EPICS_GAM_
#include "System.h"
#include "GAM.h"
#include "HttpInterface.h"
#include "MessageHandler.h"
// TODO --start
#include "GCRTemplate.h"
#include "FString.h"
// TODO also add support for DDBOutputInterface as well
//#include "DDBOutputInterface.h"
#include "DDBInputInterface.h"
#include "DDBIOInterface.h"
//#include "RTDataCollector.h"
#include "SignalInterface.h"
// TODO -- end
#include "EPICSSignalsTable.h"
OBJECT_DLL(EPICSGAM)
;
class EPICSGAM
: public GAM, public HttpInterface, public MessageHandler {
OBJECT_DLL_STUFF(EPICSGAM)
private:
static const char * css;
/** Get Data Collected during the pulse */
// GCRTemplate<SignalInterface> GetSignal(const FString &jpfSignalName);
// DDB Interface for the Time
DDBInputInterface *usecTime;
// Fast Trigger Request signal
DDBIOInterface *fastTrigger;
// Jpf Data Collection
DDBInputInterface *jpfData;
// Has trigger signal
bool hasTriggerSignal;
// Data Collector
// RTDataCollector dataCollector;
// flag to avoid processing messages during pulse
bool acceptingMessages;
/** SignalTable Database */
EPICSSignalsTable signalTable;
public:
EPICSGAM();
virtual ~EPICSGAM(){};
// Initialise the module
// which is the difference between Initialise and Object Load Setup?
virtual bool Initialise(ConfigurationDataBase& cdbData);
/** Execute the module functionalities */
virtual bool Execute(GAM_FunctionNumbers functionNumber);
/** Implements the Saving of the parameters to Configuration Data Base */
virtual bool ObjectSaveSetup(ConfigurationDataBase &info, StreamInterface *err) {
return True;
}
/** Menu Interface */
// virtual bool MenuInterface(StreamInterface &in,StreamInterface &out,void *userData) {
// return dataCollector.ObjectDescription(in, True);
// }
/**
* Builds the webpage.
* @param hStream The HttpStream to write to.
* @return False on error, True otherwise.
*/
virtual bool ProcessHttpMessage(HttpStream &hStream);
protected:
// MESSAGE HANDLER INTERFACE
virtual bool ProcessMessage(GCRTemplate<MessageEnvelope> envelope);
};
#endif

View File

@@ -0,0 +1,272 @@
/*
* Copyright 2011 EFDA | European Fusion Development Agreement
*
* Licensed under the EUPL, Version 1.1 or - as soon they
will be approved by the European Commission - subsequent
versions of the EUPL (the "Licence");
* You may not use this work except in compliance with the
Licence.
* You may obtain a copy of the Licence at:
*
* http://ec.europa.eu/idabc/eupl
*
* Unless required by applicable law or agreed to in
writing, software distributed under the Licence is
distributed on an "AS IS" basis,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
express or implied.
* See the Licence for the specific language governing
permissions and limitations under the Licence.
*
* $Id$
*
**/
#include "EPICSSignalsTable.h"
#include "GlobalObjectDataBase.h"
#include "GCRTemplate.h"
#include "DDBInterface.h"
#include "CDBExtended.h"
#include "SignalInterface.h"
#define DEFAULT_SERVER_SUBSAMPLING 1000
// we do not need to sort the list in any order
// so we remove it (at least for now)
/*
class AlphaSorterClass : public SortFilter {
public:
virtual ~AlphaSorterClass(){};
virtual int32 Compare(LinkedListable *data1,LinkedListable *data2){
const EPICSSignal *p1 = (const EPICSSignal *)data1;
const EPICSSignal *p2 = (const EPICSSignal *)data2;
if (p2 == NULL) return 1;
if (p1 == NULL) return -1;
return strcmp(p2->EPICSName(),p1->EPICSName());
}
} AlphaSorter;
*/
/*
* Initialize has to link signals in the DDB with
* EPICS descriptors (sending messages ?)
* EPICS is message based so doesn't care
*/
bool EPICSSignalsTable::Initialize (const DDBInterface &ddbInterface, ConfigurationDataBase &info) {
// CleanUp
CleanUp();
// check the number of signals
int32 nOfSignals = ddbInterface.NumberOfEntries();
if(nOfSignals == 0)
return False;
CDBExtended cdb(info);
unsigned dataOffset = 0;
int i = 0;
// Find the Signal Server object
FString SignalsServer;
if (!cdb.ReadFString(SignalsServer,"SignalsServer")) {
CStaticAssertErrorCondition(FatalError,
"EPICSSignalsTable::Initialize: SignalsServer not defined in the configuration"
);
return False;
}
GCReference gc = GODBFindByName( SignalsServer.Buffer() );
if ( !gc.IsValid() ) {
CStaticAssertErrorCondition(FatalError,
"EPICSSignalsTable::Initialize cannot find %s in the GlobalObjectDataBase",
SignalsServer.Buffer() );
return False;
}
// GCRTemplate<PubSubInterface> epics_hnd = gc;
// TODO more generic
gcrEPICSHnd = gc;
if ( !gcrEPICSHnd.IsValid() ) {
CStaticAssertErrorCondition(FatalError,
"EPICSSignalsTable::Initialize cannot cast %s as an EPICSHandler",
SignalsServer.Buffer() );
return False;
}
//------------------------------------------------------------------------- end server initialization
// ddbInterface signal list
const DDBSignalDescriptor *descriptor = ddbInterface.SignalsList();
// searching for signals
if(!cdb->Move("Signals")){
CStaticAssertErrorCondition(FatalError,
"EPICSSignalsTable::Initialise: GAM did not specify Signals entry"
);
return False;
}
if ( signalsTable )
delete [] signalsTable;
signalsTable = new EPICSSignal * [nOfSignals];
for(i = 0; ((i < nOfSignals)&&(descriptor != NULL)); i++) {
// move to children
cdb->MoveToChildren(i);
// retrive descriptor description
FString ddbName = descriptor->SignalName();
uint32 ddbSize = descriptor->SignalSize();
BasicTypeDescriptor ddbDesc = descriptor->SignalTypeCode();
// Get the server signal name
FString EPICSSignalName;
if ( !cdb.ReadFString(EPICSSignalName,"ServerName") ) {
CStaticAssertErrorCondition(FatalError,
"EPICSSignalsTable::Initialize: ServerName not specified for DDB signal %s",
ddbName.Buffer());
return False;
}
// Get the server signal subsampling
int32 EPICSSignalSubSample;
if ( !cdb.ReadInt32(EPICSSignalSubSample,"ServerSubSampling", DEFAULT_SERVER_SUBSAMPLING) ) {
CStaticAssertErrorCondition(Information,
"EPICSSignalsTable::Initialize: ServerSubSampling not specified for signal %s assuming %d",
ddbName.Buffer(), EPICSSignalSubSample);
} //------------------------------------------------------------------- end fetching configuration data
// subscribe for service in the server
unsigned EPICSId = -1;
if ( !(gcrEPICSHnd->subscribe(EPICSSignalName.Buffer(), ddbDesc, ddbSize, EPICSId)) ) {
CStaticAssertErrorCondition(FatalError,
"EPICSSignalsTable::Initialize: %s subscribe fails for signal %s (server's signal name %s)",
SignalsServer.Buffer(), ddbName.Buffer(), EPICSSignalName.Buffer() );
return False;
}
// NOTA differently from the JpfSignalTable we are not interested in the calibration data (if needed to be implemented)
// in the previous version (jpf) if you have an array of signals in MARTe than each signals
// will be mapped to a different jpf signal and also EPICSSignal, in this implementation
// EPICS (and also MDSplus) support array of data so we also need to support array of data
// now it is possible to create the Server's signal
EPICSSignal * newSignal = new EPICSSignal(
ddbName, ddbDesc, ddbSize, dataOffset,
EPICSSignalName, EPICSId, EPICSSignalSubSample);
if (newSignal == NULL) {
CStaticAssertErrorCondition(FatalError,
"EPICSSignalsTable::Initialize: Failed allocating space for signal %s (%s)",
ddbName.Buffer(), EPICSSignalName.Buffer());
return False;
}
else
CStaticAssertErrorCondition(Information,
"EPICSSignalsTable::Initialize: Added Signal %s (EPICS: %s)",
ddbName.Buffer(), EPICSSignalName.Buffer());
//ListInsert(newSignal,&AlphaSorter); //previous implementation
ListInsert(newSignal);
// copy the pointer in the table
signalsTable[i] = newSignal;
// Increment offset
dataOffset += newSignal->GetDDBSize();
// return to parent
cdb->MoveToFather();
// move to another signal
descriptor = descriptor->Next();
}
// end "Signals" configuration
cdb->MoveToFather();
if( (ListSize() == 0) || (List() == NULL) ) {
CStaticAssertErrorCondition(FatalError,
"EPICSSignalsTable::Initialize: No signal added to the list"
);
return False;
}
return True;
} //--------------------------------------------------------------------------- ObjectLoadSetup
/* UpdateSignals
* Updates all signals in the list pushing an event message on the queue
*/
bool EPICSSignalsTable::UpdateSignals (char * buffer, int32 timestamp) {
int _ret;
int nOfSignals = this->ListSize(); // get the number of signals from the list
for (int i=0; i<nOfSignals; i++) {
// update the signal on the server only if needed
if ( !(signalsTable[i]->counter % signalsTable[i]->GetEPICSSubSample()) ) {
_ret = gcrEPICSHnd->put( signalsTable[i]->GetEPICSIndex(),
(buffer + signalsTable[i]->GetDDBOffset()), (unsigned) timestamp );
if ( _ret == 0 )
CStaticAssertErrorCondition(FatalError,
"EPICSSignalsTable::UpdateSignals: ->put return CIRCULAR BUFFER OVERFLOW"
);
}
signalsTable[i]->counter++;
}
return True;
} //--------------------------------------------------------------------------- UpdateSignals
// not required
/*
int32 EPICSSignalsTable::FindOffsetAndInitSignalType(const FString &signalName, GCRTemplate<SignalInterface> signal, int32 nOfSamples) {
EPICSSignal *sig = (EPICSSignal *)List();
for(int i = 0; i < ListSize(); i++){
if(strcmp(sig->EPICSName(),signalName.Buffer()) == 0){
signal->CopyData(sig->Type(), nOfSamples);
return sig->Offset();
}
sig = (EPICSSignal *)sig->Next();
}
return -1;
}
*/
bool EPICSSignalsTable::ObjectDescription(StreamInterface &s,bool full,StreamInterface *err) {
EPICSSignal *sig = (EPICSSignal *)List();
if(sig == NULL) return False;
s.Printf("Signals = {\n");
for(int i = 0; i < this->ListSize(); i++){
FString bType;
FString oType;
s.Printf("Signal%d = {\n",i);
sig->GetDDBType().ConvertToString(bType);
s.Printf(" Name = \"%s\" \n" , sig->GetEPICSName());
s.Printf(" DataType = %s \n" , bType.Buffer());
// s.Printf(" Cal0 = %f \n", sortedSignalVector[i]->Cal0());
// s.Printf(" Cal1 = %f \n", sortedSignalVector[i]->Cal1());
s.Printf("}\n");
sig = (EPICSSignal *)sig->Next();
}
s.Printf("}\n");
return True;
}

View File

@@ -0,0 +1,193 @@
/*
* Copyright 2011 EFDA | European Fusion Development Agreement
*
* Licensed under the EUPL, Version 1.1 or - as soon they
will be approved by the European Commission - subsequent
versions of the EUPL (the "Licence");
* You may not use this work except in compliance with the
Licence.
* You may obtain a copy of the Licence at:
*
* http://ec.europa.eu/idabc/eupl
*
* Unless required by applicable law or agreed to in
writing, software distributed under the Licence is
distributed on an "AS IS" basis,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
express or implied.
* See the Licence for the specific language governing
permissions and limitations under the Licence.
*
* $Id$
*
**/
#if !defined(_EPICS_SIGNALS_TABLE)
#define _EPICS_SIGNALS_TABLE
#include "System.h"
#include "LinkedListable.h"
#include "FString.h"
#include "BasicTypes.h"
#include "GCRTemplate.h"
class DDBInterface;
class SignalInterface;
// EPICS Lib include
#include "EPICSHandler.h"
/*
* DDB Supported Signal types
* BTDInt32, BTDInt64 (int32, int64)
* BTDUint32, BTDUint64 (uint32, uint64)
* BTDFloat, BTDDouble (float32, float64)
*/
class EPICSSignal :
public LinkedListable
{
private:
// Signal name in the DDB
FString ddbSignalName;
// Signal basic type descriptor in the DDB
BasicTypeDescriptor typeDescriptor;
// Signal number of elements
int numElements;
// Signal offset from the beginning of the DDB's buffer (byte)
unsigned dataOffset;
// Signal name in the external server
FString EPICSSignalName;
// handle in the external server
int EPICSindex;
// esternal server required subsample
int EPICSsubsample;
public:
// subsampling public counter
int counter;
// Next
EPICSSignal *Next () {
return (EPICSSignal *)LinkedListable::Next() ;
};
// Constructor
EPICSSignal (FString &nameIn, BasicTypeDescriptor descriptorIn, int elementIn, unsigned offsetIn,
FString &serverNameIn, int indexIn, int subsampleIn) {
Initialize(nameIn, descriptorIn, elementIn, offsetIn,
serverNameIn, indexIn, subsampleIn);
};
// De-constructor
// no dynamic allocation, so nothing to do
virtual ~EPICSSignal () {} ;
// Initialize data information
inline bool Initialize (FString &nameIn, BasicTypeDescriptor descriptorIn, int elementIn, unsigned offsetIn,
FString &serverNameIn, int indexIn, int subsampleIn)
{
ddbSignalName = nameIn;
typeDescriptor = descriptorIn;
numElements = elementIn;
dataOffset = offsetIn;
EPICSSignalName = serverNameIn;
EPICSindex = indexIn;
EPICSsubsample = subsampleIn;
counter = 0;
return True;
}
// Get copy of the DDB Name
inline const char * GetDDBName() const {
return ddbSignalName.Buffer();
}
// type
inline BasicTypeDescriptor GetDDBType () const {
return typeDescriptor;
}
// whole signal data size
inline int GetDDBSize() {
return ( numElements * typeDescriptor.ByteSize() );
}
// Offset
inline unsigned GetDDBOffset() const {
return dataOffset;
}
// Get copy of the Server Name
inline const char * GetEPICSName() const {
return EPICSSignalName.Buffer();
}
// Get copy of the EPICS index
inline const int GetEPICSIndex() const {
return EPICSindex;
}
// Get copy of the EPICS subsample factor
inline const int GetEPICSSubSample() const {
return EPICSsubsample;
}
}; //-------------------------------------------------------------------------- class EPICSSignal
class EPICSSignalsTable :
public LinkedListHolder
{
EPICSSignal ** signalsTable;
GCRTemplate<EPICSHandler> gcrEPICSHnd;
public:
/** Constructor */
EPICSSignalsTable () {
signalsTable = 0;
};
/** Destructor */
virtual ~EPICSSignalsTable () {
for (int i=0; i<this->ListSize(); i++)
gcrEPICSHnd->unsubscribe( signalsTable[i]->GetEPICSIndex() );
// TODO
// delete all the elements in the linked list
// it is done automatically by Filippo's code?
if ( signalsTable )
delete [] signalsTable;
if ( gcrEPICSHnd.IsValid() )
gcrEPICSHnd.RemoveReference();
};
/** return EPICSSignal table */
inline EPICSSignal ** GetTable () {
return signalsTable;
};
/** Update all signals in the list */
bool UpdateSignals (char * buffer, int32 timestamp);
/** Initialize the signal table */
bool Initialize(const DDBInterface &interfacex, ConfigurationDataBase &info);
/** Object Description. Saves information on a StreamInterface. The information
is used by the DataCollectionGAM to process the GAP message LISTSIGNALS. */
virtual bool ObjectDescription(StreamInterface &s,bool full=False,StreamInterface *err=NULL);
/** Find the offset for the signal */
// int32 FindOffsetAndInitSignalType(const FString &signalName, GCRTemplate<SignalInterface> signal, int32 nOfSamples);
}; //-------------------------------------------------------------------------- class EPICSSignalsTable
#endif

View File

@@ -0,0 +1,56 @@
#############################################################
#
# Copyright 2011 EFDA | European Fusion Development Agreement
#
# Licensed under the EUPL, Version 1.1 or - as soon they
# will be approved by the European Commission - subsequent
# versions of the EUPL (the "Licence");
# You may not use this work except in compliance with the
# Licence.
# You may obtain a copy of the Licence at:
#
# http://ec.europa.eu/idabc/eupl
#
# Unless required by applicable law or agreed to in
# writing, software distributed under the Licence is
# distributed on an "AS IS" basis,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
# express or implied.
# See the Licence for the specific language governing
# permissions and limitations under the Licence.
#
# $Id: Makefile.inc 3 2012-01-15 16:26:07Z aneto $
#
#############################################################
EPICS_PATH=$(EPICS_BASE)
MARTEBasePath=/opt/MARTe
MAKEDEFAULTDIR=$(MARTEBasePath)/MakeDefaults
include $(MAKEDEFAULTDIR)/MakeStdLibDefs.$(TARGET)
OBJSX= EPICSSignalsTable.x
CFLAGS+= -I.
CFLAGS+= -I$(MARTEBasePath)/
CFLAGS+= -I$(MARTEBasePath)/MARTe/MARTeSupportLib
CFLAGS+= -I$(MARTEBasePath)/BaseLib2/Level0
CFLAGS+= -I$(MARTEBasePath)/BaseLib2/Level1
CFLAGS+= -I$(MARTEBasePath)/BaseLib2/Level2
CFLAGS+= -I$(MARTEBasePath)/BaseLib2/Level3
CFLAGS+= -I$(MARTEBasePath)/BaseLib2/Level4
CFLAGS+= -I$(MARTEBasePath)/BaseLib2/Level5
CFLAGS+= -I$(MARTEBasePath)/BaseLib2/Level6
CFLAGS+= -I$(EPICS_PATH)/include
CFLAGS+= -I$(EPICS_PATH)/include/os/Linux
CFLAGS+= -I$(EPICS_PATH)/include/compiler/gcc
CFLAGS+= -I../EPICSLib
all: $(OBJS) \
$(TARGET)/EPICSGAM$(GAMEXT)
echo $(OBJS)
include depends.$(TARGET)
include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET)

View File

@@ -0,0 +1,56 @@
#############################################################
#
# Copyright 2011 EFDA | European Fusion Development Agreement
#
# Licensed under the EUPL, Version 1.1 or - as soon they
# will be approved by the European Commission - subsequent
# versions of the EUPL (the "Licence");
# You may not use this work except in compliance with the
# Licence.
# You may obtain a copy of the Licence at:
#
# http://ec.europa.eu/idabc/eupl
#
# Unless required by applicable law or agreed to in
# writing, software distributed under the Licence is
# distributed on an "AS IS" basis,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
# express or implied.
# See the Licence for the specific language governing
# permissions and limitations under the Licence.
#
# $Id: Makefile.inc 3 2012-01-15 16:26:07Z aneto $
#
#############################################################
EPICS_PATH=$(EPICS_BASE)
MARTEBasePath=/opt/MARTe
MAKEDEFAULTDIR=$(MARTEBasePath)/MakeDefaults
include $(MAKEDEFAULTDIR)/MakeStdLibDefs.$(TARGET)
OBJSX= EPICSSignalsTable.x
CFLAGS+= -I.
CFLAGS+= -I$(MARTEBasePath)/
CFLAGS+= -I$(MARTEBasePath)/MARTe/MARTeSupportLib
CFLAGS+= -I$(MARTEBasePath)/BaseLib2/Level0
CFLAGS+= -I$(MARTEBasePath)/BaseLib2/Level1
CFLAGS+= -I$(MARTEBasePath)/BaseLib2/Level2
CFLAGS+= -I$(MARTEBasePath)/BaseLib2/Level3
CFLAGS+= -I$(MARTEBasePath)/BaseLib2/Level4
CFLAGS+= -I$(MARTEBasePath)/BaseLib2/Level5
CFLAGS+= -I$(MARTEBasePath)/BaseLib2/Level6
CFLAGS+= -I$(EPICS_PATH)/include
CFLAGS+= -I$(EPICS_PATH)/include/os/Linux
CFLAGS+= -I$(EPICS_PATH)/include/compiler/gcc
CFLAGS+= -I../../EPICSLib
all: $(OBJS) \
$(TARGET)/EPICSGAM$(GAMEXT)
echo $(OBJS)
include depends.$(TARGET)
include $(MAKEDEFAULTDIR)/MakeStdLibRules.$(TARGET)

View File

@@ -0,0 +1,30 @@
#############################################################
#
# Copyright 2011 EFDA | European Fusion Development Agreement
#
# Licensed under the EUPL, Version 1.1 or - as soon they
# will be approved by the European Commission - subsequent
# versions of the EUPL (the "Licence");
# You may not use this work except in compliance with the
# Licence.
# You may obtain a copy of the Licence at:
#
# http://ec.europa.eu/idabc/eupl
#
# Unless required by applicable law or agreed to in
# writing, software distributed under the Licence is
# distributed on an "AS IS" basis,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
# express or implied.
# See the Licence for the specific language governing
# permissions and limitations under the Licence.
#
# $Id: Makefile.inc 3 2012-01-15 16:26:07Z aneto $
#
#############################################################
TARGET=linux
include Makefile.inc
LIBRARIES += -L$(MARTEBasePath)/BaseLib2/$(TARGET) -lBaseLib2

View File

@@ -0,0 +1,30 @@
#############################################################
#
# Copyright 2011 EFDA | European Fusion Development Agreement
#
# Licensed under the EUPL, Version 1.1 or - as soon they
# will be approved by the European Commission - subsequent
# versions of the EUPL (the "Licence");
# You may not use this work except in compliance with the
# Licence.
# You may obtain a copy of the Licence at:
#
# http://ec.europa.eu/idabc/eupl
#
# Unless required by applicable law or agreed to in
# writing, software distributed under the Licence is
# distributed on an "AS IS" basis,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
# express or implied.
# See the Licence for the specific language governing
# permissions and limitations under the Licence.
#
# $Id: Makefile.inc 3 2012-01-15 16:26:07Z aneto $
#
#############################################################
TARGET=linux
include Makefile.inc
LIBRARIES += -L../../BaseLib2/$(TARGET) -lBaseLib2

View File

@@ -0,0 +1,302 @@
linux/EPICSGAM.o: EPICSGAM.cpp EPICSGAM.h /opt/MARTe/BaseLib2/Level0/System.h \
/opt/MARTe/BaseLib2/Level0/SystemMSC.h \
/opt/MARTe/BaseLib2/Level0/SystemLinux.h \
/opt/MARTe/BaseLib2/Level0/GenDefs.h \
/opt/MARTe/BaseLib2/Level0/SystemVX5100.h \
/opt/MARTe/BaseLib2/Level0/SystemVX5500.h \
/opt/MARTe/BaseLib2/Level0/SystemV6X5100.h \
/opt/MARTe/BaseLib2/Level0/SystemV6X5500.h \
/opt/MARTe/BaseLib2/Level0/SystemVX68k.h \
/opt/MARTe/BaseLib2/Level0/SystemRTAI.h \
/opt/MARTe/BaseLib2/Level0/SystemSolaris.h \
/opt/MARTe/BaseLib2/Level0/SystemMacOSX.h \
/opt/MARTe/BaseLib2/Level0/Memory.h /opt/MARTe/BaseLib2/Level0/System.h \
/opt/MARTe/BaseLib2/Level5/GAM.h \
/opt/MARTe/BaseLib2/Level1/GCReferenceContainer.h \
/opt/MARTe/BaseLib2/Level0/LinkedListable.h \
/opt/MARTe/BaseLib2/Level0/Iterators.h \
/opt/MARTe/BaseLib2/Level1/GCRTemplate.h \
/opt/MARTe/BaseLib2/Level1/GCReference.h \
/opt/MARTe/BaseLib2/Level0/Atomic.h /opt/MARTe/BaseLib2/Level0/Sleep.h \
/opt/MARTe/BaseLib2/Level0/FastMath.h /opt/MARTe/BaseLib2/Level0/HRT.h \
/opt/MARTe/BaseLib2/Level0/Processor.h \
/opt/MARTe/BaseLib2/Level1/ObjectRegistryDataBase.h \
/opt/MARTe/BaseLib2/Level0/StreamInterface.h \
/opt/MARTe/BaseLib2/Level0/TimeoutType.h \
/opt/MARTe/BaseLib2/Level1/GarbageCollectable.h \
/opt/MARTe/BaseLib2/Level1/Object.h \
/opt/MARTe/BaseLib2/Level1/ObjectRegistryItem.h \
/opt/MARTe/BaseLib2/Level1/ErrorSystemInstructions.h \
/opt/MARTe/BaseLib2/Level0/GenDefs.h \
/opt/MARTe/BaseLib2/Level0/LinkedListHolder.h \
/opt/MARTe/BaseLib2/Level0/LinkedListable.h \
/opt/MARTe/BaseLib2/Level0/FastPollingMutexSem.h \
/opt/MARTe/BaseLib2/Level0/Atomic.h /opt/MARTe/BaseLib2/Level0/Threads.h \
/opt/MARTe/BaseLib2/Level0/ErrorManagement.h \
/opt/MARTe/BaseLib2/Level0/ExceptionHandlerDefinitions.h \
/opt/MARTe/BaseLib2/Level0/ThreadInitialisationInterface.h \
/opt/MARTe/BaseLib2/Level0/EventSem.h \
/opt/MARTe/BaseLib2/Level0/SemCore.h \
/opt/MARTe/BaseLib2/Level0/ProcessorType.h \
/opt/MARTe/BaseLib2/Level0/ThreadsDatabase.h \
/opt/MARTe/BaseLib2/Level1/ErrorSystemInstructionItem.h \
/opt/MARTe/BaseLib2/Level1/ClassStructure.h \
/opt/MARTe/BaseLib2/Level1/ClassStructureEntry.h \
/opt/MARTe/BaseLib2/Level1/BasicTypes.h \
/opt/MARTe/BaseLib2/Level0/BString.h \
/opt/MARTe/BaseLib2/Level0/ErrorManagement.h \
/opt/MARTe/BaseLib2/Level0/LoadableLibrary.h \
/opt/MARTe/BaseLib2/Level1/ObjectMacros.h \
/opt/MARTe/BaseLib2/Level1/GCNamedObject.h \
/opt/MARTe/BaseLib2/Level0/MutexSem.h \
/opt/MARTe/BaseLib2/Level1/GCRCItem.h \
/opt/MARTe/BaseLib2/Level1/GCNOExtender.h \
/opt/MARTe/BaseLib2/Level3/CDB.h /opt/MARTe/BaseLib2/Level0/Iterators.h \
/opt/MARTe/BaseLib2/Level2/FString.h \
/opt/MARTe/BaseLib2/Level2/Streamable.h \
/opt/MARTe/BaseLib2/Level0/CStream.h \
/opt/MARTe/BaseLib2/Level2/CStreamBuffering.h \
/opt/MARTe/BaseLib2/Level1/Object.h \
/opt/MARTe/BaseLib2/Level1/StreamAttributes.h \
/opt/MARTe/BaseLib2/Level3/CDBNodeRef.h \
/opt/MARTe/BaseLib2/Level3/CDBNode.h \
/opt/MARTe/BaseLib2/Level1/CDBTypes.h \
/opt/MARTe/BaseLib2/Level1/CDBVirtual.h \
/opt/MARTe/BaseLib2/Level1/CDBTypes.h \
/opt/MARTe/BaseLib2/Level2/CDBExtended.h \
/opt/MARTe/BaseLib2/Level1/ConfigurationDataBase.h \
/opt/MARTe/BaseLib2/Level1/CDBVirtual.h \
/opt/MARTe/BaseLib2/Level1/CDBNull.h \
/opt/MARTe/BaseLib2/Level2/CDBDataTypes.h \
/opt/MARTe/BaseLib2/Level2/FString.h \
/opt/MARTe/BaseLib2/Level5/DDBDefinitions.h \
/opt/MARTe/BaseLib2/Level5/MenuContainer.h \
/opt/MARTe/BaseLib2/Level5/MenuInterface.h \
/opt/MARTe/BaseLib2/Level1/GCNamedObject.h \
/opt/MARTe/BaseLib2/Level2/Streamable.h \
/opt/MARTe/BaseLib2/Level2/Console.h \
/opt/MARTe/BaseLib2/Level0/BasicConsole.h \
/opt/MARTe/BaseLib2/Level5/MessageEnvelope.h \
/opt/MARTe/BaseLib2/Level1/GCReference.h \
/opt/MARTe/BaseLib2/Level5/Message.h \
/opt/MARTe/BaseLib2/Level5/MessageCode.h \
/opt/MARTe/BaseLib2/Level5/MDRFlags.h \
/opt/MARTe/BaseLib2/Level0/MuxLock.h \
/opt/MARTe/BaseLib2/Level0/MutexSem.h \
/opt/MARTe/BaseLib2/Level4/HttpInterface.h \
/opt/MARTe/BaseLib2/Level4/HttpRealm.h \
/opt/MARTe/BaseLib2/Level4/HttpDefinitions.h \
/opt/MARTe/BaseLib2/Level4/HttpStream.h \
/opt/MARTe/BaseLib2/Level3/StreamConfigurationDataBase.h \
/opt/MARTe/BaseLib2/Level0/EventSem.h \
/opt/MARTe/BaseLib2/Level1/GCRTemplate.h \
/opt/MARTe/BaseLib2/Level0/HRT.h \
/opt/MARTe/BaseLib2/Level5/MessageHandler.h \
/opt/MARTe/BaseLib2/Level5/MessageInterface.h \
/opt/MARTe/BaseLib2/Level5/MessageQueue.h \
/opt/MARTe/BaseLib2/Level2/SXMemory.h \
/opt/MARTe/BaseLib2/Level5/MessageHandler.h \
/opt/MARTe/BaseLib2/Level5/DDBInputInterface.h \
/opt/MARTe/BaseLib2/Level5/DDBInterface.h \
/opt/MARTe/BaseLib2/Level5/DDBInterfaceDescriptor.h \
/opt/MARTe/BaseLib2/Level5/DDBSignalDescriptor.h \
/opt/MARTe/BaseLib2/Level1/BasicTypes.h \
/opt/MARTe/BaseLib2/Level5/DDBIOInterface.h \
/opt/MARTe/BaseLib2/Level5/SignalInterface.h EPICSSignalsTable.h \
../EPICSLib/EPICSHandler.h /opt/MARTe/BaseLib2/Level0/CountSem.h \
../EPICSLib/exServer.h /opt/codac/epics/base/include/gddAppFuncTable.h \
/opt/codac/epics/base/include/gdd.h \
/opt/codac/epics/base/include/gddNewDel.h \
/opt/codac/epics/base/include/epicsMutex.h \
/opt/codac/epics/base/include/epicsAssert.h \
/opt/codac/epics/base/include/shareLib.h \
/opt/codac/epics/base/include/compilerDependencies.h \
/opt/codac/epics/base/include/compiler/gcc/compilerSpecific.h \
/opt/codac/epics/base/include/epicsGuard.h \
/opt/codac/epics/base/include/os/Linux/osdMutex.h \
/opt/codac/epics/base/include/epicsThread.h \
/opt/codac/epics/base/include/epicsEvent.h \
/opt/codac/epics/base/include/os/Linux/osdEvent.h \
/opt/codac/epics/base/include/os/Linux/osdThread.h \
/opt/codac/epics/base/include/shareLib.h \
/opt/codac/epics/base/include/ellLib.h \
/opt/codac/epics/base/include/epicsEvent.h \
/opt/codac/epics/base/include/gddUtils.h \
/opt/codac/epics/base/include/aitTypes.h \
/opt/codac/epics/base/include/aitHelpers.h \
/opt/codac/epics/base/include/gddErrorCodes.h \
/opt/codac/epics/base/include/gddUtilsI.h \
/opt/codac/epics/base/include/aitConvert.h \
/opt/codac/epics/base/include/osiSock.h \
/opt/codac/epics/base/include/os/Linux/osdSock.h \
/opt/codac/epics/base/include/ellLib.h \
/opt/codac/epics/base/include/gddEnumStringTable.h \
/opt/codac/epics/base/include/gddArray.h \
/opt/codac/epics/base/include/gddScalar.h \
/opt/codac/epics/base/include/gddContainer.h \
/opt/codac/epics/base/include/gddI.h \
/opt/codac/epics/base/include/gddArrayI.h \
/opt/codac/epics/base/include/gddScalarI.h \
/opt/codac/epics/base/include/gddContainerI.h \
/opt/codac/epics/base/include/gddAppTable.h \
/opt/codac/epics/base/include/errMdef.h \
/opt/codac/epics/base/include/errlog.h \
/opt/codac/epics/base/include/smartGDDPointer.h \
/opt/codac/epics/base/include/epicsTimer.h \
/opt/codac/epics/base/include/epicsTime.h \
/opt/codac/epics/base/include/epicsTypes.h \
/opt/codac/epics/base/include/os/Linux/osdTime.h \
/opt/codac/epics/base/include/casdef.h \
/opt/codac/epics/base/include/alarm.h \
/opt/codac/epics/base/include/caNetAddr.h \
/opt/codac/epics/base/include/casEventMask.h \
/opt/codac/epics/base/include/resourceLib.h \
/opt/codac/epics/base/include/tsSLList.h \
/opt/codac/epics/base/include/epicsString.h \
/opt/codac/epics/base/include/epicsAssert.h \
/opt/codac/epics/base/include/resourceLib.h \
/opt/codac/epics/base/include/tsMinMax.h \
/opt/MARTe/BaseLib2/Level1/GlobalObjectDataBase.h \
/opt/MARTe/BaseLib2/Level1/GCReferenceContainer.h \
/opt/MARTe/BaseLib2/Level2/GCNString.h \
/opt/MARTe/BaseLib2/Level5/MenuEntry.h \
/opt/MARTe/BaseLib2/Level4/HttpGroupResource.h \
/opt/MARTe/BaseLib2/Level4/HttpInterface.h
linux/EPICSSignalsTable.o: EPICSSignalsTable.cpp EPICSSignalsTable.h \
/opt/MARTe/BaseLib2/Level0/System.h \
/opt/MARTe/BaseLib2/Level0/SystemMSC.h \
/opt/MARTe/BaseLib2/Level0/SystemLinux.h \
/opt/MARTe/BaseLib2/Level0/GenDefs.h \
/opt/MARTe/BaseLib2/Level0/SystemVX5100.h \
/opt/MARTe/BaseLib2/Level0/SystemVX5500.h \
/opt/MARTe/BaseLib2/Level0/SystemV6X5100.h \
/opt/MARTe/BaseLib2/Level0/SystemV6X5500.h \
/opt/MARTe/BaseLib2/Level0/SystemVX68k.h \
/opt/MARTe/BaseLib2/Level0/SystemRTAI.h \
/opt/MARTe/BaseLib2/Level0/SystemSolaris.h \
/opt/MARTe/BaseLib2/Level0/SystemMacOSX.h \
/opt/MARTe/BaseLib2/Level0/Memory.h /opt/MARTe/BaseLib2/Level0/System.h \
/opt/MARTe/BaseLib2/Level0/LinkedListable.h \
/opt/MARTe/BaseLib2/Level0/Iterators.h \
/opt/MARTe/BaseLib2/Level2/FString.h \
/opt/MARTe/BaseLib2/Level0/BString.h \
/opt/MARTe/BaseLib2/Level2/Streamable.h \
/opt/MARTe/BaseLib2/Level0/CStream.h \
/opt/MARTe/BaseLib2/Level2/CStreamBuffering.h \
/opt/MARTe/BaseLib2/Level0/StreamInterface.h \
/opt/MARTe/BaseLib2/Level0/TimeoutType.h \
/opt/MARTe/BaseLib2/Level0/HRT.h /opt/MARTe/BaseLib2/Level0/Processor.h \
/opt/MARTe/BaseLib2/Level1/Object.h \
/opt/MARTe/BaseLib2/Level1/ObjectRegistryItem.h \
/opt/MARTe/BaseLib2/Level1/ErrorSystemInstructions.h \
/opt/MARTe/BaseLib2/Level0/GenDefs.h \
/opt/MARTe/BaseLib2/Level0/LinkedListHolder.h \
/opt/MARTe/BaseLib2/Level0/LinkedListable.h \
/opt/MARTe/BaseLib2/Level0/FastPollingMutexSem.h \
/opt/MARTe/BaseLib2/Level0/Atomic.h /opt/MARTe/BaseLib2/Level0/Sleep.h \
/opt/MARTe/BaseLib2/Level0/FastMath.h \
/opt/MARTe/BaseLib2/Level0/Threads.h \
/opt/MARTe/BaseLib2/Level0/ErrorManagement.h \
/opt/MARTe/BaseLib2/Level0/ExceptionHandlerDefinitions.h \
/opt/MARTe/BaseLib2/Level0/ThreadInitialisationInterface.h \
/opt/MARTe/BaseLib2/Level0/EventSem.h \
/opt/MARTe/BaseLib2/Level0/SemCore.h \
/opt/MARTe/BaseLib2/Level0/ProcessorType.h \
/opt/MARTe/BaseLib2/Level0/ThreadsDatabase.h \
/opt/MARTe/BaseLib2/Level1/ErrorSystemInstructionItem.h \
/opt/MARTe/BaseLib2/Level1/ClassStructure.h \
/opt/MARTe/BaseLib2/Level1/ClassStructureEntry.h \
/opt/MARTe/BaseLib2/Level1/BasicTypes.h \
/opt/MARTe/BaseLib2/Level0/ErrorManagement.h \
/opt/MARTe/BaseLib2/Level0/LoadableLibrary.h \
/opt/MARTe/BaseLib2/Level1/ObjectMacros.h \
/opt/MARTe/BaseLib2/Level1/StreamAttributes.h \
/opt/MARTe/BaseLib2/Level1/BasicTypes.h \
/opt/MARTe/BaseLib2/Level1/GCRTemplate.h \
/opt/MARTe/BaseLib2/Level1/GCReference.h \
/opt/MARTe/BaseLib2/Level0/Atomic.h \
/opt/MARTe/BaseLib2/Level1/ObjectRegistryDataBase.h \
/opt/MARTe/BaseLib2/Level1/GarbageCollectable.h \
/opt/MARTe/BaseLib2/Level1/Object.h ../EPICSLib/EPICSHandler.h \
/opt/MARTe/BaseLib2/Level1/GCNamedObject.h \
/opt/MARTe/BaseLib2/Level4/HttpInterface.h \
/opt/MARTe/BaseLib2/Level4/HttpRealm.h \
/opt/MARTe/BaseLib2/Level4/HttpDefinitions.h \
/opt/MARTe/BaseLib2/Level2/CDBExtended.h \
/opt/MARTe/BaseLib2/Level1/ConfigurationDataBase.h \
/opt/MARTe/BaseLib2/Level1/CDBVirtual.h \
/opt/MARTe/BaseLib2/Level1/CDBTypes.h \
/opt/MARTe/BaseLib2/Level0/Iterators.h \
/opt/MARTe/BaseLib2/Level1/GCNamedObject.h \
/opt/MARTe/BaseLib2/Level1/GCRTemplate.h \
/opt/MARTe/BaseLib2/Level1/CDBNull.h \
/opt/MARTe/BaseLib2/Level2/CDBDataTypes.h \
/opt/MARTe/BaseLib2/Level1/CDBTypes.h \
/opt/MARTe/BaseLib2/Level2/FString.h \
/opt/MARTe/BaseLib2/Level4/HttpStream.h \
/opt/MARTe/BaseLib2/Level3/StreamConfigurationDataBase.h \
/opt/MARTe/BaseLib2/Level0/EventSem.h /opt/MARTe/BaseLib2/Level0/HRT.h \
/opt/MARTe/BaseLib2/Level0/CountSem.h ../EPICSLib/exServer.h \
/opt/codac/epics/base/include/gddAppFuncTable.h \
/opt/codac/epics/base/include/gdd.h \
/opt/codac/epics/base/include/gddNewDel.h \
/opt/codac/epics/base/include/epicsMutex.h \
/opt/codac/epics/base/include/epicsAssert.h \
/opt/codac/epics/base/include/shareLib.h \
/opt/codac/epics/base/include/compilerDependencies.h \
/opt/codac/epics/base/include/compiler/gcc/compilerSpecific.h \
/opt/codac/epics/base/include/epicsGuard.h \
/opt/codac/epics/base/include/os/Linux/osdMutex.h \
/opt/codac/epics/base/include/epicsThread.h \
/opt/codac/epics/base/include/epicsEvent.h \
/opt/codac/epics/base/include/os/Linux/osdEvent.h \
/opt/codac/epics/base/include/os/Linux/osdThread.h \
/opt/codac/epics/base/include/shareLib.h \
/opt/codac/epics/base/include/ellLib.h \
/opt/codac/epics/base/include/epicsEvent.h \
/opt/codac/epics/base/include/gddUtils.h \
/opt/codac/epics/base/include/aitTypes.h \
/opt/codac/epics/base/include/aitHelpers.h \
/opt/codac/epics/base/include/gddErrorCodes.h \
/opt/codac/epics/base/include/gddUtilsI.h \
/opt/codac/epics/base/include/aitConvert.h \
/opt/codac/epics/base/include/osiSock.h \
/opt/codac/epics/base/include/os/Linux/osdSock.h \
/opt/codac/epics/base/include/ellLib.h \
/opt/codac/epics/base/include/gddEnumStringTable.h \
/opt/codac/epics/base/include/gddArray.h \
/opt/codac/epics/base/include/gddScalar.h \
/opt/codac/epics/base/include/gddContainer.h \
/opt/codac/epics/base/include/gddI.h \
/opt/codac/epics/base/include/gddArrayI.h \
/opt/codac/epics/base/include/gddScalarI.h \
/opt/codac/epics/base/include/gddContainerI.h \
/opt/codac/epics/base/include/gddAppTable.h \
/opt/codac/epics/base/include/errMdef.h \
/opt/codac/epics/base/include/errlog.h \
/opt/codac/epics/base/include/smartGDDPointer.h \
/opt/codac/epics/base/include/epicsTimer.h \
/opt/codac/epics/base/include/epicsTime.h \
/opt/codac/epics/base/include/epicsTypes.h \
/opt/codac/epics/base/include/os/Linux/osdTime.h \
/opt/codac/epics/base/include/casdef.h \
/opt/codac/epics/base/include/alarm.h \
/opt/codac/epics/base/include/caNetAddr.h \
/opt/codac/epics/base/include/casEventMask.h \
/opt/codac/epics/base/include/resourceLib.h \
/opt/codac/epics/base/include/tsSLList.h \
/opt/codac/epics/base/include/epicsString.h \
/opt/codac/epics/base/include/epicsAssert.h \
/opt/codac/epics/base/include/resourceLib.h \
/opt/codac/epics/base/include/tsMinMax.h \
/opt/MARTe/BaseLib2/Level1/GlobalObjectDataBase.h \
/opt/MARTe/BaseLib2/Level1/GCReferenceContainer.h \
/opt/MARTe/BaseLib2/Level0/MutexSem.h \
/opt/MARTe/BaseLib2/Level1/GCRCItem.h \
/opt/MARTe/BaseLib2/Level1/GCNOExtender.h \
/opt/MARTe/BaseLib2/Level5/DDBInterface.h \
/opt/MARTe/BaseLib2/Level5/DDBInterfaceDescriptor.h \
/opt/MARTe/BaseLib2/Level2/Streamable.h \
/opt/MARTe/BaseLib2/Level5/DDBDefinitions.h \
/opt/MARTe/BaseLib2/Level5/DDBSignalDescriptor.h \
/opt/MARTe/BaseLib2/Level5/SignalInterface.h

View File

@@ -0,0 +1,302 @@
EPICSGAM.o: EPICSGAM.cpp EPICSGAM.h /opt/MARTe/BaseLib2/Level0/System.h \
/opt/MARTe/BaseLib2/Level0/SystemMSC.h \
/opt/MARTe/BaseLib2/Level0/SystemLinux.h \
/opt/MARTe/BaseLib2/Level0/GenDefs.h \
/opt/MARTe/BaseLib2/Level0/SystemVX5100.h \
/opt/MARTe/BaseLib2/Level0/SystemVX5500.h \
/opt/MARTe/BaseLib2/Level0/SystemV6X5100.h \
/opt/MARTe/BaseLib2/Level0/SystemV6X5500.h \
/opt/MARTe/BaseLib2/Level0/SystemVX68k.h \
/opt/MARTe/BaseLib2/Level0/SystemRTAI.h \
/opt/MARTe/BaseLib2/Level0/SystemSolaris.h \
/opt/MARTe/BaseLib2/Level0/SystemMacOSX.h \
/opt/MARTe/BaseLib2/Level0/Memory.h /opt/MARTe/BaseLib2/Level0/System.h \
/opt/MARTe/BaseLib2/Level5/GAM.h \
/opt/MARTe/BaseLib2/Level1/GCReferenceContainer.h \
/opt/MARTe/BaseLib2/Level0/LinkedListable.h \
/opt/MARTe/BaseLib2/Level0/Iterators.h \
/opt/MARTe/BaseLib2/Level1/GCRTemplate.h \
/opt/MARTe/BaseLib2/Level1/GCReference.h \
/opt/MARTe/BaseLib2/Level0/Atomic.h /opt/MARTe/BaseLib2/Level0/Sleep.h \
/opt/MARTe/BaseLib2/Level0/FastMath.h /opt/MARTe/BaseLib2/Level0/HRT.h \
/opt/MARTe/BaseLib2/Level0/Processor.h \
/opt/MARTe/BaseLib2/Level1/ObjectRegistryDataBase.h \
/opt/MARTe/BaseLib2/Level0/StreamInterface.h \
/opt/MARTe/BaseLib2/Level0/TimeoutType.h \
/opt/MARTe/BaseLib2/Level1/GarbageCollectable.h \
/opt/MARTe/BaseLib2/Level1/Object.h \
/opt/MARTe/BaseLib2/Level1/ObjectRegistryItem.h \
/opt/MARTe/BaseLib2/Level1/ErrorSystemInstructions.h \
/opt/MARTe/BaseLib2/Level0/GenDefs.h \
/opt/MARTe/BaseLib2/Level0/LinkedListHolder.h \
/opt/MARTe/BaseLib2/Level0/LinkedListable.h \
/opt/MARTe/BaseLib2/Level0/FastPollingMutexSem.h \
/opt/MARTe/BaseLib2/Level0/Atomic.h /opt/MARTe/BaseLib2/Level0/Threads.h \
/opt/MARTe/BaseLib2/Level0/ErrorManagement.h \
/opt/MARTe/BaseLib2/Level0/ExceptionHandlerDefinitions.h \
/opt/MARTe/BaseLib2/Level0/ThreadInitialisationInterface.h \
/opt/MARTe/BaseLib2/Level0/EventSem.h \
/opt/MARTe/BaseLib2/Level0/SemCore.h \
/opt/MARTe/BaseLib2/Level0/ProcessorType.h \
/opt/MARTe/BaseLib2/Level0/ThreadsDatabase.h \
/opt/MARTe/BaseLib2/Level1/ErrorSystemInstructionItem.h \
/opt/MARTe/BaseLib2/Level1/ClassStructure.h \
/opt/MARTe/BaseLib2/Level1/ClassStructureEntry.h \
/opt/MARTe/BaseLib2/Level1/BasicTypes.h \
/opt/MARTe/BaseLib2/Level0/BString.h \
/opt/MARTe/BaseLib2/Level0/ErrorManagement.h \
/opt/MARTe/BaseLib2/Level0/LoadableLibrary.h \
/opt/MARTe/BaseLib2/Level1/ObjectMacros.h \
/opt/MARTe/BaseLib2/Level1/GCNamedObject.h \
/opt/MARTe/BaseLib2/Level0/MutexSem.h \
/opt/MARTe/BaseLib2/Level1/GCRCItem.h \
/opt/MARTe/BaseLib2/Level1/GCNOExtender.h \
/opt/MARTe/BaseLib2/Level3/CDB.h /opt/MARTe/BaseLib2/Level0/Iterators.h \
/opt/MARTe/BaseLib2/Level2/FString.h \
/opt/MARTe/BaseLib2/Level2/Streamable.h \
/opt/MARTe/BaseLib2/Level0/CStream.h \
/opt/MARTe/BaseLib2/Level2/CStreamBuffering.h \
/opt/MARTe/BaseLib2/Level1/Object.h \
/opt/MARTe/BaseLib2/Level1/StreamAttributes.h \
/opt/MARTe/BaseLib2/Level3/CDBNodeRef.h \
/opt/MARTe/BaseLib2/Level3/CDBNode.h \
/opt/MARTe/BaseLib2/Level1/CDBTypes.h \
/opt/MARTe/BaseLib2/Level1/CDBVirtual.h \
/opt/MARTe/BaseLib2/Level1/CDBTypes.h \
/opt/MARTe/BaseLib2/Level2/CDBExtended.h \
/opt/MARTe/BaseLib2/Level1/ConfigurationDataBase.h \
/opt/MARTe/BaseLib2/Level1/CDBVirtual.h \
/opt/MARTe/BaseLib2/Level1/CDBNull.h \
/opt/MARTe/BaseLib2/Level2/CDBDataTypes.h \
/opt/MARTe/BaseLib2/Level2/FString.h \
/opt/MARTe/BaseLib2/Level5/DDBDefinitions.h \
/opt/MARTe/BaseLib2/Level5/MenuContainer.h \
/opt/MARTe/BaseLib2/Level5/MenuInterface.h \
/opt/MARTe/BaseLib2/Level1/GCNamedObject.h \
/opt/MARTe/BaseLib2/Level2/Streamable.h \
/opt/MARTe/BaseLib2/Level2/Console.h \
/opt/MARTe/BaseLib2/Level0/BasicConsole.h \
/opt/MARTe/BaseLib2/Level5/MessageEnvelope.h \
/opt/MARTe/BaseLib2/Level1/GCReference.h \
/opt/MARTe/BaseLib2/Level5/Message.h \
/opt/MARTe/BaseLib2/Level5/MessageCode.h \
/opt/MARTe/BaseLib2/Level5/MDRFlags.h \
/opt/MARTe/BaseLib2/Level0/MuxLock.h \
/opt/MARTe/BaseLib2/Level0/MutexSem.h \
/opt/MARTe/BaseLib2/Level4/HttpInterface.h \
/opt/MARTe/BaseLib2/Level4/HttpRealm.h \
/opt/MARTe/BaseLib2/Level4/HttpDefinitions.h \
/opt/MARTe/BaseLib2/Level4/HttpStream.h \
/opt/MARTe/BaseLib2/Level3/StreamConfigurationDataBase.h \
/opt/MARTe/BaseLib2/Level0/EventSem.h \
/opt/MARTe/BaseLib2/Level1/GCRTemplate.h \
/opt/MARTe/BaseLib2/Level0/HRT.h \
/opt/MARTe/BaseLib2/Level5/MessageHandler.h \
/opt/MARTe/BaseLib2/Level5/MessageInterface.h \
/opt/MARTe/BaseLib2/Level5/MessageQueue.h \
/opt/MARTe/BaseLib2/Level2/SXMemory.h \
/opt/MARTe/BaseLib2/Level5/MessageHandler.h \
/opt/MARTe/BaseLib2/Level5/DDBInputInterface.h \
/opt/MARTe/BaseLib2/Level5/DDBInterface.h \
/opt/MARTe/BaseLib2/Level5/DDBInterfaceDescriptor.h \
/opt/MARTe/BaseLib2/Level5/DDBSignalDescriptor.h \
/opt/MARTe/BaseLib2/Level1/BasicTypes.h \
/opt/MARTe/BaseLib2/Level5/DDBIOInterface.h \
/opt/MARTe/BaseLib2/Level5/SignalInterface.h EPICSSignalsTable.h \
../EPICSLib/EPICSHandler.h /opt/MARTe/BaseLib2/Level0/CountSem.h \
../EPICSLib/exServer.h /opt/codac/epics/base/include/gddAppFuncTable.h \
/opt/codac/epics/base/include/gdd.h \
/opt/codac/epics/base/include/gddNewDel.h \
/opt/codac/epics/base/include/epicsMutex.h \
/opt/codac/epics/base/include/epicsAssert.h \
/opt/codac/epics/base/include/shareLib.h \
/opt/codac/epics/base/include/compilerDependencies.h \
/opt/codac/epics/base/include/compiler/gcc/compilerSpecific.h \
/opt/codac/epics/base/include/epicsGuard.h \
/opt/codac/epics/base/include/os/Linux/osdMutex.h \
/opt/codac/epics/base/include/epicsThread.h \
/opt/codac/epics/base/include/epicsEvent.h \
/opt/codac/epics/base/include/os/Linux/osdEvent.h \
/opt/codac/epics/base/include/os/Linux/osdThread.h \
/opt/codac/epics/base/include/shareLib.h \
/opt/codac/epics/base/include/ellLib.h \
/opt/codac/epics/base/include/epicsEvent.h \
/opt/codac/epics/base/include/gddUtils.h \
/opt/codac/epics/base/include/aitTypes.h \
/opt/codac/epics/base/include/aitHelpers.h \
/opt/codac/epics/base/include/gddErrorCodes.h \
/opt/codac/epics/base/include/gddUtilsI.h \
/opt/codac/epics/base/include/aitConvert.h \
/opt/codac/epics/base/include/osiSock.h \
/opt/codac/epics/base/include/os/Linux/osdSock.h \
/opt/codac/epics/base/include/ellLib.h \
/opt/codac/epics/base/include/gddEnumStringTable.h \
/opt/codac/epics/base/include/gddArray.h \
/opt/codac/epics/base/include/gddScalar.h \
/opt/codac/epics/base/include/gddContainer.h \
/opt/codac/epics/base/include/gddI.h \
/opt/codac/epics/base/include/gddArrayI.h \
/opt/codac/epics/base/include/gddScalarI.h \
/opt/codac/epics/base/include/gddContainerI.h \
/opt/codac/epics/base/include/gddAppTable.h \
/opt/codac/epics/base/include/errMdef.h \
/opt/codac/epics/base/include/errlog.h \
/opt/codac/epics/base/include/smartGDDPointer.h \
/opt/codac/epics/base/include/epicsTimer.h \
/opt/codac/epics/base/include/epicsTime.h \
/opt/codac/epics/base/include/epicsTypes.h \
/opt/codac/epics/base/include/os/Linux/osdTime.h \
/opt/codac/epics/base/include/casdef.h \
/opt/codac/epics/base/include/alarm.h \
/opt/codac/epics/base/include/caNetAddr.h \
/opt/codac/epics/base/include/casEventMask.h \
/opt/codac/epics/base/include/resourceLib.h \
/opt/codac/epics/base/include/tsSLList.h \
/opt/codac/epics/base/include/epicsString.h \
/opt/codac/epics/base/include/epicsAssert.h \
/opt/codac/epics/base/include/resourceLib.h \
/opt/codac/epics/base/include/tsMinMax.h \
/opt/MARTe/BaseLib2/Level1/GlobalObjectDataBase.h \
/opt/MARTe/BaseLib2/Level1/GCReferenceContainer.h \
/opt/MARTe/BaseLib2/Level2/GCNString.h \
/opt/MARTe/BaseLib2/Level5/MenuEntry.h \
/opt/MARTe/BaseLib2/Level4/HttpGroupResource.h \
/opt/MARTe/BaseLib2/Level4/HttpInterface.h
EPICSSignalsTable.o: EPICSSignalsTable.cpp EPICSSignalsTable.h \
/opt/MARTe/BaseLib2/Level0/System.h \
/opt/MARTe/BaseLib2/Level0/SystemMSC.h \
/opt/MARTe/BaseLib2/Level0/SystemLinux.h \
/opt/MARTe/BaseLib2/Level0/GenDefs.h \
/opt/MARTe/BaseLib2/Level0/SystemVX5100.h \
/opt/MARTe/BaseLib2/Level0/SystemVX5500.h \
/opt/MARTe/BaseLib2/Level0/SystemV6X5100.h \
/opt/MARTe/BaseLib2/Level0/SystemV6X5500.h \
/opt/MARTe/BaseLib2/Level0/SystemVX68k.h \
/opt/MARTe/BaseLib2/Level0/SystemRTAI.h \
/opt/MARTe/BaseLib2/Level0/SystemSolaris.h \
/opt/MARTe/BaseLib2/Level0/SystemMacOSX.h \
/opt/MARTe/BaseLib2/Level0/Memory.h /opt/MARTe/BaseLib2/Level0/System.h \
/opt/MARTe/BaseLib2/Level0/LinkedListable.h \
/opt/MARTe/BaseLib2/Level0/Iterators.h \
/opt/MARTe/BaseLib2/Level2/FString.h \
/opt/MARTe/BaseLib2/Level0/BString.h \
/opt/MARTe/BaseLib2/Level2/Streamable.h \
/opt/MARTe/BaseLib2/Level0/CStream.h \
/opt/MARTe/BaseLib2/Level2/CStreamBuffering.h \
/opt/MARTe/BaseLib2/Level0/StreamInterface.h \
/opt/MARTe/BaseLib2/Level0/TimeoutType.h \
/opt/MARTe/BaseLib2/Level0/HRT.h /opt/MARTe/BaseLib2/Level0/Processor.h \
/opt/MARTe/BaseLib2/Level1/Object.h \
/opt/MARTe/BaseLib2/Level1/ObjectRegistryItem.h \
/opt/MARTe/BaseLib2/Level1/ErrorSystemInstructions.h \
/opt/MARTe/BaseLib2/Level0/GenDefs.h \
/opt/MARTe/BaseLib2/Level0/LinkedListHolder.h \
/opt/MARTe/BaseLib2/Level0/LinkedListable.h \
/opt/MARTe/BaseLib2/Level0/FastPollingMutexSem.h \
/opt/MARTe/BaseLib2/Level0/Atomic.h /opt/MARTe/BaseLib2/Level0/Sleep.h \
/opt/MARTe/BaseLib2/Level0/FastMath.h \
/opt/MARTe/BaseLib2/Level0/Threads.h \
/opt/MARTe/BaseLib2/Level0/ErrorManagement.h \
/opt/MARTe/BaseLib2/Level0/ExceptionHandlerDefinitions.h \
/opt/MARTe/BaseLib2/Level0/ThreadInitialisationInterface.h \
/opt/MARTe/BaseLib2/Level0/EventSem.h \
/opt/MARTe/BaseLib2/Level0/SemCore.h \
/opt/MARTe/BaseLib2/Level0/ProcessorType.h \
/opt/MARTe/BaseLib2/Level0/ThreadsDatabase.h \
/opt/MARTe/BaseLib2/Level1/ErrorSystemInstructionItem.h \
/opt/MARTe/BaseLib2/Level1/ClassStructure.h \
/opt/MARTe/BaseLib2/Level1/ClassStructureEntry.h \
/opt/MARTe/BaseLib2/Level1/BasicTypes.h \
/opt/MARTe/BaseLib2/Level0/ErrorManagement.h \
/opt/MARTe/BaseLib2/Level0/LoadableLibrary.h \
/opt/MARTe/BaseLib2/Level1/ObjectMacros.h \
/opt/MARTe/BaseLib2/Level1/StreamAttributes.h \
/opt/MARTe/BaseLib2/Level1/BasicTypes.h \
/opt/MARTe/BaseLib2/Level1/GCRTemplate.h \
/opt/MARTe/BaseLib2/Level1/GCReference.h \
/opt/MARTe/BaseLib2/Level0/Atomic.h \
/opt/MARTe/BaseLib2/Level1/ObjectRegistryDataBase.h \
/opt/MARTe/BaseLib2/Level1/GarbageCollectable.h \
/opt/MARTe/BaseLib2/Level1/Object.h ../EPICSLib/EPICSHandler.h \
/opt/MARTe/BaseLib2/Level1/GCNamedObject.h \
/opt/MARTe/BaseLib2/Level4/HttpInterface.h \
/opt/MARTe/BaseLib2/Level4/HttpRealm.h \
/opt/MARTe/BaseLib2/Level4/HttpDefinitions.h \
/opt/MARTe/BaseLib2/Level2/CDBExtended.h \
/opt/MARTe/BaseLib2/Level1/ConfigurationDataBase.h \
/opt/MARTe/BaseLib2/Level1/CDBVirtual.h \
/opt/MARTe/BaseLib2/Level1/CDBTypes.h \
/opt/MARTe/BaseLib2/Level0/Iterators.h \
/opt/MARTe/BaseLib2/Level1/GCNamedObject.h \
/opt/MARTe/BaseLib2/Level1/GCRTemplate.h \
/opt/MARTe/BaseLib2/Level1/CDBNull.h \
/opt/MARTe/BaseLib2/Level2/CDBDataTypes.h \
/opt/MARTe/BaseLib2/Level1/CDBTypes.h \
/opt/MARTe/BaseLib2/Level2/FString.h \
/opt/MARTe/BaseLib2/Level4/HttpStream.h \
/opt/MARTe/BaseLib2/Level3/StreamConfigurationDataBase.h \
/opt/MARTe/BaseLib2/Level0/EventSem.h /opt/MARTe/BaseLib2/Level0/HRT.h \
/opt/MARTe/BaseLib2/Level0/CountSem.h ../EPICSLib/exServer.h \
/opt/codac/epics/base/include/gddAppFuncTable.h \
/opt/codac/epics/base/include/gdd.h \
/opt/codac/epics/base/include/gddNewDel.h \
/opt/codac/epics/base/include/epicsMutex.h \
/opt/codac/epics/base/include/epicsAssert.h \
/opt/codac/epics/base/include/shareLib.h \
/opt/codac/epics/base/include/compilerDependencies.h \
/opt/codac/epics/base/include/compiler/gcc/compilerSpecific.h \
/opt/codac/epics/base/include/epicsGuard.h \
/opt/codac/epics/base/include/os/Linux/osdMutex.h \
/opt/codac/epics/base/include/epicsThread.h \
/opt/codac/epics/base/include/epicsEvent.h \
/opt/codac/epics/base/include/os/Linux/osdEvent.h \
/opt/codac/epics/base/include/os/Linux/osdThread.h \
/opt/codac/epics/base/include/shareLib.h \
/opt/codac/epics/base/include/ellLib.h \
/opt/codac/epics/base/include/epicsEvent.h \
/opt/codac/epics/base/include/gddUtils.h \
/opt/codac/epics/base/include/aitTypes.h \
/opt/codac/epics/base/include/aitHelpers.h \
/opt/codac/epics/base/include/gddErrorCodes.h \
/opt/codac/epics/base/include/gddUtilsI.h \
/opt/codac/epics/base/include/aitConvert.h \
/opt/codac/epics/base/include/osiSock.h \
/opt/codac/epics/base/include/os/Linux/osdSock.h \
/opt/codac/epics/base/include/ellLib.h \
/opt/codac/epics/base/include/gddEnumStringTable.h \
/opt/codac/epics/base/include/gddArray.h \
/opt/codac/epics/base/include/gddScalar.h \
/opt/codac/epics/base/include/gddContainer.h \
/opt/codac/epics/base/include/gddI.h \
/opt/codac/epics/base/include/gddArrayI.h \
/opt/codac/epics/base/include/gddScalarI.h \
/opt/codac/epics/base/include/gddContainerI.h \
/opt/codac/epics/base/include/gddAppTable.h \
/opt/codac/epics/base/include/errMdef.h \
/opt/codac/epics/base/include/errlog.h \
/opt/codac/epics/base/include/smartGDDPointer.h \
/opt/codac/epics/base/include/epicsTimer.h \
/opt/codac/epics/base/include/epicsTime.h \
/opt/codac/epics/base/include/epicsTypes.h \
/opt/codac/epics/base/include/os/Linux/osdTime.h \
/opt/codac/epics/base/include/casdef.h \
/opt/codac/epics/base/include/alarm.h \
/opt/codac/epics/base/include/caNetAddr.h \
/opt/codac/epics/base/include/casEventMask.h \
/opt/codac/epics/base/include/resourceLib.h \
/opt/codac/epics/base/include/tsSLList.h \
/opt/codac/epics/base/include/epicsString.h \
/opt/codac/epics/base/include/epicsAssert.h \
/opt/codac/epics/base/include/resourceLib.h \
/opt/codac/epics/base/include/tsMinMax.h \
/opt/MARTe/BaseLib2/Level1/GlobalObjectDataBase.h \
/opt/MARTe/BaseLib2/Level1/GCReferenceContainer.h \
/opt/MARTe/BaseLib2/Level0/MutexSem.h \
/opt/MARTe/BaseLib2/Level1/GCRCItem.h \
/opt/MARTe/BaseLib2/Level1/GCNOExtender.h \
/opt/MARTe/BaseLib2/Level5/DDBInterface.h \
/opt/MARTe/BaseLib2/Level5/DDBInterfaceDescriptor.h \
/opt/MARTe/BaseLib2/Level2/Streamable.h \
/opt/MARTe/BaseLib2/Level5/DDBDefinitions.h \
/opt/MARTe/BaseLib2/Level5/DDBSignalDescriptor.h \
/opt/MARTe/BaseLib2/Level5/SignalInterface.h

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff