F´ Flight Software - C/C++ Documentation  NASA-v2.1.0
A framework for building embedded system applications to NASA flight quality standards.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
QueuedComponentBase.cpp
Go to the documentation of this file.
2 #include <Fw/Types/Assert.hpp>
3 #include <FpConfig.hpp>
4 #include <Os/QueueString.hpp>
5 
6 #include <stdio.h>
7 
8 namespace Fw {
9 
10  QueuedComponentBase::QueuedComponentBase(const char* name) : PassiveComponentBase(name),m_msgsDropped(0) {
11 
12  }
13 
15 
16  }
17 
20  }
21 
22 #if FW_OBJECT_TO_STRING == 1 && FW_OBJECT_NAMES == 1
23  void QueuedComponentBase::toString(char* buffer, NATIVE_INT_TYPE size) {
24  FW_ASSERT(size > 0);
25  if (snprintf(buffer, size,"QueueComp: %s", this->m_objName) < 0) {
26  buffer[0] = 0;
27  }
28  }
29 #endif
30 
32 
33  Os::QueueString queueName;
34 #if FW_OBJECT_NAMES == 1
35  queueName = this->m_objName;
36 #else
37  char queueNameChar[FW_QUEUE_NAME_MAX_SIZE];
38  (void)snprintf(queueNameChar,sizeof(queueNameChar),"CompQ_%d",Os::Queue::getNumQueues());
39  queueName = queueNameChar;
40 #endif
41  return this->m_queue.create(queueName, depth, msgSize);
42  }
43 
45  return this->m_msgsDropped;
46  }
47 
49  this->m_msgsDropped++;
50  }
51 
52 }
Os::Queue::create
QueueStatus create(const Fw::StringBase &name, NATIVE_INT_TYPE depth, NATIVE_INT_TYPE msgSize)
create a message queue
Definition: QueueCommon.cpp:41
Fw::QueuedComponentBase::~QueuedComponentBase
virtual ~QueuedComponentBase()
Destructor.
Definition: QueuedComponentBase.cpp:14
Fw::QueuedComponentBase::incNumMsgDropped
void incNumMsgDropped(void)
increment the number of messages dropped
Definition: QueuedComponentBase.cpp:48
Fw::QueuedComponentBase::QueuedComponentBase
QueuedComponentBase(const char *name)
Constructor.
Definition: QueuedComponentBase.cpp:10
Os::Queue::QueueStatus
QueueStatus
Definition: Queue.hpp:27
Fw::QueuedComponentBase::m_queue
Os::Queue m_queue
queue object for active component
Definition: QueuedComponentBase.hpp:36
Assert.hpp
QueueString.hpp
Fw::PassiveComponentBase
Definition: PassiveComponentBase.hpp:10
Fw::ObjBase::init
void init(void)
Object initializer.
Definition: ObjBase.cpp:27
Os::QueueString
Definition: QueueString.hpp:10
Fw::QueuedComponentBase::getNumMsgsDropped
NATIVE_INT_TYPE getNumMsgsDropped(void)
return number of messages dropped
Definition: QueuedComponentBase.cpp:44
FW_ASSERT
#define FW_ASSERT(...)
Definition: Assert.hpp:9
FpConfig.hpp
ISF configuration file.
Os::Queue::getNumQueues
static NATIVE_INT_TYPE getNumQueues(void)
get the number of queues in the system
Definition: QueueCommon.cpp:57
QueuedComponentBase.hpp
NATIVE_INT_TYPE
int NATIVE_INT_TYPE
native integer type declaration
Definition: BasicTypes.hpp:29
FW_QUEUE_NAME_MAX_SIZE
#define FW_QUEUE_NAME_MAX_SIZE
Max size of message queue name.
Definition: FpConfig.hpp:214
Fw::QueuedComponentBase::createQueue
Os::Queue::QueueStatus createQueue(NATIVE_INT_TYPE depth, NATIVE_INT_TYPE msgSize)
Definition: QueuedComponentBase.cpp:31
Fw
Definition: Buffer.cpp:21