Events.cci
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 
14 /** \file
15  \brief Events inline non-template implementation */
16 
17 // Custom includes
18 
19 #define prefix_ inline
20 //-/////////////////////////////////////////////////////////////////////////////////////////////////
21 
22 //-/////////////////////////////////////////////////////////////////////////////////////////////////
23 // senf::ppi::EventDescriptor
24 
25 prefix_ bool senf::ppi::EventDescriptor::enabled()
26  const
27 {
28  return enabled_;
29 }
30 
31 //-/////////////////////////////////////////////////////////////////////////////////////////////////
32 // protected members
33 
34 prefix_ senf::ppi::EventDescriptor::EventDescriptor()
35  : enabled_(false), throttled_(false), binding_(nullptr)
36 {}
37 
38 //-/////////////////////////////////////////////////////////////////////////////////////////////////
39 // private members
40 
41 prefix_ void senf::ppi::EventDescriptor::notifyThrottle()
42 {
43  throttled_ = true;
44  enabled(false);
45 }
46 
47 prefix_ void senf::ppi::EventDescriptor::registerRoute(ForwardingRoute & route)
48 {
49  routes_.push_back(&route);
50 }
51 
52 prefix_ void senf::ppi::EventDescriptor::unregisterRoute(ForwardingRoute & route)
53 {
54  Routes::iterator i (std::find(routes_.begin(), routes_.end(), &route));
55  if (i != routes_.end())
56  routes_.erase(i);
57 }
58 
59 //-/////////////////////////////////////////////////////////////////////////////////////////////////
60 #undef prefix_
61 
62 
63 // Local Variables:
64 // mode: c++
65 // fill-column: 100
66 // comment-column: 40
67 // c-file-style: "senf"
68 // indent-tabs-mode: nil
69 // ispell-local-dictionary: "american"
70 // compile-command: "scons -u test"
71 // End: