15 #ifndef DDL_MAPPING_RT_TARGET_HEADER
16 #define DDL_MAPPING_RT_TARGET_HEADER
20 #include <ddl/codec/static_codec.h>
36 #if defined(__GNUC__) && (__GNUC__ == 5) && defined(__QNX__)
37 #pragma GCC diagnostic ignored \
42 typedef std::vector<std::pair<std::string, TargetElement*>>
Assignments;
46 typedef std::vector<std::pair<std::string, TargetElement*>>
Constants;
50 #if defined(__GNUC__) && (__GNUC__ == 5) && defined(__QNX__)
51 #pragma GCC diagnostic warning \
78 const std::string& target_description,
147 std::string _type_name;
149 std::vector<TargetElement*> _simulation_time_elements;
153 std::unique_ptr<ddl::codec::StaticCodec> _codec;
174 _buffer_mutex.
lock();
A shared_mutex class as a workaround for std::shared_timed_mutex.
void unlock_shared()
Unlock the mutex (shared ownership)
void lock_shared()
Lock the mutex for shared ownership, blocks if the mutex is not available.
void unlock()
Unlock the mutex.
void lock()
Lock the mutex, blocks if the mutex is not available.
A common result class usable as return value throughout.
MapConfiguration is the central class of the mapping::dd namespace.
MapTarget represents a mapped target from the mapping configuration.
Mapping environment interface class This in combination with ISignalListener forms the functionality ...
Target represents a mapped target signal in the runtime api.
void aquireReadLock() const
Lock the buffer for a buffer read.
std::vector< uint8_t > MemoryBuffer
Generic byte-buffer.
const std::string & getTypeName() const
Getter for the target type.
a_util::result::Result updateAccessFunctionValues()
Method to update all dynamic values that are to be updates during buffer access (i....
std::vector< std::pair< uint64_t, TargetElement * > > TriggerCounters
Trigger counter container.
Target(IMappingEnvironment &env)
CTOR.
a_util::result::Result getCurrentBuffer(void *target_buffer, size_t target_buffer_size)
Method to get a copy of the current target buffer.
void releaseReadLock() const
Unlock the buffer after a buffer read.
a_util::result::Result create(const MapConfiguration &map_config, const MapTarget &map_target, const std::string &target_description, SourceMap &sources)
Creation method to fill the object with data.
const std::string & getName() const
Getter for the target name.
void releaseWriteLock() const
Unlock the buffer after a source update.
size_t getSize() const
Method to get buffer size.
a_util::result::Result reset(const MapConfiguration &map_config)
Reset target Buffers.
void aquireWriteLock() const
Lock the buffer for a source update.
const TargetElementList & getElementList() const
Getter for the element list.
a_util::result::Result updateTriggerFunctionValues()
Method to update all dynamic values that are to be updates during a trigger (i.e.
a_util::result::Result getBufferRef(const void *&buffer, size_t &target_buffer_size)
Method to get access to the current buffer without copying it.
std::vector< std::pair< std::string, TargetElement * > > Constants
Constant container.
std::vector< std::pair< std::string, TargetElement * > > Assignments
Assignment container.
Common include for component a_util::concurrency.
std::map< std::string, Target * > TargetMap
Public composite types used in the mapping::rt namespace.
std::set< Target * > TargetSet
the targets pointer list
std::vector< TargetElement * > TargetElementList
the targets element list
std::map< std::string, Source * > SourceMap
Public composite types used in the mapping::rt namespace.
definition of the ddl namespace
Common include for component a_util::result.