predecl.hh
Go to the documentation of this file.
1 //
2 // Copyright (c) 2020 Fraunhofer Institute for Applied Information Technology (FIT)
3 // Network Research Group (NET)
4 // Schloss Birlinghoven, 53754 Sankt Augustin, GERMANY
5 // Contact: support@wiback.org
6 //
7 // This file is part of the SENF code tree.
8 // It is licensed under the 3-clause BSD License (aka New BSD License).
9 // See LICENSE.txt in the top level directory for details or visit
10 // https://opensource.org/licenses/BSD-3-Clause
11 //
12 
13 
17 #ifndef HH_SENF_PPI_predecl_
18 #define HH_SENF_PPI_predecl_ 1
19 
20 // Custom includes
21 
22 //#include "predecl.mpp"
23 //-/////////////////////////////////////////////////////////////////////////////////////////////////
24 
25 namespace senf {
26 
27  class Packet;
28 
29 namespace ppi {
30 
31  class EventDescriptor;
32  template <class EventType=void> class EventImplementation;
33  class EventManager;
34  class RouteBase;
35  class ForwardingRoute;
36  template <class Source, class Target> class Route;
38  class ModuleManager;
39 
40 #ifndef DOXYGEN
41 
42  namespace detail {
43  class EventBindingBase;
44  template <class EvImpl> class EventBinding;
45  template <class EventType> struct EventArgType;
46  class NonForwardingRouteImplementation;
47  class NonForwardingRouteToEventImplementation;
48  class NonForwardingRouteFromEventImplementation;
49  class ForwardForwardingRouteImplementation;
50  class BackwardForwardingRouteImplementation;
51  class ForwardForwardingRouteToEventImplementation;
52  class BackwardForwardingRouteFromEventImplementation;
53  template <class Source, class Target>
54  class RouteImplementation;
55  struct DisableStandardConnect;
56  }
57 
58 #endif
59 
60  namespace module {
61  class Module;
62  namespace detail {
63  template <class Source, class Target> struct RouteHelper;
64  }
65  template <class PacketType> class PassiveJoin;
66  class PriorityJoin;
67  class ActiveDuplicator;
68  }
69 
70  namespace connector {
71  class Connector;
72  class ActiveConnector;
73  class PassiveConnector;
74  class InputConnector;
75  class OutputConnector;
76  class GenericActiveInput;
77  class GenericActiveOutput;
78  class GenericPassiveInput;
79  class GenericPassiveOutput;
80  template <class PacketType=Packet> class PassiveInput;
81  template <class PacketType=Packet> class PassiveOutput;
82  template <class PacketType=Packet> class ActiveInput;
83  template <class PacketType=Packet> class ActiveOutput;
84 
85  class Jack;
86 
87 #ifndef DOXYGEN
88 
89  namespace detail {
90  template <class Self, class PacketType> class TypedInputMixin;
91  template <class Self, class PacketType> class TypedOutputMixin;
92  }
93 
94 #endif
95 
96  }
97 
98 }}
99 
100 //-/////////////////////////////////////////////////////////////////////////////////////////////////
101 //#include "predecl.cci"
102 //#include "predecl.ct"
103 //#include "predecl.cti"
104 #endif
105 
106 
107 // Local Variables:
108 // mode: c++
109 // fill-column: 100
110 // comment-column: 40
111 // c-file-style: "senf"
112 // indent-tabs-mode: nil
113 // ispell-local-dictionary: "american"
114 // compile-command: "scons -u test"
115 // End:
Copy every incoming packet to each output.
Definition: Duplicators.hh:38
Join multiple packet streams with active inputs.
Definition: Joins.hh:98
Join multiple packet streams with passive inputs.
Definition: Joins.hh:53
Route descriptor.
Definition: predecl.hh:36
Throttling discipline base class.
Definition: Throttling.hh:46
Internal: Module management.