RTI Routing Service  Version 6.1.2
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 
23 namespace rti { namespace routing { namespace processor {
24 
55 public:
56 
57 
83  virtual void on_input_enabled(
84  Route& route,
86 
112  virtual void on_input_disabled(
113  Route& route,
114  rti::routing::processor::Input& input) = 0;
115 
141  virtual void on_output_enabled(
142  Route& route,
143  rti::routing::processor::Output& output) = 0;
144 
170  virtual void on_output_disabled(
171  Route& route,
172  rti::routing::processor::Output& output) = 0;
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 
347 class NoOpProcessor : public Processor {
348 
349 
351  {
352  }
353 
355  {
356  }
357 
359  {
360  }
361 
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_
virtual void on_start(Route &route)=0
Notification of the Route started event.
virtual void on_input_enabled(Route &route, rti::routing::processor::Input &input)=0
Notification of the INPUT_ENABLED event.
An empty implementation of the pure virtual interface rti::routing::processor::Processor.
Definition: Processor.hpp:347
virtual void on_stop(Route &route)=0
Notification of the Route stopped event.
Generic Representation of a Route&#39;s input.
Definition: Input.hpp:49
virtual void on_output_disabled(Route &route, rti::routing::processor::Output &output)=0
Notification of the Output disabled event.
Representation of the Route object that owns a Processor.
Definition: Route.hpp:84
virtual void on_data_available(Route &route)=0
Notification of the Route DATA_AVAILABLE event.
virtual void on_input_disabled(Route &route, rti::routing::processor::Input &input)=0
Notification of the Input disabled event.
virtual void on_output_enabled(Route &route, rti::routing::processor::Output &output)=0
Notification of the Output enabled event.
virtual void on_periodic_action(Route &route)=0
Notification of the Route periodic action event.
Defines a common interface for all the pluggable entities that can be updated at runtime.
Definition: UpdatableEntity.hpp:34
virtual ~Processor()
Virtual destructor.
Definition: Processor.hpp:333
virtual void on_pause(Route &route)=0
Notification of the Route stopped event.
Definition: AdapterPlugin.hpp:25
virtual void on_run(Route &route)=0
Notification of the Route RUN event.
Generic Representation of a Route&#39;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