$darkmode
cloe_fwd.hpp
Go to the documentation of this file.
1 /*
2  * Copyright 2023 Robert Bosch GmbH
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  * SPDX-License-Identifier: Apache-2.0
17  */
24 #pragma once
25 
26 #include <chrono> // for nanoseconds
27 #include <functional> // for function<>
28 #include <memory> // for unique_ptr<>, shared_ptr<>
29 
30 #include <spdlog/fwd.h> // for spdlog namespace
31 #include <fable/fable_fwd.hpp> // for fable namespace
32 
33 namespace cloe {
34 
35 // from core/duration.hpp
36 using Duration = std::chrono::nanoseconds;
37 
38 // from core/error.hpp
39 class Error;
40 class ConcludedError;
41 
42 // from core/logger.hpp
43 using Logger = std::shared_ptr<spdlog::logger>;
44 using LogLevel = spdlog::level::level_enum;
45 
46 // from data_broker.hpp
47 template <typename T>
48 class BasicContainer;
49 class Signal;
50 using SignalPtr = std::shared_ptr<Signal>;
51 class DataBroker;
52 
53 // from entity.hpp
54 class Entity;
55 
56 // from sync.hpp
57 class Sync;
58 
59 // from handler.hpp
60 class Request;
61 class Response;
62 enum class ContentType;
63 enum class RequestMethod;
64 enum class StatusCode;
65 using Handler = std::function<void(const Request&, Response&)>;
66 
67 // from trigger.hpp
68 class Trigger;
69 using TriggerPtr = std::unique_ptr<Trigger>;
70 class TriggerError;
71 template <typename T>
72 class TriggerFactory;
73 class TriggerRegistrar;
74 
75 class Callback;
76 enum class Source;
77 
78 class Event;
79 using EventPtr = std::unique_ptr<Event>;
81 
82 class Action;
83 using ActionPtr = std::unique_ptr<Action>;
85 
86 // from registrar.hpp
87 enum class HandlerType;
88 class Registrar;
89 
90 // from model.hpp
91 class Model;
92 class ModelFactory;
93 
94 // from component.hpp
95 class Component;
96 class ComponentFactory;
97 
98 // from vehicle.hpp
99 class Vehicle;
100 
101 // from controller.hpp
102 class Controller;
103 class ControllerFactory;
104 
105 // from simulator.hpp
106 class Simulator;
107 class SimulatorFactory;
108 
109 } // namespace cloe
Definition: trigger.hpp:619
Definition: data_broker.hpp:226
Definition: trigger.hpp:545
Definition: component.hpp:210
Definition: component.hpp:144
Definition: error.hpp:80
Definition: controller.hpp:164
Definition: controller.hpp:126
Definition: data_broker.hpp:1217
Definition: entity.hpp:50
Definition: error.hpp:35
Definition: trigger.hpp:482
Definition: model.hpp:403
Definition: model.hpp:203
Definition: registrar.hpp:121
Definition: handler.hpp:94
Definition: handler.hpp:196
Definition: data_broker.hpp:703
Definition: simulator.hpp:199
Definition: simulator.hpp:139
Definition: sync.hpp:34
Definition: trigger.hpp:60
Definition: trigger.hpp:290
Definition: trigger.hpp:437
Definition: trigger.hpp:400
Definition: vehicle.hpp:106
std::function< void(const Request &, Response &)> Handler
Definition: cloe_fwd.hpp:65
std::chrono::nanoseconds Duration
Definition: cloe_fwd.hpp:36
StatusCode
Definition: handler.hpp:161
RequestMethod
Definition: handler.hpp:54
ContentType
Definition: handler.hpp:71
HandlerType
Definition: registrar.hpp:88
Source
Definition: trigger.hpp:351