RTI Routing Service Version 7.3.0
Processor.hpp
1/*
2 * (c) Copyright, Real-Time Innovations, 2017.
3 * All rights reserved.
4 *
5 * No duplications, whole or partial, manual or electronic, may be made
6 * without express written permission. Any such copies, or
7 * revisions thereof, must display this notice unaltered.
8 * This code contains trade secrets of Real-Time Innovations, Inc.
9 */
10
11#ifndef RTI_ROUTING_PROCESSOR_PROCESSOR_HPP_
12#define RTI_ROUTING_PROCESSOR_PROCESSOR_HPP_
13
14#include <dds/core/Value.hpp>
15#include <dds/core/SafeEnumeration.hpp>
16#include <rti/core/NativeValueType.hpp>
17
18#include "routingservice/routingservice_processor.h"
19
20#include <rti/routing/processor/Route.hpp>
21#include <rti/routing/UpdatableEntity.hpp>
22
23namespace rti { namespace routing { namespace processor {
24
55public:
56
57
83 virtual void on_input_enabled(
84 Route& route,
86
112 virtual void on_input_disabled(
113 Route& route,
115
141 virtual void on_output_enabled(
142 Route& route,
144
170 virtual void on_output_disabled(
171 Route& route,
173
195 virtual void on_start(Route& route) = 0;
196
219 virtual void on_stop(Route& route) = 0;
220
247 virtual void on_run(Route& route) = 0;
248
271 virtual void on_pause(Route& route) = 0;
272
300 virtual void on_periodic_action(Route& route) = 0;
301
328 virtual void on_data_available(Route& route) = 0;
329
333 virtual ~Processor() {}
334};
335
336
347class NoOpProcessor : public Processor {
348
349
350 virtual void on_input_enabled(Route&, rti::routing::processor::Input&)
351 {
352 }
353
354 virtual void on_input_disabled(Route&, rti::routing::processor::Input&)
355 {
356 }
357
358 virtual void on_output_enabled(Route&, rti::routing::processor::Output&)
359 {
360 }
361
362 virtual void on_output_disabled(Route&, rti::routing::processor::Output&)
363 {
364 }
365
366 virtual void on_start(Route&)
367 {
368 }
369
370 virtual void on_stop(Route&)
371 {
372 }
373
374 virtual void on_run(Route&)
375 {
376 }
377
378 virtual void on_pause(Route&)
379 {
380 }
381
382
383 virtual void on_data_available(Route&)
384 {
385 }
386
387
388 virtual void on_periodic_action(Route&)
389 {
390 }
391
392};
393
394} } }
395
396
397#endif // RTI_ROUTING_PROCESSOR_PROCESSOR_HPP_
Defines a common interface for all the pluggable entities that can be updated at runtime.
Definition: UpdatableEntity.hpp:34
Generic Representation of a Route's input.
Definition: Input.hpp:49
An empty implementation of the pure virtual interface rti::routing::processor::Processor.
Definition: Processor.hpp:347
Generic Representation of a Route's output.
Definition: Output.hpp:44
Processor interface definition. Provides a way to process Route events and control the data forwardin...
Definition: Processor.hpp:54
virtual void on_output_disabled(Route &route, rti::routing::processor::Output &output)=0
Notification of the Output disabled event.
virtual void on_output_enabled(Route &route, rti::routing::processor::Output &output)=0
Notification of the Output enabled event.
virtual void on_run(Route &route)=0
Notification of the Route RUN event.
virtual ~Processor()
Virtual destructor.
Definition: Processor.hpp:333
virtual void on_periodic_action(Route &route)=0
Notification of the Route periodic action event.
virtual void on_start(Route &route)=0
Notification of the Route started event.
virtual void on_data_available(Route &route)=0
Notification of the Route DATA_AVAILABLE event.
virtual void on_pause(Route &route)=0
Notification of the Route stopped event.
virtual void on_input_disabled(Route &route, rti::routing::processor::Input &input)=0
Notification of the Input disabled event.
virtual void on_input_enabled(Route &route, rti::routing::processor::Input &input)=0
Notification of the INPUT_ENABLED event.
virtual void on_stop(Route &route)=0
Notification of the Route stopped event.
Representation of the Route object that owns a Processor.
Definition: Route.hpp:84