blob: 8ea2a45d209565e24eeaa03c82142eaea7959637 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2005 - 2015 Profactor GmbH, ACIN, fortiss GmbH
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Gunnar Grabmaier, Thomas Strasser, Alois Zoitl
* - initial implementation and rework communication infrastructure
*******************************************************************************/
#ifndef _EVENT_H_
#define _EVENT_H_
#include "../arch/datatype.h"
/*! \ingroup CORE\brief Datatype for holding the IDs of event inputs.
*
* With the current implementation at max 255 event inputs per FB are possible.
* That should be enough.
*/
typedef TForteUInt8 TEventID;
class CConnectionPoint;
//!\ingroup CORE Constant for the invalid event input id
const TEventID cg_nInvalidEventID = cg_unInvalidPortId;
//!\ingroup CORE Constant for the invalid event input id
const TEventID cg_nExternalEventID = 254;
//!\brief With this marker events are anotated that are from the internals of a CFB to the interface of the CFB
const TPortId cgInternal2InterfaceMarker = 0x100;
const TPortId cgInternal2InterfaceRemovalMask = 0xFF;
/*!\ingroup CORE \brief Structure to hold the information needed for delivering input events to FBs.
*/
typedef CConnectionPoint SEventEntry;
typedef SEventEntry *TEventEntryPtr;
#endif /*_EVENT_H_*/