F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
RawTime.hpp
Go to the documentation of this file.
1
// ======================================================================
2
// \title Os/RawTime.hpp
3
// \brief public Os::RawTime interface and alias
4
//
5
// This header aggregates all definitions needed to use Os::RawTime:
6
// the interface, the configured alias, and the concrete delegate type.
7
//
8
// WARNING — include order is load-bearing. Do not reorder.
9
//
10
// The dependency constraints are:
11
//
12
// 1. config/OsDelegateRawTime.hpp (CFG) defines the Os::RawTime type alias by
13
// forward-declaring a link-time delegate (e.g. DelegateRawTime) or directly
14
// aliasing a concrete implementation (e.g. Va416x0Os::TimerRawTime).
15
// Must not include Os OSAL headers (they aren't yet defined).
16
// Should only be included in Os/RawTimeInterface.hpp.
17
//
18
// 2. Os/RawTimeInterface.hpp (IF) needs the Os::RawTime alias in its
19
// method signatures, so it includes CFG first. It then defines
20
// RawTimeHandle and RawTimeInterface.
21
//
22
// 3. OS_RAW_TIME_HEADER (IMPL) is defined by CFG and points to the concrete
23
// implementation header. If using delegation, this points to
24
// Os/DelegateRawTime.hpp. If using compile-time selection, it points
25
// directly to a platform-specific implementation (e.g. TimerRawTime.hpp).
26
//
27
// RawTimeInterface.hpp must precede OS_RAW_TIME_HEADER here,
28
// and CFG must never include either of them (that would form a cycle).
29
// ======================================================================
30
#ifndef OS_RAWTIME_HPP_
31
#define OS_RAWTIME_HPP_
32
33
#include "
Os/RawTimeInterface.hpp
"
34
35
// Validate that OS_RAW_TIME_HEADER was defined by config/OsDelegateRawTime.hpp
36
#ifndef OS_RAW_TIME_HEADER
37
#error "OS_RAW_TIME_HEADER must be defined in config/OsDelegateRawTime.hpp"
38
#endif
39
40
#include OS_RAW_TIME_HEADER
41
42
#endif // OS_RAWTIME_HPP_
RawTimeInterface.hpp
Os
RawTime.hpp
Generated by
1.8.14