blob: 476525f5cfb1f7912a25f9af3e767b6f7635d9ba [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2016 CEA LIST.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Created on: 26 juin 2014
*
* Contributors:
* Arnault Lapitre (CEA LIST) arnault.lapitre@cea.fr
* - Initial API and implementation
******************************************************************************/
#ifndef ITRACEPOINT_H_
#define ITRACEPOINT_H_
#include <fml/lib/IComPoint.h>
#include <fml/operator/OperatorLib.h>
namespace sep
{
class ITracePoint
{
public:
};
////////////////////////////////////////////////////////////////////////////////
// TRACE POINT
////////////////////////////////////////////////////////////////////////////////
class ENUM_TRACE_POINT
{
public:
enum TRACE_NATURE
{
TRACE_COMPOSITE_NATURE,
TRACE_COM_NATURE,
TRACE_CHANNEL_NATURE,
TRACE_MESSAGE_NATURE,
TRACE_PORT_NATURE,
TRACE_SIGNAL_NATURE,
TRACE_BUFFER_NATURE,
TRACE_TIME_NATURE,
TRACE_VARIABLE_NATURE,
TRACE_FORMULA_NATURE,
TRACE_CONDITION_NATURE,
TRACE_DECISION_NATURE,
TRACE_PATH_CONDITION_NATURE,
TRACE_PATH_CONDITION_NATURE_LEAF,
TRACE_PATH_TIMED_CONDITION_NATURE,
TRACE_PATH_TIMED_CONDITION_NATURE_LEAF,
TRACE_NODE_CONDITION_NATURE,
TRACE_NODE_CONDITION_NATURE_LEAF,
TRACE_NODE_TIMED_CONDITION_NATURE,
TRACE_NODE_TIMED_CONDITION_NATURE_LEAF,
TRACE_MACHINE_NATURE,
TRACE_STATE_NATURE,
TRACE_STATEMACHINE_NATURE,
TRACE_TRANSITION_NATURE,
TRACE_ROUTINE_NATURE,
TRACE_RUNNABLE_NATURE,
// VIRTUAL ELEMENT
TRACE_COMMENT_NATURE,
TRACE_SEPARATOR_NATURE,
TRACE_NEWLINE_NATURE,
TRACE_INIT_HEADER_NATURE,
TRACE_INIT_BEGIN_NATURE,
TRACE_INIT_END_NATURE,
TRACE_STEP_HEADER_NATURE,
TRACE_STEP_BEGIN_NATURE,
TRACE_STEP_END_NATURE,
TRACE_UNDEFINED_NATURE
};
/**
* STATIC
*/
static TRACE_NATURE to_nature(IComPoint::ENUM_IO_NATURE io);
static TRACE_NATURE to_nature(const std::string & id);
static bool is_com(TRACE_NATURE nature);
static bool is_com(const std::string & id);
static std::string to_string(TRACE_NATURE nature);
static std::string to_uid(TRACE_NATURE nature, AVM_OPCODE op);
};
} /* namespace sep */
#endif /* ITRACEPOINT_H_ */