RTI Routing Service  Version 6.0.1
 All Data Structures Files Functions Typedefs Enumerations Enumerator Groups Pages
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 
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_

RTI Routing Service Version 6.0.1 Copyright © Sun Nov 17 2019 Real-Time Innovations, Inc