openETCS
case study for the European Train Control System developed for the authors dissertation
Public Member Functions | Public Attributes | Private Attributes | List of all members
oETCS::DF::CComBlockIn Class Reference

communication class for incomming messages in a data flow More...

#include <FunctionBlocks.h>

Inheritance diagram for oETCS::DF::CComBlockIn:
Inheritance graph
Collaboration diagram for oETCS::DF::CComBlockIn:
Collaboration graph

Public Member Functions

virtual void Calculate () throw (::oETCS::DF::Error::CException)
 pure virtual method for computing all outputs
 CComBlockIn (oETCS::DF::CEVCStateMachine *const pStateMachine, const ::std::vector< oETCS::DF::CBaliseDeviceIn * > &InDevices, const ::std::vector< unsigned char > &PacketIDs=::std::vector< unsigned char >()) throw ()
 general constructor
void Clear () throw ()
 clears all telegrams from all connected in devices
virtual ~CComBlockIn () throw ()
 destructor

Public Attributes

const ::std::vector< unsigned
char > 
m_PacketIDs
 vector of Packet IDs, which are valid for new telegrams
oETCS::DF::CEVCStateMachine *const m_pStateMachine
 pointer to the all contenting EVC state machine
::std::vector
< oETCS::DF::BOOL_OUTPUT_T
m_Received
 pointers to storage of the flag for a received telegram

Private Attributes

const ::std::vector
< oETCS::DF::CBaliseDeviceIn * > 
m_InDevices
 vector with pointers to all communication in devices in this com block

Detailed Description

communication class for incomming messages in a data flow

Definition at line 1513 of file FunctionBlocks.h.

Constructor & Destructor Documentation

oETCS::DF::CComBlockIn::CComBlockIn ( oETCS::DF::CEVCStateMachine *const  pStateMachine,
const ::std::vector< oETCS::DF::CBaliseDeviceIn * > &  InDevices,
const ::std::vector< unsigned char > &  PacketIDs = ::std::vector< unsigned char >() 
) throw ()
explicit

general constructor

Parameters
[in]pStateMachinepointer to the parent EVC state machine object
[in]InDevicesvector with pointers to all in devices (takes over posession)
[in]PacketIDsoptinal vector with Packet IDs valid for activating boolean output for new IDs

Definition at line 1456 of file FunctionBlocks.cpp.

oETCS::DF::CComBlockIn::~CComBlockIn ( ) throw ()
virtual

destructor

Definition at line 1470 of file FunctionBlocks.cpp.

References m_InDevices.

Member Function Documentation

void oETCS::DF::CComBlockIn::Calculate ( ) throw (::oETCS::DF::Error::CException)
virtual

pure virtual method for computing all outputs

Remarks
must me implemented by any inheriting class

Implements oETCS::DF::CFunctionBlock.

Definition at line 1490 of file FunctionBlocks.cpp.

References m_InDevices, m_PacketIDs, and m_Received.

void oETCS::DF::CComBlockIn::Clear ( ) throw ()

clears all telegrams from all connected in devices

Definition at line 1539 of file FunctionBlocks.cpp.

References m_InDevices.

Member Data Documentation

const ::std::vector< oETCS::DF::CBaliseDeviceIn* > oETCS::DF::CComBlockIn::m_InDevices
private

vector with pointers to all communication in devices in this com block

Definition at line 1569 of file FunctionBlocks.h.

Referenced by Calculate(), Clear(), and ~CComBlockIn().

const ::std::vector< unsigned char > oETCS::DF::CComBlockIn::m_PacketIDs

vector of Packet IDs, which are valid for new telegrams

Definition at line 1560 of file FunctionBlocks.h.

Referenced by Calculate().

oETCS::DF::CEVCStateMachine* const oETCS::DF::CFunctionBlock::m_pStateMachine
inherited

pointer to the all contenting EVC state machine

Definition at line 894 of file EVCStateMachine.h.

Referenced by oETCS::DF::CCondition::Calculate(), and oETCS::DF::CDMIOutput::Calculate().

::std::vector< oETCS::DF::BOOL_OUTPUT_T > oETCS::DF::CComBlockIn::m_Received

pointers to storage of the flag for a received telegram

Definition at line 1553 of file FunctionBlocks.h.

Referenced by Calculate().


The documentation for this class was generated from the following files:

Copyright (C) 2010-2012 Johannes Feuser (feuser@uni-bremen.de)
The openETCS library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.
The openETCS library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with the openETCS library. If not, see "http://www.gnu.org/licenses/.