F´ Flight Software - C/C++ Documentation  NASA-v1.6.0
A framework for building embedded system applications to NASA flight quality standards.
QueuedComponentBase.hpp
Go to the documentation of this file.
1 /*
2  * ActiveComponentBase.hpp
3  *
4  * Created on: Aug 14, 2012
5  * Author: tcanham
6  */
7 
8 /*
9  * Description:
10  */
11 #ifndef FW_QUEUED_COMPONENT_BASE_HPP
12 #define FW_QUEUED_COMPONENT_BASE_HPP
13 
15 #include <Os/Queue.hpp>
16 #include <Os/Task.hpp>
17 #include <FpConfig.hpp>
18 
19 
20 namespace Fw {
22  public:
23 
24  // Note: Had to make MsgDispatchStatus public for LLVM.
25  typedef enum {
31 
32  PROTECTED:
33  QueuedComponentBase(const char* name);
34  virtual ~QueuedComponentBase();
35  void init(NATIVE_INT_TYPE instance);
38  virtual MsgDispatchStatus doDispatch()=0;
39 #if FW_OBJECT_TO_STRING == 1
40  virtual void toString(char* str, NATIVE_INT_TYPE size);
41 #endif
43  void incNumMsgDropped();
44  PRIVATE:
45  NATIVE_INT_TYPE m_msgsDropped;
46  };
47 
48 }
49 #endif
PassiveComponentBase.hpp
Fw::QueuedComponentBase::~QueuedComponentBase
virtual ~QueuedComponentBase()
Destructor.
Definition: QueuedComponentBase.cpp:14
Fw::QueuedComponentBase::QueuedComponentBase
QueuedComponentBase(const char *name)
Constructor.
Definition: QueuedComponentBase.cpp:10
Fw::QueuedComponentBase::doDispatch
virtual MsgDispatchStatus doDispatch()=0
method to dispatch a single message in the queue.
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
Task.hpp
Fw::PassiveComponentBase
Definition: PassiveComponentBase.hpp:10
NATIVE_INT_TYPE
int NATIVE_INT_TYPE
native integer type declaration
Definition: BasicTypes.hpp:27
Fw::QueuedComponentBase::MSG_DISPATCH_OK
@ MSG_DISPATCH_OK
Dispatch was normal.
Definition: QueuedComponentBase.hpp:26
Fw::QueuedComponentBase::MsgDispatchStatus
MsgDispatchStatus
Definition: QueuedComponentBase.hpp:25
Fw::QueuedComponentBase::MSG_DISPATCH_ERROR
@ MSG_DISPATCH_ERROR
Errors dispatching messages.
Definition: QueuedComponentBase.hpp:28
Fw::ObjBase::init
void init()
Object initializer.
Definition: ObjBase.cpp:27
Fw::QueuedComponentBase
Definition: QueuedComponentBase.hpp:21
Fw::QueuedComponentBase::MSG_DISPATCH_EXIT
@ MSG_DISPATCH_EXIT
A message was sent requesting an exit of the loop.
Definition: QueuedComponentBase.hpp:29
Fw::QueuedComponentBase::getNumMsgsDropped
NATIVE_INT_TYPE getNumMsgsDropped()
return number of messages dropped
Definition: QueuedComponentBase.cpp:44
Fw::QueuedComponentBase::MSG_DISPATCH_EMPTY
@ MSG_DISPATCH_EMPTY
No more messages in the queue.
Definition: QueuedComponentBase.hpp:27
Fw::QueuedComponentBase::incNumMsgDropped
void incNumMsgDropped()
increment the number of messages dropped
Definition: QueuedComponentBase.cpp:48
Os::Queue
Definition: Queue.hpp:24
Fw::QueuedComponentBase::createQueue
Os::Queue::QueueStatus createQueue(NATIVE_INT_TYPE depth, NATIVE_INT_TYPE msgSize)
Definition: QueuedComponentBase.cpp:31
Fw
Definition: SerIds.hpp:20
Queue.hpp